SBRS (at the start of the release):
Do in UnicodeTools
-
Run unicodetools GenerateEmoji with the latest or dev version number. The 14.0 is used in some examples below.
-
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)
-
Then change the name composition algorithm if necessary (for new emoji zwj sequences)
- 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
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.- Make sure that org.unicode.tools.emoji.unittest.TestAll runs successfully, with -Demoji-beta.
3. 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
-
Run unicode tools: org.unicode.tools.emoji.GenerateCldrData
- Copy data from the console into (respectively) as per instructions, into
- GenerateCldrData-console.txt
Copy emoji-test.txt into org.unicode.cldr.util.data.emoji
- Copy data from the console into (respectively) as per instructions, into
- 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.
- This used to be done by running
Update the collation/root.xml using unicode/draft/emoji/charts-VV/emoji-ordering-rules.txtNote: emoji-ordering-rules.txt should be moved into the repo (thereβs an issue for that)
Do in CLDR
For a sample, see CLDR-17582 BRS Emoji for v46
- Adds into annotations: en.xml and root.xml
- Adds to images: emoji_1fa89.png, β¦
- Adds emoji-test.txt
- Adds into collation/root.xml (for this, the 15.1 emoji PR is a better example)
- Copy from
- https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/dev/emoji-test.txt
- to
- https://github.com/unicode-org/cldr/blob/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/emoji/emoji-test.txt
- https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/dev/emoji-test.txt
- Copy from
- https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/dev/internal/emoji-ordering-rules.txt
- into the following, replacing
<!-- Machine-readable version of the emoji ordering rules for v16.0Ξ² (corresponding to CLDR). -->... ]]></cr></collation>
- into the following, replacing
- https://github.com/unicode-org/cldr/blob/main/common/collation/root.xml
- https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/dev/internal/emoji-ordering-rules.txt
- Copy emoji images from a .zip file supplied by the ESR folks
- First make sure that the images have the right file name, eg emoji_0023_20e3.png
- Make sure that there are no emoji variation selectors in the titles: no
_FE0F_
. - Ideally, they would include all and only the new emoji β that reduces the checking we need to do.
- Make sure that there are no emoji variation selectors in the titles: no
- into
- https://github.com/unicode-org/cldr/tree/main/tools/cldr-apps/src/main/webapp/images/emoji
- First make sure that the images have the right file name, eg emoji_0023_20e3.png
- Copy
- From GenerateCldrData-console.txt
- into the ends of (respectively)
- Composition of names (for new components like hair styles)
- For new composed names, modify org.unicode.cldr.util.Annotations
- Ensure that the LDML document of composition of names in LDML is updated to match what is in org.unicode.cldr.util.Annotations.
- Run tests
- You may get an error in testAnnotationPaths.
- May need to change org.unicode.cldr.util.Emoji.SPECIALS to have TestAnnotations pass. These are zwj sequences whose names cannot be composed.
- eg β[{π³βπ}{πβπ¨}{π΄ββ }]β
- 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.
- You may get an error in testAnnotationPaths.
**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
- Have the ESR run unicodetools GenerateEmoji with the beta options
- Copy emoji-test.txt (#1 above)
- Update collation/root.xml (#2 above)