xref: /aosp_15_r20/external/cldr/docs/dev/generate-emoji-paths.md (revision 912701f9769bb47905792267661f0baf2b85bed5)
1Update emoji translations & ordering
2====================================
3
4SBRS (at the start of the release):
5-----
6
7Where the current version is VV:
8
91.  Run unicodetools GenerateEmoji with specific version number, like 14.0
10
111.  If you get an error like
12
13    * Exception in thread "main" java.lang.IllegalArgumentException: no name for ��‍�� 1FAF1 200D 1FAF2
14    * at org.unicode.tools.emoji.EmojiData.\_getName(EmojiData.java:1230)
15    * at org.unicode.tools.emoji.EmojiData.getName(EmojiData.java:1194)
16    * at org.unicode.tools.emoji.EmojiDataSourceCombined.getName(EmojiDataSourceCombined.java:156)
17    * at org.unicode.tools.emoji.GenerateEmoji.showCandidateStyle(GenerateEmoji.java:3600)
18    * at org.unicode.tools.emoji.GenerateEmoji.main(GenerateEmoji.java:641)
19
202.  Then change the name composition algorithm if necessary (for new emoji zwj sequences)
21
22    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
23    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.
24    3.  Make sure that org.unicode.tools.emoji.unittest.TestAll runs successfully, with -Demoji-beta.
25
262.  Copy
27
28    * /emoji/docs/Public/emoji/14.0/emoji-test.txt<br>
29	to
30    * /cldr-code/src/main/resources/org/unicode/cldr/util/data/emoji/emoji-test.txt
31
323.  Run unicode tools: org.unicode.tools.emoji.GenerateCldrData
33
34    1.  Copy each list of data from the console into (respectively) as per instructions
35
36        1.  annotations/root.xml
37        2.  annotations/en.xml
38
39    2.  Copy emoji-test.txt into org.unicode.cldr.util.data.emoji
40
414.  Run org.unicode.tools.emoji.CopyImagesToCldr.java to add images to ... /cldr/tools/cldr-apps/src/main/webapp/images/emoji
42
43    * These are the ones that show up in the info panel of the survey tool.
44    * Update the collation/root.xml using unicode/draft/emoji/charts-VV/emoji-ordering-rules.txt
45
465.  Run tests
47
48    1.  You may get an error in testAnnotationPaths.
49
50        1.  May need to change org.unicode.cldr.util.Emoji.SPECIALS to have TestAnnotations pass. These are zwj sequences whose names cannot be composed.
51        2.  eg "\[{��‍��}{��‍��}{��‍☠}\]"
52
53    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.
54
55TODO: test that derived names are complete
56
57BRS (if the UCD files are adjusted after the start of the release):
58----
59
60As above, except that you only need to
61
621.  Run unicodetools GenerateEmoji with the beta options
632.  Copy emoji-test.txt into org.unicode.cldr.util.data.emoji
643.  update collation/root.xml using unicode/draft/emoji/charts-XX/emoji-ordering-rules.txt