diff options
| author | Robert Pluim | 2023-06-02 13:54:56 +0200 |
|---|---|---|
| committer | Robert Pluim | 2023-06-02 14:13:43 +0200 |
| commit | 2f94f6de9d64f9fd89284dac171e166e7d721dcd (patch) | |
| tree | 3e409c2ac97dd840037b754b0ee0d605bf03755c /admin | |
| parent | 753f8aa1f14c2ff5d86b086230d600eb9bb5d8bc (diff) | |
| download | emacs-2f94f6de9d64f9fd89284dac171e166e7d721dcd.tar.gz emacs-2f94f6de9d64f9fd89284dac171e166e7d721dcd.zip | |
Make VS-15 and VS-16 compositions work correctly
There is a conflict between forward matching and backward matching
composition rules involving the same codepoint, which can cause the
backward matching ones not to be invoked. Ensure that VS-15 (U+FE0E)
and VS-16 (U+FE0F) are composed by forward matching rules instead in
order to avoid this issue.
* admin/unidata/emoji-zwj.awk: Add rules for CHAR+VS-15 and CHAR+VS-16.
* lisp/composite.el: remove backward matching rule for VS-15. (Bug#63731)
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/unidata/emoji-zwj.awk | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk index 7d2ff6cb900..f13f796bcac 100644 --- a/admin/unidata/emoji-zwj.awk +++ b/admin/unidata/emoji-zwj.awk | |||
| @@ -106,7 +106,8 @@ END { | |||
| 106 | 106 | ||
| 107 | for (elt in ch) | 107 | for (elt in ch) |
| 108 | { | 108 | { |
| 109 | printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, vec[elt]) | 109 | entries = sprintf("%s\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt, elt) |
| 110 | printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries) | ||
| 110 | } | 111 | } |
| 111 | print "))" | 112 | print "))" |
| 112 | print " (set-char-table-range composition-function-table" | 113 | print " (set-char-table-range composition-function-table" |