1*912701f9SAndroid Build Coastguard WorkerUpdate emoji translations & ordering 2*912701f9SAndroid Build Coastguard Worker==================================== 3*912701f9SAndroid Build Coastguard Worker 4*912701f9SAndroid Build Coastguard WorkerSBRS (at the start of the release): 5*912701f9SAndroid Build Coastguard Worker----- 6*912701f9SAndroid Build Coastguard Worker 7*912701f9SAndroid Build Coastguard WorkerWhere the current version is VV: 8*912701f9SAndroid Build Coastguard Worker 9*912701f9SAndroid Build Coastguard Worker1. Run unicodetools GenerateEmoji with specific version number, like 14.0 10*912701f9SAndroid Build Coastguard Worker 11*912701f9SAndroid Build Coastguard Worker1. If you get an error like 12*912701f9SAndroid Build Coastguard Worker 13*912701f9SAndroid Build Coastguard Worker * Exception in thread "main" java.lang.IllegalArgumentException: no name for 1FAF1 200D 1FAF2 14*912701f9SAndroid Build Coastguard Worker * at org.unicode.tools.emoji.EmojiData.\_getName(EmojiData.java:1230) 15*912701f9SAndroid Build Coastguard Worker * at org.unicode.tools.emoji.EmojiData.getName(EmojiData.java:1194) 16*912701f9SAndroid Build Coastguard Worker * at org.unicode.tools.emoji.EmojiDataSourceCombined.getName(EmojiDataSourceCombined.java:156) 17*912701f9SAndroid Build Coastguard Worker * at org.unicode.tools.emoji.GenerateEmoji.showCandidateStyle(GenerateEmoji.java:3600) 18*912701f9SAndroid Build Coastguard Worker * at org.unicode.tools.emoji.GenerateEmoji.main(GenerateEmoji.java:641) 19*912701f9SAndroid Build Coastguard Worker 20*912701f9SAndroid Build Coastguard Worker2. Then change the name composition algorithm if necessary (for new emoji zwj sequences) 21*912701f9SAndroid Build Coastguard Worker 22*912701f9SAndroid Build Coastguard Worker 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*912701f9SAndroid Build Coastguard Worker 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*912701f9SAndroid Build Coastguard Worker 3. Make sure that org.unicode.tools.emoji.unittest.TestAll runs successfully, with -Demoji-beta. 25*912701f9SAndroid Build Coastguard Worker 26*912701f9SAndroid Build Coastguard Worker2. Copy 27*912701f9SAndroid Build Coastguard Worker 28*912701f9SAndroid Build Coastguard Worker * /emoji/docs/Public/emoji/14.0/emoji-test.txt<br> 29*912701f9SAndroid Build Coastguard Worker to 30*912701f9SAndroid Build Coastguard Worker * /cldr-code/src/main/resources/org/unicode/cldr/util/data/emoji/emoji-test.txt 31*912701f9SAndroid Build Coastguard Worker 32*912701f9SAndroid Build Coastguard Worker3. Run unicode tools: org.unicode.tools.emoji.GenerateCldrData 33*912701f9SAndroid Build Coastguard Worker 34*912701f9SAndroid Build Coastguard Worker 1. Copy each list of data from the console into (respectively) as per instructions 35*912701f9SAndroid Build Coastguard Worker 36*912701f9SAndroid Build Coastguard Worker 1. annotations/root.xml 37*912701f9SAndroid Build Coastguard Worker 2. annotations/en.xml 38*912701f9SAndroid Build Coastguard Worker 39*912701f9SAndroid Build Coastguard Worker 2. Copy emoji-test.txt into org.unicode.cldr.util.data.emoji 40*912701f9SAndroid Build Coastguard Worker 41*912701f9SAndroid Build Coastguard Worker4. Run org.unicode.tools.emoji.CopyImagesToCldr.java to add images to ... /cldr/tools/cldr-apps/src/main/webapp/images/emoji 42*912701f9SAndroid Build Coastguard Worker 43*912701f9SAndroid Build Coastguard Worker * These are the ones that show up in the info panel of the survey tool. 44*912701f9SAndroid Build Coastguard Worker * Update the collation/root.xml using unicode/draft/emoji/charts-VV/emoji-ordering-rules.txt 45*912701f9SAndroid Build Coastguard Worker 46*912701f9SAndroid Build Coastguard Worker5. Run tests 47*912701f9SAndroid Build Coastguard Worker 48*912701f9SAndroid Build Coastguard Worker 1. You may get an error in testAnnotationPaths. 49*912701f9SAndroid Build Coastguard Worker 50*912701f9SAndroid Build Coastguard Worker 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*912701f9SAndroid Build Coastguard Worker 2. eg "\[{}{}{☠}\]" 52*912701f9SAndroid Build Coastguard Worker 53*912701f9SAndroid Build Coastguard Worker 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*912701f9SAndroid Build Coastguard Worker 55*912701f9SAndroid Build Coastguard WorkerTODO: test that derived names are complete 56*912701f9SAndroid Build Coastguard Worker 57*912701f9SAndroid Build Coastguard WorkerBRS (if the UCD files are adjusted after the start of the release): 58*912701f9SAndroid Build Coastguard Worker---- 59*912701f9SAndroid Build Coastguard Worker 60*912701f9SAndroid Build Coastguard WorkerAs above, except that you only need to 61*912701f9SAndroid Build Coastguard Worker 62*912701f9SAndroid Build Coastguard Worker1. Run unicodetools GenerateEmoji with the beta options 63*912701f9SAndroid Build Coastguard Worker2. Copy emoji-test.txt into org.unicode.cldr.util.data.emoji 64*912701f9SAndroid Build Coastguard Worker3. update collation/root.xml using unicode/draft/emoji/charts-XX/emoji-ordering-rules.txt