aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes
diff options
context:
space:
mode:
authorRobert Pluim2021-09-20 12:41:15 +0200
committerRobert Pluim2021-09-20 22:35:34 +0200
commitde289d58a4efff4a8625f100eabdc56da98e2e07 (patch)
tree56930d855a0e926dd92350440cb5362912b5ad48 /admin/notes
parent0b98ea5fbe276c67206896dca111c000f984ee0f (diff)
downloademacs-de289d58a4efff4a8625f100eabdc56da98e2e07.tar.gz
emacs-de289d58a4efff4a8625f100eabdc56da98e2e07.zip
Support for Unicode emoji sequences
This covers both sequences using Zero-Width-Joiner codepoints and those without. Bug#39799, I hope. * .gitignore: Add emoji-zwj.el * admin/notes/unicode: Add emoji-zwj-sequences.txt and emoji-sequences.txt references. Describe how to test after updating to a newer Unicode version. * admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency. (emoji-zwj.el): Add target plus rules for building. (gen-clean): Add emoji-zwj.el. * admin/unidata/README: Add emoji-zwj-sequences.txt and emoji-sequences.txt references. * admin/unidata/blocks.awk: Force emoji script to be used for certain codepoints that are used by the Unicode sequences. * admin/unidata/emoji-sequences.txt: New file. * admin/unidata/emoji-zwj-sequences.txt: New file. * admin/unidata/emoji-zwj.awk: New file. Derives composition-function-table rules from emoji-zwj-sequences.txt, plus hardcodes some derived manually from emoji-sequences.txt. * etc/NEWS: Announce change. * lisp/international/characters.el: Load the generated emoji-zwj.el * src/Makefile.in (emoji-zwj): New target. (temacs): Add emoji-zwj as a dependency.
Diffstat (limited to 'admin/notes')
-rw-r--r--admin/notes/unicode15
1 files changed, 11 insertions, 4 deletions
diff --git a/admin/notes/unicode b/admin/notes/unicode
index 0b2ce527948..21233ac2819 100644
--- a/admin/notes/unicode
+++ b/admin/notes/unicode
@@ -17,13 +17,15 @@ Emacs uses the following files from the Unicode Character Database
17 . NormalizationTest.txt 17 . NormalizationTest.txt
18 . SpecialCasing.txt 18 . SpecialCasing.txt
19 . emoji-data.txt 19 . emoji-data.txt
20 . emoji-zwj-sequences.txt
21 . emoji-sequences.txt
20 . BidiCharacterTest.txt 22 . BidiCharacterTest.txt
21 23
22First, the first 8 files need to be copied into admin/unidata/, and 24First, the first 10 files need to be copied into admin/unidata/, and
23the file https://www.unicode.org/copyright.html should be copied over 25the file https://www.unicode.org/copyright.html should be copied over
24copyright.html in admin/unidata (that file and emoji-data.txt might 26copyright.html in admin/unidata (some of them might need trailing
25need trailing whitespace removed before they can be committed to the 27whitespace removed before they can be committed to the Emacs
26Emacs repository). 28repository).
27 29
28Then Emacs should be rebuilt for them to take effect. Rebuilding 30Then Emacs should be rebuilt for them to take effect. Rebuilding
29Emacs updates several derived files elsewhere in the Emacs source 31Emacs updates several derived files elsewhere in the Emacs source
@@ -112,6 +114,11 @@ FONT-NAME-REGEXP is checked using `string-match'."
112 (princ (format "Font not matching '%s' was used for the following characters:\n%s" 114 (princ (format "Font not matching '%s' was used for the following characters:\n%s"
113 font-name-regexp (reverse res)))))))) 115 font-name-regexp (reverse res))))))))
114 116
117Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the
118rebuilt Emacs, and check that the sample sequences are composed
119properly. Note that your emoji font might not have glyphs for the
120newest codepoints yet.
121
115Finally, etc/NEWS should be updated to announce the support for the 122Finally, etc/NEWS should be updated to announce the support for the
116new Unicode version. 123new Unicode version.
117 124