diff options
| author | Po Lu | 2023-06-14 08:26:57 +0800 |
|---|---|---|
| committer | Po Lu | 2023-06-14 08:26:57 +0800 |
| commit | 87b8f8769e6cd4563f82747c279c858617ce1b2b (patch) | |
| tree | cbb696f828b1a669888aea56429d343fbf41749c /admin | |
| parent | 5268f8476fc3e1bb2ead05a75390dbe9ef852d09 (diff) | |
| parent | 4c975111af2163aca8be716ba578d29747c73469 (diff) | |
| download | emacs-87b8f8769e6cd4563f82747c279c858617ce1b2b.tar.gz emacs-87b8f8769e6cd4563f82747c279c858617ce1b2b.zip | |
Merge remote-tracking branch 'origin/master' into feature/android
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/unidata/Makefile.in | 14 | ||||
| -rw-r--r-- | admin/unidata/emoji-zwj.awk | 16 |
2 files changed, 16 insertions, 14 deletions
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in index cccd85213f1..c7737583700 100644 --- a/admin/unidata/Makefile.in +++ b/admin/unidata/Makefile.in | |||
| @@ -105,19 +105,23 @@ ${unidir}/idna-mapping.el: ${srcdir}/unidata-gen.el \ | |||
| 105 | charscript.el: ${unidir}/charscript.el | 105 | charscript.el: ${unidir}/charscript.el |
| 106 | 106 | ||
| 107 | blocks = ${srcdir}/blocks.awk | 107 | blocks = ${srcdir}/blocks.awk |
| 108 | 108 | blocks_sources = ${srcdir}/Blocks.txt ${srcdir}/emoji-data.txt | |
| 109 | ${unidir}/charscript.el: ${blocks} | 109 | ${unidir}/charscript.el: ${blocks} |
| 110 | 110 | ||
| 111 | ${unidir}/charscript.el: ${srcdir}/Blocks.txt ${srcdir}/emoji-data.txt | 111 | # Don't use $^, since that includes the awk script. |
| 112 | $(AM_V_GEN)$(AWK) -f ${blocks} $^ > $@ | 112 | ${unidir}/charscript.el: ${blocks_sources} |
| 113 | $(AM_V_GEN)$(AWK) -f ${blocks} ${blocks_sources} > $@ | ||
| 113 | 114 | ||
| 114 | .PHONY: emoji-zwj.el | 115 | .PHONY: emoji-zwj.el |
| 115 | emoji-zwj.el: ${unidir}/emoji-zwj.el | 116 | emoji-zwj.el: ${unidir}/emoji-zwj.el |
| 116 | 117 | ||
| 117 | zwj = ${srcdir}/emoji-zwj.awk | 118 | zwj = ${srcdir}/emoji-zwj.awk |
| 119 | zwj_sources = ${srcdir}/emoji-zwj-sequences.txt $(srcdir)/emoji-sequences.txt | ||
| 120 | ${unidir}/emoji-zwj.el: ${zwj} | ||
| 118 | 121 | ||
| 119 | ${unidir}/emoji-zwj.el: ${srcdir}/emoji-zwj-sequences.txt $(srcdir)/emoji-sequences.txt ${zwj} | 122 | # Don't use $^, since that includes the awk script. |
| 120 | $(AM_V_GEN)$(AWK) -f ${zwj} $^ > $@ | 123 | ${unidir}/emoji-zwj.el: ${zwj_sources} |
| 124 | $(AM_V_GEN)$(AWK) -f ${zwj} ${zwj_sources} > $@ | ||
| 121 | 125 | ||
| 122 | .PHONY: clean bootstrap-clean distclean maintainer-clean gen-clean | 126 | .PHONY: clean bootstrap-clean distclean maintainer-clean gen-clean |
| 123 | 127 | ||
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk index 4b648aa675e..53170214d8a 100644 --- a/admin/unidata/emoji-zwj.awk +++ b/admin/unidata/emoji-zwj.awk | |||
| @@ -83,31 +83,29 @@ END { | |||
| 83 | trigger_codepoints[12] = "1F575" | 83 | trigger_codepoints[12] = "1F575" |
| 84 | trigger_codepoints[13] = "1F590" | 84 | trigger_codepoints[13] = "1F590" |
| 85 | 85 | ||
| 86 | printf "(setq auto-composition-emoji-eligible-codepoints\n" | 86 | print "(setq auto-composition-emoji-eligible-codepoints" |
| 87 | printf "'(" | 87 | print "'(" |
| 88 | 88 | ||
| 89 | for (trig in trigger_codepoints) | 89 | for (trig in trigger_codepoints) |
| 90 | { | 90 | { |
| 91 | printf("\n?\\N{U+%s}", trigger_codepoints[trig]) | 91 | print "?\\N{U+" trigger_codepoints[trig] "}" |
| 92 | } | 92 | } |
| 93 | printf "\n))\n\n" | 93 | print "))" |
| 94 | 94 | ||
| 95 | # We add entries for 'codepoint U+FE0F' here to ensure that the | 95 | # We add entries for 'codepoint U+FE0F' here to ensure that the |
| 96 | # code in font_range is triggered. | 96 | # code in font_range is triggered. |
| 97 | 97 | ||
| 98 | for (trig in trigger_codepoints) | 98 | for (trig in trigger_codepoints) |
| 99 | { | 99 | { |
| 100 | codepoint = trigger_codepoints[trig] | 100 | vec[codepoint] = vec[codepoint] "\n\"\\N{U+" trigger_codepoints[trig] "}\\N{U+FE0F}\"" |
| 101 | c = sprintf("\\N{U+%s}", codepoint) | ||
| 102 | vec[codepoint] = vec[codepoint] "\n\"" c "\\N{U+FE0F}\"" | ||
| 103 | } | 101 | } |
| 104 | 102 | ||
| 105 | print "(dolist (elt `(" | 103 | print "(dolist (elt `(" |
| 106 | 104 | ||
| 107 | for (elt in ch) | 105 | for (elt in ch) |
| 108 | { | 106 | { |
| 109 | entries = vec[elt] sprintf("\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", elt, elt) | 107 | print "(#x" elt " .\n,(eval-when-compile (regexp-opt\n'(\n" vec[elt] |
| 110 | printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries) | 108 | print "\"\\N{U+" elt "}\\N{U+FE0E}\"\n\"\\N{U+" elt "}\\N{U+FE0F}\"\n))))" |
| 111 | } | 109 | } |
| 112 | print "))" | 110 | print "))" |
| 113 | print " (set-char-table-range composition-function-table" | 111 | print " (set-char-table-range composition-function-table" |