aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorRobert Pluim2023-06-02 13:54:56 +0200
committerRobert Pluim2023-06-02 14:13:43 +0200
commit2f94f6de9d64f9fd89284dac171e166e7d721dcd (patch)
tree3e409c2ac97dd840037b754b0ee0d605bf03755c /admin
parent753f8aa1f14c2ff5d86b086230d600eb9bb5d8bc (diff)
downloademacs-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.awk3
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"