diff options
author | Mark E. Shoulson <mark@kli.org> | 2021-05-06 11:06:10 -0400 |
---|---|---|
committer | Mark E. Shoulson <mark@kli.org> | 2021-07-20 15:13:38 -0400 |
commit | e435ab43a2147294d51e353cbb636d77c521984e (patch) | |
tree | f5984a064a6f6fba6c9fbf9208c941ca38e10c02 | |
parent | Merge branch 'master' (diff) | |
parent | Do parenthesized numbers via paren-base. Add a few more chars. (diff) | |
download | dotXCompose-e435ab43a2147294d51e353cbb636d77c521984e.tar.gz dotXCompose-e435ab43a2147294d51e353cbb636d77c521984e.tar.bz2 dotXCompose-e435ab43a2147294d51e353cbb636d77c521984e.zip |
Merge branch 'master'
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | dotXCompose | 65 | ||||
-rwxr-xr-x | emojitrans2.pl | 6 | ||||
-rw-r--r-- | parens-base | 357 | ||||
-rw-r--r-- | parens.compose | 198 | ||||
-rw-r--r-- | xcompose-mode.el | 254 |
7 files changed, 871 insertions, 14 deletions
@@ -1,4 +1,5 @@ -COMPOSED=emoji.compose modletters.compose tags.compose maths.compose +COMPOSED=emoji.compose modletters.compose tags.compose maths.compose \ + parens.compose all: $(COMPOSED) %.compose: %-base emojitrans2.pl @@ -7,7 +7,7 @@ your Compose key in X11 is controlled by (among other things) the file of bindings for Unicode characters that are useful occasionally. More contributions are welcome; there's a Git repository at -<http://github.org/kragen/xcompose>. We're trying to come up with a +<https://github.com/kragen/xcompose>. We're trying to come up with a broadly acceptable set of keybindings that won't interfere with the traditional Compose bindings, aren't too hard to type, and cover a wide set of characters that are useful to use occasionally, making diff --git a/dotXCompose b/dotXCompose index 8a823e2..1a23f2e 100644 --- a/dotXCompose +++ b/dotXCompose @@ -33,6 +33,9 @@ include "%L" # These two are already present for me: # <Multi_key> <minus> <minus> <minus> : "—" U2014 # EM DASH # <Multi_key> <minus> <minus> <period> : "–" U2013 # EN DASH +# But I can never remember them! +<Multi_key> <minus> <M> : "—" U2014 # EM DASH +<Multi_key> <minus> <N> : "–" U2013 # EN DASH <Multi_key> <minus> <minus> <space> : "– " # EN DASH (followed by space) <Multi_key> <minus> <asciitilde> <minus> : "―" U2015 # HORIZONTAL BAR <Multi_key> <minus> <2> <M> : "⸺" U2E3A # TWO-EM DASH @@ -205,9 +208,14 @@ include "%L" <Multi_key> <P> <less> : "ꟼ" UA7FC # LATIN EPIGRAPHIC LETTER REVERSED P <Multi_key> <F> <BackSpace> : "ꟻ" UA7FB # LATIN EPIGRAPHIC LETTER REVERSED F <Multi_key> <P> <BackSpace> : "ꟼ" UA7FC # LATIN EPIGRAPHIC LETTER REVERSED P +<Multi_key> <F> <F> : "Ⅎ" U2132 # TURNED CAPITAL F +<Multi_key> <F> <f> : "ⅎ" U214E # TURNED SMALL F <Multi_key> <M> <W> : "ꟽ" UA7FD # LATIN EPIGRAPHIC LETTER INVERTED M +<Multi_key> <M> <M> : "Ɯ" U019C # LATIN CAPITAL LETTER TURNED M <Multi_key> <I> <bar> : "ꟾ" UA7FE # LATIN EPIGRAPHIC LETTER I LONGA <Multi_key> <M> <slash> : "ꟿ" UA7FF # LATIN EPIGRAPHIC LETTER ARCHAIC M +<Multi_key> <2> <2> : "↊" U218A # TURNED DIGIT TWO +<Multi_key> <3> <3> : "↋" U218B # TURNED DIGIT THREE # I'd been avoiding this because we already have ∃... # Hey, these, being *letters* can be used as identifiers in some languages... <Multi_key> <E> <less> : "Ǝ" U018E # LATIN CAPITAL LETTER REVERSED E @@ -272,7 +280,6 @@ include "%L" <Multi_key> <R> <O> : "Ꝛ" UA75A # LATIN CAPITAL LETTER R ROTUNDA # something, anyway. <Multi_key> <R> <0> : "Ꝛ" UA75A # LATIN CAPITAL LETTER R ROTUNDA - # Custom additions: Mathematical symbols <Multi_key> <exclam> <equal> : "≠" U2260 # NOT EQUAL TO <Multi_key> <slash> <equal> : "≠" U2260 # NOT EQUAL TO @@ -335,6 +342,8 @@ include "%L" <Multi_key> <braceleft> <equal> <parenleft> : "⊆" U2286 # SUBSET OF OR EQUAL TO <Multi_key> <exclam> <braceleft> <parenleft> : "⊄" U2284 # NOT A SUBSET OF <Multi_key> <slash> <braceleft> <parenleft> : "⊄" U2284 # NOT A SUBSET OF +<Multi_key> <exclam> <braceleft> <parenright> : "⊅" U2285 # NOT A SUPERSET OF +<Multi_key> <slash> <braceleft> <parenright> : "⊅" U2285 # NOT A SUPERSET OF <Multi_key> <braceleft> <parenright> : "⊃" U2283 # SUPERSET OF <Multi_key> <braceleft> <equal> <parenright> : "⊇" U2287 # SUPERSET OF OR EQUAL TO <Multi_key> <E> <E> : "∃" U2203 # THERE EXISTS @@ -700,6 +709,7 @@ include "%L" <Multi_key> <percent> <X> : "Ⅹ" U2169 # ROMAN NUMERAL TEN <Multi_key> <percent> <L> : "Ⅼ" U216C # ROMAN NUMERAL FIFTY <Multi_key> <percent> <C> : "Ⅽ" U216D # ROMAN NUMERAL ONE HUNDRED +<Multi_key> <percent> <less> <C> : "Ↄ" U2183 # ROMAN NUMERAL REVERSED ONE HUNDRED <Multi_key> <percent> <D> : "Ⅾ" U216E # ROMAN NUMERAL FIVE HUNDRED <Multi_key> <percent> <M> : "Ⅿ" U216F # ROMAN NUMERAL ONE THOUSAND <Multi_key> <percent> <0> <C> <D> : "ↀ" U2180 # ROMAN NUMERAL ONE THOUSAND C D @@ -745,7 +755,6 @@ include "%L" <Multi_key> <semicolon> <BackSpace> : "⁏" U204F # REVERSED SEMICOLON # Keep looking into big hunks of Latin Extended-D, A720- et seq. <Multi_key> <less> <3> : "♥" U2665 # BLACK HEART SUIT -<Multi_key> <3> <3> : "♣" U2663 # BLACK CLUB SUIT <Multi_key> <o> <8> : "♣" U2663 # BLACK CLUB SUIT <Multi_key> <c> <3> : "♣" U2663 # BLACK CLUB SUIT <Multi_key> <less> <greater> : "♢" U2662 # WHITE DIAMOND SUIT @@ -809,6 +818,38 @@ include "%L" <Multi_key> <bracketleft> <6> <bracketright> : "⚅" U2685 # DIE FACE-6 # 267B BLACK UNIVERSAL RECYCLING SYMBOL +<Multi_key> <parenleft> <C> <C> <parenright> : "🅭" U1F16D # CIRCLED CC +<Multi_key> <C> <parenleft> <C> <C> <parenright> : "🅭" U1F16D # CIRCLED CC +<Multi_key> <parenleft> <backslash> <C> <parenright> : "🅮" U1F16E # CIRCLED C WITH OVERLAID BACKSLASH +<Multi_key> <parenleft> <slash> <C> <parenright> : "🅮" U1F16E # CIRCLED C WITH OVERLAID BACKSLASH +<Multi_key> <C> <parenleft> <backslash> <C> <parenright> : "🅮" U1F16E # CIRCLED C WITH OVERLAID BACKSLASH +<Multi_key> <C> <parenleft> <slash> <C> <parenright> : "🅮" U1F16E # CIRCLED C WITH OVERLAID BACKSLASH +<Multi_key> <C> <parenleft> <B> <Y> <parenright> : "🅯" U1F16F # CIRCLED HUMAN FIGURE +<Multi_key> <C> <parenleft> <S> <A> <parenright> : "🄎" U1F10E # CIRCLED ANTICLOCKWISE ARROW +## ugh, this doesn't (usually) match the style of the others. They're practically emoji; ⊜ is a math symbol. +<Multi_key> <C> <parenleft> <N> <D> <parenright> : "⊜" U229C # CIRCLED EQUALS +<Multi_key> <C> <parenleft> <equal> <parenright> : "⊜" U229C # CIRCLED EQUALS +<Multi_key> <C> <parenleft> <N> <C> <parenright> : "🄏" U1F10F # CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH +<Multi_key> <C> <parenleft> <slash> <dollar> <parenright> : "🄏" U1F10F # CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH +<Multi_key> <C> <parenleft> <backslash> <dollar> <parenright> : "🄏" U1F10F # CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH +## Not actually Creative Commons, but related. Too many options? +<Multi_key> <parenleft> <C> <Left> <parenright> : "🄯" U1F12F # COPYLEFT SYMBOL +<Multi_key> <parenleft> <C> <less> <parenright> : "🄯" U1F12F # COPYLEFT SYMBOL +<Multi_key> <C> <parenleft> <C> <Left> <parenright> : "🄯" U1F12F # COPYLEFT SYMBOL +<Multi_key> <C> <parenleft> <C> <less> <parenright> : "🄯" U1F12F # COPYLEFT SYMBOL + +## Segmented digits? +<Multi_key> <numbersign> <0> : "🯰" U1FBF0 # SEGMENTED DIGIT ZERO +<Multi_key> <numbersign> <1> : "🯱" U1FBF1 # SEGMENTED DIGIT ONE +<Multi_key> <numbersign> <2> : "🯲" U1FBF2 # SEGMENTED DIGIT TWO +<Multi_key> <numbersign> <3> : "🯳" U1FBF3 # SEGMENTED DIGIT THREE +<Multi_key> <numbersign> <4> : "🯴" U1FBF4 # SEGMENTED DIGIT FOUR +<Multi_key> <numbersign> <5> : "🯵" U1FBF5 # SEGMENTED DIGIT FIVE +<Multi_key> <numbersign> <6> : "🯶" U1FBF6 # SEGMENTED DIGIT SIX +<Multi_key> <numbersign> <7> : "🯷" U1FBF7 # SEGMENTED DIGIT SEVEN +<Multi_key> <numbersign> <8> : "🯸" U1FBF8 # SEGMENTED DIGIT EIGHT +<Multi_key> <numbersign> <9> : "🯹" U1FBF9 # SEGMENTED DIGIT NINE + # Keystrokes okay? <Multi_key> <Multi_key> <f> <d> <l> : "⚜" U269C # FLEUR-DE-LIS <Multi_key> <Multi_key> <a> <t> <o> <m> : "⚛" U269B # ATOM SYMBOL @@ -933,6 +974,20 @@ include "%L" <Multi_key> <asciicircum> <plus> : "⁺" U207A # SUPERSCRIPT PLUS <Multi_key> <asciitilde> <asciitilde> : "≈" U2248 # ALMOST EQUAL TO + +## The system XCompose gives me lots of precomposed chars, but is +## missing ones with macrons, and I want 'em +<Multi_key> <equal> <A> : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON +<Multi_key> <equal> <a> : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON +<Multi_key> <equal> <E> : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON +<Multi_key> <equal> <e> : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON +<Multi_key> <equal> <I> : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON +<Multi_key> <equal> <i> : "ī" U012B # LATIN SMALL LETTER I WITH MACRON +<Multi_key> <equal> <O> : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON +<Multi_key> <equal> <o> : "ō" U014D # LATIN SMALL LETTER O WITH MACRON +<Multi_key> <equal> <U> : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON +<Multi_key> <equal> <u> : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + <Multi_key> <s> <h> : "ʃ" U0283 # LATIN SMALL LETTER ESH <Multi_key> <z> <h> : "ʒ" U0292 # LATIN SMALL LETTER EZH <Multi_key> <l> <h> : "ɬ" U026C # LATIN SMALL LETTER L WITH BELT @@ -943,6 +998,7 @@ include "%L" <Multi_key> <question> <parenleft> : "ʕ" U0295 # LATIN LETTER PHARYNGEAL VOICED FRICATIVE # Not great keystrokes... <Multi_key> <question> <v> : "ʖ" U0296 # LATIN LETTER INVERTED GLOTTAL STOP +<Multi_key> <question> <at> : "ʖ" U0296 # LATIN LETTER INVERTED GLOTTAL STOP <Multi_key> <question> <minus> : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE <Multi_key> <question> <braceleft> : "ʢ" U02A2 # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE # How about ɸ? φ isn’t the IPA glyph. @@ -959,6 +1015,8 @@ include "%L" <Multi_key> <A> <W> : "Ɔ" U0186 # LATIN CAPITAL LETTER OPEN O <Multi_key> <e> <h> : "ɛ" U025B # LATIN SMALL LETTER OPEN E # Have to put the <less> at the beginning for these. +<Multi_key> <less> <a> <h> : "ɒ" U0252 # LATIN SMALL LETTER TURNED ALPHA +<Multi_key> <BackSpace> <a> <h> : "ɒ" U0252 # LATIN SMALL LETTER TURNED ALPHA <Multi_key> <less> <e> <h> : "ɜ" U025C # LATIN SMALL LETTER REVERSED OPEN E <Multi_key> <BackSpace> <e> <h> : "ɜ" U025C # LATIN SMALL LETTER REVERSED OPEN E <Multi_key> <less> <e> <r> : "ɝ" U025D # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK @@ -1031,6 +1089,9 @@ include "%L" <Multi_key> <numbersign> <o> <slash> : "♪" U266a # EIGHTH NOTE <Multi_key> <numbersign> <o> <o> : "♫" U266b # BEAMED EIGHTH NOTES <Multi_key> <numbersign> <percent> : "♫" U266b # BEAMED EIGHTH NOTES +<Multi_key> <numbersign> <q> : "♩" U2669 # QUARTER NOTE +<Multi_key> <numbersign> <h> : "𝅗𝅥" U0001d15e # MUSICAL SYMBOL HALF NOTE +<Multi_key> <numbersign> <w> : "𝅝" U0001d15d # MUSICAL SYMBOL WHOLE NOTE # Combining accents, for making things you don't have precomposed chars or keystrokes for: diff --git a/emojitrans2.pl b/emojitrans2.pl index 4ee9eac..233d77c 100755 --- a/emojitrans2.pl +++ b/emojitrans2.pl @@ -28,6 +28,9 @@ BEGIN { binmode(STDOUT, ":utf8"); ']' => 'bracketright', '{' => 'braceleft', '}' => 'braceright', + # Not strictly necessary: + '❴' => 'braceleft', + '❵' => 'braceright', "'" => 'apostrophe', '"' => 'quotedbl', '\\' => 'backslash', @@ -50,6 +53,9 @@ BEGIN { binmode(STDOUT, ":utf8"); '↵' => 'Return', '∇' => 'Delete', # Del, get it? '˅' => 'Insert', # it'll do. + '˃' => 'Control_R', + '˂' => 'Control_L', + # Function-keys? ¹ ²..ˣ ᵉ ᵗ? ); $specials = join "", keys %specials; diff --git a/parens-base b/parens-base new file mode 100644 index 0000000..6e6a42f --- /dev/null +++ b/parens-base @@ -0,0 +1,357 @@ +#- 2474;PARENTHESIZED DIGIT ONE;No;0;ON;<compat> 0028 0031 0029;;1;1;N;;;;; +<M_> {(.1)} : "⑴" U2474 # PARENTHESIZED DIGIT ONE +#- 2475;PARENTHESIZED DIGIT TWO;No;0;ON;<compat> 0028 0032 0029;;2;2;N;;;;; +<M_> {(.2)} : "⑵" U2475 # PARENTHESIZED DIGIT TWO +#- 2476;PARENTHESIZED DIGIT THREE;No;0;ON;<compat> 0028 0033 0029;;3;3;N;;;;; +<M_> {(.3)} : "⑶" U2476 # PARENTHESIZED DIGIT THREE +#- 2477;PARENTHESIZED DIGIT FOUR;No;0;ON;<compat> 0028 0034 0029;;4;4;N;;;;; +<M_> {(.4)} : "⑷" U2477 # PARENTHESIZED DIGIT FOUR +#- 2478;PARENTHESIZED DIGIT FIVE;No;0;ON;<compat> 0028 0035 0029;;5;5;N;;;;; +<M_> {(.5)} : "⑸" U2478 # PARENTHESIZED DIGIT FIVE +#- 2479;PARENTHESIZED DIGIT SIX;No;0;ON;<compat> 0028 0036 0029;;6;6;N;;;;; +<M_> {(.6)} : "⑹" U2479 # PARENTHESIZED DIGIT SIX +#- 247A;PARENTHESIZED DIGIT SEVEN;No;0;ON;<compat> 0028 0037 0029;;7;7;N;;;;; +<M_> {(.7)} : "⑺" U247A # PARENTHESIZED DIGIT SEVEN +#- 247B;PARENTHESIZED DIGIT EIGHT;No;0;ON;<compat> 0028 0038 0029;;8;8;N;;;;; +<M_> {(.8)} : "⑻" U247B # PARENTHESIZED DIGIT EIGHT +#- 247C;PARENTHESIZED DIGIT NINE;No;0;ON;<compat> 0028 0039 0029;;9;9;N;;;;; +<M_> {(.9)} : "⑼" U247C # PARENTHESIZED DIGIT NINE +#- 247D;PARENTHESIZED NUMBER TEN;No;0;ON;<compat> 0028 0031 0030 0029;;;10;N;;;;; +<M_> {(.10)} : "⑽" U247D # PARENTHESIZED NUMBER TEN +#- 247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON;<compat> 0028 0031 0031 0029;;;11;N;;;;; +<M_> {(.11)} : "⑾" U247E # PARENTHESIZED NUMBER ELEVEN +#- 247F;PARENTHESIZED NUMBER TWELVE;No;0;ON;<compat> 0028 0031 0032 0029;;;12;N;;;;; +<M_> {(.12)} : "⑿" U247F # PARENTHESIZED NUMBER TWELVE +#- 2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON;<compat> 0028 0031 0033 0029;;;13;N;;;;; +<M_> {(.13)} : "⒀" U2480 # PARENTHESIZED NUMBER THIRTEEN +#- 2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON;<compat> 0028 0031 0034 0029;;;14;N;;;;; +<M_> {(.14)} : "⒁" U2481 # PARENTHESIZED NUMBER FOURTEEN +#- 2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON;<compat> 0028 0031 0035 0029;;;15;N;;;;; +<M_> {(.15)} : "⒂" U2482 # PARENTHESIZED NUMBER FIFTEEN +#- 2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON;<compat> 0028 0031 0036 0029;;;16;N;;;;; +<M_> {(.16)} : "⒃" U2483 # PARENTHESIZED NUMBER SIXTEEN +#- 2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON;<compat> 0028 0031 0037 0029;;;17;N;;;;; +<M_> {(.17)} : "⒄" U2484 # PARENTHESIZED NUMBER SEVENTEEN +#- 2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON;<compat> 0028 0031 0038 0029;;;18;N;;;;; +<M_> {(.18)} : "⒅" U2485 # PARENTHESIZED NUMBER EIGHTEEN +#- 2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON;<compat> 0028 0031 0039 0029;;;19;N;;;;; +<M_> {(.19)} : "⒆" U2486 # PARENTHESIZED NUMBER NINETEEN +#- 2487;PARENTHESIZED NUMBER TWENTY;No;0;ON;<compat> 0028 0032 0030 0029;;;20;N;;;;; +<M_> {(.20)} : "⒇" U2487 # PARENTHESIZED NUMBER TWENTY +#- 249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L;<compat> 0028 0061 0029;;;;N;;;;; +<M_> {(.a)} : "⒜" U249C # PARENTHESIZED LATIN SMALL LETTER A +#- 249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L;<compat> 0028 0062 0029;;;;N;;;;; +<M_> {(.b)} : "⒝" U249D # PARENTHESIZED LATIN SMALL LETTER B +#- 249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L;<compat> 0028 0063 0029;;;;N;;;;; +<M_> {(.c)} : "⒞" U249E # PARENTHESIZED LATIN SMALL LETTER C +#- 249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L;<compat> 0028 0064 0029;;;;N;;;;; +<M_> {(.d)} : "⒟" U249F # PARENTHESIZED LATIN SMALL LETTER D +#- 24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L;<compat> 0028 0065 0029;;;;N;;;;; +<M_> {(.e)} : "⒠" U24A0 # PARENTHESIZED LATIN SMALL LETTER E +#- 24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L;<compat> 0028 0066 0029;;;;N;;;;; +<M_> {(.f)} : "⒡" U24A1 # PARENTHESIZED LATIN SMALL LETTER F +#- 24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L;<compat> 0028 0067 0029;;;;N;;;;; +<M_> {(.g)} : "⒢" U24A2 # PARENTHESIZED LATIN SMALL LETTER G +#- 24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L;<compat> 0028 0068 0029;;;;N;;;;; +<M_> {(.h)} : "⒣" U24A3 # PARENTHESIZED LATIN SMALL LETTER H +#- 24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L;<compat> 0028 0069 0029;;;;N;;;;; +<M_> {(.i)} : "⒤" U24A4 # PARENTHESIZED LATIN SMALL LETTER I +#- 24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L;<compat> 0028 006A 0029;;;;N;;;;; +<M_> {(.j)} : "⒥" U24A5 # PARENTHESIZED LATIN SMALL LETTER J +#- 24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L;<compat> 0028 006B 0029;;;;N;;;;; +<M_> {(.k)} : "⒦" U24A6 # PARENTHESIZED LATIN SMALL LETTER K +#- 24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L;<compat> 0028 006C 0029;;;;N;;;;; +<M_> {(.l)} : "⒧" U24A7 # PARENTHESIZED LATIN SMALL LETTER L +#- 24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L;<compat> 0028 006D 0029;;;;N;;;;; +<M_> {(.m)} : "⒨" U24A8 # PARENTHESIZED LATIN SMALL LETTER M +#- 24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L;<compat> 0028 006E 0029;;;;N;;;;; +<M_> {(.n)} : "⒩" U24A9 # PARENTHESIZED LATIN SMALL LETTER N +#- 24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L;<compat> 0028 006F 0029;;;;N;;;;; +<M_> {(.o)} : "⒪" U24AA # PARENTHESIZED LATIN SMALL LETTER O +#- 24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L;<compat> 0028 0070 0029;;;;N;;;;; +<M_> {(.p)} : "⒫" U24AB # PARENTHESIZED LATIN SMALL LETTER P +#- 24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L;<compat> 0028 0071 0029;;;;N;;;;; +<M_> {(.q)} : "⒬" U24AC # PARENTHESIZED LATIN SMALL LETTER Q +#- 24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L;<compat> 0028 0072 0029;;;;N;;;;; +<M_> {(.r)} : "⒭" U24AD # PARENTHESIZED LATIN SMALL LETTER R +#- 24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L;<compat> 0028 0073 0029;;;;N;;;;; +<M_> {(.s)} : "⒮" U24AE # PARENTHESIZED LATIN SMALL LETTER S +#- 24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L;<compat> 0028 0074 0029;;;;N;;;;; +<M_> {(.t)} : "⒯" U24AF # PARENTHESIZED LATIN SMALL LETTER T +#- 24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L;<compat> 0028 0075 0029;;;;N;;;;; +<M_> {(.u)} : "⒰" U24B0 # PARENTHESIZED LATIN SMALL LETTER U +#- 24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L;<compat> 0028 0076 0029;;;;N;;;;; +<M_> {(.v)} : "⒱" U24B1 # PARENTHESIZED LATIN SMALL LETTER V +#- 24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L;<compat> 0028 0077 0029;;;;N;;;;; +<M_> {(.w)} : "⒲" U24B2 # PARENTHESIZED LATIN SMALL LETTER W +#- 24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L;<compat> 0028 0078 0029;;;;N;;;;; +<M_> {(.x)} : "⒳" U24B3 # PARENTHESIZED LATIN SMALL LETTER X +#- 24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L;<compat> 0028 0079 0029;;;;N;;;;; +<M_> {(.y)} : "⒴" U24B4 # PARENTHESIZED LATIN SMALL LETTER Y +#- 24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L;<compat> 0028 007A 0029;;;;N;;;;; +<M_> {(.z)} : "⒵" U24B5 # PARENTHESIZED LATIN SMALL LETTER Z +#- 1F110;PARENTHESIZED LATIN CAPITAL LETTER A;So;0;L;<compat> 0028 0041 0029;;;;N;;;;; +<M_> {(.A)} : "🄐" U1F110 # PARENTHESIZED LATIN CAPITAL LETTER A +#- 1F111;PARENTHESIZED LATIN CAPITAL LETTER B;So;0;L;<compat> 0028 0042 0029;;;;N;;;;; +<M_> {(.B)} : "🄑" U1F111 # PARENTHESIZED LATIN CAPITAL LETTER B +#- 1F112;PARENTHESIZED LATIN CAPITAL LETTER C;So;0;L;<compat> 0028 0043 0029;;;;N;;;;; +<M_> {(.C)} : "🄒" U1F112 # PARENTHESIZED LATIN CAPITAL LETTER C +#- 1F113;PARENTHESIZED LATIN CAPITAL LETTER D;So;0;L;<compat> 0028 0044 0029;;;;N;;;;; +<M_> {(.D)} : "🄓" U1F113 # PARENTHESIZED LATIN CAPITAL LETTER D +#- 1F114;PARENTHESIZED LATIN CAPITAL LETTER E;So;0;L;<compat> 0028 0045 0029;;;;N;;;;; +<M_> {(.E)} : "🄔" U1F114 # PARENTHESIZED LATIN CAPITAL LETTER E +#- 1F115;PARENTHESIZED LATIN CAPITAL LETTER F;So;0;L;<compat> 0028 0046 0029;;;;N;;;;; +<M_> {(.F)} : "🄕" U1F115 # PARENTHESIZED LATIN CAPITAL LETTER F +#- 1F116;PARENTHESIZED LATIN CAPITAL LETTER G;So;0;L;<compat> 0028 0047 0029;;;;N;;;;; +<M_> {(.G)} : "🄖" U1F116 # PARENTHESIZED LATIN CAPITAL LETTER G +#- 1F117;PARENTHESIZED LATIN CAPITAL LETTER H;So;0;L;<compat> 0028 0048 0029;;;;N;;;;; +<M_> {(.H)} : "🄗" U1F117 # PARENTHESIZED LATIN CAPITAL LETTER H +#- 1F118;PARENTHESIZED LATIN CAPITAL LETTER I;So;0;L;<compat> 0028 0049 0029;;;;N;;;;; +<M_> {(.I)} : "🄘" U1F118 # PARENTHESIZED LATIN CAPITAL LETTER I +#- 1F119;PARENTHESIZED LATIN CAPITAL LETTER J;So;0;L;<compat> 0028 004A 0029;;;;N;;;;; +<M_> {(.J)} : "🄙" U1F119 # PARENTHESIZED LATIN CAPITAL LETTER J +#- 1F11A;PARENTHESIZED LATIN CAPITAL LETTER K;So;0;L;<compat> 0028 004B 0029;;;;N;;;;; +<M_> {(.K)} : "🄚" U1F11A # PARENTHESIZED LATIN CAPITAL LETTER K +#- 1F11B;PARENTHESIZED LATIN CAPITAL LETTER L;So;0;L;<compat> 0028 004C 0029;;;;N;;;;; +<M_> {(.L)} : "🄛" U1F11B # PARENTHESIZED LATIN CAPITAL LETTER L +#- 1F11C;PARENTHESIZED LATIN CAPITAL LETTER M;So;0;L;<compat> 0028 004D 0029;;;;N;;;;; +<M_> {(.M)} : "🄜" U1F11C # PARENTHESIZED LATIN CAPITAL LETTER M +#- 1F11D;PARENTHESIZED LATIN CAPITAL LETTER N;So;0;L;<compat> 0028 004E 0029;;;;N;;;;; +<M_> {(.N)} : "🄝" U1F11D # PARENTHESIZED LATIN CAPITAL LETTER N +#- 1F11E;PARENTHESIZED LATIN CAPITAL LETTER O;So;0;L;<compat> 0028 004F 0029;;;;N;;;;; +<M_> {(.O)} : "🄞" U1F11E # PARENTHESIZED LATIN CAPITAL LETTER O +#- 1F11F;PARENTHESIZED LATIN CAPITAL LETTER P;So;0;L;<compat> 0028 0050 0029;;;;N;;;;; +<M_> {(.P)} : "🄟" U1F11F # PARENTHESIZED LATIN CAPITAL LETTER P +#- 1F120;PARENTHESIZED LATIN CAPITAL LETTER Q;So;0;L;<compat> 0028 0051 0029;;;;N;;;;; +<M_> {(.Q)} : "🄠" U1F120 # PARENTHESIZED LATIN CAPITAL LETTER Q +#- 1F121;PARENTHESIZED LATIN CAPITAL LETTER R;So;0;L;<compat> 0028 0052 0029;;;;N;;;;; +<M_> {(.R)} : "🄡" U1F121 # PARENTHESIZED LATIN CAPITAL LETTER R +#- 1F122;PARENTHESIZED LATIN CAPITAL LETTER S;So;0;L;<compat> 0028 0053 0029;;;;N;;;;; +<M_> {(.S)} : "🄢" U1F122 # PARENTHESIZED LATIN CAPITAL LETTER S +#- 1F123;PARENTHESIZED LATIN CAPITAL LETTER T;So;0;L;<compat> 0028 0054 0029;;;;N;;;;; +<M_> {(.T)} : "🄣" U1F123 # PARENTHESIZED LATIN CAPITAL LETTER T +#- 1F124;PARENTHESIZED LATIN CAPITAL LETTER U;So;0;L;<compat> 0028 0055 0029;;;;N;;;;; +<M_> {(.U)} : "🄤" U1F124 # PARENTHESIZED LATIN CAPITAL LETTER U +#- 1F125;PARENTHESIZED LATIN CAPITAL LETTER V;So;0;L;<compat> 0028 0056 0029;;;;N;;;;; +<M_> {(.V)} : "🄥" U1F125 # PARENTHESIZED LATIN CAPITAL LETTER V +#- 1F126;PARENTHESIZED LATIN CAPITAL LETTER W;So;0;L;<compat> 0028 0057 0029;;;;N;;;;; +<M_> {(.W)} : "🄦" U1F126 # PARENTHESIZED LATIN CAPITAL LETTER W +#- 1F127;PARENTHESIZED LATIN CAPITAL LETTER X;So;0;L;<compat> 0028 0058 0029;;;;N;;;;; +<M_> {(.X)} : "🄧" U1F127 # PARENTHESIZED LATIN CAPITAL LETTER X +#- 1F128;PARENTHESIZED LATIN CAPITAL LETTER Y;So;0;L;<compat> 0028 0059 0029;;;;N;;;;; +<M_> {(.Y)} : "🄨" U1F128 # PARENTHESIZED LATIN CAPITAL LETTER Y +#- 1F129;PARENTHESIZED LATIN CAPITAL LETTER Z;So;0;L;<compat> 0028 005A 0029;;;;N;;;;; +<M_> {(.Z)} : "🄩" U1F129 # PARENTHESIZED LATIN CAPITAL LETTER Z +#- 2488;DIGIT ONE FULL STOP;No;0;EN;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; +<M_> {.1.} : "⒈" U2488 # DIGIT ONE FULL STOP +#- 2489;DIGIT TWO FULL STOP;No;0;EN;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; +<M_> {.2.} : "⒉" U2489 # DIGIT TWO FULL STOP +#- 248A;DIGIT THREE FULL STOP;No;0;EN;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; +<M_> {.3.} : "⒊" U248A # DIGIT THREE FULL STOP +#- 248B;DIGIT FOUR FULL STOP;No;0;EN;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; +<M_> {.4.} : "⒋" U248B # DIGIT FOUR FULL STOP +#- 248C;DIGIT FIVE FULL STOP;No;0;EN;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; +<M_> {.5.} : "⒌" U248C # DIGIT FIVE FULL STOP +#- 248D;DIGIT SIX FULL STOP;No;0;EN;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; +<M_> {.6.} : "⒍" U248D # DIGIT SIX FULL STOP +#- 248E;DIGIT SEVEN FULL STOP;No;0;EN;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; +<M_> {.7.} : "⒎" U248E # DIGIT SEVEN FULL STOP +#- 248F;DIGIT EIGHT FULL STOP;No;0;EN;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; +<M_> {.8.} : "⒏" U248F # DIGIT EIGHT FULL STOP +#- 2490;DIGIT NINE FULL STOP;No;0;EN;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; +<M_> {.9.} : "⒐" U2490 # DIGIT NINE FULL STOP +#- 2491;NUMBER TEN FULL STOP;No;0;EN;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; +<M_> {.10.} : "⒑" U2491 # NUMBER TEN FULL STOP +#- 2492;NUMBER ELEVEN FULL STOP;No;0;EN;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; +<M_> {.11.} : "⒒" U2492 # NUMBER ELEVEN FULL STOP +#- 2493;NUMBER TWELVE FULL STOP;No;0;EN;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; +<M_> {.12.} : "⒓" U2493 # NUMBER TWELVE FULL STOP +#- 2494;NUMBER THIRTEEN FULL STOP;No;0;EN;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; +<M_> {.13.} : "⒔" U2494 # NUMBER THIRTEEN FULL STOP +#- 2495;NUMBER FOURTEEN FULL STOP;No;0;EN;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; +<M_> {.14.} : "⒕" U2495 # NUMBER FOURTEEN FULL STOP +#- 2496;NUMBER FIFTEEN FULL STOP;No;0;EN;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; +<M_> {.15.} : "⒖" U2496 # NUMBER FIFTEEN FULL STOP +#- 2497;NUMBER SIXTEEN FULL STOP;No;0;EN;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; +<M_> {.16.} : "⒗" U2497 # NUMBER SIXTEEN FULL STOP +#- 2498;NUMBER SEVENTEEN FULL STOP;No;0;EN;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; +<M_> {.17.} : "⒘" U2498 # NUMBER SEVENTEEN FULL STOP +#- 2499;NUMBER EIGHTEEN FULL STOP;No;0;EN;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; +<M_> {.18.} : "⒙" U2499 # NUMBER EIGHTEEN FULL STOP +#- 249A;NUMBER NINETEEN FULL STOP;No;0;EN;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; +<M_> {.19.} : "⒚" U249A # NUMBER NINETEEN FULL STOP +#- 249B;NUMBER TWENTY FULL STOP;No;0;EN;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; +<M_> {.20.} : "⒛" U249B # NUMBER TWENTY FULL STOP +#- 1F100;DIGIT ZERO FULL STOP;No;0;EN;<compat> 0030 002E;;0;0;N;;;;; +<M_> {.0.} : "🄀" U1F100 # DIGIT ZERO FULL STOP +#- 24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;; +<M_> {(B11)} : "⓫" U24EB # NEGATIVE CIRCLED NUMBER ELEVEN +#- 24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;; +<M_> {(B12)} : "⓬" U24EC # NEGATIVE CIRCLED NUMBER TWELVE +#- 24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;; +<M_> {(B13)} : "⓭" U24ED # NEGATIVE CIRCLED NUMBER THIRTEEN +#- 24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;; +<M_> {(B14)} : "⓮" U24EE # NEGATIVE CIRCLED NUMBER FOURTEEN +#- 24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;; +<M_> {(B15)} : "⓯" U24EF # NEGATIVE CIRCLED NUMBER FIFTEEN +#- 24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;; +<M_> {(B16)} : "⓰" U24F0 # NEGATIVE CIRCLED NUMBER SIXTEEN +#- 24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;; +<M_> {(B17)} : "⓱" U24F1 # NEGATIVE CIRCLED NUMBER SEVENTEEN +#- 24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;; +<M_> {(B18)} : "⓲" U24F2 # NEGATIVE CIRCLED NUMBER EIGHTEEN +#- 24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;; +<M_> {(B19)} : "⓳" U24F3 # NEGATIVE CIRCLED NUMBER NINETEEN +#- 24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;; +<M_> {(B20)} : "⓴" U24F4 # NEGATIVE CIRCLED NUMBER TWENTY +#- 24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;; +<M_> {(B0)} : "⓿" U24FF # NEGATIVE CIRCLED DIGIT ZERO +#- 2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; +<M_> {(B1)} : "❶" U2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE +#- 2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; +<M_> {(B2)} : "❷" U2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO +#- 2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; +<M_> {(B3)} : "❸" U2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE +#- 2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; +<M_> {(B4)} : "❹" U2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR +#- 277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; +<M_> {(B5)} : "❺" U277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE +#- 277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; +<M_> {(B6)} : "❻" U277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX +#- 277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; +<M_> {(B7)} : "❼" U277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN +#- 277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; +<M_> {(B8)} : "❽" U277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT +#- 277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; +<M_> {(B9)} : "❾" U277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE +#- 277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; +<M_> {(B10)} : "❿" U277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN +#- 1F150;NEGATIVE CIRCLED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; +<M_> {(BA)} : "🅐" U1F150 # NEGATIVE CIRCLED LATIN CAPITAL LETTER A +#- 1F151;NEGATIVE CIRCLED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; +<M_> {(BB)} : "🅑" U1F151 # NEGATIVE CIRCLED LATIN CAPITAL LETTER B +#- 1F152;NEGATIVE CIRCLED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; +<M_> {(BC)} : "🅒" U1F152 # NEGATIVE CIRCLED LATIN CAPITAL LETTER C +#- 1F153;NEGATIVE CIRCLED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; +<M_> {(BD)} : "🅓" U1F153 # NEGATIVE CIRCLED LATIN CAPITAL LETTER D +#- 1F154;NEGATIVE CIRCLED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; +<M_> {(BE)} : "🅔" U1F154 # NEGATIVE CIRCLED LATIN CAPITAL LETTER E +#- 1F155;NEGATIVE CIRCLED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; +<M_> {(BF)} : "🅕" U1F155 # NEGATIVE CIRCLED LATIN CAPITAL LETTER F +#- 1F156;NEGATIVE CIRCLED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; +<M_> {(BG)} : "🅖" U1F156 # NEGATIVE CIRCLED LATIN CAPITAL LETTER G +#- 1F157;NEGATIVE CIRCLED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; +<M_> {(BH)} : "🅗" U1F157 # NEGATIVE CIRCLED LATIN CAPITAL LETTER H +#- 1F158;NEGATIVE CIRCLED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; +<M_> {(BI)} : "🅘" U1F158 # NEGATIVE CIRCLED LATIN CAPITAL LETTER I +#- 1F159;NEGATIVE CIRCLED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; +<M_> {(BJ)} : "🅙" U1F159 # NEGATIVE CIRCLED LATIN CAPITAL LETTER J +#- 1F15A;NEGATIVE CIRCLED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; +<M_> {(BK)} : "🅚" U1F15A # NEGATIVE CIRCLED LATIN CAPITAL LETTER K +#- 1F15B;NEGATIVE CIRCLED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; +<M_> {(BL)} : "🅛" U1F15B # NEGATIVE CIRCLED LATIN CAPITAL LETTER L +#- 1F15C;NEGATIVE CIRCLED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; +<M_> {(BM)} : "🅜" U1F15C # NEGATIVE CIRCLED LATIN CAPITAL LETTER M +#- 1F15D;NEGATIVE CIRCLED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; +<M_> {(BN)} : "🅝" U1F15D # NEGATIVE CIRCLED LATIN CAPITAL LETTER N +#- 1F15E;NEGATIVE CIRCLED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; +<M_> {(BO)} : "🅞" U1F15E # NEGATIVE CIRCLED LATIN CAPITAL LETTER O +#- 1F15F;NEGATIVE CIRCLED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +<M_> {(BP)} : "🅟" U1F15F # NEGATIVE CIRCLED LATIN CAPITAL LETTER P +#- 1F160;NEGATIVE CIRCLED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; +<M_> {(BQ)} : "🅠" U1F160 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q +#- 1F161;NEGATIVE CIRCLED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; +<M_> {(BR)} : "🅡" U1F161 # NEGATIVE CIRCLED LATIN CAPITAL LETTER R +#- 1F162;NEGATIVE CIRCLED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; +<M_> {(BS)} : "🅢" U1F162 # NEGATIVE CIRCLED LATIN CAPITAL LETTER S +#- 1F163;NEGATIVE CIRCLED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; +<M_> {(BT)} : "🅣" U1F163 # NEGATIVE CIRCLED LATIN CAPITAL LETTER T +#- 1F164;NEGATIVE CIRCLED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; +<M_> {(BU)} : "🅤" U1F164 # NEGATIVE CIRCLED LATIN CAPITAL LETTER U +#- 1F165;NEGATIVE CIRCLED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; +<M_> {(BV)} : "🅥" U1F165 # NEGATIVE CIRCLED LATIN CAPITAL LETTER V +#- 1F166;NEGATIVE CIRCLED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; +<M_> {(BW)} : "🅦" U1F166 # NEGATIVE CIRCLED LATIN CAPITAL LETTER W +#- 1F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; +<M_> {(BX)} : "🅧" U1F167 # NEGATIVE CIRCLED LATIN CAPITAL LETTER X +#- 1F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; +<M_> {(BY)} : "🅨" U1F168 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y +#- 1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; +<M_> {(BZ)} : "🅩" U1F169 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z +#- 1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; +<M_> {[Ba]} : "🅰" U1F170 # NEGATIVE SQUARED LATIN CAPITAL LETTER A +#- 1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; +<M_> {[Bb]} : "🅱" U1F171 # NEGATIVE SQUARED LATIN CAPITAL LETTER B +#- 1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; +<M_> {[Bc]} : "🅲" U1F172 # NEGATIVE SQUARED LATIN CAPITAL LETTER C +#- 1F173;NEGATIVE SQUARED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; +<M_> {[Bd]} : "🅳" U1F173 # NEGATIVE SQUARED LATIN CAPITAL LETTER D +#- 1F174;NEGATIVE SQUARED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; +<M_> {[Be]} : "🅴" U1F174 # NEGATIVE SQUARED LATIN CAPITAL LETTER E +#- 1F175;NEGATIVE SQUARED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; +<M_> {[Bf]} : "🅵" U1F175 # NEGATIVE SQUARED LATIN CAPITAL LETTER F +#- 1F176;NEGATIVE SQUARED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; +<M_> {[Bg]} : "🅶" U1F176 # NEGATIVE SQUARED LATIN CAPITAL LETTER G +#- 1F177;NEGATIVE SQUARED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; +<M_> {[Bh]} : "🅷" U1F177 # NEGATIVE SQUARED LATIN CAPITAL LETTER H +#- 1F178;NEGATIVE SQUARED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; +<M_> {[Bi]} : "🅸" U1F178 # NEGATIVE SQUARED LATIN CAPITAL LETTER I +#- 1F179;NEGATIVE SQUARED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; +<M_> {[Bj]} : "🅹" U1F179 # NEGATIVE SQUARED LATIN CAPITAL LETTER J +#- 1F17A;NEGATIVE SQUARED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; +<M_> {[Bk]} : "🅺" U1F17A # NEGATIVE SQUARED LATIN CAPITAL LETTER K +#- 1F17B;NEGATIVE SQUARED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; +<M_> {[Bl]} : "🅻" U1F17B # NEGATIVE SQUARED LATIN CAPITAL LETTER L +#- 1F17C;NEGATIVE SQUARED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; +<M_> {[Bm]} : "🅼" U1F17C # NEGATIVE SQUARED LATIN CAPITAL LETTER M +#- 1F17D;NEGATIVE SQUARED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; +<M_> {[Bn]} : "🅽" U1F17D # NEGATIVE SQUARED LATIN CAPITAL LETTER N +#- 1F17E;NEGATIVE SQUARED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; +<M_> {[Bo]} : "🅾" U1F17E # NEGATIVE SQUARED LATIN CAPITAL LETTER O +#- 1F17F;NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +<M_> {[Bp]} : "🅿" U1F17F # NEGATIVE SQUARED LATIN CAPITAL LETTER P +#- 1F180;NEGATIVE SQUARED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; +<M_> {[Bq]} : "🆀" U1F180 # NEGATIVE SQUARED LATIN CAPITAL LETTER Q +#- 1F181;NEGATIVE SQUARED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; +<M_> {[Br]} : "🆁" U1F181 # NEGATIVE SQUARED LATIN CAPITAL LETTER R +#- 1F182;NEGATIVE SQUARED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; +<M_> {[Bs]} : "🆂" U1F182 # NEGATIVE SQUARED LATIN CAPITAL LETTER S +#- 1F183;NEGATIVE SQUARED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; +<M_> {[Bt]} : "🆃" U1F183 # NEGATIVE SQUARED LATIN CAPITAL LETTER T +#- 1F184;NEGATIVE SQUARED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; +<M_> {[Bu]} : "🆄" U1F184 # NEGATIVE SQUARED LATIN CAPITAL LETTER U +#- 1F185;NEGATIVE SQUARED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; +<M_> {[Bv]} : "🆅" U1F185 # NEGATIVE SQUARED LATIN CAPITAL LETTER V +#- 1F186;NEGATIVE SQUARED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; +<M_> {[Bw]} : "🆆" U1F186 # NEGATIVE SQUARED LATIN CAPITAL LETTER W +#- 1F187;NEGATIVE SQUARED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; +<M_> {[Bx]} : "🆇" U1F187 # NEGATIVE SQUARED LATIN CAPITAL LETTER X +#- 1F188;NEGATIVE SQUARED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; +<M_> {[By]} : "🆈" U1F188 # NEGATIVE SQUARED LATIN CAPITAL LETTER Y +#- 1F189;NEGATIVE SQUARED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; +<M_> {[Bz]} : "🆉" U1F189 # NEGATIVE SQUARED LATIN CAPITAL LETTER Z +#- 1F18A;CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +#- 1F18F;NEGATIVE SQUARED WC;So;0;L;;;;;N;;;;; +<M_> {[BWC]} : "🆏" U1F18F # NEGATIVE SQUARED WC +### Using <parenleft> <parenleft> ... <parenright> <parenright> conflicts +### with system entries. Using the *letter* O. +#- 24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;; +<M_> {(O1)} : "⓵" U24F5 # DOUBLE CIRCLED DIGIT ONE +#- 24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;; +<M_> {(O2)} : "⓶" U24F6 # DOUBLE CIRCLED DIGIT TWO +#- 24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;; +<M_> {(O3)} : "⓷" U24F7 # DOUBLE CIRCLED DIGIT THREE +#- 24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;; +<M_> {(O4)} : "⓸" U24F8 # DOUBLE CIRCLED DIGIT FOUR +#- 24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;; +<M_> {(O5)} : "⓹" U24F9 # DOUBLE CIRCLED DIGIT FIVE +#- 24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;; +<M_> {(O6)} : "⓺" U24FA # DOUBLE CIRCLED DIGIT SIX +#- 24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;; +<M_> {(O7)} : "⓻" U24FB # DOUBLE CIRCLED DIGIT SEVEN +#- 24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;; +<M_> {(O8)} : "⓼" U24FC # DOUBLE CIRCLED DIGIT EIGHT +#- 24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;; +<M_> {(O9)} : "⓽" U24FD # DOUBLE CIRCLED DIGIT NINE +#- 24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;; +<M_> {(O10)} : "⓾" U24FE # DOUBLE CIRCLED NUMBER TEN diff --git a/parens.compose b/parens.compose index 05f7c17..9291fc3 100644 --- a/parens.compose +++ b/parens.compose @@ -1,179 +1,357 @@ +#- 2474;PARENTHESIZED DIGIT ONE;No;0;ON;<compat> 0028 0031 0029;;1;1;N;;;;; <Multi_key> <parenleft> <period> <1> <parenright> : "⑴" U2474 # PARENTHESIZED DIGIT ONE +#- 2475;PARENTHESIZED DIGIT TWO;No;0;ON;<compat> 0028 0032 0029;;2;2;N;;;;; <Multi_key> <parenleft> <period> <2> <parenright> : "⑵" U2475 # PARENTHESIZED DIGIT TWO +#- 2476;PARENTHESIZED DIGIT THREE;No;0;ON;<compat> 0028 0033 0029;;3;3;N;;;;; <Multi_key> <parenleft> <period> <3> <parenright> : "⑶" U2476 # PARENTHESIZED DIGIT THREE +#- 2477;PARENTHESIZED DIGIT FOUR;No;0;ON;<compat> 0028 0034 0029;;4;4;N;;;;; <Multi_key> <parenleft> <period> <4> <parenright> : "⑷" U2477 # PARENTHESIZED DIGIT FOUR +#- 2478;PARENTHESIZED DIGIT FIVE;No;0;ON;<compat> 0028 0035 0029;;5;5;N;;;;; <Multi_key> <parenleft> <period> <5> <parenright> : "⑸" U2478 # PARENTHESIZED DIGIT FIVE +#- 2479;PARENTHESIZED DIGIT SIX;No;0;ON;<compat> 0028 0036 0029;;6;6;N;;;;; <Multi_key> <parenleft> <period> <6> <parenright> : "⑹" U2479 # PARENTHESIZED DIGIT SIX +#- 247A;PARENTHESIZED DIGIT SEVEN;No;0;ON;<compat> 0028 0037 0029;;7;7;N;;;;; <Multi_key> <parenleft> <period> <7> <parenright> : "⑺" U247A # PARENTHESIZED DIGIT SEVEN +#- 247B;PARENTHESIZED DIGIT EIGHT;No;0;ON;<compat> 0028 0038 0029;;8;8;N;;;;; <Multi_key> <parenleft> <period> <8> <parenright> : "⑻" U247B # PARENTHESIZED DIGIT EIGHT +#- 247C;PARENTHESIZED DIGIT NINE;No;0;ON;<compat> 0028 0039 0029;;9;9;N;;;;; <Multi_key> <parenleft> <period> <9> <parenright> : "⑼" U247C # PARENTHESIZED DIGIT NINE +#- 247D;PARENTHESIZED NUMBER TEN;No;0;ON;<compat> 0028 0031 0030 0029;;;10;N;;;;; <Multi_key> <parenleft> <period> <1> <0> <parenright> : "⑽" U247D # PARENTHESIZED NUMBER TEN +#- 247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON;<compat> 0028 0031 0031 0029;;;11;N;;;;; <Multi_key> <parenleft> <period> <1> <1> <parenright> : "⑾" U247E # PARENTHESIZED NUMBER ELEVEN +#- 247F;PARENTHESIZED NUMBER TWELVE;No;0;ON;<compat> 0028 0031 0032 0029;;;12;N;;;;; <Multi_key> <parenleft> <period> <1> <2> <parenright> : "⑿" U247F # PARENTHESIZED NUMBER TWELVE +#- 2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON;<compat> 0028 0031 0033 0029;;;13;N;;;;; <Multi_key> <parenleft> <period> <1> <3> <parenright> : "⒀" U2480 # PARENTHESIZED NUMBER THIRTEEN +#- 2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON;<compat> 0028 0031 0034 0029;;;14;N;;;;; <Multi_key> <parenleft> <period> <1> <4> <parenright> : "⒁" U2481 # PARENTHESIZED NUMBER FOURTEEN +#- 2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON;<compat> 0028 0031 0035 0029;;;15;N;;;;; <Multi_key> <parenleft> <period> <1> <5> <parenright> : "⒂" U2482 # PARENTHESIZED NUMBER FIFTEEN +#- 2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON;<compat> 0028 0031 0036 0029;;;16;N;;;;; <Multi_key> <parenleft> <period> <1> <6> <parenright> : "⒃" U2483 # PARENTHESIZED NUMBER SIXTEEN +#- 2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON;<compat> 0028 0031 0037 0029;;;17;N;;;;; <Multi_key> <parenleft> <period> <1> <7> <parenright> : "⒄" U2484 # PARENTHESIZED NUMBER SEVENTEEN +#- 2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON;<compat> 0028 0031 0038 0029;;;18;N;;;;; <Multi_key> <parenleft> <period> <1> <8> <parenright> : "⒅" U2485 # PARENTHESIZED NUMBER EIGHTEEN +#- 2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON;<compat> 0028 0031 0039 0029;;;19;N;;;;; <Multi_key> <parenleft> <period> <1> <9> <parenright> : "⒆" U2486 # PARENTHESIZED NUMBER NINETEEN +#- 2487;PARENTHESIZED NUMBER TWENTY;No;0;ON;<compat> 0028 0032 0030 0029;;;20;N;;;;; <Multi_key> <parenleft> <period> <2> <0> <parenright> : "⒇" U2487 # PARENTHESIZED NUMBER TWENTY +#- 249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L;<compat> 0028 0061 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <a> <parenright> : "⒜" U249C # PARENTHESIZED LATIN SMALL LETTER A +#- 249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L;<compat> 0028 0062 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <b> <parenright> : "⒝" U249D # PARENTHESIZED LATIN SMALL LETTER B +#- 249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L;<compat> 0028 0063 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <c> <parenright> : "⒞" U249E # PARENTHESIZED LATIN SMALL LETTER C +#- 249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L;<compat> 0028 0064 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <d> <parenright> : "⒟" U249F # PARENTHESIZED LATIN SMALL LETTER D +#- 24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L;<compat> 0028 0065 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <e> <parenright> : "⒠" U24A0 # PARENTHESIZED LATIN SMALL LETTER E +#- 24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L;<compat> 0028 0066 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <f> <parenright> : "⒡" U24A1 # PARENTHESIZED LATIN SMALL LETTER F +#- 24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L;<compat> 0028 0067 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <g> <parenright> : "⒢" U24A2 # PARENTHESIZED LATIN SMALL LETTER G +#- 24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L;<compat> 0028 0068 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <h> <parenright> : "⒣" U24A3 # PARENTHESIZED LATIN SMALL LETTER H +#- 24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L;<compat> 0028 0069 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <i> <parenright> : "⒤" U24A4 # PARENTHESIZED LATIN SMALL LETTER I +#- 24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L;<compat> 0028 006A 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <j> <parenright> : "⒥" U24A5 # PARENTHESIZED LATIN SMALL LETTER J +#- 24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L;<compat> 0028 006B 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <k> <parenright> : "⒦" U24A6 # PARENTHESIZED LATIN SMALL LETTER K +#- 24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L;<compat> 0028 006C 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <l> <parenright> : "⒧" U24A7 # PARENTHESIZED LATIN SMALL LETTER L +#- 24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L;<compat> 0028 006D 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <m> <parenright> : "⒨" U24A8 # PARENTHESIZED LATIN SMALL LETTER M +#- 24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L;<compat> 0028 006E 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <n> <parenright> : "⒩" U24A9 # PARENTHESIZED LATIN SMALL LETTER N +#- 24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L;<compat> 0028 006F 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <o> <parenright> : "⒪" U24AA # PARENTHESIZED LATIN SMALL LETTER O +#- 24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L;<compat> 0028 0070 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <p> <parenright> : "⒫" U24AB # PARENTHESIZED LATIN SMALL LETTER P +#- 24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L;<compat> 0028 0071 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <q> <parenright> : "⒬" U24AC # PARENTHESIZED LATIN SMALL LETTER Q +#- 24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L;<compat> 0028 0072 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <r> <parenright> : "⒭" U24AD # PARENTHESIZED LATIN SMALL LETTER R +#- 24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L;<compat> 0028 0073 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <s> <parenright> : "⒮" U24AE # PARENTHESIZED LATIN SMALL LETTER S +#- 24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L;<compat> 0028 0074 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <t> <parenright> : "⒯" U24AF # PARENTHESIZED LATIN SMALL LETTER T +#- 24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L;<compat> 0028 0075 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <u> <parenright> : "⒰" U24B0 # PARENTHESIZED LATIN SMALL LETTER U +#- 24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L;<compat> 0028 0076 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <v> <parenright> : "⒱" U24B1 # PARENTHESIZED LATIN SMALL LETTER V +#- 24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L;<compat> 0028 0077 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <w> <parenright> : "⒲" U24B2 # PARENTHESIZED LATIN SMALL LETTER W +#- 24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L;<compat> 0028 0078 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <x> <parenright> : "⒳" U24B3 # PARENTHESIZED LATIN SMALL LETTER X +#- 24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L;<compat> 0028 0079 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <y> <parenright> : "⒴" U24B4 # PARENTHESIZED LATIN SMALL LETTER Y +#- 24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L;<compat> 0028 007A 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <z> <parenright> : "⒵" U24B5 # PARENTHESIZED LATIN SMALL LETTER Z +#- 1F110;PARENTHESIZED LATIN CAPITAL LETTER A;So;0;L;<compat> 0028 0041 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <A> <parenright> : "🄐" U1F110 # PARENTHESIZED LATIN CAPITAL LETTER A +#- 1F111;PARENTHESIZED LATIN CAPITAL LETTER B;So;0;L;<compat> 0028 0042 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <B> <parenright> : "🄑" U1F111 # PARENTHESIZED LATIN CAPITAL LETTER B +#- 1F112;PARENTHESIZED LATIN CAPITAL LETTER C;So;0;L;<compat> 0028 0043 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <C> <parenright> : "🄒" U1F112 # PARENTHESIZED LATIN CAPITAL LETTER C +#- 1F113;PARENTHESIZED LATIN CAPITAL LETTER D;So;0;L;<compat> 0028 0044 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <D> <parenright> : "🄓" U1F113 # PARENTHESIZED LATIN CAPITAL LETTER D +#- 1F114;PARENTHESIZED LATIN CAPITAL LETTER E;So;0;L;<compat> 0028 0045 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <E> <parenright> : "🄔" U1F114 # PARENTHESIZED LATIN CAPITAL LETTER E +#- 1F115;PARENTHESIZED LATIN CAPITAL LETTER F;So;0;L;<compat> 0028 0046 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <F> <parenright> : "🄕" U1F115 # PARENTHESIZED LATIN CAPITAL LETTER F +#- 1F116;PARENTHESIZED LATIN CAPITAL LETTER G;So;0;L;<compat> 0028 0047 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <G> <parenright> : "🄖" U1F116 # PARENTHESIZED LATIN CAPITAL LETTER G +#- 1F117;PARENTHESIZED LATIN CAPITAL LETTER H;So;0;L;<compat> 0028 0048 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <H> <parenright> : "🄗" U1F117 # PARENTHESIZED LATIN CAPITAL LETTER H +#- 1F118;PARENTHESIZED LATIN CAPITAL LETTER I;So;0;L;<compat> 0028 0049 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <I> <parenright> : "🄘" U1F118 # PARENTHESIZED LATIN CAPITAL LETTER I +#- 1F119;PARENTHESIZED LATIN CAPITAL LETTER J;So;0;L;<compat> 0028 004A 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <J> <parenright> : "🄙" U1F119 # PARENTHESIZED LATIN CAPITAL LETTER J +#- 1F11A;PARENTHESIZED LATIN CAPITAL LETTER K;So;0;L;<compat> 0028 004B 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <K> <parenright> : "🄚" U1F11A # PARENTHESIZED LATIN CAPITAL LETTER K +#- 1F11B;PARENTHESIZED LATIN CAPITAL LETTER L;So;0;L;<compat> 0028 004C 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <L> <parenright> : "🄛" U1F11B # PARENTHESIZED LATIN CAPITAL LETTER L +#- 1F11C;PARENTHESIZED LATIN CAPITAL LETTER M;So;0;L;<compat> 0028 004D 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <M> <parenright> : "🄜" U1F11C # PARENTHESIZED LATIN CAPITAL LETTER M +#- 1F11D;PARENTHESIZED LATIN CAPITAL LETTER N;So;0;L;<compat> 0028 004E 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <N> <parenright> : "🄝" U1F11D # PARENTHESIZED LATIN CAPITAL LETTER N +#- 1F11E;PARENTHESIZED LATIN CAPITAL LETTER O;So;0;L;<compat> 0028 004F 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <O> <parenright> : "🄞" U1F11E # PARENTHESIZED LATIN CAPITAL LETTER O +#- 1F11F;PARENTHESIZED LATIN CAPITAL LETTER P;So;0;L;<compat> 0028 0050 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <P> <parenright> : "🄟" U1F11F # PARENTHESIZED LATIN CAPITAL LETTER P +#- 1F120;PARENTHESIZED LATIN CAPITAL LETTER Q;So;0;L;<compat> 0028 0051 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <Q> <parenright> : "🄠" U1F120 # PARENTHESIZED LATIN CAPITAL LETTER Q +#- 1F121;PARENTHESIZED LATIN CAPITAL LETTER R;So;0;L;<compat> 0028 0052 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <R> <parenright> : "🄡" U1F121 # PARENTHESIZED LATIN CAPITAL LETTER R +#- 1F122;PARENTHESIZED LATIN CAPITAL LETTER S;So;0;L;<compat> 0028 0053 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <S> <parenright> : "🄢" U1F122 # PARENTHESIZED LATIN CAPITAL LETTER S +#- 1F123;PARENTHESIZED LATIN CAPITAL LETTER T;So;0;L;<compat> 0028 0054 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <T> <parenright> : "🄣" U1F123 # PARENTHESIZED LATIN CAPITAL LETTER T +#- 1F124;PARENTHESIZED LATIN CAPITAL LETTER U;So;0;L;<compat> 0028 0055 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <U> <parenright> : "🄤" U1F124 # PARENTHESIZED LATIN CAPITAL LETTER U +#- 1F125;PARENTHESIZED LATIN CAPITAL LETTER V;So;0;L;<compat> 0028 0056 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <V> <parenright> : "🄥" U1F125 # PARENTHESIZED LATIN CAPITAL LETTER V +#- 1F126;PARENTHESIZED LATIN CAPITAL LETTER W;So;0;L;<compat> 0028 0057 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <W> <parenright> : "🄦" U1F126 # PARENTHESIZED LATIN CAPITAL LETTER W +#- 1F127;PARENTHESIZED LATIN CAPITAL LETTER X;So;0;L;<compat> 0028 0058 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <X> <parenright> : "🄧" U1F127 # PARENTHESIZED LATIN CAPITAL LETTER X +#- 1F128;PARENTHESIZED LATIN CAPITAL LETTER Y;So;0;L;<compat> 0028 0059 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <Y> <parenright> : "🄨" U1F128 # PARENTHESIZED LATIN CAPITAL LETTER Y +#- 1F129;PARENTHESIZED LATIN CAPITAL LETTER Z;So;0;L;<compat> 0028 005A 0029;;;;N;;;;; <Multi_key> <parenleft> <period> <Z> <parenright> : "🄩" U1F129 # PARENTHESIZED LATIN CAPITAL LETTER Z +#- 2488;DIGIT ONE FULL STOP;No;0;EN;<compat> 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; <Multi_key> <period> <1> <period> : "⒈" U2488 # DIGIT ONE FULL STOP +#- 2489;DIGIT TWO FULL STOP;No;0;EN;<compat> 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; <Multi_key> <period> <2> <period> : "⒉" U2489 # DIGIT TWO FULL STOP +#- 248A;DIGIT THREE FULL STOP;No;0;EN;<compat> 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; <Multi_key> <period> <3> <period> : "⒊" U248A # DIGIT THREE FULL STOP +#- 248B;DIGIT FOUR FULL STOP;No;0;EN;<compat> 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; <Multi_key> <period> <4> <period> : "⒋" U248B # DIGIT FOUR FULL STOP +#- 248C;DIGIT FIVE FULL STOP;No;0;EN;<compat> 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; <Multi_key> <period> <5> <period> : "⒌" U248C # DIGIT FIVE FULL STOP +#- 248D;DIGIT SIX FULL STOP;No;0;EN;<compat> 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; <Multi_key> <period> <6> <period> : "⒍" U248D # DIGIT SIX FULL STOP +#- 248E;DIGIT SEVEN FULL STOP;No;0;EN;<compat> 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; <Multi_key> <period> <7> <period> : "⒎" U248E # DIGIT SEVEN FULL STOP +#- 248F;DIGIT EIGHT FULL STOP;No;0;EN;<compat> 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; <Multi_key> <period> <8> <period> : "⒏" U248F # DIGIT EIGHT FULL STOP +#- 2490;DIGIT NINE FULL STOP;No;0;EN;<compat> 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; <Multi_key> <period> <9> <period> : "⒐" U2490 # DIGIT NINE FULL STOP +#- 2491;NUMBER TEN FULL STOP;No;0;EN;<compat> 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; <Multi_key> <period> <1> <0> <period> : "⒑" U2491 # NUMBER TEN FULL STOP +#- 2492;NUMBER ELEVEN FULL STOP;No;0;EN;<compat> 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; <Multi_key> <period> <1> <1> <period> : "⒒" U2492 # NUMBER ELEVEN FULL STOP +#- 2493;NUMBER TWELVE FULL STOP;No;0;EN;<compat> 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; <Multi_key> <period> <1> <2> <period> : "⒓" U2493 # NUMBER TWELVE FULL STOP +#- 2494;NUMBER THIRTEEN FULL STOP;No;0;EN;<compat> 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; <Multi_key> <period> <1> <3> <period> : "⒔" U2494 # NUMBER THIRTEEN FULL STOP +#- 2495;NUMBER FOURTEEN FULL STOP;No;0;EN;<compat> 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; <Multi_key> <period> <1> <4> <period> : "⒕" U2495 # NUMBER FOURTEEN FULL STOP +#- 2496;NUMBER FIFTEEN FULL STOP;No;0;EN;<compat> 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; <Multi_key> <period> <1> <5> <period> : "⒖" U2496 # NUMBER FIFTEEN FULL STOP +#- 2497;NUMBER SIXTEEN FULL STOP;No;0;EN;<compat> 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; <Multi_key> <period> <1> <6> <period> : "⒗" U2497 # NUMBER SIXTEEN FULL STOP +#- 2498;NUMBER SEVENTEEN FULL STOP;No;0;EN;<compat> 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; <Multi_key> <period> <1> <7> <period> : "⒘" U2498 # NUMBER SEVENTEEN FULL STOP +#- 2499;NUMBER EIGHTEEN FULL STOP;No;0;EN;<compat> 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; <Multi_key> <period> <1> <8> <period> : "⒙" U2499 # NUMBER EIGHTEEN FULL STOP +#- 249A;NUMBER NINETEEN FULL STOP;No;0;EN;<compat> 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; <Multi_key> <period> <1> <9> <period> : "⒚" U249A # NUMBER NINETEEN FULL STOP +#- 249B;NUMBER TWENTY FULL STOP;No;0;EN;<compat> 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; <Multi_key> <period> <2> <0> <period> : "⒛" U249B # NUMBER TWENTY FULL STOP +#- 1F100;DIGIT ZERO FULL STOP;No;0;EN;<compat> 0030 002E;;0;0;N;;;;; <Multi_key> <period> <0> <period> : "🄀" U1F100 # DIGIT ZERO FULL STOP +#- 24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;; <Multi_key> <parenleft> <B> <1> <1> <parenright> : "⓫" U24EB # NEGATIVE CIRCLED NUMBER ELEVEN +#- 24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;; <Multi_key> <parenleft> <B> <1> <2> <parenright> : "⓬" U24EC # NEGATIVE CIRCLED NUMBER TWELVE +#- 24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;; <Multi_key> <parenleft> <B> <1> <3> <parenright> : "⓭" U24ED # NEGATIVE CIRCLED NUMBER THIRTEEN +#- 24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;; <Multi_key> <parenleft> <B> <1> <4> <parenright> : "⓮" U24EE # NEGATIVE CIRCLED NUMBER FOURTEEN +#- 24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;; <Multi_key> <parenleft> <B> <1> <5> <parenright> : "⓯" U24EF # NEGATIVE CIRCLED NUMBER FIFTEEN +#- 24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;; <Multi_key> <parenleft> <B> <1> <6> <parenright> : "⓰" U24F0 # NEGATIVE CIRCLED NUMBER SIXTEEN +#- 24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;; <Multi_key> <parenleft> <B> <1> <7> <parenright> : "⓱" U24F1 # NEGATIVE CIRCLED NUMBER SEVENTEEN +#- 24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;; <Multi_key> <parenleft> <B> <1> <8> <parenright> : "⓲" U24F2 # NEGATIVE CIRCLED NUMBER EIGHTEEN +#- 24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;; <Multi_key> <parenleft> <B> <1> <9> <parenright> : "⓳" U24F3 # NEGATIVE CIRCLED NUMBER NINETEEN +#- 24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;; <Multi_key> <parenleft> <B> <2> <0> <parenright> : "⓴" U24F4 # NEGATIVE CIRCLED NUMBER TWENTY +#- 24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;; <Multi_key> <parenleft> <B> <0> <parenright> : "⓿" U24FF # NEGATIVE CIRCLED DIGIT ZERO +#- 2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; <Multi_key> <parenleft> <B> <1> <parenright> : "❶" U2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE +#- 2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; <Multi_key> <parenleft> <B> <2> <parenright> : "❷" U2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO +#- 2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; <Multi_key> <parenleft> <B> <3> <parenright> : "❸" U2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE +#- 2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; <Multi_key> <parenleft> <B> <4> <parenright> : "❹" U2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR +#- 277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; <Multi_key> <parenleft> <B> <5> <parenright> : "❺" U277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE +#- 277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; <Multi_key> <parenleft> <B> <6> <parenright> : "❻" U277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX +#- 277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; <Multi_key> <parenleft> <B> <7> <parenright> : "❼" U277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN +#- 277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; <Multi_key> <parenleft> <B> <8> <parenright> : "❽" U277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT +#- 277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; <Multi_key> <parenleft> <B> <9> <parenright> : "❾" U277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE +#- 277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; <Multi_key> <parenleft> <B> <1> <0> <parenright> : "❿" U277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN +#- 1F150;NEGATIVE CIRCLED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <A> <parenright> : "🅐" U1F150 # NEGATIVE CIRCLED LATIN CAPITAL LETTER A +#- 1F151;NEGATIVE CIRCLED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <B> <parenright> : "🅑" U1F151 # NEGATIVE CIRCLED LATIN CAPITAL LETTER B +#- 1F152;NEGATIVE CIRCLED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <C> <parenright> : "🅒" U1F152 # NEGATIVE CIRCLED LATIN CAPITAL LETTER C +#- 1F153;NEGATIVE CIRCLED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <D> <parenright> : "🅓" U1F153 # NEGATIVE CIRCLED LATIN CAPITAL LETTER D +#- 1F154;NEGATIVE CIRCLED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <E> <parenright> : "🅔" U1F154 # NEGATIVE CIRCLED LATIN CAPITAL LETTER E +#- 1F155;NEGATIVE CIRCLED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <F> <parenright> : "🅕" U1F155 # NEGATIVE CIRCLED LATIN CAPITAL LETTER F +#- 1F156;NEGATIVE CIRCLED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <G> <parenright> : "🅖" U1F156 # NEGATIVE CIRCLED LATIN CAPITAL LETTER G +#- 1F157;NEGATIVE CIRCLED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <H> <parenright> : "🅗" U1F157 # NEGATIVE CIRCLED LATIN CAPITAL LETTER H +#- 1F158;NEGATIVE CIRCLED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <I> <parenright> : "🅘" U1F158 # NEGATIVE CIRCLED LATIN CAPITAL LETTER I +#- 1F159;NEGATIVE CIRCLED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <J> <parenright> : "🅙" U1F159 # NEGATIVE CIRCLED LATIN CAPITAL LETTER J +#- 1F15A;NEGATIVE CIRCLED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <K> <parenright> : "🅚" U1F15A # NEGATIVE CIRCLED LATIN CAPITAL LETTER K +#- 1F15B;NEGATIVE CIRCLED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <L> <parenright> : "🅛" U1F15B # NEGATIVE CIRCLED LATIN CAPITAL LETTER L +#- 1F15C;NEGATIVE CIRCLED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <M> <parenright> : "🅜" U1F15C # NEGATIVE CIRCLED LATIN CAPITAL LETTER M +#- 1F15D;NEGATIVE CIRCLED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <N> <parenright> : "🅝" U1F15D # NEGATIVE CIRCLED LATIN CAPITAL LETTER N +#- 1F15E;NEGATIVE CIRCLED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <O> <parenright> : "🅞" U1F15E # NEGATIVE CIRCLED LATIN CAPITAL LETTER O +#- 1F15F;NEGATIVE CIRCLED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <P> <parenright> : "🅟" U1F15F # NEGATIVE CIRCLED LATIN CAPITAL LETTER P +#- 1F160;NEGATIVE CIRCLED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <Q> <parenright> : "🅠" U1F160 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q +#- 1F161;NEGATIVE CIRCLED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <R> <parenright> : "🅡" U1F161 # NEGATIVE CIRCLED LATIN CAPITAL LETTER R +#- 1F162;NEGATIVE CIRCLED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <S> <parenright> : "🅢" U1F162 # NEGATIVE CIRCLED LATIN CAPITAL LETTER S +#- 1F163;NEGATIVE CIRCLED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <T> <parenright> : "🅣" U1F163 # NEGATIVE CIRCLED LATIN CAPITAL LETTER T +#- 1F164;NEGATIVE CIRCLED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <U> <parenright> : "🅤" U1F164 # NEGATIVE CIRCLED LATIN CAPITAL LETTER U +#- 1F165;NEGATIVE CIRCLED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <V> <parenright> : "🅥" U1F165 # NEGATIVE CIRCLED LATIN CAPITAL LETTER V +#- 1F166;NEGATIVE CIRCLED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <W> <parenright> : "🅦" U1F166 # NEGATIVE CIRCLED LATIN CAPITAL LETTER W +#- 1F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <X> <parenright> : "🅧" U1F167 # NEGATIVE CIRCLED LATIN CAPITAL LETTER X +#- 1F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <Y> <parenright> : "🅨" U1F168 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y +#- 1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; <Multi_key> <parenleft> <B> <Z> <parenright> : "🅩" U1F169 # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z +#- 1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <a> <bracketright> : "🅰" U1F170 # NEGATIVE SQUARED LATIN CAPITAL LETTER A +#- 1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <b> <bracketright> : "🅱" U1F171 # NEGATIVE SQUARED LATIN CAPITAL LETTER B +#- 1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <c> <bracketright> : "🅲" U1F172 # NEGATIVE SQUARED LATIN CAPITAL LETTER C +#- 1F173;NEGATIVE SQUARED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <d> <bracketright> : "🅳" U1F173 # NEGATIVE SQUARED LATIN CAPITAL LETTER D +#- 1F174;NEGATIVE SQUARED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <e> <bracketright> : "🅴" U1F174 # NEGATIVE SQUARED LATIN CAPITAL LETTER E +#- 1F175;NEGATIVE SQUARED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <f> <bracketright> : "🅵" U1F175 # NEGATIVE SQUARED LATIN CAPITAL LETTER F +#- 1F176;NEGATIVE SQUARED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <g> <bracketright> : "🅶" U1F176 # NEGATIVE SQUARED LATIN CAPITAL LETTER G +#- 1F177;NEGATIVE SQUARED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <h> <bracketright> : "🅷" U1F177 # NEGATIVE SQUARED LATIN CAPITAL LETTER H +#- 1F178;NEGATIVE SQUARED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <i> <bracketright> : "🅸" U1F178 # NEGATIVE SQUARED LATIN CAPITAL LETTER I +#- 1F179;NEGATIVE SQUARED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <j> <bracketright> : "🅹" U1F179 # NEGATIVE SQUARED LATIN CAPITAL LETTER J +#- 1F17A;NEGATIVE SQUARED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <k> <bracketright> : "🅺" U1F17A # NEGATIVE SQUARED LATIN CAPITAL LETTER K +#- 1F17B;NEGATIVE SQUARED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <l> <bracketright> : "🅻" U1F17B # NEGATIVE SQUARED LATIN CAPITAL LETTER L +#- 1F17C;NEGATIVE SQUARED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <m> <bracketright> : "🅼" U1F17C # NEGATIVE SQUARED LATIN CAPITAL LETTER M +#- 1F17D;NEGATIVE SQUARED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <n> <bracketright> : "🅽" U1F17D # NEGATIVE SQUARED LATIN CAPITAL LETTER N +#- 1F17E;NEGATIVE SQUARED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <o> <bracketright> : "🅾" U1F17E # NEGATIVE SQUARED LATIN CAPITAL LETTER O +#- 1F17F;NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <p> <bracketright> : "🅿" U1F17F # NEGATIVE SQUARED LATIN CAPITAL LETTER P +#- 1F180;NEGATIVE SQUARED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <q> <bracketright> : "🆀" U1F180 # NEGATIVE SQUARED LATIN CAPITAL LETTER Q +#- 1F181;NEGATIVE SQUARED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <r> <bracketright> : "🆁" U1F181 # NEGATIVE SQUARED LATIN CAPITAL LETTER R +#- 1F182;NEGATIVE SQUARED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <s> <bracketright> : "🆂" U1F182 # NEGATIVE SQUARED LATIN CAPITAL LETTER S +#- 1F183;NEGATIVE SQUARED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <t> <bracketright> : "🆃" U1F183 # NEGATIVE SQUARED LATIN CAPITAL LETTER T +#- 1F184;NEGATIVE SQUARED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <u> <bracketright> : "🆄" U1F184 # NEGATIVE SQUARED LATIN CAPITAL LETTER U +#- 1F185;NEGATIVE SQUARED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <v> <bracketright> : "🆅" U1F185 # NEGATIVE SQUARED LATIN CAPITAL LETTER V +#- 1F186;NEGATIVE SQUARED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <w> <bracketright> : "🆆" U1F186 # NEGATIVE SQUARED LATIN CAPITAL LETTER W +#- 1F187;NEGATIVE SQUARED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <x> <bracketright> : "🆇" U1F187 # NEGATIVE SQUARED LATIN CAPITAL LETTER X +#- 1F188;NEGATIVE SQUARED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <y> <bracketright> : "🆈" U1F188 # NEGATIVE SQUARED LATIN CAPITAL LETTER Y +#- 1F189;NEGATIVE SQUARED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <z> <bracketright> : "🆉" U1F189 # NEGATIVE SQUARED LATIN CAPITAL LETTER Z +#- 1F18A;CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +#- 1F18F;NEGATIVE SQUARED WC;So;0;L;;;;;N;;;;; <Multi_key> <bracketleft> <B> <W> <C> <bracketright> : "🆏" U1F18F # NEGATIVE SQUARED WC ### Using <parenleft> <parenleft> ... <parenright> <parenright> conflicts ### with system entries. Using the *letter* O. -<Multi_key> <parenleft> <O> <1> <parenright> : "⓵" U24F5 # DOUBLE CIRCLED DIGIT ONE -<Multi_key> <parenleft> <O> <2> <parenright> : "⓶" U24F6 # DOUBLE CIRCLED DIGIT TWO -<Multi_key> <parenleft> <O> <3> <parenright> : "⓷" U24F7 # DOUBLE CIRCLED DIGIT THREE -<Multi_key> <parenleft> <O> <4> <parenright> : "⓸" U24F8 # DOUBLE CIRCLED DIGIT FOUR -<Multi_key> <parenleft> <O> <5> <parenright> : "⓹" U24F9 # DOUBLE CIRCLED DIGIT FIVE -<Multi_key> <parenleft> <O> <6> <parenright> : "⓺" U24FA # DOUBLE CIRCLED DIGIT SIX -<Multi_key> <parenleft> <O> <7> <parenright> : "⓻" U24FB # DOUBLE CIRCLED DIGIT SEVEN -<Multi_key> <parenleft> <O> <8> <parenright> : "⓼" U24FC # DOUBLE CIRCLED DIGIT EIGHT -<Multi_key> <parenleft> <O> <9> <parenright> : "⓽" U24FD # DOUBLE CIRCLED DIGIT NINE -<Multi_key> <parenleft> <O> <1> <0> <parenright> : "⓾" U24FE # DOUBLE CIRCLED NUMBER TEN +#- 24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;; +<Multi_key> <parenleft> <O> <1> <parenright> : "⓵" U24F5 # DOUBLE CIRCLED DIGIT ONE +#- 24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;; +<Multi_key> <parenleft> <O> <2> <parenright> : "⓶" U24F6 # DOUBLE CIRCLED DIGIT TWO +#- 24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;; +<Multi_key> <parenleft> <O> <3> <parenright> : "⓷" U24F7 # DOUBLE CIRCLED DIGIT THREE +#- 24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;; +<Multi_key> <parenleft> <O> <4> <parenright> : "⓸" U24F8 # DOUBLE CIRCLED DIGIT FOUR +#- 24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;; +<Multi_key> <parenleft> <O> <5> <parenright> : "⓹" U24F9 # DOUBLE CIRCLED DIGIT FIVE +#- 24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;; +<Multi_key> <parenleft> <O> <6> <parenright> : "⓺" U24FA # DOUBLE CIRCLED DIGIT SIX +#- 24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;; +<Multi_key> <parenleft> <O> <7> <parenright> : "⓻" U24FB # DOUBLE CIRCLED DIGIT SEVEN +#- 24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;; +<Multi_key> <parenleft> <O> <8> <parenright> : "⓼" U24FC # DOUBLE CIRCLED DIGIT EIGHT +#- 24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;; +<Multi_key> <parenleft> <O> <9> <parenright> : "⓽" U24FD # DOUBLE CIRCLED DIGIT NINE +#- 24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;; +<Multi_key> <parenleft> <O> <1> <0> <parenright> : "⓾" U24FE # DOUBLE CIRCLED NUMBER TEN diff --git a/xcompose-mode.el b/xcompose-mode.el new file mode 100644 index 0000000..4140bcb --- /dev/null +++ b/xcompose-mode.el @@ -0,0 +1,254 @@ +;;; xcompose.el --- major mode for editing .XCompose files +;; Copyright (C) 2019 Mark Shoulson + +;; Author: Mark Shoulson +;; Maintainer: Mark Shoulson +;; URL: + +;; This file is NOT part of GNU Emacs + +;; Permission is hereby granted, free of charge, to any person +;; obtaining a copy of this software and associated documentation +;; files (the "Software"), to deal in the Software without +;; restriction, including without limitation the rights to use, copy, +;; modify, merge, publish, distribute, sublicense, and/or sell copies +;; of the Software, and to permit persons to whom the Software is +;; furnished to do so, subject to the following conditions: + +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. + +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +;; SOFTWARE. + +;;; Commentary: + +;; This file provides the major mode xcompose-mode, for use in editing +;; .XCompose files, which are used in X-windows systems to define the +;; behavior certain sequential keystroke combinations, usually involving +;; the "Multi-Key". It was also built with an eye towards use with "base" +;; files, which are slightly simplified compose files I use for +;; convenience. + +;; Mainly fontifying; eventually should do better formatting, finding the +;; right tab stops etc. + +;;; Code: + +(defface xcompose-angle-face + ;; Black seems to stand out best, what can I say? + '((t (:inherit bold))) + "Face for the angle brackets (<>) around key-names." + :group 'xcompose-mode) + +(defface xcompose-keys-face + '((t (:inherit font-lock-constant-face))) + "Face for the key names." + :group 'xcompose-mode) + +(defface xcompose-string-face + ;; I feel like these should really stand out, not just plain-jane + ;; font-lock-string-face. Even to the point of increasing the size and + ;; drawing boxes. + '((t (:inherit font-lock-string-face + :height 1.2 + :box "black"))) + "Face for the quoted strings containing the character(s) to be produced." + :group 'xcompose-mode) + +(defface xcompose-quotemark-face + '((t (:inherit font-lock-string-face + :foreground "dark orchid"))) + "Face for quote-marks around character strings." + :group 'xcompose-mode) + +;; Yes, kind of a lot of faces and a lot of fine-tuning of the line's +;; appearance. Maybe a bit too much. +(defface xcompose-num-face + '((t (:inherit font-lock-preprocessor-face :weight bold))) + "Face for the hex numbers identifying the code-point." + :group 'xcompose-mode) + +(defface xcompose-U-face + '((t (:inherit font-lock-preprocessor-face))) + "Face for the U before the hex numbers." + :group 'xcompose-mode) + +(defface xcompose-colon-face + '((t (:inherit bold))) + "Face for the \":\" separating the keystrokes from the character string." + :group 'xcompose-mode) + +;; There are LOTS of comments (commented-out lines) in some of these files; +;; I'd like them to fade into the background a bit, and I use a white +;; background. +(defface xcompose-comment-face + `((t (:inherit font-lock-comment-face + :foreground "light coral"))) + "Face for comments in xcompose files." + :group 'xcompose-mode) + +(defvar xcompose-mode-syntax-table + (let ((st (make-syntax-table text-mode-syntax-table))) + (modify-syntax-entry ?< "(> " st) + (modify-syntax-entry ?> ")< " st) + (modify-syntax-entry ?# "< " st) + (modify-syntax-entry ?_ "_ " st) + (modify-syntax-entry ?\n "> " st) + (modify-syntax-entry ?{ "| " st) + (modify-syntax-entry ?} "| " st) + st) + "Syntax table for xcompose-mode") + +(defvar xcompose-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-c u") 'xcompose-fill-in-char-string) + (define-key map (kbd "C-c C-u") 'xcompose-fill-in-char-code) + ;; (define-key map (kbd "C-c C-i") 'xcompose-insert-char-name) + (define-key map (kbd "C-c ;") 'xcompose-insert-char-name) + map) + "Keymap for xcompose-mode") + +(defvar xcompose-font-lock-keywords + '( + ("[<>]" . 'xcompose-angle-face) + ("<\\([a-zA-Z0-9_]*\\)>" . (1 'xcompose-keys-face)) + ;; ("\"[^\"]*\"" . 'xcompose-string-face) + ("\"\\([^\"]*\\)\"" . (1 'xcompose-string-face)) + ("\"" . 'xcompose-quotemark-face) + ("\\(U\\)\\([0-9A-Fa-f]*\\)" . + ((1 'xcompose-U-face) (2 'xcompose-num-face))) + (":" . 'xcompose-colon-face) + ;; I want to be able to open my "base" files too, and automatically + ;; de-emphasize (comment-out) things that won't be expanded (because of + ;; too long a string.) + ("^.*{[^}]\\{8,\\}}.*$" 0 'xcompose-comment-face prepend) + ) + "Keywords for xcompose-mode") + +(defvar xcompose-key-re "<[a-zA-Z0-9_]+" + "Regexp matching the beginning of a keystroke.") + +;; I wonder if this will be useful or really annoying. +(define-abbrev-table 'xcompose-mode-abbrev-table + '(("<Mu" "<Multi_key>" nil :system t) + ("<ap" "<apostrophe>" nil :system t) + ("<am" "<ampersand>" nil :system t) + ("<asciic" "<asciicircum>" nil :system t) + ("<asciit" "<asciitilde>" nil :system t) + ("<ast" "<asterisk>" nil :system t) + ("<bac" "<backslash>" nil :system t) + ("<bar" "<bar>" nil :system t) ; ? + ("<bracel" "<braceleft>" nil :system t) + ("<bracer" "<braceright>" nil :system t) + ("<bracketl" "<brakcetleft>" nil :system t) + ("<bracketr" "<brakcetright>" nil :system t) + ("<col" "<colon>" nil :system t) + ("<com" "<comma>" nil :system t) + ("<do" "<dollar>" nil :system t) + ("<gra" "<grave>" nil :system t) + ("<gre" "<greater>" nil :system t) + ("<le" "<less>" nil :system t) + ("<mi" "<minus>" nil :system t) + ("<nu" "<numbersign>" nil :system t) + ("<parenl" "<parenleft>" nil :system t) + ("<parenr" "<parenright>" nil :system t) + ("<perc" "<percent>" nil :system t) + ("<peri" "<period>" nil :system t) + ("<pl" "<plus>" nil :system t) + ("<quo" "<quotedbl>" nil :system t) + ("<se" "<semicolon>" nil :system t) + ("<sp" "<space>" nil :system t) + ("<un" "<underscore>" nil :system t) + ) + "Abbrev table" + :regexp "\\(<[a-zA-Z0-9_]+\\)" + :case-fixed t) + +;; See https://emacs.stackexchange.com/questions/51216/how-to-expand-abbrevs-without-hitting-another-extra-key +(defun xcompose-expand-abbrev () + "Run `expand-abbrev' when text before point matches `xcompose-key-re'" + (when (looking-back xcompose-key-re (line-beginning-position)) + (expand-abbrev))) + +;; Not really all that useful, since I can fill in the comment automatically +(defun xcompose-capitalize-comment nil + "Set any trailing comment on the current line to all-caps." + (interactive) + (save-excursion + (let* ((eol (progn (end-of-line) (point))) + (bol (progn (beginning-of-line) (point)))) + (if (search-forward comment-start eol t) + (upcase-region (point) eol))))) + +(defun xcompose-find-quoted-char (&optional pos) + "Find the character in quotes in the current line (or that given by pos)." + (save-excursion + (let* ((pos (or pos (point))) + (chr nil) + (eol (progn (end-of-line) (point))) + (bol (progn (beginning-of-line) (point)))) + (if (search-forward ":" eol t) + (progn + (if (search-forward "\"" eol t) + (setq chr (char-after))))) + chr))) + +;; If you can type the char but don't know its code (using C-x 8 RET is +;; great for this, if you know the character name) +(defun xcompose-fill-in-char-code (&optional pos) + "Look up character in string on line given and fill in the UXXXX code at point." + (interactive) + (let* ((pos (or pos (point))) + (chr (xcompose-find-quoted-char pos))) + (goto-char pos) + (insert (format "U%.04X" chr)))) + +;; Conversely, if you know the character code but for some reason can't +;; type it (C-x 8 RET not working for you?) you can do it the other way. +(defun xcompose-fill-in-char-string (&optional pos) + "Look up character given by UXXXX code on line given and insert into string before it, separated by a space." + ;; Probably needs some reformatting afterwards + (interactive) + (let* ((pos (or pos (point))) + (eol (progn (end-of-line) (point))) + (bol (progn (beginning-of-line) (point)))) + ;; search not necessarily as precise + (if (search-forward-regexp "\\<U\\([[:xdigit:]]+\\)" eol) + (let* ((hex (match-string 1)) + (num (string-to-number hex 16)) + (str (char-to-string num))) + (goto-char (match-beginning 0)) + (insert (format "\"%s\" " str)))))) + +(defun xcompose-insert-char-name nil + "Find the (first) quoted character on the line, and insert its name as +a comment at the end of the line." + (interactive) + (let* ((pos (point)) + (chr (xcompose-find-quoted-char pos))) + (goto-char pos) + (move-to-column (max (+ 4 (current-column)) comment-column) t) + (insert (format "# %s" (get-char-code-property chr 'name))))) + +(define-derived-mode xcompose-mode fundamental-mode "XCompose" + "Major mode for .XCompose files + +\\{xcompose-mode-map}" + (font-lock-add-keywords nil xcompose-font-lock-keywords) + ;; (setq-local comment-start "\\s-#") + (setq-local comment-end "\n") + (setq-local comment-continue " *") + (setq-local comment-start-skip "/[*/]+[ \t]*") + (setq-local comment-end-skip "[ \t]*\\(?:\n\\|\\*+/\\)") + (setq-local font-lock-comment-face 'xcompose-comment-face) + (add-hook 'post-self-insert-hook #'xcompose-expand-abbrev nil t) + (auto-fill-mode 0) + ) + |