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)
This commit is contained in:
parent
753f8aa1f1
commit
2f94f6de9d
2 changed files with 3 additions and 2 deletions
|
@ -106,7 +106,8 @@ END {
|
|||
|
||||
for (elt in ch)
|
||||
{
|
||||
printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, vec[elt])
|
||||
entries = sprintf("%s\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt, elt)
|
||||
printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries)
|
||||
}
|
||||
print "))"
|
||||
print " (set-char-table-range composition-function-table"
|
||||
|
|
|
@ -861,7 +861,7 @@ and the second is a glyph for a variation selector."
|
|||
;; handled in font_range, we end up choosing the Emoji presentation
|
||||
;; rather than the Text presentation.
|
||||
(let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
|
||||
(set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
|
||||
(set-char-table-range composition-function-table '(#xFE00 . #xFE0D) elt)
|
||||
(set-char-table-range composition-function-table '(#xE0100 . #xE01EF) elt))
|
||||
|
||||
(defun auto-compose-chars (func from to font-object string direction)
|
||||
|
|
Loading…
Add table
Reference in a new issue