diff options
| author | Robert Pluim | 2021-09-20 12:41:15 +0200 |
|---|---|---|
| committer | Robert Pluim | 2021-09-20 22:35:34 +0200 |
| commit | de289d58a4efff4a8625f100eabdc56da98e2e07 (patch) | |
| tree | 56930d855a0e926dd92350440cb5362912b5ad48 /admin/notes | |
| parent | 0b98ea5fbe276c67206896dca111c000f984ee0f (diff) | |
| download | emacs-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/unicode | 15 |
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 | ||
| 22 | First, the first 8 files need to be copied into admin/unidata/, and | 24 | First, the first 10 files need to be copied into admin/unidata/, and |
| 23 | the file https://www.unicode.org/copyright.html should be copied over | 25 | the file https://www.unicode.org/copyright.html should be copied over |
| 24 | copyright.html in admin/unidata (that file and emoji-data.txt might | 26 | copyright.html in admin/unidata (some of them might need trailing |
| 25 | need trailing whitespace removed before they can be committed to the | 27 | whitespace removed before they can be committed to the Emacs |
| 26 | Emacs repository). | 28 | repository). |
| 27 | 29 | ||
| 28 | Then Emacs should be rebuilt for them to take effect. Rebuilding | 30 | Then Emacs should be rebuilt for them to take effect. Rebuilding |
| 29 | Emacs updates several derived files elsewhere in the Emacs source | 31 | Emacs 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 | ||
| 117 | Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the | ||
| 118 | rebuilt Emacs, and check that the sample sequences are composed | ||
| 119 | properly. Note that your emoji font might not have glyphs for the | ||
| 120 | newest codepoints yet. | ||
| 121 | |||
| 115 | Finally, etc/NEWS should be updated to announce the support for the | 122 | Finally, etc/NEWS should be updated to announce the support for the |
| 116 | new Unicode version. | 123 | new Unicode version. |
| 117 | 124 | ||