diff options
| author | Glenn Morris | 2021-10-19 07:50:35 -0700 |
|---|---|---|
| committer | Glenn Morris | 2021-10-19 07:50:35 -0700 |
| commit | 4d4b4017591c7fb4e37b7d1e0d6b2db565a56c66 (patch) | |
| tree | 132fc64cbb5da9e0f5d0600edfcf189dd86e783d /admin | |
| parent | 41c262af322eab6c35a94d747dcaf776b0975f35 (diff) | |
| parent | d742cc3c204ba0adeb9600d236a0e454e35a42ff (diff) | |
| download | emacs-4d4b4017591c7fb4e37b7d1e0d6b2db565a56c66.tar.gz emacs-4d4b4017591c7fb4e37b7d1e0d6b2db565a56c66.zip | |
Merge from origin/emacs-28
d742cc3c20 (origin/emacs-28) ; etc/NEWS: Fix typos
28db29590f * admin/notes/unicode: Refer to Unicode's emoji-style.txt
9bd2f59db6 Handle VS-16 correctly for non-emoji codepoints
e55e2d4a11 ; * etc/NEWS: Minor copyedit about 'repeat-mode'.
380981ddb5 Adjust bug-reference-bug-regexp default values to match on...
c1cf95a0e1 ; * doc/emacs/windows.texi: Doc fix.
98eb6d783a Fix a typo in emacs-lisp-intro.texi
f5b8f626e3 Fix some Tramp problems
fc988a7113 Adapt Tramp manual
0c241043a8 Further fixes to Elisp manual
8e8a920246 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): ...
5a3242301d Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress
bb4209a5a5 Fix xref elisp identifier namespace mistake
# Conflicts:
# etc/NEWS
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/notes/unicode | 8 | ||||
| -rwxr-xr-x | admin/unidata/blocks.awk | 26 | ||||
| -rw-r--r-- | admin/unidata/emoji-zwj.awk | 41 |
3 files changed, 47 insertions, 28 deletions
diff --git a/admin/notes/unicode b/admin/notes/unicode index 21233ac2819..c41b9a6d26d 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode | |||
| @@ -116,8 +116,12 @@ FONT-NAME-REGEXP is checked using `string-match'." | |||
| 116 | 116 | ||
| 117 | Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the | 117 | Visit "emoji-zwj-sequences.txt" and "emoji-sequences.txt" with the |
| 118 | rebuilt Emacs, and check that the sample sequences are composed | 118 | rebuilt Emacs, and check that the sample sequences are composed |
| 119 | properly. Note that your emoji font might not have glyphs for the | 119 | properly. Also check the Unicode style chart file available at |
| 120 | newest codepoints yet. | 120 | https://unicode.org/emoji/charts/emoji-style.txt for any issues |
| 121 | involving VS-15 and VS-16, if so you may need to update the value | ||
| 122 | generated for auto-composition-emoji-eligible-codepoints by | ||
| 123 | admin/unidata/emoji-zwj.awk. Note that your emoji font might not have | ||
| 124 | glyphs for the newest codepoints yet. | ||
| 121 | 125 | ||
| 122 | Finally, etc/NEWS should be updated to announce the support for the | 126 | Finally, etc/NEWS should be updated to announce the support for the |
| 123 | new Unicode version. | 127 | new Unicode version. |
diff --git a/admin/unidata/blocks.awk b/admin/unidata/blocks.awk index 96b0413875d..314ac3e9394 100755 --- a/admin/unidata/blocks.awk +++ b/admin/unidata/blocks.awk | |||
| @@ -221,31 +221,9 @@ FILENAME ~ "emoji-data.txt" && /^[0-9A-F].*; Emoji_Presentation / { | |||
| 221 | } | 221 | } |
| 222 | 222 | ||
| 223 | END { | 223 | END { |
| 224 | ## These codepoints have Emoji_Presentation = No, but they are | ||
| 225 | ## used in emoji-sequences.txt and emoji-zwj-sequences.txt (with a | ||
| 226 | ## Variation Selector), so force them into the emoji script so | ||
| 227 | ## they will get composed correctly. FIXME: delete this when we | ||
| 228 | ## can change the font used for a codepoint based on whether it's | ||
| 229 | ## followed by a VS (usually VS-16) | ||
| 230 | idx = 0 | 224 | idx = 0 |
| 231 | override_start[idx] = "1F3CB" | 225 | # ## These are here so that font_range can choose Emoji presentation |
| 232 | override_end[idx] = "1F3CC" | 226 | # ## for the preceding codepoint when it encounters a VS |
| 233 | idx++ | ||
| 234 | override_start[idx] = "1F3F3" | ||
| 235 | override_end[idx] = "1F3F4" | ||
| 236 | idx++ | ||
| 237 | override_start[idx] = "1F441" | ||
| 238 | override_end[idx] = "1F441" | ||
| 239 | idx++ | ||
| 240 | override_start[idx] = "1F574" | ||
| 241 | override_end[idx] = "1F575" | ||
| 242 | idx++ | ||
| 243 | override_start[idx] = "1F590" | ||
| 244 | override_end[idx] = "1F590" | ||
| 245 | |||
| 246 | ## These are here so that font_range can choose Emoji presentation | ||
| 247 | ## for the preceding codepoint when it encounters a VS | ||
| 248 | idx++ | ||
| 249 | override_start[idx] = "FE00" | 227 | override_start[idx] = "FE00" |
| 250 | override_end[idx] = "FE0F" | 228 | override_end[idx] = "FE0F" |
| 251 | 229 | ||
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk index 5aca157cbd4..d4e2944ca34 100644 --- a/admin/unidata/emoji-zwj.awk +++ b/admin/unidata/emoji-zwj.awk | |||
| @@ -64,6 +64,44 @@ END { | |||
| 64 | print ";;; emoji-zwj.el --- emoji zwj character composition table -*- lexical-binding:t -*-" | 64 | print ";;; emoji-zwj.el --- emoji zwj character composition table -*- lexical-binding:t -*-" |
| 65 | print ";;; Automatically generated from admin/unidata/emoji-{zwj-,}sequences.txt" | 65 | print ";;; Automatically generated from admin/unidata/emoji-{zwj-,}sequences.txt" |
| 66 | print "(eval-when-compile (require 'regexp-opt))" | 66 | print "(eval-when-compile (require 'regexp-opt))" |
| 67 | |||
| 68 | # The following codepoints are not emoji, but they are part of | ||
| 69 | # emoji sequences. We have code in font.c:font_range that will | ||
| 70 | # try to display them with the emoji font anyway. | ||
| 71 | |||
| 72 | trigger_codepoints[1] = "261D" | ||
| 73 | trigger_codepoints[2] = "26F9" | ||
| 74 | trigger_codepoints[3] = "270C" | ||
| 75 | trigger_codepoints[4] = "270D" | ||
| 76 | trigger_codepoints[5] = "2764" | ||
| 77 | trigger_codepoints[6] = "1F3CB" | ||
| 78 | trigger_codepoints[7] = "1F3CC" | ||
| 79 | trigger_codepoints[8] = "1F3F3" | ||
| 80 | trigger_codepoints[9] = "1F3F4" | ||
| 81 | trigger_codepoints[10] = "1F441" | ||
| 82 | trigger_codepoints[11] = "1F574" | ||
| 83 | trigger_codepoints[12] = "1F575" | ||
| 84 | trigger_codepoints[13] = "1F590" | ||
| 85 | |||
| 86 | printf "(setq auto-composition-emoji-eligible-codepoints\n" | ||
| 87 | printf "'(" | ||
| 88 | |||
| 89 | for (trig in trigger_codepoints) | ||
| 90 | { | ||
| 91 | printf("\n?\\N{U+%s}", trigger_codepoints[trig]) | ||
| 92 | } | ||
| 93 | printf "\n))\n\n" | ||
| 94 | |||
| 95 | # We add entries for 'codepoint U+FE0F' here to ensure that the | ||
| 96 | # code in font_range is triggered. | ||
| 97 | |||
| 98 | for (trig in trigger_codepoints) | ||
| 99 | { | ||
| 100 | codepoint = trigger_codepoints[trig] | ||
| 101 | c = sprintf("\\N{U+%s}", codepoint) | ||
| 102 | vec[codepoint] = vec[codepoint] "\n\"" c "\\N{U+FE0F}\"" | ||
| 103 | } | ||
| 104 | |||
| 67 | print "(dolist (elt `(" | 105 | print "(dolist (elt `(" |
| 68 | 106 | ||
| 69 | for (elt in ch) | 107 | for (elt in ch) |
| @@ -98,6 +136,5 @@ END { | |||
| 98 | print " 0" | 136 | print " 0" |
| 99 | print " 'compose-gstring-for-graphic))))" | 137 | print " 'compose-gstring-for-graphic))))" |
| 100 | 138 | ||
| 101 | print "\n" | 139 | printf "\n(provide 'emoji-zwj)" |
| 102 | print "(provide 'emoji-zwj)" | ||
| 103 | } | 140 | } |