SBRS (at the start of the release):

Where the current version is VV:

  1. Run unicodetools GenerateEmoji with specific version number, like 14.0

  2. If you get an error like

    • Exception in thread β€œmain” java.lang.IllegalArgumentException: no name for πŸ«±β€πŸ«² 1FAF1 200D 1FAF2
    • at org.unicode.tools.emoji.EmojiData._getName(EmojiData.java:1230)
    • at org.unicode.tools.emoji.EmojiData.getName(EmojiData.java:1194)
    • at org.unicode.tools.emoji.EmojiDataSourceCombined.getName(EmojiDataSourceCombined.java:156)
    • at org.unicode.tools.emoji.GenerateEmoji.showCandidateStyle(GenerateEmoji.java:3600)
    • at org.unicode.tools.emoji.GenerateEmoji.main(GenerateEmoji.java:641)
  3. Then change the name composition algorithm if necessary (for new emoji zwj sequences)

    1. It may have also been modified during the emoji development. Typically the code that needs changing will be in Annotations.synthesize, to capture yet another special skintone instance
    2. Ensure that the documentation of composition of names (for new components like hair styles) in LDML is updated to match what is in org.unicode.cldr.util.Annotations.
    3. Make sure that org.unicode.tools.emoji.unittest.TestAll runs successfully, with -Demoji-beta.
  4. Copy

    • /emoji/docs/Public/emoji/14.0/emoji-test.txt
      to
    • /cldr-code/src/main/resources/org/unicode/cldr/util/data/emoji/emoji-test.txt
  5. Run unicode tools: org.unicode.tools.emoji.GenerateCldrData

    1. Copy each list of data from the console into (respectively) as per instructions

      1. annotations/root.xml
      2. annotations/en.xml
    2. Copy emoji-test.txt into org.unicode.cldr.util.data.emoji

  6. Get the emoji images for the info panel of the survey tool
    • This used to be done by running org.unicode.tools.emoji.CopyImagesToCldr.java to add images to … /cldr/tools/cldr-apps/src/main/webapp/images/emoji
    • They might be delivered from the ESR via a zip file.
  7. Update the collation/root.xml using unicode/draft/emoji/charts-VV/emoji-ordering-rules.txt
    • Note: emoji-ordering-rules.txt should be moved into the repo (there’s an issue for that)
  8. Run tests

    1. You may get an error in testAnnotationPaths.

      1. May need to change org.unicode.cldr.util.Emoji.SPECIALS to have TestAnnotations pass. These are zwj sequences whose names cannot be composed.
      2. eg β€œ[{πŸ³β€πŸŒˆ}{πŸ‘β€πŸ—¨}{πŸ΄β€β˜ }]”
    2. You may also get an error in TestNames. Check the names to see what is happening, and whether to change the test or the data.

TODO: test that derived names are complete

BRS (if the UCD files are adjusted after the start of the release):

As above, except that you only need to

  1. Run unicodetools GenerateEmoji with the beta options
  2. Copy emoji-test.txt into org.unicode.cldr.util.data.emoji
  3. update collation/root.xml using unicode/draft/emoji/charts-XX/emoji-ordering-rules.txt