From deab0bfe7f4be57121779e93bf291e518fda7cf3 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 20 Jul 2018 21:48:33 +0200 Subject: 2018-07-20 21:28:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/char-def.lua | 4957 +++++++++++++++++++- tex/context/base/mkiv/char-emj.lua | 260 +- tex/context/base/mkiv/char-ini.lua | 11 + tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/lpdf-epd.lua | 2 + tex/context/base/mkiv/node-bck.lua | 2 +- tex/context/base/mkiv/node-ini.lua | 4 +- tex/context/base/mkiv/node-par.lua | 8 +- tex/context/base/mkiv/node-pro.lua | 6 +- tex/context/base/mkiv/node-ref.lua | 83 + tex/context/base/mkiv/node-rul.lua | 1 - tex/context/base/mkiv/node-tsk.lua | 25 +- tex/context/base/mkiv/pack-rul.lua | 4 +- tex/context/base/mkiv/page-ini.lua | 43 +- tex/context/base/mkiv/status-files.pdf | Bin 26146 -> 26134 bytes tex/context/base/mkiv/status-lua.pdf | Bin 264927 -> 265034 bytes tex/context/base/mkiv/strc-blk.lua | 93 +- tex/context/base/mkiv/strc-blk.mkiv | 27 +- tex/context/base/mkiv/supp-box.lua | 49 +- tex/context/base/mkiv/task-ini.lua | 2 +- tex/context/base/mkiv/trac-vis.lua | 14 +- tex/context/base/mkiv/typo-bld.lua | 9 +- tex/context/base/mkiv/typo-wrp.lua | 75 +- tex/context/base/mkiv/typo-wrp.mkiv | 9 +- tex/context/base/mkiv/util-seq.lua | 12 +- tex/context/base/mkiv/util-sql-logins.lua | 5 + tex/context/interface/mkiv/i-context.pdf | Bin 846612 -> 846605 bytes tex/context/interface/mkiv/i-readme.pdf | Bin 61212 -> 61206 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 32 files changed, 5505 insertions(+), 206 deletions(-) (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 26e92909a..ce3ef17ee 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2018.07.18 17:33} +\newcontextversion{2018.07.20 21:20} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 0ce44438c..ba5135d80 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2018.07.18 17:33} +\edef\contextversion{2018.07.20 21:20} %D For those who want to use this: diff --git a/tex/context/base/mkiv/char-def.lua b/tex/context/base/mkiv/char-def.lua index fcbf01900..8f2583afe 100644 --- a/tex/context/base/mkiv/char-def.lua +++ b/tex/context/base/mkiv/char-def.lua @@ -14164,6 +14164,13 @@ characters.data={ synonyms={ "armenian patiw" }, unicodeslot=0x55F, }, + [0x560]={ + category="ll", + description="ARMENIAN SMALL LETTER TURNED AYB", + direction="l", + linebreak="al", + unicodeslot=0x560, + }, [0x561]={ adobename="aybarmenian", category="ll", @@ -14515,6 +14522,13 @@ characters.data={ specials={ "compat", 0x565, 0x582 }, unicodeslot=0x587, }, + [0x588]={ + category="ll", + description="ARMENIAN SMALL LETTER YI WITH STROKE", + direction="l", + linebreak="al", + unicodeslot=0x588, + }, [0x589]={ adobename="periodarmenian", category="po", @@ -15283,6 +15297,13 @@ characters.data={ linebreak="hl", unicodeslot=0x5EA, }, + [0x5EF]={ + category="lo", + description="HEBREW YOD TRIANGLE", + direction="r", + linebreak="hl", + unicodeslot=0x5EF, + }, [0x5F0]={ adobename="vavvavhebrew", category="lo", @@ -17638,6 +17659,7 @@ characters.data={ unicodeslot=0x70D, }, [0x70F]={ + arabic="t", category="cf", description="SYRIAC ABBREVIATION MARK", direction="al", @@ -19362,6 +19384,28 @@ characters.data={ linebreak="al", unicodeslot=0x7FA, }, + [0x7FD]={ + category="mn", + combining=0xDC, + description="NKO DANTAYALAN", + direction="nsm", + linebreak="cm", + unicodeslot=0x7FD, + }, + [0x7FE]={ + category="sc", + description="NKO DOROME SIGN", + direction="r", + linebreak="pr", + unicodeslot=0x7FE, + }, + [0x7FF]={ + category="sc", + description="NKO TAMAN SIGN", + direction="r", + linebreak="pr", + unicodeslot=0x7FF, + }, [0x800]={ category="lo", description="SAMARITAN LETTER ALAF", @@ -20361,6 +20405,14 @@ characters.data={ linebreak="al", unicodeslot=0x8BD, }, + [0x8D3]={ + category="mn", + combining=0xDC, + description="ARABIC SMALL LOW WAW", + direction="nsm", + linebreak="cm", + unicodeslot=0x8D3, + }, [0x8D4]={ category="mn", combining=0xE6, @@ -21284,8 +21336,8 @@ characters.data={ description="DEVANAGARI SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0x93C, }, @@ -21522,8 +21574,8 @@ characters.data={ description="DEVANAGARI STRESS SIGN ANUDATTA", direction="nsm", indic="s", - indicmark="b", indicclass="anudatta", + indicmark="b", linebreak="cm", unicodeslot=0x952, }, @@ -22376,8 +22428,8 @@ characters.data={ description="BENGALI SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0x9BC, }, @@ -22823,6 +22875,14 @@ characters.data={ linebreak="al", unicodeslot=0x9FD, }, + [0x9FE]={ + category="mn", + combining=0xE6, + description="BENGALI SANDHI MARK", + direction="nsm", + linebreak="cm", + unicodeslot=0x9FE, + }, [0xA01]={ category="mn", description="GURMUKHI SIGN ADAK BINDI", @@ -23247,8 +23307,8 @@ characters.data={ description="GURMUKHI SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0xA3C, }, @@ -23565,6 +23625,13 @@ characters.data={ linebreak="cm", unicodeslot=0xA75, }, + [0xA76]={ + category="po", + description="GURMUKHI ABBREVIATION SIGN", + direction="l", + linebreak="al", + unicodeslot=0xA76, + }, [0xA81]={ adobename="candrabindugujarati", category="mn", @@ -24032,8 +24099,8 @@ characters.data={ description="GUJARATI SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0xABC, }, @@ -24807,8 +24874,8 @@ characters.data={ description="ORIYA SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0xB3C, }, @@ -25809,6 +25876,13 @@ characters.data={ linebreak="cm", unicodeslot=0xC03, }, + [0xC04]={ + category="mn", + description="TELUGU SIGN COMBINING ANUSVARA ABOVE", + direction="nsm", + linebreak="cm", + unicodeslot=0xC04, + }, [0xC05]={ category="lo", description="TELUGU LETTER A", @@ -26175,9 +26249,9 @@ characters.data={ category="lo", description="TELUGU LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC35, - indic="c", }, [0xC36]={ category="lo", @@ -26614,6 +26688,13 @@ characters.data={ linebreak="cm", unicodeslot=0xC83, }, + [0xC84]={ + category="po", + description="KANNADA SIGN SIDDHAM", + direction="l", + linebreak="bb", + unicodeslot=0xC84, + }, [0xC85]={ category="lo", description="KANNADA LETTER A", @@ -27014,8 +27095,8 @@ characters.data={ description="KANNADA SIGN NUKTA", direction="nsm", indic="o", - indicmark="b", indicclass="nukta", + indicmark="b", linebreak="cm", unicodeslot=0xCBC, }, @@ -46377,6 +46458,14 @@ characters.data={ linebreak="al", unicodeslot=0x1877, }, + [0x1878]={ + arabic="d", + category="lo", + description="MONGOLIAN LETTER CHA WITH TWO DOTS", + direction="l", + linebreak="al", + unicodeslot=0x1878, + }, [0x1880]={ arabic="u", category="lo", @@ -52619,6 +52708,328 @@ characters.data={ linebreak="al", unicodeslot=0x1C88, }, + [0x1C90]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER AN", + direction="l", + linebreak="al", + unicodeslot=0x1C90, + }, + [0x1C91]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER BAN", + direction="l", + linebreak="al", + unicodeslot=0x1C91, + }, + [0x1C92]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER GAN", + direction="l", + linebreak="al", + unicodeslot=0x1C92, + }, + [0x1C93]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER DON", + direction="l", + linebreak="al", + unicodeslot=0x1C93, + }, + [0x1C94]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER EN", + direction="l", + linebreak="al", + unicodeslot=0x1C94, + }, + [0x1C95]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER VIN", + direction="l", + linebreak="al", + unicodeslot=0x1C95, + }, + [0x1C96]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER ZEN", + direction="l", + linebreak="al", + unicodeslot=0x1C96, + }, + [0x1C97]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER TAN", + direction="l", + linebreak="al", + unicodeslot=0x1C97, + }, + [0x1C98]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER IN", + direction="l", + linebreak="al", + unicodeslot=0x1C98, + }, + [0x1C99]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER KAN", + direction="l", + linebreak="al", + unicodeslot=0x1C99, + }, + [0x1C9A]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER LAS", + direction="l", + linebreak="al", + unicodeslot=0x1C9A, + }, + [0x1C9B]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER MAN", + direction="l", + linebreak="al", + unicodeslot=0x1C9B, + }, + [0x1C9C]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER NAR", + direction="l", + linebreak="al", + unicodeslot=0x1C9C, + }, + [0x1C9D]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER ON", + direction="l", + linebreak="al", + unicodeslot=0x1C9D, + }, + [0x1C9E]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER PAR", + direction="l", + linebreak="al", + unicodeslot=0x1C9E, + }, + [0x1C9F]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER ZHAR", + direction="l", + linebreak="al", + unicodeslot=0x1C9F, + }, + [0x1CA0]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER RAE", + direction="l", + linebreak="al", + unicodeslot=0x1CA0, + }, + [0x1CA1]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER SAN", + direction="l", + linebreak="al", + unicodeslot=0x1CA1, + }, + [0x1CA2]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER TAR", + direction="l", + linebreak="al", + unicodeslot=0x1CA2, + }, + [0x1CA3]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER UN", + direction="l", + linebreak="al", + unicodeslot=0x1CA3, + }, + [0x1CA4]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER PHAR", + direction="l", + linebreak="al", + unicodeslot=0x1CA4, + }, + [0x1CA5]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER KHAR", + direction="l", + linebreak="al", + unicodeslot=0x1CA5, + }, + [0x1CA6]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER GHAN", + direction="l", + linebreak="al", + unicodeslot=0x1CA6, + }, + [0x1CA7]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER QAR", + direction="l", + linebreak="al", + unicodeslot=0x1CA7, + }, + [0x1CA8]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER SHIN", + direction="l", + linebreak="al", + unicodeslot=0x1CA8, + }, + [0x1CA9]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER CHIN", + direction="l", + linebreak="al", + unicodeslot=0x1CA9, + }, + [0x1CAA]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER CAN", + direction="l", + linebreak="al", + unicodeslot=0x1CAA, + }, + [0x1CAB]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER JIL", + direction="l", + linebreak="al", + unicodeslot=0x1CAB, + }, + [0x1CAC]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER CIL", + direction="l", + linebreak="al", + unicodeslot=0x1CAC, + }, + [0x1CAD]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER CHAR", + direction="l", + linebreak="al", + unicodeslot=0x1CAD, + }, + [0x1CAE]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER XAN", + direction="l", + linebreak="al", + unicodeslot=0x1CAE, + }, + [0x1CAF]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER JHAN", + direction="l", + linebreak="al", + unicodeslot=0x1CAF, + }, + [0x1CB0]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HAE", + direction="l", + linebreak="al", + unicodeslot=0x1CB0, + }, + [0x1CB1]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HE", + direction="l", + linebreak="al", + unicodeslot=0x1CB1, + }, + [0x1CB2]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HIE", + direction="l", + linebreak="al", + unicodeslot=0x1CB2, + }, + [0x1CB3]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER WE", + direction="l", + linebreak="al", + unicodeslot=0x1CB3, + }, + [0x1CB4]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HAR", + direction="l", + linebreak="al", + unicodeslot=0x1CB4, + }, + [0x1CB5]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HOE", + direction="l", + linebreak="al", + unicodeslot=0x1CB5, + }, + [0x1CB6]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER FI", + direction="l", + linebreak="al", + unicodeslot=0x1CB6, + }, + [0x1CB7]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER YN", + direction="l", + linebreak="al", + unicodeslot=0x1CB7, + }, + [0x1CB8]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER ELIFI", + direction="l", + linebreak="al", + unicodeslot=0x1CB8, + }, + [0x1CB9]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER TURNED GAN", + direction="l", + linebreak="al", + unicodeslot=0x1CB9, + }, + [0x1CBA]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER AIN", + direction="l", + linebreak="al", + unicodeslot=0x1CBA, + }, + [0x1CBD]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER AEN", + direction="l", + linebreak="al", + unicodeslot=0x1CBD, + }, + [0x1CBE]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER HARD SIGN", + direction="l", + linebreak="al", + unicodeslot=0x1CBE, + }, + [0x1CBF]={ + category="lu", + description="GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN", + direction="l", + linebreak="al", + unicodeslot=0x1CBF, + }, [0x1CC0]={ category="po", description="SUNDANESE PUNCTUATION BINDU SURYA", @@ -65371,6 +65782,7 @@ characters.data={ linebreak="ai", mathclass="ordinary", mathname="rightangle", + mirror=0x2BFE, unicodeslot=0x221F, }, [0x2220]={ @@ -65382,6 +65794,7 @@ characters.data={ linebreak="ai", mathclass="ordinary", mathname="angle", + mirror=0x29A3, unicodeslot=0x2220, }, [0x2221]={ @@ -65391,6 +65804,7 @@ characters.data={ linebreak="al", mathclass="ordinary", mathname="measuredangle", + mirror=0x299B, unicodeslot=0x2221, }, [0x2222]={ @@ -65400,6 +65814,7 @@ characters.data={ linebreak="al", mathclass="ordinary", mathname="sphericalangle", + mirror=0x29A0, synonyms={ "angle arc" }, unicodeslot=0x2222, }, @@ -65430,6 +65845,7 @@ characters.data={ name="nmid", }, }, + mirror=0x2AEE, specials={ "char", 0x2223, 0x338 }, unicodeslot=0x2224, }, @@ -65834,6 +66250,7 @@ characters.data={ name="cong", }, }, + mirror=0x224C, unicodeslot=0x2245, }, [0x2246]={ @@ -65909,6 +66326,7 @@ characters.data={ direction="on", linebreak="ai", mathclass="relation", + mirror=0x2245, unicodeslot=0x224C, }, [0x224D]={ @@ -67110,6 +67528,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="multimap", + mirror=0x27DC, unicodeslot=0x22B8, }, [0x22B9]={ @@ -73450,8 +73869,8 @@ characters.data={ }, [0x25CC]={ adobename="dottedcircle", - contextname="dottedcircle", category="so", + contextname="dottedcircle", description="DOTTED CIRCLE", direction="on", linebreak="al", @@ -77559,6 +77978,7 @@ characters.data={ description="LEFT MULTIMAP", direction="on", linebreak="al", + mirror=0x22B8, unicodeslot=0x27DC, }, [0x27DD]={ @@ -80944,6 +81364,7 @@ characters.data={ description="MEASURED ANGLE OPENING LEFT", direction="on", linebreak="al", + mirror=0x2221, unicodeslot=0x299B, }, [0x299C]={ @@ -80979,6 +81400,7 @@ characters.data={ description="SPHERICAL ANGLE OPENING LEFT", direction="on", linebreak="al", + mirror=0x2222, unicodeslot=0x29A0, }, [0x29A1]={ @@ -81000,6 +81422,7 @@ characters.data={ description="REVERSED ANGLE", direction="on", linebreak="al", + mirror=0x2220, unicodeslot=0x29A3, }, [0x29A4]={ @@ -81007,6 +81430,7 @@ characters.data={ description="ANGLE WITH UNDERBAR", direction="on", linebreak="al", + mirror=0x29A5, unicodeslot=0x29A4, }, [0x29A5]={ @@ -81014,6 +81438,7 @@ characters.data={ description="REVERSED ANGLE WITH UNDERBAR", direction="on", linebreak="al", + mirror=0x29A4, unicodeslot=0x29A5, }, [0x29A6]={ @@ -81035,6 +81460,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT", direction="on", linebreak="al", + mirror=0x29A9, unicodeslot=0x29A8, }, [0x29A9]={ @@ -81042,6 +81468,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT", direction="on", linebreak="al", + mirror=0x29A8, unicodeslot=0x29A9, }, [0x29AA]={ @@ -81049,6 +81476,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT", direction="on", linebreak="al", + mirror=0x29AB, unicodeslot=0x29AA, }, [0x29AB]={ @@ -81056,6 +81484,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT", direction="on", linebreak="al", + mirror=0x29AA, unicodeslot=0x29AB, }, [0x29AC]={ @@ -81063,6 +81492,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP", direction="on", linebreak="al", + mirror=0x29AD, unicodeslot=0x29AC, }, [0x29AD]={ @@ -81070,6 +81500,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP", direction="on", linebreak="al", + mirror=0x29AC, unicodeslot=0x29AD, }, [0x29AE]={ @@ -81077,6 +81508,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN", direction="on", linebreak="al", + mirror=0x29AF, unicodeslot=0x29AE, }, [0x29AF]={ @@ -81084,6 +81516,7 @@ characters.data={ description="MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN", direction="on", linebreak="al", + mirror=0x29AE, unicodeslot=0x29AF, }, [0x29B0]={ @@ -81502,6 +81935,7 @@ characters.data={ description="DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK", direction="on", linebreak="al", + mirror=0x29E9, unicodeslot=0x29E8, }, [0x29E9]={ @@ -81509,6 +81943,7 @@ characters.data={ description="DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK", direction="on", linebreak="al", + mirror=0x29E8, unicodeslot=0x29E9, }, [0x29EA]={ @@ -82608,6 +83043,7 @@ characters.data={ description="LESS-THAN WITH QUESTION MARK ABOVE", direction="on", linebreak="al", + mirror=0x2A7C, unicodeslot=0x2A7B, }, [0x2A7C]={ @@ -82615,6 +83051,7 @@ characters.data={ description="GREATER-THAN WITH QUESTION MARK ABOVE", direction="on", linebreak="al", + mirror=0x2A7B, unicodeslot=0x2A7C, }, [0x2A7D]={ @@ -82692,6 +83129,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="lessapprox", + mirror=0x2A86, unicodeslot=0x2A85, }, [0x2A86]={ @@ -82701,6 +83139,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="gtrapprox", + mirror=0x2A85, unicodeslot=0x2A86, }, [0x2A87]={ @@ -82710,6 +83149,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="lneq", + mirror=0x2A88, unicodeslot=0x2A87, }, [0x2A88]={ @@ -82719,6 +83159,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="rneq", + mirror=0x2A87, unicodeslot=0x2A88, }, [0x2A89]={ @@ -82728,6 +83169,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="lnapprox", + mirror=0x2A8A, unicodeslot=0x2A89, }, [0x2A8A]={ @@ -82737,6 +83179,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="gnapprox", + mirror=0x2A89, unicodeslot=0x2A8A, }, [0x2A8B]={ @@ -82766,6 +83209,7 @@ characters.data={ description="LESS-THAN ABOVE SIMILAR OR EQUAL", direction="on", linebreak="al", + mirror=0x2A8E, unicodeslot=0x2A8D, }, [0x2A8E]={ @@ -82773,6 +83217,7 @@ characters.data={ description="GREATER-THAN ABOVE SIMILAR OR EQUAL", direction="on", linebreak="al", + mirror=0x2A8D, unicodeslot=0x2A8E, }, [0x2A8F]={ @@ -82780,6 +83225,7 @@ characters.data={ description="LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN", direction="on", linebreak="al", + mirror=0x2A90, unicodeslot=0x2A8F, }, [0x2A90]={ @@ -82787,6 +83233,7 @@ characters.data={ description="GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN", direction="on", linebreak="al", + mirror=0x2A8F, unicodeslot=0x2A90, }, [0x2A91]={ @@ -82894,6 +83341,7 @@ characters.data={ description="SIMILAR OR LESS-THAN", direction="on", linebreak="al", + mirror=0x2A9E, unicodeslot=0x2A9D, variants={ [0xFE00]="with similar following the slant of the upper leg", @@ -82904,6 +83352,7 @@ characters.data={ description="SIMILAR OR GREATER-THAN", direction="on", linebreak="al", + mirror=0x2A9D, unicodeslot=0x2A9E, variants={ [0xFE00]="with similar following the slant of the upper leg", @@ -82914,6 +83363,7 @@ characters.data={ description="SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN", direction="on", linebreak="al", + mirror=0x2AA0, unicodeslot=0x2A9F, }, [0x2AA0]={ @@ -82921,6 +83371,7 @@ characters.data={ description="SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN", direction="on", linebreak="al", + mirror=0x2A9F, unicodeslot=0x2AA0, }, [0x2AA1]={ @@ -83065,6 +83516,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="precneq", + mirror=0x2AB2, unicodeslot=0x2AB1, }, [0x2AB2]={ @@ -83074,6 +83526,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="succneq", + mirror=0x2AB1, unicodeslot=0x2AB2, }, [0x2AB3]={ @@ -83103,6 +83556,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="precneqq", + mirror=0x2AB6, unicodeslot=0x2AB5, }, [0x2AB6]={ @@ -83112,6 +83566,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="succneqq", + mirror=0x2AB5, unicodeslot=0x2AB6, }, [0x2AB7]={ @@ -83121,6 +83576,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="precapprox", + mirror=0x2AB8, unicodeslot=0x2AB7, }, [0x2AB8]={ @@ -83130,6 +83586,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="succapprox", + mirror=0x2AB7, unicodeslot=0x2AB8, }, [0x2AB9]={ @@ -83139,6 +83596,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="precnapprox", + mirror=0x2ABA, unicodeslot=0x2AB9, }, [0x2ABA]={ @@ -83148,6 +83606,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="succnapprox", + mirror=0x2AB9, unicodeslot=0x2ABA, }, [0x2ABB]={ @@ -83255,6 +83714,7 @@ characters.data={ description="SUBSET OF ABOVE TILDE OPERATOR", direction="on", linebreak="al", + mirror=0x2AC8, unicodeslot=0x2AC7, }, [0x2AC8]={ @@ -83262,6 +83722,7 @@ characters.data={ description="SUPERSET OF ABOVE TILDE OPERATOR", direction="on", linebreak="al", + mirror=0x2AC7, unicodeslot=0x2AC8, }, [0x2AC9]={ @@ -83269,6 +83730,7 @@ characters.data={ description="SUBSET OF ABOVE ALMOST EQUAL TO", direction="on", linebreak="al", + mirror=0x2ACA, unicodeslot=0x2AC9, }, [0x2ACA]={ @@ -83276,6 +83738,7 @@ characters.data={ description="SUPERSET OF ABOVE ALMOST EQUAL TO", direction="on", linebreak="al", + mirror=0x2AC9, unicodeslot=0x2ACA, }, [0x2ACB]={ @@ -83285,6 +83748,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="subsetneqq", + mirror=0x2ACC, unicodeslot=0x2ACB, variants={ [0xFE00]="with stroke through bottom members", @@ -83297,6 +83761,7 @@ characters.data={ linebreak="al", mathclass="relation", mathname="supsetneqq", + mirror=0x2ACB, unicodeslot=0x2ACC, variants={ [0xFE00]="with stroke through bottom members", @@ -83559,6 +84024,7 @@ characters.data={ description="DOES NOT DIVIDE WITH REVERSED NEGATION SLASH", direction="on", linebreak="al", + mirror=0x2224, unicodeslot=0x2AEE, }, [0x2AEF]={ @@ -84998,6 +85464,27 @@ characters.data={ synonyms={ "escape" }, unicodeslot=0x2BB9, }, + [0x2BBA]={ + category="so", + description="OVERLAPPING WHITE SQUARES", + direction="on", + linebreak="al", + unicodeslot=0x2BBA, + }, + [0x2BBB]={ + category="so", + description="OVERLAPPING WHITE AND BLACK SQUARES", + direction="on", + linebreak="al", + unicodeslot=0x2BBB, + }, + [0x2BBC]={ + category="so", + description="OVERLAPPING BLACK SQUARES", + direction="on", + linebreak="al", + unicodeslot=0x2BBC, + }, [0x2BBD]={ category="so", description="BALLOT BOX WITH LIGHT X", @@ -85145,6 +85632,181 @@ characters.data={ linebreak="al", unicodeslot=0x2BD2, }, + [0x2BD3]={ + category="so", + description="PLUTO FORM TWO", + direction="on", + linebreak="al", + unicodeslot=0x2BD3, + }, + [0x2BD4]={ + category="so", + description="PLUTO FORM THREE", + direction="on", + linebreak="al", + unicodeslot=0x2BD4, + }, + [0x2BD5]={ + category="so", + description="PLUTO FORM FOUR", + direction="on", + linebreak="al", + unicodeslot=0x2BD5, + }, + [0x2BD6]={ + category="so", + description="PLUTO FORM FIVE", + direction="on", + linebreak="al", + unicodeslot=0x2BD6, + }, + [0x2BD7]={ + category="so", + description="TRANSPLUTO", + direction="on", + linebreak="al", + unicodeslot=0x2BD7, + }, + [0x2BD8]={ + category="so", + description="PROSERPINA", + direction="on", + linebreak="al", + unicodeslot=0x2BD8, + }, + [0x2BD9]={ + category="so", + description="ASTRAEA", + direction="on", + linebreak="al", + unicodeslot=0x2BD9, + }, + [0x2BDA]={ + category="so", + description="HYGIEA", + direction="on", + linebreak="al", + unicodeslot=0x2BDA, + }, + [0x2BDB]={ + category="so", + description="PHOLUS", + direction="on", + linebreak="al", + unicodeslot=0x2BDB, + }, + [0x2BDC]={ + category="so", + description="NESSUS", + direction="on", + linebreak="al", + unicodeslot=0x2BDC, + }, + [0x2BDD]={ + category="so", + description="WHITE MOON SELENA", + direction="on", + linebreak="al", + unicodeslot=0x2BDD, + }, + [0x2BDE]={ + category="so", + description="BLACK DIAMOND ON CROSS", + direction="on", + linebreak="al", + unicodeslot=0x2BDE, + }, + [0x2BDF]={ + category="so", + description="TRUE LIGHT MOON ARTA", + direction="on", + linebreak="al", + unicodeslot=0x2BDF, + }, + [0x2BE0]={ + category="so", + description="CUPIDO", + direction="on", + linebreak="al", + unicodeslot=0x2BE0, + }, + [0x2BE1]={ + category="so", + description="HADES", + direction="on", + linebreak="al", + unicodeslot=0x2BE1, + }, + [0x2BE2]={ + category="so", + description="ZEUS", + direction="on", + linebreak="al", + unicodeslot=0x2BE2, + }, + [0x2BE3]={ + category="so", + description="KRONOS", + direction="on", + linebreak="al", + unicodeslot=0x2BE3, + }, + [0x2BE4]={ + category="so", + description="APOLLON", + direction="on", + linebreak="al", + unicodeslot=0x2BE4, + }, + [0x2BE5]={ + category="so", + description="ADMETOS", + direction="on", + linebreak="al", + unicodeslot=0x2BE5, + }, + [0x2BE6]={ + category="so", + description="VULCANUS", + direction="on", + linebreak="al", + unicodeslot=0x2BE6, + }, + [0x2BE7]={ + category="so", + description="POSEIDON", + direction="on", + linebreak="al", + unicodeslot=0x2BE7, + }, + [0x2BE8]={ + category="so", + description="LEFT HALF BLACK STAR", + direction="on", + linebreak="al", + unicodeslot=0x2BE8, + }, + [0x2BE9]={ + category="so", + description="RIGHT HALF BLACK STAR", + direction="on", + linebreak="al", + unicodeslot=0x2BE9, + }, + [0x2BEA]={ + category="so", + description="STAR WITH LEFT HALF BLACK", + direction="on", + linebreak="al", + unicodeslot=0x2BEA, + }, + [0x2BEB]={ + category="so", + description="STAR WITH RIGHT HALF BLACK", + direction="on", + linebreak="al", + unicodeslot=0x2BEB, + }, [0x2BEC]={ category="so", description="LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS", @@ -85173,6 +85835,112 @@ characters.data={ linebreak="al", unicodeslot=0x2BEF, }, + [0x2BF0]={ + category="so", + description="ERIS FORM ONE", + direction="on", + linebreak="al", + unicodeslot=0x2BF0, + }, + [0x2BF1]={ + category="so", + description="ERIS FORM TWO", + direction="on", + linebreak="al", + unicodeslot=0x2BF1, + }, + [0x2BF2]={ + category="so", + description="SEDNA", + direction="on", + linebreak="al", + unicodeslot=0x2BF2, + }, + [0x2BF3]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE", + direction="on", + linebreak="al", + unicodeslot=0x2BF3, + }, + [0x2BF4]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL NOVILE", + direction="on", + linebreak="al", + unicodeslot=0x2BF4, + }, + [0x2BF5]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL QUINTILE", + direction="on", + linebreak="al", + unicodeslot=0x2BF5, + }, + [0x2BF6]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL BINOVILE", + direction="on", + linebreak="al", + unicodeslot=0x2BF6, + }, + [0x2BF7]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL SENTAGON", + direction="on", + linebreak="al", + unicodeslot=0x2BF7, + }, + [0x2BF8]={ + category="so", + description="RUSSIAN ASTROLOGICAL SYMBOL TREDECILE", + direction="on", + linebreak="al", + unicodeslot=0x2BF8, + }, + [0x2BF9]={ + category="so", + description="EQUALS SIGN WITH INFINITY BELOW", + direction="on", + linebreak="al", + unicodeslot=0x2BF9, + }, + [0x2BFA]={ + category="so", + description="UNITED SYMBOL", + direction="on", + linebreak="al", + unicodeslot=0x2BFA, + }, + [0x2BFB]={ + category="so", + description="SEPARATED SYMBOL", + direction="on", + linebreak="al", + unicodeslot=0x2BFB, + }, + [0x2BFC]={ + category="so", + description="DOUBLED SYMBOL", + direction="on", + linebreak="al", + unicodeslot=0x2BFC, + }, + [0x2BFD]={ + category="so", + description="PASSED SYMBOL", + direction="on", + linebreak="al", + unicodeslot=0x2BFD, + }, + [0x2BFE]={ + category="so", + description="REVERSED RIGHT ANGLE", + direction="on", + linebreak="al", + mirror=0x221F, + unicodeslot=0x2BFE, + }, [0x2C00]={ category="lu", description="GLAGOLITIC CAPITAL LETTER AZU", @@ -89226,6 +89994,41 @@ characters.data={ linebreak="ba", unicodeslot=0x2E49, }, + [0x2E4A]={ + category="po", + description="DOTTED SOLIDUS", + direction="on", + linebreak="ba", + unicodeslot=0x2E4A, + }, + [0x2E4B]={ + category="po", + description="TRIPLE DAGGER", + direction="on", + linebreak="al", + unicodeslot=0x2E4B, + }, + [0x2E4C]={ + category="po", + description="MEDIEVAL COMMA", + direction="on", + linebreak="ba", + unicodeslot=0x2E4C, + }, + [0x2E4D]={ + category="po", + description="PARAGRAPHUS MARK", + direction="on", + linebreak="al", + unicodeslot=0x2E4D, + }, + [0x2E4E]={ + category="po", + description="PUNCTUS ELEVATUS MARK", + direction="on", + linebreak="ba", + unicodeslot=0x2E4E, + }, [0x2E80]={ category="so", cjkwd="w", @@ -95434,6 +96237,14 @@ characters.data={ linebreak="id", unicodeslot=0x312E, }, + [0x312F]={ + category="lo", + cjkwd="w", + description="BOPOMOFO LETTER NN", + direction="l", + linebreak="id", + unicodeslot=0x312F, + }, [0x3131]={ adobename="kiyeokkorean", category="lo", @@ -117174,6 +117985,13 @@ characters.data={ linebreak="al", unicodeslot=0xA7AE, }, + [0xA7AF]={ + category="ll", + description="LATIN LETTER SMALL CAPITAL Q", + direction="l", + linebreak="al", + unicodeslot=0xA7AF, + }, [0xA7B0]={ category="lu", description="LATIN CAPITAL LETTER TURNED K", @@ -117230,6 +118048,20 @@ characters.data={ linebreak="al", unicodeslot=0xA7B7, }, + [0xA7B8]={ + category="lu", + description="LATIN CAPITAL LETTER U WITH STROKE", + direction="l", + linebreak="al", + unicodeslot=0xA7B8, + }, + [0xA7B9]={ + category="ll", + description="LATIN SMALL LETTER U WITH STROKE", + direction="l", + linebreak="al", + unicodeslot=0xA7B9, + }, [0xA7F7]={ category="lo", description="LATIN EPIGRAPHIC LETTER SIDEWAYS I", @@ -118975,6 +119807,20 @@ characters.data={ linebreak="al", unicodeslot=0xA8FD, }, + [0xA8FE]={ + category="lo", + description="DEVANAGARI LETTER AY", + direction="l", + linebreak="al", + unicodeslot=0xA8FE, + }, + [0xA8FF]={ + category="mn", + description="DEVANAGARI VOWEL SIGN AY", + direction="nsm", + linebreak="cm", + unicodeslot=0xA8FF, + }, [0xA900]={ category="nd", description="KAYAH LI DIGIT ZERO", @@ -136230,6 +137076,9 @@ characters.data={ linebreak="id", specials={ "wide", 0x30 }, unicodeslot=0xFF10, + variants={ + [0xFE00]="short diagonal stroke form", + }, }, [0xFF11]={ adobename="onemonospace", @@ -150982,6 +151831,20 @@ characters.data={ linebreak="al", unicodeslot=0x10A33, }, + [0x10A34]={ + category="lo", + description="KHAROSHTHI LETTER TTTA", + direction="r", + linebreak="al", + unicodeslot=0x10A34, + }, + [0x10A35]={ + category="lo", + description="KHAROSHTHI LETTER VHA", + direction="r", + linebreak="al", + unicodeslot=0x10A35, + }, [0x10A38]={ category="mn", combining=0xE6, @@ -151070,6 +151933,13 @@ characters.data={ linebreak="al", unicodeslot=0x10A47, }, + [0x10A48]={ + category="no", + description="KHAROSHTHI FRACTION ONE HALF", + direction="r", + linebreak="al", + unicodeslot=0x10A48, + }, [0x10A50]={ category="po", description="KHAROSHTHI PUNCTUATION DOT", @@ -154318,6 +155188,396 @@ characters.data={ linebreak="al", unicodeslot=0x10CFF, }, + [0x10D00]={ + arabic="l", + category="lo", + description="HANIFI ROHINGYA LETTER A", + direction="al", + linebreak="al", + unicodeslot=0x10D00, + }, + [0x10D01]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER BA", + direction="al", + linebreak="al", + unicodeslot=0x10D01, + }, + [0x10D02]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER PA", + direction="al", + linebreak="al", + unicodeslot=0x10D02, + }, + [0x10D03]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER TA", + direction="al", + linebreak="al", + unicodeslot=0x10D03, + }, + [0x10D04]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER TTA", + direction="al", + linebreak="al", + unicodeslot=0x10D04, + }, + [0x10D05]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER JA", + direction="al", + linebreak="al", + unicodeslot=0x10D05, + }, + [0x10D06]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER CA", + direction="al", + linebreak="al", + unicodeslot=0x10D06, + }, + [0x10D07]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER HA", + direction="al", + linebreak="al", + unicodeslot=0x10D07, + }, + [0x10D08]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER KHA", + direction="al", + linebreak="al", + unicodeslot=0x10D08, + }, + [0x10D09]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER FA", + direction="al", + linebreak="al", + unicodeslot=0x10D09, + }, + [0x10D0A]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER DA", + direction="al", + linebreak="al", + unicodeslot=0x10D0A, + }, + [0x10D0B]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER DDA", + direction="al", + linebreak="al", + unicodeslot=0x10D0B, + }, + [0x10D0C]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER RA", + direction="al", + linebreak="al", + unicodeslot=0x10D0C, + }, + [0x10D0D]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER RRA", + direction="al", + linebreak="al", + unicodeslot=0x10D0D, + }, + [0x10D0E]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER ZA", + direction="al", + linebreak="al", + unicodeslot=0x10D0E, + }, + [0x10D0F]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER SA", + direction="al", + linebreak="al", + unicodeslot=0x10D0F, + }, + [0x10D10]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER SHA", + direction="al", + linebreak="al", + unicodeslot=0x10D10, + }, + [0x10D11]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER KA", + direction="al", + linebreak="al", + unicodeslot=0x10D11, + }, + [0x10D12]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER GA", + direction="al", + linebreak="al", + unicodeslot=0x10D12, + }, + [0x10D13]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER LA", + direction="al", + linebreak="al", + unicodeslot=0x10D13, + }, + [0x10D14]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER MA", + direction="al", + linebreak="al", + unicodeslot=0x10D14, + }, + [0x10D15]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER NA", + direction="al", + linebreak="al", + unicodeslot=0x10D15, + }, + [0x10D16]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER WA", + direction="al", + linebreak="al", + unicodeslot=0x10D16, + }, + [0x10D17]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER KINNA WA", + direction="al", + linebreak="al", + unicodeslot=0x10D17, + }, + [0x10D18]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER YA", + direction="al", + linebreak="al", + unicodeslot=0x10D18, + }, + [0x10D19]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER KINNA YA", + direction="al", + linebreak="al", + unicodeslot=0x10D19, + }, + [0x10D1A]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER NGA", + direction="al", + linebreak="al", + unicodeslot=0x10D1A, + }, + [0x10D1B]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER NYA", + direction="al", + linebreak="al", + unicodeslot=0x10D1B, + }, + [0x10D1C]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA LETTER VA", + direction="al", + linebreak="al", + unicodeslot=0x10D1C, + }, + [0x10D1D]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA VOWEL A", + direction="al", + linebreak="al", + unicodeslot=0x10D1D, + }, + [0x10D1E]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA VOWEL I", + direction="al", + linebreak="al", + unicodeslot=0x10D1E, + }, + [0x10D1F]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA VOWEL U", + direction="al", + linebreak="al", + unicodeslot=0x10D1F, + }, + [0x10D20]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA VOWEL E", + direction="al", + linebreak="al", + unicodeslot=0x10D20, + }, + [0x10D21]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA VOWEL O", + direction="al", + linebreak="al", + unicodeslot=0x10D21, + }, + [0x10D22]={ + arabic="r", + category="lo", + description="HANIFI ROHINGYA MARK SAKIN", + direction="al", + linebreak="al", + unicodeslot=0x10D22, + }, + [0x10D23]={ + arabic="d", + category="lo", + description="HANIFI ROHINGYA MARK NA KHONNA", + direction="al", + linebreak="al", + unicodeslot=0x10D23, + }, + [0x10D24]={ + category="mn", + combining=0xE6, + description="HANIFI ROHINGYA SIGN HARBAHAY", + direction="nsm", + linebreak="cm", + unicodeslot=0x10D24, + }, + [0x10D25]={ + category="mn", + combining=0xE6, + description="HANIFI ROHINGYA SIGN TAHALA", + direction="nsm", + linebreak="cm", + unicodeslot=0x10D25, + }, + [0x10D26]={ + category="mn", + combining=0xE6, + description="HANIFI ROHINGYA SIGN TANA", + direction="nsm", + linebreak="cm", + unicodeslot=0x10D26, + }, + [0x10D27]={ + category="mn", + combining=0xE6, + description="HANIFI ROHINGYA SIGN TASSI", + direction="nsm", + linebreak="cm", + unicodeslot=0x10D27, + }, + [0x10D30]={ + category="nd", + description="HANIFI ROHINGYA DIGIT ZERO", + direction="an", + linebreak="nu", + unicodeslot=0x10D30, + }, + [0x10D31]={ + category="nd", + description="HANIFI ROHINGYA DIGIT ONE", + direction="an", + linebreak="nu", + unicodeslot=0x10D31, + }, + [0x10D32]={ + category="nd", + description="HANIFI ROHINGYA DIGIT TWO", + direction="an", + linebreak="nu", + unicodeslot=0x10D32, + }, + [0x10D33]={ + category="nd", + description="HANIFI ROHINGYA DIGIT THREE", + direction="an", + linebreak="nu", + unicodeslot=0x10D33, + }, + [0x10D34]={ + category="nd", + description="HANIFI ROHINGYA DIGIT FOUR", + direction="an", + linebreak="nu", + unicodeslot=0x10D34, + }, + [0x10D35]={ + category="nd", + description="HANIFI ROHINGYA DIGIT FIVE", + direction="an", + linebreak="nu", + unicodeslot=0x10D35, + }, + [0x10D36]={ + category="nd", + description="HANIFI ROHINGYA DIGIT SIX", + direction="an", + linebreak="nu", + unicodeslot=0x10D36, + }, + [0x10D37]={ + category="nd", + description="HANIFI ROHINGYA DIGIT SEVEN", + direction="an", + linebreak="nu", + unicodeslot=0x10D37, + }, + [0x10D38]={ + category="nd", + description="HANIFI ROHINGYA DIGIT EIGHT", + direction="an", + linebreak="nu", + unicodeslot=0x10D38, + }, + [0x10D39]={ + category="nd", + description="HANIFI ROHINGYA DIGIT NINE", + direction="an", + linebreak="nu", + unicodeslot=0x10D39, + }, [0x10E60]={ category="no", description="RUMI DIGIT ONE", @@ -154535,6 +155795,617 @@ characters.data={ linebreak="al", unicodeslot=0x10E7E, }, + [0x10F00]={ + category="lo", + description="OLD SOGDIAN LETTER ALEPH", + direction="r", + linebreak="al", + unicodeslot=0x10F00, + }, + [0x10F01]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL ALEPH", + direction="r", + linebreak="al", + unicodeslot=0x10F01, + }, + [0x10F02]={ + category="lo", + description="OLD SOGDIAN LETTER BETH", + direction="r", + linebreak="al", + unicodeslot=0x10F02, + }, + [0x10F03]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL BETH", + direction="r", + linebreak="al", + unicodeslot=0x10F03, + }, + [0x10F04]={ + category="lo", + description="OLD SOGDIAN LETTER GIMEL", + direction="r", + linebreak="al", + unicodeslot=0x10F04, + }, + [0x10F05]={ + category="lo", + description="OLD SOGDIAN LETTER HE", + direction="r", + linebreak="al", + unicodeslot=0x10F05, + }, + [0x10F06]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL HE", + direction="r", + linebreak="al", + unicodeslot=0x10F06, + }, + [0x10F07]={ + category="lo", + description="OLD SOGDIAN LETTER WAW", + direction="r", + linebreak="al", + unicodeslot=0x10F07, + }, + [0x10F08]={ + category="lo", + description="OLD SOGDIAN LETTER ZAYIN", + direction="r", + linebreak="al", + unicodeslot=0x10F08, + }, + [0x10F09]={ + category="lo", + description="OLD SOGDIAN LETTER HETH", + direction="r", + linebreak="al", + unicodeslot=0x10F09, + }, + [0x10F0A]={ + category="lo", + description="OLD SOGDIAN LETTER YODH", + direction="r", + linebreak="al", + unicodeslot=0x10F0A, + }, + [0x10F0B]={ + category="lo", + description="OLD SOGDIAN LETTER KAPH", + direction="r", + linebreak="al", + unicodeslot=0x10F0B, + }, + [0x10F0C]={ + category="lo", + description="OLD SOGDIAN LETTER LAMEDH", + direction="r", + linebreak="al", + unicodeslot=0x10F0C, + }, + [0x10F0D]={ + category="lo", + description="OLD SOGDIAN LETTER MEM", + direction="r", + linebreak="al", + unicodeslot=0x10F0D, + }, + [0x10F0E]={ + category="lo", + description="OLD SOGDIAN LETTER NUN", + direction="r", + linebreak="al", + unicodeslot=0x10F0E, + }, + [0x10F0F]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL NUN", + direction="r", + linebreak="al", + unicodeslot=0x10F0F, + }, + [0x10F10]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL NUN WITH VERTICAL TAIL", + direction="r", + linebreak="al", + unicodeslot=0x10F10, + }, + [0x10F11]={ + category="lo", + description="OLD SOGDIAN LETTER SAMEKH", + direction="r", + linebreak="al", + unicodeslot=0x10F11, + }, + [0x10F12]={ + category="lo", + description="OLD SOGDIAN LETTER AYIN", + direction="r", + linebreak="al", + unicodeslot=0x10F12, + }, + [0x10F13]={ + category="lo", + description="OLD SOGDIAN LETTER ALTERNATE AYIN", + direction="r", + linebreak="al", + unicodeslot=0x10F13, + }, + [0x10F14]={ + category="lo", + description="OLD SOGDIAN LETTER PE", + direction="r", + linebreak="al", + unicodeslot=0x10F14, + }, + [0x10F15]={ + category="lo", + description="OLD SOGDIAN LETTER SADHE", + direction="r", + linebreak="al", + unicodeslot=0x10F15, + }, + [0x10F16]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL SADHE", + direction="r", + linebreak="al", + unicodeslot=0x10F16, + }, + [0x10F17]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL SADHE WITH VERTICAL TAIL", + direction="r", + linebreak="al", + unicodeslot=0x10F17, + }, + [0x10F18]={ + category="lo", + description="OLD SOGDIAN LETTER RESH-AYIN-DALETH", + direction="r", + linebreak="al", + unicodeslot=0x10F18, + }, + [0x10F19]={ + category="lo", + description="OLD SOGDIAN LETTER SHIN", + direction="r", + linebreak="al", + unicodeslot=0x10F19, + }, + [0x10F1A]={ + category="lo", + description="OLD SOGDIAN LETTER TAW", + direction="r", + linebreak="al", + unicodeslot=0x10F1A, + }, + [0x10F1B]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL TAW", + direction="r", + linebreak="al", + unicodeslot=0x10F1B, + }, + [0x10F1C]={ + category="lo", + description="OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL", + direction="r", + linebreak="al", + unicodeslot=0x10F1C, + }, + [0x10F1D]={ + category="no", + description="OLD SOGDIAN NUMBER ONE", + direction="r", + linebreak="al", + unicodeslot=0x10F1D, + }, + [0x10F1E]={ + category="no", + description="OLD SOGDIAN NUMBER TWO", + direction="r", + linebreak="al", + unicodeslot=0x10F1E, + }, + [0x10F1F]={ + category="no", + description="OLD SOGDIAN NUMBER THREE", + direction="r", + linebreak="al", + unicodeslot=0x10F1F, + }, + [0x10F20]={ + category="no", + description="OLD SOGDIAN NUMBER FOUR", + direction="r", + linebreak="al", + unicodeslot=0x10F20, + }, + [0x10F21]={ + category="no", + description="OLD SOGDIAN NUMBER FIVE", + direction="r", + linebreak="al", + unicodeslot=0x10F21, + }, + [0x10F22]={ + category="no", + description="OLD SOGDIAN NUMBER TEN", + direction="r", + linebreak="al", + unicodeslot=0x10F22, + }, + [0x10F23]={ + category="no", + description="OLD SOGDIAN NUMBER TWENTY", + direction="r", + linebreak="al", + unicodeslot=0x10F23, + }, + [0x10F24]={ + category="no", + description="OLD SOGDIAN NUMBER THIRTY", + direction="r", + linebreak="al", + unicodeslot=0x10F24, + }, + [0x10F25]={ + category="no", + description="OLD SOGDIAN NUMBER ONE HUNDRED", + direction="r", + linebreak="al", + unicodeslot=0x10F25, + }, + [0x10F26]={ + category="no", + description="OLD SOGDIAN FRACTION ONE HALF", + direction="r", + linebreak="al", + unicodeslot=0x10F26, + }, + [0x10F27]={ + category="lo", + description="OLD SOGDIAN LIGATURE AYIN-DALETH", + direction="r", + linebreak="al", + unicodeslot=0x10F27, + }, + [0x10F30]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER ALEPH", + direction="al", + linebreak="al", + unicodeslot=0x10F30, + }, + [0x10F31]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER BETH", + direction="al", + linebreak="al", + unicodeslot=0x10F31, + }, + [0x10F32]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER GIMEL", + direction="al", + linebreak="al", + unicodeslot=0x10F32, + }, + [0x10F33]={ + arabic="r", + category="lo", + description="SOGDIAN LETTER HE", + direction="al", + linebreak="al", + unicodeslot=0x10F33, + }, + [0x10F34]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER WAW", + direction="al", + linebreak="al", + unicodeslot=0x10F34, + }, + [0x10F35]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER ZAYIN", + direction="al", + linebreak="al", + unicodeslot=0x10F35, + }, + [0x10F36]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER HETH", + direction="al", + linebreak="al", + unicodeslot=0x10F36, + }, + [0x10F37]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER YODH", + direction="al", + linebreak="al", + unicodeslot=0x10F37, + }, + [0x10F38]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER KAPH", + direction="al", + linebreak="al", + unicodeslot=0x10F38, + }, + [0x10F39]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER LAMEDH", + direction="al", + linebreak="al", + unicodeslot=0x10F39, + }, + [0x10F3A]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER MEM", + direction="al", + linebreak="al", + unicodeslot=0x10F3A, + }, + [0x10F3B]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER NUN", + direction="al", + linebreak="al", + unicodeslot=0x10F3B, + }, + [0x10F3C]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER SAMEKH", + direction="al", + linebreak="al", + unicodeslot=0x10F3C, + }, + [0x10F3D]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER AYIN", + direction="al", + linebreak="al", + unicodeslot=0x10F3D, + }, + [0x10F3E]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER PE", + direction="al", + linebreak="al", + unicodeslot=0x10F3E, + }, + [0x10F3F]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER SADHE", + direction="al", + linebreak="al", + unicodeslot=0x10F3F, + }, + [0x10F40]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER RESH-AYIN", + direction="al", + linebreak="al", + unicodeslot=0x10F40, + }, + [0x10F41]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER SHIN", + direction="al", + linebreak="al", + unicodeslot=0x10F41, + }, + [0x10F42]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER TAW", + direction="al", + linebreak="al", + unicodeslot=0x10F42, + }, + [0x10F43]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER FETH", + direction="al", + linebreak="al", + unicodeslot=0x10F43, + }, + [0x10F44]={ + arabic="d", + category="lo", + description="SOGDIAN LETTER LESH", + direction="al", + linebreak="al", + unicodeslot=0x10F44, + }, + [0x10F45]={ + arabic="u", + category="lo", + description="SOGDIAN INDEPENDENT SHIN", + direction="al", + linebreak="al", + unicodeslot=0x10F45, + }, + [0x10F46]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING DOT BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F46, + }, + [0x10F47]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING TWO DOTS BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F47, + }, + [0x10F48]={ + category="mn", + combining=0xE6, + description="SOGDIAN COMBINING DOT ABOVE", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F48, + }, + [0x10F49]={ + category="mn", + combining=0xE6, + description="SOGDIAN COMBINING TWO DOTS ABOVE", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F49, + }, + [0x10F4A]={ + category="mn", + combining=0xE6, + description="SOGDIAN COMBINING CURVE ABOVE", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4A, + }, + [0x10F4B]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING CURVE BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4B, + }, + [0x10F4C]={ + category="mn", + combining=0xE6, + description="SOGDIAN COMBINING HOOK ABOVE", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4C, + }, + [0x10F4D]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING HOOK BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4D, + }, + [0x10F4E]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING LONG HOOK BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4E, + }, + [0x10F4F]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING RESH BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F4F, + }, + [0x10F50]={ + category="mn", + combining=0xDC, + description="SOGDIAN COMBINING STROKE BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x10F50, + }, + [0x10F51]={ + arabic="d", + category="no", + description="SOGDIAN NUMBER ONE", + direction="al", + linebreak="al", + unicodeslot=0x10F51, + }, + [0x10F52]={ + arabic="d", + category="no", + description="SOGDIAN NUMBER TEN", + direction="al", + linebreak="al", + unicodeslot=0x10F52, + }, + [0x10F53]={ + arabic="d", + category="no", + description="SOGDIAN NUMBER TWENTY", + direction="al", + linebreak="al", + unicodeslot=0x10F53, + }, + [0x10F54]={ + arabic="r", + category="no", + description="SOGDIAN NUMBER ONE HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x10F54, + }, + [0x10F55]={ + category="po", + description="SOGDIAN PUNCTUATION TWO VERTICAL BARS", + direction="al", + linebreak="al", + unicodeslot=0x10F55, + }, + [0x10F56]={ + category="po", + description="SOGDIAN PUNCTUATION TWO VERTICAL BARS WITH DOTS", + direction="al", + linebreak="al", + unicodeslot=0x10F56, + }, + [0x10F57]={ + category="po", + description="SOGDIAN PUNCTUATION CIRCLE WITH DOT", + direction="al", + linebreak="al", + unicodeslot=0x10F57, + }, + [0x10F58]={ + category="po", + description="SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS", + direction="al", + linebreak="al", + unicodeslot=0x10F58, + }, + [0x10F59]={ + category="po", + description="SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT", + direction="al", + linebreak="al", + unicodeslot=0x10F59, + }, [0x11000]={ category="mc", description="BRAHMI SIGN CANDRABINDU", @@ -155733,6 +157604,7 @@ characters.data={ unicodeslot=0x110BC, }, [0x110BD]={ + arabic="u", category="cf", description="KAITHI NUMBER SIGN", direction="l", @@ -155767,6 +157639,14 @@ characters.data={ linebreak="ba", unicodeslot=0x110C1, }, + [0x110CD]={ + arabic="u", + category="cf", + description="KAITHI NUMBER SIGN ABOVE", + direction="l", + linebreak="al", + unicodeslot=0x110CD, + }, [0x110D0]={ category="lo", description="SORA SOMPENG LETTER SAH", @@ -156488,6 +158368,27 @@ characters.data={ linebreak="ba", unicodeslot=0x11143, }, + [0x11144]={ + category="lo", + description="CHAKMA LETTER LHAA", + direction="l", + linebreak="al", + unicodeslot=0x11144, + }, + [0x11145]={ + category="mc", + description="CHAKMA VOWEL SIGN AA", + direction="l", + linebreak="cm", + unicodeslot=0x11145, + }, + [0x11146]={ + category="mc", + description="CHAKMA VOWEL SIGN EI", + direction="l", + linebreak="cm", + unicodeslot=0x11146, + }, [0x11150]={ category="lo", description="MAHAJANI LETTER A", @@ -157277,8 +159178,8 @@ characters.data={ [0x111C9]={ category="po", description="SHARADA SANDHI MARK", - direction="l", - linebreak="al", + direction="nsm", + linebreak="cm", unicodeslot=0x111C9, }, [0x111CA]={ @@ -159099,6 +161000,14 @@ characters.data={ linebreak="al", unicodeslot=0x11339, }, + [0x1133B]={ + category="mn", + combining=0x7, + description="COMBINING BINDU BELOW", + direction="nsm", + linebreak="cm", + unicodeslot=0x1133B, + }, [0x1133C]={ category="mn", combining=0x7, @@ -160006,6 +161915,14 @@ characters.data={ linebreak="al", unicodeslot=0x1145D, }, + [0x1145E]={ + category="mn", + combining=0xE6, + description="NEWA SANDHI MARK", + direction="nsm", + linebreak="cm", + unicodeslot=0x1145E, + }, [0x11480]={ category="lo", description="TIRHUTA ANJI", @@ -162524,6 +164441,13 @@ characters.data={ linebreak="sa", unicodeslot=0x11719, }, + [0x1171A]={ + category="lo", + description="AHOM LETTER ALTERNATE BA", + direction="l", + linebreak="sa", + unicodeslot=0x1171A, + }, [0x1171D]={ category="mn", description="AHOM CONSONANT SIGN MEDIAL LA", @@ -162742,6 +164666,428 @@ characters.data={ linebreak="sa", unicodeslot=0x1173F, }, + [0x11800]={ + category="lo", + description="DOGRA LETTER A", + direction="l", + linebreak="al", + unicodeslot=0x11800, + }, + [0x11801]={ + category="lo", + description="DOGRA LETTER AA", + direction="l", + linebreak="al", + unicodeslot=0x11801, + }, + [0x11802]={ + category="lo", + description="DOGRA LETTER I", + direction="l", + linebreak="al", + unicodeslot=0x11802, + }, + [0x11803]={ + category="lo", + description="DOGRA LETTER II", + direction="l", + linebreak="al", + unicodeslot=0x11803, + }, + [0x11804]={ + category="lo", + description="DOGRA LETTER U", + direction="l", + linebreak="al", + unicodeslot=0x11804, + }, + [0x11805]={ + category="lo", + description="DOGRA LETTER UU", + direction="l", + linebreak="al", + unicodeslot=0x11805, + }, + [0x11806]={ + category="lo", + description="DOGRA LETTER E", + direction="l", + linebreak="al", + unicodeslot=0x11806, + }, + [0x11807]={ + category="lo", + description="DOGRA LETTER AI", + direction="l", + linebreak="al", + unicodeslot=0x11807, + }, + [0x11808]={ + category="lo", + description="DOGRA LETTER O", + direction="l", + linebreak="al", + unicodeslot=0x11808, + }, + [0x11809]={ + category="lo", + description="DOGRA LETTER AU", + direction="l", + linebreak="al", + unicodeslot=0x11809, + }, + [0x1180A]={ + category="lo", + description="DOGRA LETTER KA", + direction="l", + linebreak="al", + unicodeslot=0x1180A, + }, + [0x1180B]={ + category="lo", + description="DOGRA LETTER KHA", + direction="l", + linebreak="al", + unicodeslot=0x1180B, + }, + [0x1180C]={ + category="lo", + description="DOGRA LETTER GA", + direction="l", + linebreak="al", + unicodeslot=0x1180C, + }, + [0x1180D]={ + category="lo", + description="DOGRA LETTER GHA", + direction="l", + linebreak="al", + unicodeslot=0x1180D, + }, + [0x1180E]={ + category="lo", + description="DOGRA LETTER NGA", + direction="l", + linebreak="al", + unicodeslot=0x1180E, + }, + [0x1180F]={ + category="lo", + description="DOGRA LETTER CA", + direction="l", + linebreak="al", + unicodeslot=0x1180F, + }, + [0x11810]={ + category="lo", + description="DOGRA LETTER CHA", + direction="l", + linebreak="al", + unicodeslot=0x11810, + }, + [0x11811]={ + category="lo", + description="DOGRA LETTER JA", + direction="l", + linebreak="al", + unicodeslot=0x11811, + }, + [0x11812]={ + category="lo", + description="DOGRA LETTER JHA", + direction="l", + linebreak="al", + unicodeslot=0x11812, + }, + [0x11813]={ + category="lo", + description="DOGRA LETTER NYA", + direction="l", + linebreak="al", + unicodeslot=0x11813, + }, + [0x11814]={ + category="lo", + description="DOGRA LETTER TTA", + direction="l", + linebreak="al", + unicodeslot=0x11814, + }, + [0x11815]={ + category="lo", + description="DOGRA LETTER TTHA", + direction="l", + linebreak="al", + unicodeslot=0x11815, + }, + [0x11816]={ + category="lo", + description="DOGRA LETTER DDA", + direction="l", + linebreak="al", + unicodeslot=0x11816, + }, + [0x11817]={ + category="lo", + description="DOGRA LETTER DDHA", + direction="l", + linebreak="al", + unicodeslot=0x11817, + }, + [0x11818]={ + category="lo", + description="DOGRA LETTER NNA", + direction="l", + linebreak="al", + unicodeslot=0x11818, + }, + [0x11819]={ + category="lo", + description="DOGRA LETTER TA", + direction="l", + linebreak="al", + unicodeslot=0x11819, + }, + [0x1181A]={ + category="lo", + description="DOGRA LETTER THA", + direction="l", + linebreak="al", + unicodeslot=0x1181A, + }, + [0x1181B]={ + category="lo", + description="DOGRA LETTER DA", + direction="l", + linebreak="al", + unicodeslot=0x1181B, + }, + [0x1181C]={ + category="lo", + description="DOGRA LETTER DHA", + direction="l", + linebreak="al", + unicodeslot=0x1181C, + }, + [0x1181D]={ + category="lo", + description="DOGRA LETTER NA", + direction="l", + linebreak="al", + unicodeslot=0x1181D, + }, + [0x1181E]={ + category="lo", + description="DOGRA LETTER PA", + direction="l", + linebreak="al", + unicodeslot=0x1181E, + }, + [0x1181F]={ + category="lo", + description="DOGRA LETTER PHA", + direction="l", + linebreak="al", + unicodeslot=0x1181F, + }, + [0x11820]={ + category="lo", + description="DOGRA LETTER BA", + direction="l", + linebreak="al", + unicodeslot=0x11820, + }, + [0x11821]={ + category="lo", + description="DOGRA LETTER BHA", + direction="l", + linebreak="al", + unicodeslot=0x11821, + }, + [0x11822]={ + category="lo", + description="DOGRA LETTER MA", + direction="l", + linebreak="al", + unicodeslot=0x11822, + }, + [0x11823]={ + category="lo", + description="DOGRA LETTER YA", + direction="l", + linebreak="al", + unicodeslot=0x11823, + }, + [0x11824]={ + category="lo", + description="DOGRA LETTER RA", + direction="l", + linebreak="al", + unicodeslot=0x11824, + }, + [0x11825]={ + category="lo", + description="DOGRA LETTER LA", + direction="l", + linebreak="al", + unicodeslot=0x11825, + }, + [0x11826]={ + category="lo", + description="DOGRA LETTER VA", + direction="l", + linebreak="al", + unicodeslot=0x11826, + }, + [0x11827]={ + category="lo", + description="DOGRA LETTER SHA", + direction="l", + linebreak="al", + unicodeslot=0x11827, + }, + [0x11828]={ + category="lo", + description="DOGRA LETTER SSA", + direction="l", + linebreak="al", + unicodeslot=0x11828, + }, + [0x11829]={ + category="lo", + description="DOGRA LETTER SA", + direction="l", + linebreak="al", + unicodeslot=0x11829, + }, + [0x1182A]={ + category="lo", + description="DOGRA LETTER HA", + direction="l", + linebreak="al", + unicodeslot=0x1182A, + }, + [0x1182B]={ + category="lo", + description="DOGRA LETTER RRA", + direction="l", + linebreak="al", + unicodeslot=0x1182B, + }, + [0x1182C]={ + category="mc", + description="DOGRA VOWEL SIGN AA", + direction="l", + linebreak="cm", + unicodeslot=0x1182C, + }, + [0x1182D]={ + category="mc", + description="DOGRA VOWEL SIGN I", + direction="l", + linebreak="cm", + unicodeslot=0x1182D, + }, + [0x1182E]={ + category="mc", + description="DOGRA VOWEL SIGN II", + direction="l", + linebreak="cm", + unicodeslot=0x1182E, + }, + [0x1182F]={ + category="mn", + description="DOGRA VOWEL SIGN U", + direction="nsm", + linebreak="cm", + unicodeslot=0x1182F, + }, + [0x11830]={ + category="mn", + description="DOGRA VOWEL SIGN UU", + direction="nsm", + linebreak="cm", + unicodeslot=0x11830, + }, + [0x11831]={ + category="mn", + description="DOGRA VOWEL SIGN VOCALIC R", + direction="nsm", + linebreak="cm", + unicodeslot=0x11831, + }, + [0x11832]={ + category="mn", + description="DOGRA VOWEL SIGN VOCALIC RR", + direction="nsm", + linebreak="cm", + unicodeslot=0x11832, + }, + [0x11833]={ + category="mn", + description="DOGRA VOWEL SIGN E", + direction="nsm", + linebreak="cm", + unicodeslot=0x11833, + }, + [0x11834]={ + category="mn", + description="DOGRA VOWEL SIGN AI", + direction="nsm", + linebreak="cm", + unicodeslot=0x11834, + }, + [0x11835]={ + category="mn", + description="DOGRA VOWEL SIGN O", + direction="nsm", + linebreak="cm", + unicodeslot=0x11835, + }, + [0x11836]={ + category="mn", + description="DOGRA VOWEL SIGN AU", + direction="nsm", + linebreak="cm", + unicodeslot=0x11836, + }, + [0x11837]={ + category="mn", + description="DOGRA SIGN ANUSVARA", + direction="nsm", + linebreak="cm", + unicodeslot=0x11837, + }, + [0x11838]={ + category="mc", + description="DOGRA SIGN VISARGA", + direction="l", + linebreak="cm", + unicodeslot=0x11838, + }, + [0x11839]={ + category="mn", + combining=0x9, + description="DOGRA SIGN VIRAMA", + direction="nsm", + linebreak="cm", + unicodeslot=0x11839, + }, + [0x1183A]={ + category="mn", + combining=0x7, + description="DOGRA SIGN NUKTA", + direction="nsm", + linebreak="cm", + unicodeslot=0x1183A, + }, + [0x1183B]={ + category="po", + description="DOGRA ABBREVIATION SIGN", + direction="l", + linebreak="al", + unicodeslot=0x1183B, + }, [0x118A0]={ category="lu", description="WARANG CITI CAPITAL LETTER NGAA", @@ -164362,6 +166708,13 @@ characters.data={ linebreak="ba", unicodeslot=0x11A9C, }, + [0x11A9D]={ + category="lo", + description="SOYOMBO MARK PLUTA", + direction="l", + linebreak="al", + unicodeslot=0x11A9D, + }, [0x11A9E]={ category="po", description="SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME", @@ -166480,6 +168833,623 @@ characters.data={ linebreak="nu", unicodeslot=0x11D59, }, + [0x11D60]={ + category="lo", + description="GUNJALA GONDI LETTER A", + direction="l", + linebreak="al", + unicodeslot=0x11D60, + }, + [0x11D61]={ + category="lo", + description="GUNJALA GONDI LETTER AA", + direction="l", + linebreak="al", + unicodeslot=0x11D61, + }, + [0x11D62]={ + category="lo", + description="GUNJALA GONDI LETTER I", + direction="l", + linebreak="al", + unicodeslot=0x11D62, + }, + [0x11D63]={ + category="lo", + description="GUNJALA GONDI LETTER II", + direction="l", + linebreak="al", + unicodeslot=0x11D63, + }, + [0x11D64]={ + category="lo", + description="GUNJALA GONDI LETTER U", + direction="l", + linebreak="al", + unicodeslot=0x11D64, + }, + [0x11D65]={ + category="lo", + description="GUNJALA GONDI LETTER UU", + direction="l", + linebreak="al", + unicodeslot=0x11D65, + }, + [0x11D67]={ + category="lo", + description="GUNJALA GONDI LETTER EE", + direction="l", + linebreak="al", + unicodeslot=0x11D67, + }, + [0x11D68]={ + category="lo", + description="GUNJALA GONDI LETTER AI", + direction="l", + linebreak="al", + unicodeslot=0x11D68, + }, + [0x11D6A]={ + category="lo", + description="GUNJALA GONDI LETTER OO", + direction="l", + linebreak="al", + unicodeslot=0x11D6A, + }, + [0x11D6B]={ + category="lo", + description="GUNJALA GONDI LETTER AU", + direction="l", + linebreak="al", + unicodeslot=0x11D6B, + }, + [0x11D6C]={ + category="lo", + description="GUNJALA GONDI LETTER YA", + direction="l", + linebreak="al", + unicodeslot=0x11D6C, + }, + [0x11D6D]={ + category="lo", + description="GUNJALA GONDI LETTER VA", + direction="l", + linebreak="al", + unicodeslot=0x11D6D, + }, + [0x11D6E]={ + category="lo", + description="GUNJALA GONDI LETTER BA", + direction="l", + linebreak="al", + unicodeslot=0x11D6E, + }, + [0x11D6F]={ + category="lo", + description="GUNJALA GONDI LETTER BHA", + direction="l", + linebreak="al", + unicodeslot=0x11D6F, + }, + [0x11D70]={ + category="lo", + description="GUNJALA GONDI LETTER MA", + direction="l", + linebreak="al", + unicodeslot=0x11D70, + }, + [0x11D71]={ + category="lo", + description="GUNJALA GONDI LETTER KA", + direction="l", + linebreak="al", + unicodeslot=0x11D71, + }, + [0x11D72]={ + category="lo", + description="GUNJALA GONDI LETTER KHA", + direction="l", + linebreak="al", + unicodeslot=0x11D72, + }, + [0x11D73]={ + category="lo", + description="GUNJALA GONDI LETTER TA", + direction="l", + linebreak="al", + unicodeslot=0x11D73, + }, + [0x11D74]={ + category="lo", + description="GUNJALA GONDI LETTER THA", + direction="l", + linebreak="al", + unicodeslot=0x11D74, + }, + [0x11D75]={ + category="lo", + description="GUNJALA GONDI LETTER LA", + direction="l", + linebreak="al", + unicodeslot=0x11D75, + }, + [0x11D76]={ + category="lo", + description="GUNJALA GONDI LETTER GA", + direction="l", + linebreak="al", + unicodeslot=0x11D76, + }, + [0x11D77]={ + category="lo", + description="GUNJALA GONDI LETTER GHA", + direction="l", + linebreak="al", + unicodeslot=0x11D77, + }, + [0x11D78]={ + category="lo", + description="GUNJALA GONDI LETTER DA", + direction="l", + linebreak="al", + unicodeslot=0x11D78, + }, + [0x11D79]={ + category="lo", + description="GUNJALA GONDI LETTER DHA", + direction="l", + linebreak="al", + unicodeslot=0x11D79, + }, + [0x11D7A]={ + category="lo", + description="GUNJALA GONDI LETTER NA", + direction="l", + linebreak="al", + unicodeslot=0x11D7A, + }, + [0x11D7B]={ + category="lo", + description="GUNJALA GONDI LETTER CA", + direction="l", + linebreak="al", + unicodeslot=0x11D7B, + }, + [0x11D7C]={ + category="lo", + description="GUNJALA GONDI LETTER CHA", + direction="l", + linebreak="al", + unicodeslot=0x11D7C, + }, + [0x11D7D]={ + category="lo", + description="GUNJALA GONDI LETTER TTA", + direction="l", + linebreak="al", + unicodeslot=0x11D7D, + }, + [0x11D7E]={ + category="lo", + description="GUNJALA GONDI LETTER TTHA", + direction="l", + linebreak="al", + unicodeslot=0x11D7E, + }, + [0x11D7F]={ + category="lo", + description="GUNJALA GONDI LETTER LLA", + direction="l", + linebreak="al", + unicodeslot=0x11D7F, + }, + [0x11D80]={ + category="lo", + description="GUNJALA GONDI LETTER JA", + direction="l", + linebreak="al", + unicodeslot=0x11D80, + }, + [0x11D81]={ + category="lo", + description="GUNJALA GONDI LETTER JHA", + direction="l", + linebreak="al", + unicodeslot=0x11D81, + }, + [0x11D82]={ + category="lo", + description="GUNJALA GONDI LETTER DDA", + direction="l", + linebreak="al", + unicodeslot=0x11D82, + }, + [0x11D83]={ + category="lo", + description="GUNJALA GONDI LETTER DDHA", + direction="l", + linebreak="al", + unicodeslot=0x11D83, + }, + [0x11D84]={ + category="lo", + description="GUNJALA GONDI LETTER NGA", + direction="l", + linebreak="al", + unicodeslot=0x11D84, + }, + [0x11D85]={ + category="lo", + description="GUNJALA GONDI LETTER PA", + direction="l", + linebreak="al", + unicodeslot=0x11D85, + }, + [0x11D86]={ + category="lo", + description="GUNJALA GONDI LETTER PHA", + direction="l", + linebreak="al", + unicodeslot=0x11D86, + }, + [0x11D87]={ + category="lo", + description="GUNJALA GONDI LETTER HA", + direction="l", + linebreak="al", + unicodeslot=0x11D87, + }, + [0x11D88]={ + category="lo", + description="GUNJALA GONDI LETTER RA", + direction="l", + linebreak="al", + unicodeslot=0x11D88, + }, + [0x11D89]={ + category="lo", + description="GUNJALA GONDI LETTER SA", + direction="l", + linebreak="al", + unicodeslot=0x11D89, + }, + [0x11D8A]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN AA", + direction="l", + linebreak="cm", + unicodeslot=0x11D8A, + }, + [0x11D8B]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN I", + direction="l", + linebreak="cm", + unicodeslot=0x11D8B, + }, + [0x11D8C]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN II", + direction="l", + linebreak="cm", + unicodeslot=0x11D8C, + }, + [0x11D8D]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN U", + direction="l", + linebreak="cm", + unicodeslot=0x11D8D, + }, + [0x11D8E]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN UU", + direction="l", + linebreak="cm", + unicodeslot=0x11D8E, + }, + [0x11D90]={ + category="mn", + description="GUNJALA GONDI VOWEL SIGN EE", + direction="nsm", + linebreak="cm", + unicodeslot=0x11D90, + }, + [0x11D91]={ + category="mn", + description="GUNJALA GONDI VOWEL SIGN AI", + direction="nsm", + linebreak="cm", + unicodeslot=0x11D91, + }, + [0x11D93]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN OO", + direction="l", + linebreak="cm", + unicodeslot=0x11D93, + }, + [0x11D94]={ + category="mc", + description="GUNJALA GONDI VOWEL SIGN AU", + direction="l", + linebreak="cm", + unicodeslot=0x11D94, + }, + [0x11D95]={ + category="mn", + description="GUNJALA GONDI SIGN ANUSVARA", + direction="nsm", + linebreak="cm", + unicodeslot=0x11D95, + }, + [0x11D96]={ + category="mc", + description="GUNJALA GONDI SIGN VISARGA", + direction="l", + linebreak="cm", + unicodeslot=0x11D96, + }, + [0x11D97]={ + category="mn", + combining=0x9, + description="GUNJALA GONDI VIRAMA", + direction="nsm", + linebreak="cm", + unicodeslot=0x11D97, + }, + [0x11D98]={ + category="lo", + description="GUNJALA GONDI OM", + direction="l", + linebreak="al", + unicodeslot=0x11D98, + }, + [0x11DA0]={ + category="nd", + description="GUNJALA GONDI DIGIT ZERO", + direction="l", + linebreak="nu", + unicodeslot=0x11DA0, + }, + [0x11DA1]={ + category="nd", + description="GUNJALA GONDI DIGIT ONE", + direction="l", + linebreak="nu", + unicodeslot=0x11DA1, + }, + [0x11DA2]={ + category="nd", + description="GUNJALA GONDI DIGIT TWO", + direction="l", + linebreak="nu", + unicodeslot=0x11DA2, + }, + [0x11DA3]={ + category="nd", + description="GUNJALA GONDI DIGIT THREE", + direction="l", + linebreak="nu", + unicodeslot=0x11DA3, + }, + [0x11DA4]={ + category="nd", + description="GUNJALA GONDI DIGIT FOUR", + direction="l", + linebreak="nu", + unicodeslot=0x11DA4, + }, + [0x11DA5]={ + category="nd", + description="GUNJALA GONDI DIGIT FIVE", + direction="l", + linebreak="nu", + unicodeslot=0x11DA5, + }, + [0x11DA6]={ + category="nd", + description="GUNJALA GONDI DIGIT SIX", + direction="l", + linebreak="nu", + unicodeslot=0x11DA6, + }, + [0x11DA7]={ + category="nd", + description="GUNJALA GONDI DIGIT SEVEN", + direction="l", + linebreak="nu", + unicodeslot=0x11DA7, + }, + [0x11DA8]={ + category="nd", + description="GUNJALA GONDI DIGIT EIGHT", + direction="l", + linebreak="nu", + unicodeslot=0x11DA8, + }, + [0x11DA9]={ + category="nd", + description="GUNJALA GONDI DIGIT NINE", + direction="l", + linebreak="nu", + unicodeslot=0x11DA9, + }, + [0x11EE0]={ + category="lo", + description="MAKASAR LETTER KA", + direction="l", + linebreak="al", + unicodeslot=0x11EE0, + }, + [0x11EE1]={ + category="lo", + description="MAKASAR LETTER GA", + direction="l", + linebreak="al", + unicodeslot=0x11EE1, + }, + [0x11EE2]={ + category="lo", + description="MAKASAR LETTER NGA", + direction="l", + linebreak="al", + unicodeslot=0x11EE2, + }, + [0x11EE3]={ + category="lo", + description="MAKASAR LETTER PA", + direction="l", + linebreak="al", + unicodeslot=0x11EE3, + }, + [0x11EE4]={ + category="lo", + description="MAKASAR LETTER BA", + direction="l", + linebreak="al", + unicodeslot=0x11EE4, + }, + [0x11EE5]={ + category="lo", + description="MAKASAR LETTER MA", + direction="l", + linebreak="al", + unicodeslot=0x11EE5, + }, + [0x11EE6]={ + category="lo", + description="MAKASAR LETTER TA", + direction="l", + linebreak="al", + unicodeslot=0x11EE6, + }, + [0x11EE7]={ + category="lo", + description="MAKASAR LETTER DA", + direction="l", + linebreak="al", + unicodeslot=0x11EE7, + }, + [0x11EE8]={ + category="lo", + description="MAKASAR LETTER NA", + direction="l", + linebreak="al", + unicodeslot=0x11EE8, + }, + [0x11EE9]={ + category="lo", + description="MAKASAR LETTER CA", + direction="l", + linebreak="al", + unicodeslot=0x11EE9, + }, + [0x11EEA]={ + category="lo", + description="MAKASAR LETTER JA", + direction="l", + linebreak="al", + unicodeslot=0x11EEA, + }, + [0x11EEB]={ + category="lo", + description="MAKASAR LETTER NYA", + direction="l", + linebreak="al", + unicodeslot=0x11EEB, + }, + [0x11EEC]={ + category="lo", + description="MAKASAR LETTER YA", + direction="l", + linebreak="al", + unicodeslot=0x11EEC, + }, + [0x11EED]={ + category="lo", + description="MAKASAR LETTER RA", + direction="l", + linebreak="al", + unicodeslot=0x11EED, + }, + [0x11EEE]={ + category="lo", + description="MAKASAR LETTER LA", + direction="l", + linebreak="al", + unicodeslot=0x11EEE, + }, + [0x11EEF]={ + category="lo", + description="MAKASAR LETTER VA", + direction="l", + linebreak="al", + unicodeslot=0x11EEF, + }, + [0x11EF0]={ + category="lo", + description="MAKASAR LETTER SA", + direction="l", + linebreak="al", + unicodeslot=0x11EF0, + }, + [0x11EF1]={ + category="lo", + description="MAKASAR LETTER A", + direction="l", + linebreak="al", + unicodeslot=0x11EF1, + }, + [0x11EF2]={ + category="lo", + description="MAKASAR ANGKA", + direction="l", + linebreak="al", + unicodeslot=0x11EF2, + }, + [0x11EF3]={ + category="mn", + description="MAKASAR VOWEL SIGN I", + direction="nsm", + linebreak="cm", + unicodeslot=0x11EF3, + }, + [0x11EF4]={ + category="mn", + description="MAKASAR VOWEL SIGN U", + direction="nsm", + linebreak="cm", + unicodeslot=0x11EF4, + }, + [0x11EF5]={ + category="mc", + description="MAKASAR VOWEL SIGN E", + direction="l", + linebreak="cm", + unicodeslot=0x11EF5, + }, + [0x11EF6]={ + category="mc", + description="MAKASAR VOWEL SIGN O", + direction="l", + linebreak="cm", + unicodeslot=0x11EF6, + }, + [0x11EF7]={ + category="po", + description="MAKASAR PASSIMBANG", + direction="l", + linebreak="al", + unicodeslot=0x11EF7, + }, + [0x11EF8]={ + category="po", + description="MAKASAR END OF SECTION", + direction="l", + linebreak="al", + unicodeslot=0x11EF8, + }, [0x12000]={ category="lo", description="CUNEIFORM SIGN A", @@ -192135,6 +195105,643 @@ characters.data={ linebreak="al", unicodeslot=0x16B8F, }, + [0x16E40]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER M", + direction="l", + linebreak="al", + unicodeslot=0x16E40, + }, + [0x16E41]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER S", + direction="l", + linebreak="al", + unicodeslot=0x16E41, + }, + [0x16E42]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER V", + direction="l", + linebreak="al", + unicodeslot=0x16E42, + }, + [0x16E43]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER W", + direction="l", + linebreak="al", + unicodeslot=0x16E43, + }, + [0x16E44]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER ATIU", + direction="l", + linebreak="al", + unicodeslot=0x16E44, + }, + [0x16E45]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER Z", + direction="l", + linebreak="al", + unicodeslot=0x16E45, + }, + [0x16E46]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER KP", + direction="l", + linebreak="al", + unicodeslot=0x16E46, + }, + [0x16E47]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER P", + direction="l", + linebreak="al", + unicodeslot=0x16E47, + }, + [0x16E48]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER T", + direction="l", + linebreak="al", + unicodeslot=0x16E48, + }, + [0x16E49]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER G", + direction="l", + linebreak="al", + unicodeslot=0x16E49, + }, + [0x16E4A]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER F", + direction="l", + linebreak="al", + unicodeslot=0x16E4A, + }, + [0x16E4B]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER I", + direction="l", + linebreak="al", + unicodeslot=0x16E4B, + }, + [0x16E4C]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER K", + direction="l", + linebreak="al", + unicodeslot=0x16E4C, + }, + [0x16E4D]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER A", + direction="l", + linebreak="al", + unicodeslot=0x16E4D, + }, + [0x16E4E]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER J", + direction="l", + linebreak="al", + unicodeslot=0x16E4E, + }, + [0x16E4F]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER E", + direction="l", + linebreak="al", + unicodeslot=0x16E4F, + }, + [0x16E50]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER B", + direction="l", + linebreak="al", + unicodeslot=0x16E50, + }, + [0x16E51]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER C", + direction="l", + linebreak="al", + unicodeslot=0x16E51, + }, + [0x16E52]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER U", + direction="l", + linebreak="al", + unicodeslot=0x16E52, + }, + [0x16E53]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER YU", + direction="l", + linebreak="al", + unicodeslot=0x16E53, + }, + [0x16E54]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER L", + direction="l", + linebreak="al", + unicodeslot=0x16E54, + }, + [0x16E55]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER Q", + direction="l", + linebreak="al", + unicodeslot=0x16E55, + }, + [0x16E56]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER HP", + direction="l", + linebreak="al", + unicodeslot=0x16E56, + }, + [0x16E57]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER NY", + direction="l", + linebreak="al", + unicodeslot=0x16E57, + }, + [0x16E58]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER X", + direction="l", + linebreak="al", + unicodeslot=0x16E58, + }, + [0x16E59]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER D", + direction="l", + linebreak="al", + unicodeslot=0x16E59, + }, + [0x16E5A]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER OE", + direction="l", + linebreak="al", + unicodeslot=0x16E5A, + }, + [0x16E5B]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER N", + direction="l", + linebreak="al", + unicodeslot=0x16E5B, + }, + [0x16E5C]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER R", + direction="l", + linebreak="al", + unicodeslot=0x16E5C, + }, + [0x16E5D]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER O", + direction="l", + linebreak="al", + unicodeslot=0x16E5D, + }, + [0x16E5E]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER AI", + direction="l", + linebreak="al", + unicodeslot=0x16E5E, + }, + [0x16E5F]={ + category="lu", + description="MEDEFAIDRIN CAPITAL LETTER Y", + direction="l", + linebreak="al", + unicodeslot=0x16E5F, + }, + [0x16E60]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER M", + direction="l", + linebreak="al", + unicodeslot=0x16E60, + }, + [0x16E61]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER S", + direction="l", + linebreak="al", + unicodeslot=0x16E61, + }, + [0x16E62]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER V", + direction="l", + linebreak="al", + unicodeslot=0x16E62, + }, + [0x16E63]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER W", + direction="l", + linebreak="al", + unicodeslot=0x16E63, + }, + [0x16E64]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER ATIU", + direction="l", + linebreak="al", + unicodeslot=0x16E64, + }, + [0x16E65]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER Z", + direction="l", + linebreak="al", + unicodeslot=0x16E65, + }, + [0x16E66]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER KP", + direction="l", + linebreak="al", + unicodeslot=0x16E66, + }, + [0x16E67]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER P", + direction="l", + linebreak="al", + unicodeslot=0x16E67, + }, + [0x16E68]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER T", + direction="l", + linebreak="al", + unicodeslot=0x16E68, + }, + [0x16E69]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER G", + direction="l", + linebreak="al", + unicodeslot=0x16E69, + }, + [0x16E6A]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER F", + direction="l", + linebreak="al", + unicodeslot=0x16E6A, + }, + [0x16E6B]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER I", + direction="l", + linebreak="al", + unicodeslot=0x16E6B, + }, + [0x16E6C]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER K", + direction="l", + linebreak="al", + unicodeslot=0x16E6C, + }, + [0x16E6D]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER A", + direction="l", + linebreak="al", + unicodeslot=0x16E6D, + }, + [0x16E6E]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER J", + direction="l", + linebreak="al", + unicodeslot=0x16E6E, + }, + [0x16E6F]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER E", + direction="l", + linebreak="al", + unicodeslot=0x16E6F, + }, + [0x16E70]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER B", + direction="l", + linebreak="al", + unicodeslot=0x16E70, + }, + [0x16E71]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER C", + direction="l", + linebreak="al", + unicodeslot=0x16E71, + }, + [0x16E72]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER U", + direction="l", + linebreak="al", + unicodeslot=0x16E72, + }, + [0x16E73]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER YU", + direction="l", + linebreak="al", + unicodeslot=0x16E73, + }, + [0x16E74]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER L", + direction="l", + linebreak="al", + unicodeslot=0x16E74, + }, + [0x16E75]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER Q", + direction="l", + linebreak="al", + unicodeslot=0x16E75, + }, + [0x16E76]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER HP", + direction="l", + linebreak="al", + unicodeslot=0x16E76, + }, + [0x16E77]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER NY", + direction="l", + linebreak="al", + unicodeslot=0x16E77, + }, + [0x16E78]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER X", + direction="l", + linebreak="al", + unicodeslot=0x16E78, + }, + [0x16E79]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER D", + direction="l", + linebreak="al", + unicodeslot=0x16E79, + }, + [0x16E7A]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER OE", + direction="l", + linebreak="al", + unicodeslot=0x16E7A, + }, + [0x16E7B]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER N", + direction="l", + linebreak="al", + unicodeslot=0x16E7B, + }, + [0x16E7C]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER R", + direction="l", + linebreak="al", + unicodeslot=0x16E7C, + }, + [0x16E7D]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER O", + direction="l", + linebreak="al", + unicodeslot=0x16E7D, + }, + [0x16E7E]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER AI", + direction="l", + linebreak="al", + unicodeslot=0x16E7E, + }, + [0x16E7F]={ + category="ll", + description="MEDEFAIDRIN SMALL LETTER Y", + direction="l", + linebreak="al", + unicodeslot=0x16E7F, + }, + [0x16E80]={ + category="no", + description="MEDEFAIDRIN DIGIT ZERO", + direction="l", + linebreak="al", + unicodeslot=0x16E80, + }, + [0x16E81]={ + category="no", + description="MEDEFAIDRIN DIGIT ONE", + direction="l", + linebreak="al", + unicodeslot=0x16E81, + }, + [0x16E82]={ + category="no", + description="MEDEFAIDRIN DIGIT TWO", + direction="l", + linebreak="al", + unicodeslot=0x16E82, + }, + [0x16E83]={ + category="no", + description="MEDEFAIDRIN DIGIT THREE", + direction="l", + linebreak="al", + unicodeslot=0x16E83, + }, + [0x16E84]={ + category="no", + description="MEDEFAIDRIN DIGIT FOUR", + direction="l", + linebreak="al", + unicodeslot=0x16E84, + }, + [0x16E85]={ + category="no", + description="MEDEFAIDRIN DIGIT FIVE", + direction="l", + linebreak="al", + unicodeslot=0x16E85, + }, + [0x16E86]={ + category="no", + description="MEDEFAIDRIN DIGIT SIX", + direction="l", + linebreak="al", + unicodeslot=0x16E86, + }, + [0x16E87]={ + category="no", + description="MEDEFAIDRIN DIGIT SEVEN", + direction="l", + linebreak="al", + unicodeslot=0x16E87, + }, + [0x16E88]={ + category="no", + description="MEDEFAIDRIN DIGIT EIGHT", + direction="l", + linebreak="al", + unicodeslot=0x16E88, + }, + [0x16E89]={ + category="no", + description="MEDEFAIDRIN DIGIT NINE", + direction="l", + linebreak="al", + unicodeslot=0x16E89, + }, + [0x16E8A]={ + category="no", + description="MEDEFAIDRIN NUMBER TEN", + direction="l", + linebreak="al", + unicodeslot=0x16E8A, + }, + [0x16E8B]={ + category="no", + description="MEDEFAIDRIN NUMBER ELEVEN", + direction="l", + linebreak="al", + unicodeslot=0x16E8B, + }, + [0x16E8C]={ + category="no", + description="MEDEFAIDRIN NUMBER TWELVE", + direction="l", + linebreak="al", + unicodeslot=0x16E8C, + }, + [0x16E8D]={ + category="no", + description="MEDEFAIDRIN NUMBER THIRTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E8D, + }, + [0x16E8E]={ + category="no", + description="MEDEFAIDRIN NUMBER FOURTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E8E, + }, + [0x16E8F]={ + category="no", + description="MEDEFAIDRIN NUMBER FIFTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E8F, + }, + [0x16E90]={ + category="no", + description="MEDEFAIDRIN NUMBER SIXTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E90, + }, + [0x16E91]={ + category="no", + description="MEDEFAIDRIN NUMBER SEVENTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E91, + }, + [0x16E92]={ + category="no", + description="MEDEFAIDRIN NUMBER EIGHTEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E92, + }, + [0x16E93]={ + category="no", + description="MEDEFAIDRIN NUMBER NINETEEN", + direction="l", + linebreak="al", + unicodeslot=0x16E93, + }, + [0x16E94]={ + category="no", + description="MEDEFAIDRIN DIGIT ONE ALTERNATE FORM", + direction="l", + linebreak="al", + unicodeslot=0x16E94, + }, + [0x16E95]={ + category="no", + description="MEDEFAIDRIN DIGIT TWO ALTERNATE FORM", + direction="l", + linebreak="al", + unicodeslot=0x16E95, + }, + [0x16E96]={ + category="no", + description="MEDEFAIDRIN DIGIT THREE ALTERNATE FORM", + direction="l", + linebreak="al", + unicodeslot=0x16E96, + }, + [0x16E97]={ + category="po", + description="MEDEFAIDRIN COMMA", + direction="l", + linebreak="ba", + unicodeslot=0x16E97, + }, + [0x16E98]={ + category="po", + description="MEDEFAIDRIN FULL STOP", + direction="l", + linebreak="ba", + unicodeslot=0x16E98, + }, + [0x16E99]={ + category="po", + description="MEDEFAIDRIN SYMBOL AIVA", + direction="l", + linebreak="al", + unicodeslot=0x16E99, + }, + [0x16E9A]={ + category="po", + description="MEDEFAIDRIN EXCLAMATION OH", + direction="l", + linebreak="al", + unicodeslot=0x16E9A, + }, [0x16F00]={ category="lo", description="MIAO LETTER PA", @@ -209493,6 +213100,146 @@ characters.data={ linebreak="al", unicodeslot=0x1D245, }, + [0x1D2E0]={ + category="no", + description="MAYAN NUMERAL ZERO", + direction="l", + linebreak="al", + unicodeslot=0x1D2E0, + }, + [0x1D2E1]={ + category="no", + description="MAYAN NUMERAL ONE", + direction="l", + linebreak="al", + unicodeslot=0x1D2E1, + }, + [0x1D2E2]={ + category="no", + description="MAYAN NUMERAL TWO", + direction="l", + linebreak="al", + unicodeslot=0x1D2E2, + }, + [0x1D2E3]={ + category="no", + description="MAYAN NUMERAL THREE", + direction="l", + linebreak="al", + unicodeslot=0x1D2E3, + }, + [0x1D2E4]={ + category="no", + description="MAYAN NUMERAL FOUR", + direction="l", + linebreak="al", + unicodeslot=0x1D2E4, + }, + [0x1D2E5]={ + category="no", + description="MAYAN NUMERAL FIVE", + direction="l", + linebreak="al", + unicodeslot=0x1D2E5, + }, + [0x1D2E6]={ + category="no", + description="MAYAN NUMERAL SIX", + direction="l", + linebreak="al", + unicodeslot=0x1D2E6, + }, + [0x1D2E7]={ + category="no", + description="MAYAN NUMERAL SEVEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2E7, + }, + [0x1D2E8]={ + category="no", + description="MAYAN NUMERAL EIGHT", + direction="l", + linebreak="al", + unicodeslot=0x1D2E8, + }, + [0x1D2E9]={ + category="no", + description="MAYAN NUMERAL NINE", + direction="l", + linebreak="al", + unicodeslot=0x1D2E9, + }, + [0x1D2EA]={ + category="no", + description="MAYAN NUMERAL TEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2EA, + }, + [0x1D2EB]={ + category="no", + description="MAYAN NUMERAL ELEVEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2EB, + }, + [0x1D2EC]={ + category="no", + description="MAYAN NUMERAL TWELVE", + direction="l", + linebreak="al", + unicodeslot=0x1D2EC, + }, + [0x1D2ED]={ + category="no", + description="MAYAN NUMERAL THIRTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2ED, + }, + [0x1D2EE]={ + category="no", + description="MAYAN NUMERAL FOURTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2EE, + }, + [0x1D2EF]={ + category="no", + description="MAYAN NUMERAL FIFTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2EF, + }, + [0x1D2F0]={ + category="no", + description="MAYAN NUMERAL SIXTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2F0, + }, + [0x1D2F1]={ + category="no", + description="MAYAN NUMERAL SEVENTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2F1, + }, + [0x1D2F2]={ + category="no", + description="MAYAN NUMERAL EIGHTEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2F2, + }, + [0x1D2F3]={ + category="no", + description="MAYAN NUMERAL NINETEEN", + direction="l", + linebreak="al", + unicodeslot=0x1D2F3, + }, [0x1D300]={ category="so", description="MONOGRAM FOR EARTH", @@ -210228,6 +213975,55 @@ characters.data={ linebreak="al", unicodeslot=0x1D371, }, + [0x1D372]={ + category="no", + description="IDEOGRAPHIC TALLY MARK ONE", + direction="l", + linebreak="al", + unicodeslot=0x1D372, + }, + [0x1D373]={ + category="no", + description="IDEOGRAPHIC TALLY MARK TWO", + direction="l", + linebreak="al", + unicodeslot=0x1D373, + }, + [0x1D374]={ + category="no", + description="IDEOGRAPHIC TALLY MARK THREE", + direction="l", + linebreak="al", + unicodeslot=0x1D374, + }, + [0x1D375]={ + category="no", + description="IDEOGRAPHIC TALLY MARK FOUR", + direction="l", + linebreak="al", + unicodeslot=0x1D375, + }, + [0x1D376]={ + category="no", + description="IDEOGRAPHIC TALLY MARK FIVE", + direction="l", + linebreak="al", + unicodeslot=0x1D376, + }, + [0x1D377]={ + category="no", + description="TALLY MARK ONE", + direction="l", + linebreak="al", + unicodeslot=0x1D377, + }, + [0x1D378]={ + category="no", + description="TALLY MARK FIVE", + direction="l", + linebreak="al", + unicodeslot=0x1D378, + }, [0x1D400]={ category="lu", description="MATHEMATICAL BOLD CAPITAL A", @@ -226170,6 +229966,482 @@ characters.data={ linebreak="op", unicodeslot=0x1E95F, }, + [0x1EC71]={ + category="no", + description="INDIC SIYAQ NUMBER ONE", + direction="al", + linebreak="al", + unicodeslot=0x1EC71, + }, + [0x1EC72]={ + category="no", + description="INDIC SIYAQ NUMBER TWO", + direction="al", + linebreak="al", + unicodeslot=0x1EC72, + }, + [0x1EC73]={ + category="no", + description="INDIC SIYAQ NUMBER THREE", + direction="al", + linebreak="al", + unicodeslot=0x1EC73, + }, + [0x1EC74]={ + category="no", + description="INDIC SIYAQ NUMBER FOUR", + direction="al", + linebreak="al", + unicodeslot=0x1EC74, + }, + [0x1EC75]={ + category="no", + description="INDIC SIYAQ NUMBER FIVE", + direction="al", + linebreak="al", + unicodeslot=0x1EC75, + }, + [0x1EC76]={ + category="no", + description="INDIC SIYAQ NUMBER SIX", + direction="al", + linebreak="al", + unicodeslot=0x1EC76, + }, + [0x1EC77]={ + category="no", + description="INDIC SIYAQ NUMBER SEVEN", + direction="al", + linebreak="al", + unicodeslot=0x1EC77, + }, + [0x1EC78]={ + category="no", + description="INDIC SIYAQ NUMBER EIGHT", + direction="al", + linebreak="al", + unicodeslot=0x1EC78, + }, + [0x1EC79]={ + category="no", + description="INDIC SIYAQ NUMBER NINE", + direction="al", + linebreak="al", + unicodeslot=0x1EC79, + }, + [0x1EC7A]={ + category="no", + description="INDIC SIYAQ NUMBER TEN", + direction="al", + linebreak="al", + unicodeslot=0x1EC7A, + }, + [0x1EC7B]={ + category="no", + description="INDIC SIYAQ NUMBER TWENTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC7B, + }, + [0x1EC7C]={ + category="no", + description="INDIC SIYAQ NUMBER THIRTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC7C, + }, + [0x1EC7D]={ + category="no", + description="INDIC SIYAQ NUMBER FORTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC7D, + }, + [0x1EC7E]={ + category="no", + description="INDIC SIYAQ NUMBER FIFTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC7E, + }, + [0x1EC7F]={ + category="no", + description="INDIC SIYAQ NUMBER SIXTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC7F, + }, + [0x1EC80]={ + category="no", + description="INDIC SIYAQ NUMBER SEVENTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC80, + }, + [0x1EC81]={ + category="no", + description="INDIC SIYAQ NUMBER EIGHTY", + direction="al", + linebreak="al", + unicodeslot=0x1EC81, + }, + [0x1EC82]={ + category="no", + description="INDIC SIYAQ NUMBER NINETY", + direction="al", + linebreak="al", + unicodeslot=0x1EC82, + }, + [0x1EC83]={ + category="no", + description="INDIC SIYAQ NUMBER ONE HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC83, + }, + [0x1EC84]={ + category="no", + description="INDIC SIYAQ NUMBER TWO HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC84, + }, + [0x1EC85]={ + category="no", + description="INDIC SIYAQ NUMBER THREE HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC85, + }, + [0x1EC86]={ + category="no", + description="INDIC SIYAQ NUMBER FOUR HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC86, + }, + [0x1EC87]={ + category="no", + description="INDIC SIYAQ NUMBER FIVE HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC87, + }, + [0x1EC88]={ + category="no", + description="INDIC SIYAQ NUMBER SIX HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC88, + }, + [0x1EC89]={ + category="no", + description="INDIC SIYAQ NUMBER SEVEN HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC89, + }, + [0x1EC8A]={ + category="no", + description="INDIC SIYAQ NUMBER EIGHT HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC8A, + }, + [0x1EC8B]={ + category="no", + description="INDIC SIYAQ NUMBER NINE HUNDRED", + direction="al", + linebreak="al", + unicodeslot=0x1EC8B, + }, + [0x1EC8C]={ + category="no", + description="INDIC SIYAQ NUMBER ONE THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC8C, + }, + [0x1EC8D]={ + category="no", + description="INDIC SIYAQ NUMBER TWO THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC8D, + }, + [0x1EC8E]={ + category="no", + description="INDIC SIYAQ NUMBER THREE THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC8E, + }, + [0x1EC8F]={ + category="no", + description="INDIC SIYAQ NUMBER FOUR THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC8F, + }, + [0x1EC90]={ + category="no", + description="INDIC SIYAQ NUMBER FIVE THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC90, + }, + [0x1EC91]={ + category="no", + description="INDIC SIYAQ NUMBER SIX THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC91, + }, + [0x1EC92]={ + category="no", + description="INDIC SIYAQ NUMBER SEVEN THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC92, + }, + [0x1EC93]={ + category="no", + description="INDIC SIYAQ NUMBER EIGHT THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC93, + }, + [0x1EC94]={ + category="no", + description="INDIC SIYAQ NUMBER NINE THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC94, + }, + [0x1EC95]={ + category="no", + description="INDIC SIYAQ NUMBER TEN THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC95, + }, + [0x1EC96]={ + category="no", + description="INDIC SIYAQ NUMBER TWENTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC96, + }, + [0x1EC97]={ + category="no", + description="INDIC SIYAQ NUMBER THIRTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC97, + }, + [0x1EC98]={ + category="no", + description="INDIC SIYAQ NUMBER FORTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC98, + }, + [0x1EC99]={ + category="no", + description="INDIC SIYAQ NUMBER FIFTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC99, + }, + [0x1EC9A]={ + category="no", + description="INDIC SIYAQ NUMBER SIXTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC9A, + }, + [0x1EC9B]={ + category="no", + description="INDIC SIYAQ NUMBER SEVENTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC9B, + }, + [0x1EC9C]={ + category="no", + description="INDIC SIYAQ NUMBER EIGHTY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC9C, + }, + [0x1EC9D]={ + category="no", + description="INDIC SIYAQ NUMBER NINETY THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1EC9D, + }, + [0x1EC9E]={ + category="no", + description="INDIC SIYAQ NUMBER LAKH", + direction="al", + linebreak="al", + unicodeslot=0x1EC9E, + }, + [0x1EC9F]={ + category="no", + description="INDIC SIYAQ NUMBER LAKHAN", + direction="al", + linebreak="al", + unicodeslot=0x1EC9F, + }, + [0x1ECA0]={ + category="no", + description="INDIC SIYAQ LAKH MARK", + direction="al", + linebreak="al", + unicodeslot=0x1ECA0, + }, + [0x1ECA1]={ + category="no", + description="INDIC SIYAQ NUMBER KAROR", + direction="al", + linebreak="al", + unicodeslot=0x1ECA1, + }, + [0x1ECA2]={ + category="no", + description="INDIC SIYAQ NUMBER KARORAN", + direction="al", + linebreak="al", + unicodeslot=0x1ECA2, + }, + [0x1ECA3]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED ONE", + direction="al", + linebreak="al", + unicodeslot=0x1ECA3, + }, + [0x1ECA4]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED TWO", + direction="al", + linebreak="al", + unicodeslot=0x1ECA4, + }, + [0x1ECA5]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED THREE", + direction="al", + linebreak="al", + unicodeslot=0x1ECA5, + }, + [0x1ECA6]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED FOUR", + direction="al", + linebreak="al", + unicodeslot=0x1ECA6, + }, + [0x1ECA7]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED FIVE", + direction="al", + linebreak="al", + unicodeslot=0x1ECA7, + }, + [0x1ECA8]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED SIX", + direction="al", + linebreak="al", + unicodeslot=0x1ECA8, + }, + [0x1ECA9]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED SEVEN", + direction="al", + linebreak="al", + unicodeslot=0x1ECA9, + }, + [0x1ECAA]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED EIGHT", + direction="al", + linebreak="al", + unicodeslot=0x1ECAA, + }, + [0x1ECAB]={ + category="no", + description="INDIC SIYAQ NUMBER PREFIXED NINE", + direction="al", + linebreak="al", + unicodeslot=0x1ECAB, + }, + [0x1ECAC]={ + category="so", + description="INDIC SIYAQ PLACEHOLDER", + direction="al", + linebreak="po", + unicodeslot=0x1ECAC, + }, + [0x1ECAD]={ + category="no", + description="INDIC SIYAQ FRACTION ONE QUARTER", + direction="al", + linebreak="al", + unicodeslot=0x1ECAD, + }, + [0x1ECAE]={ + category="no", + description="INDIC SIYAQ FRACTION ONE HALF", + direction="al", + linebreak="al", + unicodeslot=0x1ECAE, + }, + [0x1ECAF]={ + category="no", + description="INDIC SIYAQ FRACTION THREE QUARTERS", + direction="al", + linebreak="al", + unicodeslot=0x1ECAF, + }, + [0x1ECB0]={ + category="sc", + description="INDIC SIYAQ RUPEE MARK", + direction="al", + linebreak="po", + unicodeslot=0x1ECB0, + }, + [0x1ECB1]={ + category="no", + description="INDIC SIYAQ NUMBER ALTERNATE ONE", + direction="al", + linebreak="al", + unicodeslot=0x1ECB1, + }, + [0x1ECB2]={ + category="no", + description="INDIC SIYAQ NUMBER ALTERNATE TWO", + direction="al", + linebreak="al", + unicodeslot=0x1ECB2, + }, + [0x1ECB3]={ + category="no", + description="INDIC SIYAQ NUMBER ALTERNATE TEN THOUSAND", + direction="al", + linebreak="al", + unicodeslot=0x1ECB3, + }, + [0x1ECB4]={ + category="no", + description="INDIC SIYAQ ALTERNATE LAKH MARK", + direction="al", + linebreak="al", + unicodeslot=0x1ECB4, + }, [0x1EE00]={ category="lo", comment="check math properties", @@ -229431,6 +233703,13 @@ characters.data={ specials={ "circle", 0x57, 0x5A }, unicodeslot=0x1F12E, }, + [0x1F12F]={ + category="so", + description="COPYLEFT SYMBOL", + direction="on", + linebreak="al", + unicodeslot=0x1F12F, + }, [0x1F130]={ category="so", cjkwd="a", @@ -239053,6 +243332,14 @@ characters.data={ linebreak="id", unicodeslot=0x1F6F8, }, + [0x1F6F9]={ + category="so", + cjkwd="w", + description="SKATEBOARD", + direction="on", + linebreak="id", + unicodeslot=0x1F6F9, + }, [0x1F700]={ category="so", description="ALCHEMICAL SYMBOL FOR QUINTESSENCE", @@ -240461,6 +244748,34 @@ characters.data={ linebreak="al", unicodeslot=0x1F7D4, }, + [0x1F7D5]={ + category="so", + description="CIRCLED TRIANGLE", + direction="on", + linebreak="id", + unicodeslot=0x1F7D5, + }, + [0x1F7D6]={ + category="so", + description="NEGATIVE CIRCLED TRIANGLE", + direction="on", + linebreak="id", + unicodeslot=0x1F7D6, + }, + [0x1F7D7]={ + category="so", + description="CIRCLED SQUARE", + direction="on", + linebreak="id", + unicodeslot=0x1F7D7, + }, + [0x1F7D8]={ + category="so", + description="NEGATIVE CIRCLED SQUARE", + direction="on", + linebreak="id", + unicodeslot=0x1F7D8, + }, [0x1F800]={ category="so", description="LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD", @@ -242067,6 +246382,30 @@ characters.data={ linebreak="id", unicodeslot=0x1F94C, }, + [0x1F94D]={ + category="so", + cjkwd="w", + description="LACROSSE STICK AND BALL", + direction="on", + linebreak="id", + unicodeslot=0x1F94D, + }, + [0x1F94E]={ + category="so", + cjkwd="w", + description="SOFTBALL", + direction="on", + linebreak="id", + unicodeslot=0x1F94E, + }, + [0x1F94F]={ + category="so", + cjkwd="w", + description="FLYING DISC", + direction="on", + linebreak="id", + unicodeslot=0x1F94F, + }, [0x1F950]={ category="so", cjkwd="w", @@ -242292,6 +246631,118 @@ characters.data={ linebreak="id", unicodeslot=0x1F96B, }, + [0x1F96C]={ + category="so", + cjkwd="w", + description="LEAFY GREEN", + direction="on", + linebreak="id", + unicodeslot=0x1F96C, + }, + [0x1F96D]={ + category="so", + cjkwd="w", + description="MANGO", + direction="on", + linebreak="id", + unicodeslot=0x1F96D, + }, + [0x1F96E]={ + category="so", + cjkwd="w", + description="MOON CAKE", + direction="on", + linebreak="id", + unicodeslot=0x1F96E, + }, + [0x1F96F]={ + category="so", + cjkwd="w", + description="BAGEL", + direction="on", + linebreak="id", + unicodeslot=0x1F96F, + }, + [0x1F970]={ + category="so", + cjkwd="w", + description="SMILING FACE WITH SMILING EYES AND THREE HEARTS", + direction="on", + linebreak="id", + unicodeslot=0x1F970, + }, + [0x1F973]={ + category="so", + cjkwd="w", + description="FACE WITH PARTY HORN AND PARTY HAT", + direction="on", + linebreak="id", + unicodeslot=0x1F973, + }, + [0x1F974]={ + category="so", + cjkwd="w", + description="FACE WITH UNEVEN EYES AND WAVY MOUTH", + direction="on", + linebreak="id", + unicodeslot=0x1F974, + }, + [0x1F975]={ + category="so", + cjkwd="w", + description="OVERHEATED FACE", + direction="on", + linebreak="id", + unicodeslot=0x1F975, + }, + [0x1F976]={ + category="so", + cjkwd="w", + description="FREEZING FACE", + direction="on", + linebreak="id", + unicodeslot=0x1F976, + }, + [0x1F97A]={ + category="so", + cjkwd="w", + description="FACE WITH PLEADING EYES", + direction="on", + linebreak="id", + unicodeslot=0x1F97A, + }, + [0x1F97C]={ + category="so", + cjkwd="w", + description="LAB COAT", + direction="on", + linebreak="id", + unicodeslot=0x1F97C, + }, + [0x1F97D]={ + category="so", + cjkwd="w", + description="GOGGLES", + direction="on", + linebreak="id", + unicodeslot=0x1F97D, + }, + [0x1F97E]={ + category="so", + cjkwd="w", + description="HIKING BOOT", + direction="on", + linebreak="id", + unicodeslot=0x1F97E, + }, + [0x1F97F]={ + category="so", + cjkwd="w", + description="FLAT SHOE", + direction="on", + linebreak="id", + unicodeslot=0x1F97F, + }, [0x1F980]={ category="so", cjkwd="w", @@ -242485,6 +246936,174 @@ characters.data={ linebreak="id", unicodeslot=0x1F997, }, + [0x1F998]={ + category="so", + cjkwd="w", + description="KANGAROO", + direction="on", + linebreak="id", + unicodeslot=0x1F998, + }, + [0x1F999]={ + category="so", + cjkwd="w", + description="LLAMA", + direction="on", + linebreak="id", + unicodeslot=0x1F999, + }, + [0x1F99A]={ + category="so", + cjkwd="w", + description="PEACOCK", + direction="on", + linebreak="id", + unicodeslot=0x1F99A, + }, + [0x1F99B]={ + category="so", + cjkwd="w", + description="HIPPOPOTAMUS", + direction="on", + linebreak="id", + unicodeslot=0x1F99B, + }, + [0x1F99C]={ + category="so", + cjkwd="w", + description="PARROT", + direction="on", + linebreak="id", + unicodeslot=0x1F99C, + }, + [0x1F99D]={ + category="so", + cjkwd="w", + description="RACCOON", + direction="on", + linebreak="id", + unicodeslot=0x1F99D, + }, + [0x1F99E]={ + category="so", + cjkwd="w", + description="LOBSTER", + direction="on", + linebreak="id", + unicodeslot=0x1F99E, + }, + [0x1F99F]={ + category="so", + cjkwd="w", + description="MOSQUITO", + direction="on", + linebreak="id", + unicodeslot=0x1F99F, + }, + [0x1F9A0]={ + category="so", + cjkwd="w", + description="MICROBE", + direction="on", + linebreak="id", + unicodeslot=0x1F9A0, + }, + [0x1F9A1]={ + category="so", + cjkwd="w", + description="BADGER", + direction="on", + linebreak="id", + unicodeslot=0x1F9A1, + }, + [0x1F9A2]={ + category="so", + cjkwd="w", + description="SWAN", + direction="on", + linebreak="id", + unicodeslot=0x1F9A2, + }, + [0x1F9B0]={ + category="so", + cjkwd="w", + description="EMOJI COMPONENT RED HAIR", + direction="on", + linebreak="id", + unicodeslot=0x1F9B0, + }, + [0x1F9B1]={ + category="so", + cjkwd="w", + description="EMOJI COMPONENT CURLY HAIR", + direction="on", + linebreak="id", + unicodeslot=0x1F9B1, + }, + [0x1F9B2]={ + category="so", + cjkwd="w", + description="EMOJI COMPONENT BALD", + direction="on", + linebreak="id", + unicodeslot=0x1F9B2, + }, + [0x1F9B3]={ + category="so", + cjkwd="w", + description="EMOJI COMPONENT WHITE HAIR", + direction="on", + linebreak="id", + unicodeslot=0x1F9B3, + }, + [0x1F9B4]={ + category="so", + cjkwd="w", + description="BONE", + direction="on", + linebreak="id", + unicodeslot=0x1F9B4, + }, + [0x1F9B5]={ + category="so", + cjkwd="w", + description="LEG", + direction="on", + linebreak="eb", + unicodeslot=0x1F9B5, + }, + [0x1F9B6]={ + category="so", + cjkwd="w", + description="FOOT", + direction="on", + linebreak="eb", + unicodeslot=0x1F9B6, + }, + [0x1F9B7]={ + category="so", + cjkwd="w", + description="TOOTH", + direction="on", + linebreak="id", + unicodeslot=0x1F9B7, + }, + [0x1F9B8]={ + category="so", + cjkwd="w", + description="SUPERHERO", + direction="on", + linebreak="eb", + unicodeslot=0x1F9B8, + }, + [0x1F9B9]={ + category="so", + cjkwd="w", + description="SUPERVILLAIN", + direction="on", + linebreak="eb", + unicodeslot=0x1F9B9, + }, [0x1F9C0]={ category="so", cjkwd="w", @@ -242493,6 +247112,22 @@ characters.data={ linebreak="id", unicodeslot=0x1F9C0, }, + [0x1F9C1]={ + category="so", + cjkwd="w", + description="CUPCAKE", + direction="on", + linebreak="id", + unicodeslot=0x1F9C1, + }, + [0x1F9C2]={ + category="so", + cjkwd="w", + description="SALT SHAKER", + direction="on", + linebreak="id", + unicodeslot=0x1F9C2, + }, [0x1F9D0]={ category="so", cjkwd="w", @@ -242677,6 +247312,304 @@ characters.data={ linebreak="id", unicodeslot=0x1F9E6, }, + [0x1F9E7]={ + category="so", + cjkwd="w", + description="RED GIFT ENVELOPE", + direction="on", + linebreak="id", + unicodeslot=0x1F9E7, + }, + [0x1F9E8]={ + category="so", + cjkwd="w", + description="FIRECRACKER", + direction="on", + linebreak="id", + unicodeslot=0x1F9E8, + }, + [0x1F9E9]={ + category="so", + cjkwd="w", + description="JIGSAW PUZZLE PIECE", + direction="on", + linebreak="id", + unicodeslot=0x1F9E9, + }, + [0x1F9EA]={ + category="so", + cjkwd="w", + description="TEST TUBE", + direction="on", + linebreak="id", + unicodeslot=0x1F9EA, + }, + [0x1F9EB]={ + category="so", + cjkwd="w", + description="PETRI DISH", + direction="on", + linebreak="id", + unicodeslot=0x1F9EB, + }, + [0x1F9EC]={ + category="so", + cjkwd="w", + description="DNA DOUBLE HELIX", + direction="on", + linebreak="id", + unicodeslot=0x1F9EC, + }, + [0x1F9ED]={ + category="so", + cjkwd="w", + description="COMPASS", + direction="on", + linebreak="id", + unicodeslot=0x1F9ED, + }, + [0x1F9EE]={ + category="so", + cjkwd="w", + description="ABACUS", + direction="on", + linebreak="id", + unicodeslot=0x1F9EE, + }, + [0x1F9EF]={ + category="so", + cjkwd="w", + description="FIRE EXTINGUISHER", + direction="on", + linebreak="id", + unicodeslot=0x1F9EF, + }, + [0x1F9F0]={ + category="so", + cjkwd="w", + description="TOOLBOX", + direction="on", + linebreak="id", + unicodeslot=0x1F9F0, + }, + [0x1F9F1]={ + category="so", + cjkwd="w", + description="BRICK", + direction="on", + linebreak="id", + unicodeslot=0x1F9F1, + }, + [0x1F9F2]={ + category="so", + cjkwd="w", + description="MAGNET", + direction="on", + linebreak="id", + unicodeslot=0x1F9F2, + }, + [0x1F9F3]={ + category="so", + cjkwd="w", + description="LUGGAGE", + direction="on", + linebreak="id", + unicodeslot=0x1F9F3, + }, + [0x1F9F4]={ + category="so", + cjkwd="w", + description="LOTION BOTTLE", + direction="on", + linebreak="id", + unicodeslot=0x1F9F4, + }, + [0x1F9F5]={ + category="so", + cjkwd="w", + description="SPOOL OF THREAD", + direction="on", + linebreak="id", + unicodeslot=0x1F9F5, + }, + [0x1F9F6]={ + category="so", + cjkwd="w", + description="BALL OF YARN", + direction="on", + linebreak="id", + unicodeslot=0x1F9F6, + }, + [0x1F9F7]={ + category="so", + cjkwd="w", + description="SAFETY PIN", + direction="on", + linebreak="id", + unicodeslot=0x1F9F7, + }, + [0x1F9F8]={ + category="so", + cjkwd="w", + description="TEDDY BEAR", + direction="on", + linebreak="id", + unicodeslot=0x1F9F8, + }, + [0x1F9F9]={ + category="so", + cjkwd="w", + description="BROOM", + direction="on", + linebreak="id", + unicodeslot=0x1F9F9, + }, + [0x1F9FA]={ + category="so", + cjkwd="w", + description="BASKET", + direction="on", + linebreak="id", + unicodeslot=0x1F9FA, + }, + [0x1F9FB]={ + category="so", + cjkwd="w", + description="ROLL OF PAPER", + direction="on", + linebreak="id", + unicodeslot=0x1F9FB, + }, + [0x1F9FC]={ + category="so", + cjkwd="w", + description="BAR OF SOAP", + direction="on", + linebreak="id", + unicodeslot=0x1F9FC, + }, + [0x1F9FD]={ + category="so", + cjkwd="w", + description="SPONGE", + direction="on", + linebreak="id", + unicodeslot=0x1F9FD, + }, + [0x1F9FE]={ + category="so", + cjkwd="w", + description="RECEIPT", + direction="on", + linebreak="id", + unicodeslot=0x1F9FE, + }, + [0x1F9FF]={ + category="so", + cjkwd="w", + description="NAZAR AMULET", + direction="on", + linebreak="id", + unicodeslot=0x1F9FF, + }, + [0x1FA60]={ + category="so", + description="XIANGQI RED GENERAL", + direction="on", + linebreak="id", + unicodeslot=0x1FA60, + }, + [0x1FA61]={ + category="so", + description="XIANGQI RED MANDARIN", + direction="on", + linebreak="id", + unicodeslot=0x1FA61, + }, + [0x1FA62]={ + category="so", + description="XIANGQI RED ELEPHANT", + direction="on", + linebreak="id", + unicodeslot=0x1FA62, + }, + [0x1FA63]={ + category="so", + description="XIANGQI RED HORSE", + direction="on", + linebreak="id", + unicodeslot=0x1FA63, + }, + [0x1FA64]={ + category="so", + description="XIANGQI RED CHARIOT", + direction="on", + linebreak="id", + unicodeslot=0x1FA64, + }, + [0x1FA65]={ + category="so", + description="XIANGQI RED CANNON", + direction="on", + linebreak="id", + unicodeslot=0x1FA65, + }, + [0x1FA66]={ + category="so", + description="XIANGQI RED SOLDIER", + direction="on", + linebreak="id", + unicodeslot=0x1FA66, + }, + [0x1FA67]={ + category="so", + description="XIANGQI BLACK GENERAL", + direction="on", + linebreak="id", + unicodeslot=0x1FA67, + }, + [0x1FA68]={ + category="so", + description="XIANGQI BLACK MANDARIN", + direction="on", + linebreak="id", + unicodeslot=0x1FA68, + }, + [0x1FA69]={ + category="so", + description="XIANGQI BLACK ELEPHANT", + direction="on", + linebreak="id", + unicodeslot=0x1FA69, + }, + [0x1FA6A]={ + category="so", + description="XIANGQI BLACK HORSE", + direction="on", + linebreak="id", + unicodeslot=0x1FA6A, + }, + [0x1FA6B]={ + category="so", + description="XIANGQI BLACK CHARIOT", + direction="on", + linebreak="id", + unicodeslot=0x1FA6B, + }, + [0x1FA6C]={ + category="so", + description="XIANGQI BLACK CANNON", + direction="on", + linebreak="id", + unicodeslot=0x1FA6C, + }, + [0x1FA6D]={ + category="so", + description="XIANGQI BLACK SOLDIER", + direction="on", + linebreak="id", + unicodeslot=0x1FA6D, + }, [0x2F800]={ category="lo", cjkwd="w", @@ -248239,4 +253172,4 @@ characters.data={ synonyms={ "vs17" }, unicodeslot=0xE0100, }, -} +} \ No newline at end of file diff --git a/tex/context/base/mkiv/char-emj.lua b/tex/context/base/mkiv/char-emj.lua index 718d3bc6e..187bb6712 100644 --- a/tex/context/base/mkiv/char-emj.lua +++ b/tex/context/base/mkiv/char-emj.lua @@ -15,6 +15,7 @@ return { ["3rd place medal"]={ 0x1F949 }, ["a button (blood type)"]={ 0x1F170 }, ["ab button (blood type)"]={ 0x1F18E }, + ["abacus"]={ 0x1F9EE }, ["admission tickets"]={ 0x1F39F }, ["adult"]={ 0x1F9D1 }, ["adult: dark skin tone"]={ 0x1F9D1, 0x1F3FF }, @@ -48,8 +49,8 @@ return { ["ant"]={ 0x1F41C }, ["antarctica"]={ 0x1F1E6, 0x1F1F6 }, ["antenna bars"]={ 0x1F4F6 }, - ["anticlockwise arrows button"]={ 0x1F504 }, ["antigua & barbuda"]={ 0x1F1E6, 0x1F1EC }, + ["anxious face with sweat"]={ 0x1F630 }, ["aquarius"]={ 0x2652 }, ["argentina"]={ 0x1F1E6, 0x1F1F7 }, ["aries"]={ 0x2648 }, @@ -108,12 +109,15 @@ return { ["backhand index pointing up: medium-dark skin tone"]={ 0x1F446, 0x1F3FE }, ["backhand index pointing up: medium-light skin tone"]={ 0x1F446, 0x1F3FC }, ["bacon"]={ 0x1F953 }, + ["badger"]={ 0x1F9A1 }, ["badminton"]={ 0x1F3F8 }, + ["bagel"]={ 0x1F96F }, ["baggage claim"]={ 0x1F6C4 }, ["baguette bread"]={ 0x1F956 }, ["bahamas"]={ 0x1F1E7, 0x1F1F8 }, ["bahrain"]={ 0x1F1E7, 0x1F1ED }, ["balance scale"]={ 0x2696 }, + ["bald"]={ 0x1F9B2 }, ["balloon"]={ 0x1F388 }, ["ballot box with ballot"]={ 0x1F5F3 }, ["ballot box with check"]={ 0x2611 }, @@ -124,11 +128,13 @@ return { ["barbados"]={ 0x1F1E7, 0x1F1E7 }, ["barber pole"]={ 0x1F488 }, ["baseball"]={ 0x26BE }, + ["basket"]={ 0x1F9FA }, ["basketball"]={ 0x1F3C0 }, ["bat"]={ 0x1F987 }, ["bathtub"]={ 0x1F6C1 }, ["battery"]={ 0x1F50B }, ["beach with umbrella"]={ 0x1F3D6 }, + ["beaming face with smiling eyes"]={ 0x1F601 }, ["bear face"]={ 0x1F43B }, ["bearded person"]={ 0x1F9D4 }, ["bearded person: dark skin tone"]={ 0x1F9D4, 0x1F3FF }, @@ -190,6 +196,7 @@ return { ["boar"]={ 0x1F417 }, ["bolivia"]={ 0x1F1E7, 0x1F1F4 }, ["bomb"]={ 0x1F4A3 }, + ["bone"]={ 0x1F9B4 }, ["bookmark"]={ 0x1F516 }, ["bookmark tabs"]={ 0x1F4D1 }, ["books"]={ 0x1F4DA }, @@ -217,6 +224,7 @@ return { ["breast-feeding: medium skin tone"]={ 0x1F931, 0x1F3FD }, ["breast-feeding: medium-dark skin tone"]={ 0x1F931, 0x1F3FE }, ["breast-feeding: medium-light skin tone"]={ 0x1F931, 0x1F3FC }, + ["bricks"]={ 0x1F9F1 }, ["bride with veil"]={ 0x1F470 }, ["bride with veil: dark skin tone"]={ 0x1F470, 0x1F3FF }, ["bride with veil: light skin tone"]={ 0x1F470, 0x1F3FB }, @@ -230,10 +238,12 @@ return { ["british virgin islands"]={ 0x1F1FB, 0x1F1EC }, ["broccoli"]={ 0x1F966 }, ["broken heart"]={ 0x1F494 }, + ["broom"]={ 0x1F9F9 }, ["brunei"]={ 0x1F1E7, 0x1F1F3 }, ["bug"]={ 0x1F41B }, ["building construction"]={ 0x1F3D7 }, ["bulgaria"]={ 0x1F1E7, 0x1F1EC }, + ["bullet train"]={ 0x1F685 }, ["burkina faso"]={ 0x1F1E7, 0x1F1EB }, ["burrito"]={ 0x1F32F }, ["burundi"]={ 0x1F1E7, 0x1F1EE }, @@ -289,6 +299,7 @@ return { ["chequered flag"]={ 0x1F3C1 }, ["cherries"]={ 0x1F352 }, ["cherry blossom"]={ 0x1F338 }, + ["chess pawn"]={ 0x265F }, ["chestnut"]={ 0x1F330 }, ["chicken"]={ 0x1F414 }, ["child"]={ 0x1F9D2 }, @@ -344,10 +355,12 @@ return { ["coconut"]={ 0x1F965 }, ["cocos (keeling) islands"]={ 0x1F1E8, 0x1F1E8 }, ["coffin"]={ 0x26B0 }, + ["cold face"]={ 0x1F976 }, ["collision"]={ 0x1F4A5 }, ["colombia"]={ 0x1F1E8, 0x1F1F4 }, ["comet"]={ 0x2604 }, ["comoros"]={ 0x1F1F0, 0x1F1F2 }, + ["compass"]={ 0x1F9ED }, ["computer disk"]={ 0x1F4BD }, ["computer mouse"]={ 0x1F5B1 }, ["confetti ball"]={ 0x1F38A }, @@ -372,6 +385,7 @@ return { ["copyright"]={ 0xA9 }, ["costa rica"]={ 0x1F1E8, 0x1F1F7 }, ["couch and lamp"]={ 0x1F6CB }, + ["counterclockwise arrows button"]={ 0x1F504 }, ["couple with heart"]={ 0x1F491 }, ["couple with heart: man, man"]={ 0x1F468, 0x200D, 0x2764, 0x200D, 0x1F468 }, ["couple with heart: woman, man"]={ 0x1F469, 0x200D, 0x2764, 0x200D, 0x1F468 }, @@ -381,10 +395,10 @@ return { ["cowboy hat face"]={ 0x1F920 }, ["crab"]={ 0x1F980 }, ["crayon"]={ 0x1F58D }, - ["crazy face"]={ 0x1F92A }, ["credit card"]={ 0x1F4B3 }, ["crescent moon"]={ 0x1F319 }, - ["cricket"]={ 0x1F3CF }, + ["cricket"]={ 0x1F997 }, + ["cricket game"]={ 0x1F3CF }, ["croatia"]={ 0x1F1ED, 0x1F1F7 }, ["crocodile"]={ 0x1F40A }, ["croissant"]={ 0x1F950 }, @@ -405,9 +419,11 @@ return { ["cuba"]={ 0x1F1E8, 0x1F1FA }, ["cucumber"]={ 0x1F952 }, ["cup with straw"]={ 0x1F964 }, + ["cupcake"]={ 0x1F9C1 }, ["curaçao"]={ 0x1F1E8, 0x1F1FC }, ["curling stone"]={ 0x1F94C }, ["curly loop"]={ 0x27B0 }, + ["curly-haired"]={ 0x1F9B1 }, ["currency exchange"]={ 0x1F4B1 }, ["curry rice"]={ 0x1F35B }, ["custard"]={ 0x1F36E }, @@ -419,6 +435,7 @@ return { ["côte d’ivoire"]={ 0x1F1E8, 0x1F1EE }, ["dagger"]={ 0x1F5E1 }, ["dango"]={ 0x1F361 }, + ["dark skin tone"]={ 0x1F3FF }, ["dashing away"]={ 0x1F4A8 }, ["deciduous tree"]={ 0x1F333 }, ["deer"]={ 0x1F98C }, @@ -440,11 +457,11 @@ return { ["diego garcia"]={ 0x1F1E9, 0x1F1EC }, ["dim button"]={ 0x1F505 }, ["direct hit"]={ 0x1F3AF }, - ["disappointed but relieved face"]={ 0x1F625 }, ["disappointed face"]={ 0x1F61E }, ["dizzy"]={ 0x1F4AB }, ["dizzy face"]={ 0x1F635 }, ["djibouti"]={ 0x1F1E9, 0x1F1EF }, + ["dna"]={ 0x1F9EC }, ["dog"]={ 0x1F415 }, ["dog face"]={ 0x1F436 }, ["dollar banknote"]={ 0x1F4B5 }, @@ -458,9 +475,10 @@ return { ["doughnut"]={ 0x1F369 }, ["dove"]={ 0x1F54A }, ["down arrow"]={ 0x2B07 }, - ["down button"]={ 0x1F53D }, ["down-left arrow"]={ 0x2199 }, ["down-right arrow"]={ 0x2198 }, + ["downcast face with sweat"]={ 0x1F613 }, + ["downwards button"]={ 0x1F53D }, ["dragon"]={ 0x1F409 }, ["dragon face"]={ 0x1F432 }, ["dress"]={ 0x1F457 }, @@ -519,25 +537,21 @@ return { ["eye in speech bubble"]={ 0x1F441, 0x200D, 0x1F5E8 }, ["eyes"]={ 0x1F440 }, ["face blowing a kiss"]={ 0x1F618 }, - ["face savouring delicious food"]={ 0x1F60B }, + ["face savoring food"]={ 0x1F60B }, ["face screaming in fear"]={ 0x1F631 }, ["face vomiting"]={ 0x1F92E }, - ["face with cold sweat"]={ 0x1F613 }, ["face with hand over mouth"]={ 0x1F92D }, ["face with head-bandage"]={ 0x1F915 }, ["face with medical mask"]={ 0x1F637 }, ["face with monocle"]={ 0x1F9D0 }, ["face with open mouth"]={ 0x1F62E }, - ["face with open mouth & cold sweat"]={ 0x1F630 }, ["face with raised eyebrow"]={ 0x1F928 }, ["face with rolling eyes"]={ 0x1F644 }, ["face with steam from nose"]={ 0x1F624 }, - ["face with stuck-out tongue"]={ 0x1F61B }, - ["face with stuck-out tongue & closed eyes"]={ 0x1F61D }, - ["face with stuck-out tongue & winking eye"]={ 0x1F61C }, - ["face with symbols over mouth"]={ 0x1F92C }, + ["face with symbols on mouth"]={ 0x1F92C }, ["face with tears of joy"]={ 0x1F602 }, ["face with thermometer"]={ 0x1F912 }, + ["face with tongue"]={ 0x1F61B }, ["face without mouth"]={ 0x1F636 }, ["factory"]={ 0x1F3ED }, ["fairy"]={ 0x1F9DA }, @@ -593,9 +607,11 @@ return { ["finland"]={ 0x1F1EB, 0x1F1EE }, ["fire"]={ 0x1F525 }, ["fire engine"]={ 0x1F692 }, + ["fire extinguisher"]={ 0x1F9EF }, + ["firecracker"]={ 0x1F9E8 }, ["fireworks"]={ 0x1F386 }, ["first quarter moon"]={ 0x1F313 }, - ["first quarter moon with face"]={ 0x1F31B }, + ["first quarter moon face"]={ 0x1F31B }, ["fish"]={ 0x1F41F }, ["fish cake with swirl"]={ 0x1F365 }, ["fishing pole"]={ 0x1F3A3 }, @@ -613,6 +629,7 @@ return { ["floppy disk"]={ 0x1F4BE }, ["flower playing cards"]={ 0x1F3B4 }, ["flushed face"]={ 0x1F633 }, + ["flying disc"]={ 0x1F94F }, ["flying saucer"]={ 0x1F6F8 }, ["fog"]={ 0x1F32B }, ["foggy"]={ 0x1F301 }, @@ -622,6 +639,12 @@ return { ["folded hands: medium skin tone"]={ 0x1F64F, 0x1F3FD }, ["folded hands: medium-dark skin tone"]={ 0x1F64F, 0x1F3FE }, ["folded hands: medium-light skin tone"]={ 0x1F64F, 0x1F3FC }, + ["foot"]={ 0x1F9B6 }, + ["foot: dark skin tone"]={ 0x1F9B6, 0x1F3FF }, + ["foot: light skin tone"]={ 0x1F9B6, 0x1F3FB }, + ["foot: medium skin tone"]={ 0x1F9B6, 0x1F3FD }, + ["foot: medium-dark skin tone"]={ 0x1F9B6, 0x1F3FE }, + ["foot: medium-light skin tone"]={ 0x1F9B6, 0x1F3FC }, ["footprints"]={ 0x1F463 }, ["fork and knife"]={ 0x1F374 }, ["fork and knife with plate"]={ 0x1F37D }, @@ -646,7 +669,7 @@ return { ["frowning face with open mouth"]={ 0x1F626 }, ["fuel pump"]={ 0x26FD }, ["full moon"]={ 0x1F315 }, - ["full moon with face"]={ 0x1F31D }, + ["full moon face"]={ 0x1F31D }, ["funeral urn"]={ 0x26B1 }, ["gabon"]={ 0x1F1EC, 0x1F1E6 }, ["gambia"]={ 0x1F1EC, 0x1F1F2 }, @@ -678,6 +701,7 @@ return { ["goal net"]={ 0x1F945 }, ["goat"]={ 0x1F410 }, ["goblin"]={ 0x1F47A }, + ["goggles"]={ 0x1F97D }, ["gorilla"]={ 0x1F98D }, ["graduation cap"]={ 0x1F393 }, ["grapes"]={ 0x1F347 }, @@ -689,9 +713,13 @@ return { ["greenland"]={ 0x1F1EC, 0x1F1F1 }, ["grenada"]={ 0x1F1EC, 0x1F1E9 }, ["grimacing face"]={ 0x1F62C }, + ["grinning cat face"]={ 0x1F63A }, ["grinning cat face with smiling eyes"]={ 0x1F638 }, ["grinning face"]={ 0x1F600 }, - ["grinning face with smiling eyes"]={ 0x1F601 }, + ["grinning face with big eyes"]={ 0x1F603 }, + ["grinning face with smiling eyes"]={ 0x1F604 }, + ["grinning face with sweat"]={ 0x1F605 }, + ["grinning squinting face"]={ 0x1F606 }, ["growing heart"]={ 0x1F497 }, ["guadeloupe"]={ 0x1F1EC, 0x1F1F5 }, ["guam"]={ 0x1F1EC, 0x1F1FA }, @@ -713,6 +741,12 @@ return { ["hammer and pick"]={ 0x2692 }, ["hammer and wrench"]={ 0x1F6E0 }, ["hamster face"]={ 0x1F439 }, + ["hand with fingers splayed"]={ 0x1F590 }, + ["hand with fingers splayed: dark skin tone"]={ 0x1F590, 0x1F3FF }, + ["hand with fingers splayed: light skin tone"]={ 0x1F590, 0x1F3FB }, + ["hand with fingers splayed: medium skin tone"]={ 0x1F590, 0x1F3FD }, + ["hand with fingers splayed: medium-dark skin tone"]={ 0x1F590, 0x1F3FE }, + ["hand with fingers splayed: medium-light skin tone"]={ 0x1F590, 0x1F3FC }, ["handbag"]={ 0x1F45C }, ["handshake"]={ 0x1F91D }, ["hatching chick"]={ 0x1F423 }, @@ -738,7 +772,8 @@ return { ["high voltage"]={ 0x26A1 }, ["high-heeled shoe"]={ 0x1F460 }, ["high-speed train"]={ 0x1F684 }, - ["high-speed train with bullet nose"]={ 0x1F685 }, + ["hiking boot"]={ 0x1F97E }, + ["hippopotamus"]={ 0x1F99B }, ["hole"]={ 0x1F573 }, ["honduras"]={ 0x1F1ED, 0x1F1F3 }, ["honey pot"]={ 0x1F36F }, @@ -756,13 +791,15 @@ return { ["hospital"]={ 0x1F3E5 }, ["hot beverage"]={ 0x2615 }, ["hot dog"]={ 0x1F32D }, + ["hot face"]={ 0x1F975 }, ["hot pepper"]={ 0x1F336 }, ["hot springs"]={ 0x2668 }, ["hotel"]={ 0x1F3E8 }, - ["hourglass"]={ 0x231B }, - ["hourglass with flowing sand"]={ 0x23F3 }, + ["hourglass done"]={ 0x231B }, + ["hourglass not done"]={ 0x23F3 }, ["house"]={ 0x1F3E0 }, ["house with garden"]={ 0x1F3E1 }, + ["houses"]={ 0x1F3D8 }, ["hugging face"]={ 0x1F917 }, ["hundred points"]={ 0x1F4AF }, ["hungary"]={ 0x1F1ED, 0x1F1FA }, @@ -782,6 +819,7 @@ return { ["index pointing up: medium-light skin tone"]={ 0x261D, 0x1F3FC }, ["india"]={ 0x1F1EE, 0x1F1F3 }, ["indonesia"]={ 0x1F1EE, 0x1F1E9 }, + ["infinity"]={ 0x267E }, ["information"]={ 0x2139 }, ["input latin letters"]={ 0x1F524 }, ["input latin lowercase"]={ 0x1F521 }, @@ -820,17 +858,19 @@ return { ["japanese “vacancy” button"]={ 0x1F233 }, ["jeans"]={ 0x1F456 }, ["jersey"]={ 0x1F1EF, 0x1F1EA }, + ["jigsaw"]={ 0x1F9E9 }, ["joker"]={ 0x1F0CF }, ["jordan"]={ 0x1F1EF, 0x1F1F4 }, ["joystick"]={ 0x1F579 }, ["kaaba"]={ 0x1F54B }, + ["kangaroo"]={ 0x1F998 }, ["kazakhstan"]={ 0x1F1F0, 0x1F1FF }, ["kenya"]={ 0x1F1F0, 0x1F1EA }, ["key"]={ 0x1F511 }, ["keyboard"]={ 0x2328 }, - ["keycap 10"]={ 0x1F51F }, ["keycap: 0"]={ 0x30, 0x20E3 }, ["keycap: 1"]={ 0x31, 0x20E3 }, + ["keycap: 10"]={ 0x1F51F }, ["keycap: 2"]={ 0x32, 0x20E3 }, ["keycap: 3"]={ 0x33, 0x20E3 }, ["keycap: 4"]={ 0x34, 0x20E3 }, @@ -849,7 +889,7 @@ return { ["kiss: man, man"]={ 0x1F468, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F468 }, ["kiss: woman, man"]={ 0x1F469, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F468 }, ["kiss: woman, woman"]={ 0x1F469, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F469 }, - ["kissing cat face with closed eyes"]={ 0x1F63D }, + ["kissing cat face"]={ 0x1F63D }, ["kissing face"]={ 0x1F617 }, ["kissing face with closed eyes"]={ 0x1F61A }, ["kissing face with smiling eyes"]={ 0x1F619 }, @@ -859,18 +899,21 @@ return { ["kosovo"]={ 0x1F1FD, 0x1F1F0 }, ["kuwait"]={ 0x1F1F0, 0x1F1FC }, ["kyrgyzstan"]={ 0x1F1F0, 0x1F1EC }, + ["lab coat"]={ 0x1F97C }, ["label"]={ 0x1F3F7 }, + ["lacrosse"]={ 0x1F94D }, ["lady beetle"]={ 0x1F41E }, ["laos"]={ 0x1F1F1, 0x1F1E6 }, ["laptop computer"]={ 0x1F4BB }, ["large blue diamond"]={ 0x1F537 }, ["large orange diamond"]={ 0x1F536 }, ["last quarter moon"]={ 0x1F317 }, - ["last quarter moon with face"]={ 0x1F31C }, + ["last quarter moon face"]={ 0x1F31C }, ["last track button"]={ 0x23EE }, ["latin cross"]={ 0x271D }, ["latvia"]={ 0x1F1F1, 0x1F1FB }, ["leaf fluttering in wind"]={ 0x1F343 }, + ["leafy green"]={ 0x1F96C }, ["lebanon"]={ 0x1F1F1, 0x1F1E7 }, ["ledger"]={ 0x1F4D2 }, ["left arrow"]={ 0x2B05 }, @@ -883,8 +926,13 @@ return { ["left-facing fist: medium skin tone"]={ 0x1F91B, 0x1F3FD }, ["left-facing fist: medium-dark skin tone"]={ 0x1F91B, 0x1F3FE }, ["left-facing fist: medium-light skin tone"]={ 0x1F91B, 0x1F3FC }, - ["left-pointing magnifying glass"]={ 0x1F50D }, ["left-right arrow"]={ 0x2194 }, + ["leg"]={ 0x1F9B5 }, + ["leg: dark skin tone"]={ 0x1F9B5, 0x1F3FF }, + ["leg: light skin tone"]={ 0x1F9B5, 0x1F3FB }, + ["leg: medium skin tone"]={ 0x1F9B5, 0x1F3FD }, + ["leg: medium-dark skin tone"]={ 0x1F9B5, 0x1F3FE }, + ["leg: medium-light skin tone"]={ 0x1F9B5, 0x1F3FC }, ["lemon"]={ 0x1F34B }, ["leo"]={ 0x264C }, ["leopard"]={ 0x1F406 }, @@ -896,6 +944,7 @@ return { ["liechtenstein"]={ 0x1F1F1, 0x1F1EE }, ["light bulb"]={ 0x1F4A1 }, ["light rail"]={ 0x1F688 }, + ["light skin tone"]={ 0x1F3FB }, ["link"]={ 0x1F517 }, ["linked paperclips"]={ 0x1F587 }, ["lion face"]={ 0x1F981 }, @@ -903,11 +952,14 @@ return { ["lithuania"]={ 0x1F1F1, 0x1F1F9 }, ["litter in bin sign"]={ 0x1F6AE }, ["lizard"]={ 0x1F98E }, + ["llama"]={ 0x1F999 }, + ["lobster"]={ 0x1F99E }, ["locked"]={ 0x1F512 }, ["locked with key"]={ 0x1F510 }, ["locked with pen"]={ 0x1F50F }, ["locomotive"]={ 0x1F682 }, ["lollipop"]={ 0x1F36D }, + ["lotion bottle"]={ 0x1F9F4 }, ["loudly crying face"]={ 0x1F62D }, ["loudspeaker"]={ 0x1F4E2 }, ["love hotel"]={ 0x1F3E9 }, @@ -918,6 +970,7 @@ return { ["love-you gesture: medium skin tone"]={ 0x1F91F, 0x1F3FD }, ["love-you gesture: medium-dark skin tone"]={ 0x1F91F, 0x1F3FE }, ["love-you gesture: medium-light skin tone"]={ 0x1F91F, 0x1F3FC }, + ["luggage"]={ 0x1F9F3 }, ["luxembourg"]={ 0x1F1F1, 0x1F1FA }, ["lying face"]={ 0x1F925 }, ["macau sar china"]={ 0x1F1F2, 0x1F1F4 }, @@ -929,6 +982,9 @@ return { ["mage: medium skin tone"]={ 0x1F9D9, 0x1F3FD }, ["mage: medium-dark skin tone"]={ 0x1F9D9, 0x1F3FE }, ["mage: medium-light skin tone"]={ 0x1F9D9, 0x1F3FC }, + ["magnet"]={ 0x1F9F2 }, + ["magnifying glass tilted left"]={ 0x1F50D }, + ["magnifying glass tilted right"]={ 0x1F50E }, ["mahjong red dragon"]={ 0x1F004 }, ["malawi"]={ 0x1F1F2, 0x1F1FC }, ["malaysia"]={ 0x1F1F2, 0x1F1FE }, @@ -1089,12 +1145,6 @@ return { ["man health worker: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x2695 }, ["man health worker: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x2695 }, ["man health worker: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x2695 }, - ["man in business suit levitating"]={ 0x1F574 }, - ["man in business suit levitating: dark skin tone"]={ 0x1F574, 0x1F3FF }, - ["man in business suit levitating: light skin tone"]={ 0x1F574, 0x1F3FB }, - ["man in business suit levitating: medium skin tone"]={ 0x1F574, 0x1F3FD }, - ["man in business suit levitating: medium-dark skin tone"]={ 0x1F574, 0x1F3FE }, - ["man in business suit levitating: medium-light skin tone"]={ 0x1F574, 0x1F3FC }, ["man in lotus position"]={ 0x1F9D8, 0x200D, 0x2642 }, ["man in lotus position: dark skin tone"]={ 0x1F9D8, 0x1F3FF, 0x200D, 0x2642 }, ["man in lotus position: light skin tone"]={ 0x1F9D8, 0x1F3FB, 0x200D, 0x2642 }, @@ -1107,6 +1157,12 @@ return { ["man in steamy room: medium skin tone"]={ 0x1F9D6, 0x1F3FD, 0x200D, 0x2642 }, ["man in steamy room: medium-dark skin tone"]={ 0x1F9D6, 0x1F3FE, 0x200D, 0x2642 }, ["man in steamy room: medium-light skin tone"]={ 0x1F9D6, 0x1F3FC, 0x200D, 0x2642 }, + ["man in suit levitating"]={ 0x1F574 }, + ["man in suit levitating: dark skin tone"]={ 0x1F574, 0x1F3FF }, + ["man in suit levitating: light skin tone"]={ 0x1F574, 0x1F3FB }, + ["man in suit levitating: medium skin tone"]={ 0x1F574, 0x1F3FD }, + ["man in suit levitating: medium-dark skin tone"]={ 0x1F574, 0x1F3FE }, + ["man in suit levitating: medium-light skin tone"]={ 0x1F574, 0x1F3FC }, ["man in tuxedo"]={ 0x1F935 }, ["man in tuxedo: dark skin tone"]={ 0x1F935, 0x1F3FF }, ["man in tuxedo: light skin tone"]={ 0x1F935, 0x1F3FB }, @@ -1227,6 +1283,18 @@ return { ["man student: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x1F393 }, ["man student: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x1F393 }, ["man student: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x1F393 }, + ["man superhero"]={ 0x1F9B8, 0x200D, 0x2642 }, + ["man superhero: dark skin tone"]={ 0x1F9B8, 0x1F3FF, 0x200D, 0x2642 }, + ["man superhero: light skin tone"]={ 0x1F9B8, 0x1F3FB, 0x200D, 0x2642 }, + ["man superhero: medium skin tone"]={ 0x1F9B8, 0x1F3FD, 0x200D, 0x2642 }, + ["man superhero: medium-dark skin tone"]={ 0x1F9B8, 0x1F3FE, 0x200D, 0x2642 }, + ["man superhero: medium-light skin tone"]={ 0x1F9B8, 0x1F3FC, 0x200D, 0x2642 }, + ["man supervillain"]={ 0x1F9B9, 0x200D, 0x2642 }, + ["man supervillain: dark skin tone"]={ 0x1F9B9, 0x1F3FF, 0x200D, 0x2642 }, + ["man supervillain: light skin tone"]={ 0x1F9B9, 0x1F3FB, 0x200D, 0x2642 }, + ["man supervillain: medium skin tone"]={ 0x1F9B9, 0x1F3FD, 0x200D, 0x2642 }, + ["man supervillain: medium-dark skin tone"]={ 0x1F9B9, 0x1F3FE, 0x200D, 0x2642 }, + ["man supervillain: medium-light skin tone"]={ 0x1F9B9, 0x1F3FC, 0x200D, 0x2642 }, ["man surfing"]={ 0x1F3C4, 0x200D, 0x2642 }, ["man surfing: dark skin tone"]={ 0x1F3C4, 0x1F3FF, 0x200D, 0x2642 }, ["man surfing: light skin tone"]={ 0x1F3C4, 0x1F3FB, 0x200D, 0x2642 }, @@ -1282,11 +1350,36 @@ return { ["man with chinese cap: medium-dark skin tone"]={ 0x1F472, 0x1F3FE }, ["man with chinese cap: medium-light skin tone"]={ 0x1F472, 0x1F3FC }, ["man zombie"]={ 0x1F9DF, 0x200D, 0x2642 }, + ["man, bald"]={ 0x1F468, 0x200D, 0x1F9B2 }, + ["man, bald: dark skin tone"]={ 0x1F468, 0x1F3FF, 0x200D, 0x1F9B2 }, + ["man, bald: light skin tone"]={ 0x1F468, 0x1F3FB, 0x200D, 0x1F9B2 }, + ["man, bald: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x1F9B2 }, + ["man, bald: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x1F9B2 }, + ["man, bald: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x1F9B2 }, + ["man, curly haired"]={ 0x1F468, 0x200D, 0x1F9B1 }, + ["man, curly haired: dark skin tone"]={ 0x1F468, 0x1F3FF, 0x200D, 0x1F9B1 }, + ["man, curly haired: light skin tone"]={ 0x1F468, 0x1F3FB, 0x200D, 0x1F9B1 }, + ["man, curly haired: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x1F9B1 }, + ["man, curly haired: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x1F9B1 }, + ["man, curly haired: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x1F9B1 }, + ["man, red haired"]={ 0x1F468, 0x200D, 0x1F9B0 }, + ["man, red haired: dark skin tone"]={ 0x1F468, 0x1F3FF, 0x200D, 0x1F9B0 }, + ["man, red haired: light skin tone"]={ 0x1F468, 0x1F3FB, 0x200D, 0x1F9B0 }, + ["man, red haired: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x1F9B0 }, + ["man, red haired: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x1F9B0 }, + ["man, red haired: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x1F9B0 }, + ["man, white haired"]={ 0x1F468, 0x200D, 0x1F9B3 }, + ["man, white haired: dark skin tone"]={ 0x1F468, 0x1F3FF, 0x200D, 0x1F9B3 }, + ["man, white haired: light skin tone"]={ 0x1F468, 0x1F3FB, 0x200D, 0x1F9B3 }, + ["man, white haired: medium skin tone"]={ 0x1F468, 0x1F3FD, 0x200D, 0x1F9B3 }, + ["man, white haired: medium-dark skin tone"]={ 0x1F468, 0x1F3FE, 0x200D, 0x1F9B3 }, + ["man, white haired: medium-light skin tone"]={ 0x1F468, 0x1F3FC, 0x200D, 0x1F9B3 }, ["man: dark skin tone"]={ 0x1F468, 0x1F3FF }, ["man: light skin tone"]={ 0x1F468, 0x1F3FB }, ["man: medium skin tone"]={ 0x1F468, 0x1F3FD }, ["man: medium-dark skin tone"]={ 0x1F468, 0x1F3FE }, ["man: medium-light skin tone"]={ 0x1F468, 0x1F3FC }, + ["mango"]={ 0x1F96D }, ["mantelpiece clock"]={ 0x1F570 }, ["man’s shoe"]={ 0x1F45E }, ["map of japan"]={ 0x1F5FE }, @@ -1299,10 +1392,13 @@ return { ["mayotte"]={ 0x1F1FE, 0x1F1F9 }, ["meat on bone"]={ 0x1F356 }, ["medical symbol"]={ 0x2695 }, + ["medium skin tone"]={ 0x1F3FD }, + ["medium-dark skin tone"]={ 0x1F3FE }, + ["medium-light skin tone"]={ 0x1F3FC }, ["megaphone"]={ 0x1F4E3 }, ["melon"]={ 0x1F348 }, ["memo"]={ 0x1F4DD }, - ["men with bunny ears partying"]={ 0x1F46F, 0x200D, 0x2642 }, + ["men with bunny ears"]={ 0x1F46F, 0x200D, 0x2642 }, ["men wrestling"]={ 0x1F93C, 0x200D, 0x2642 }, ["menorah"]={ 0x1F54E }, ["men’s room"]={ 0x1F6B9 }, @@ -1326,6 +1422,7 @@ return { ["merperson: medium-light skin tone"]={ 0x1F9DC, 0x1F3FC }, ["metro"]={ 0x1F687 }, ["mexico"]={ 0x1F1F2, 0x1F1FD }, + ["microbe"]={ 0x1F9A0 }, ["micronesia"]={ 0x1F1EB, 0x1F1F2 }, ["microphone"]={ 0x1F3A4 }, ["microscope"]={ 0x1F52C }, @@ -1353,9 +1450,11 @@ return { ["monorail"]={ 0x1F69D }, ["montenegro"]={ 0x1F1F2, 0x1F1EA }, ["montserrat"]={ 0x1F1F2, 0x1F1F8 }, + ["moon cake"]={ 0x1F96E }, ["moon viewing ceremony"]={ 0x1F391 }, ["morocco"]={ 0x1F1F2, 0x1F1E6 }, ["mosque"]={ 0x1F54C }, + ["mosquito"]={ 0x1F99F }, ["motor boat"]={ 0x1F6E5 }, ["motor scooter"]={ 0x1F6F5 }, ["motorcycle"]={ 0x1F3CD }, @@ -1393,6 +1492,7 @@ return { ["national park"]={ 0x1F3DE }, ["nauru"]={ 0x1F1F3, 0x1F1F7 }, ["nauseated face"]={ 0x1F922 }, + ["nazar amulet"]={ 0x1F9FF }, ["necktie"]={ 0x1F454 }, ["nepal"]={ 0x1F1F3, 0x1F1F5 }, ["nerd face"]={ 0x1F913 }, @@ -1521,21 +1621,24 @@ return { ["paperclip"]={ 0x1F4CE }, ["papua new guinea"]={ 0x1F1F5, 0x1F1EC }, ["paraguay"]={ 0x1F1F5, 0x1F1FE }, + ["parrot"]={ 0x1F99C }, ["part alternation mark"]={ 0x303D }, ["party popper"]={ 0x1F389 }, + ["partying face"]={ 0x1F973 }, ["passenger ship"]={ 0x1F6F3 }, ["passport control"]={ 0x1F6C2 }, ["pause button"]={ 0x23F8 }, ["paw prints"]={ 0x1F43E }, ["peace symbol"]={ 0x262E }, ["peach"]={ 0x1F351 }, + ["peacock"]={ 0x1F99A }, ["peanuts"]={ 0x1F95C }, ["pear"]={ 0x1F350 }, ["pen"]={ 0x1F58A }, ["pencil"]={ 0x270F }, ["penguin"]={ 0x1F427 }, ["pensive face"]={ 0x1F614 }, - ["people with bunny ears partying"]={ 0x1F46F }, + ["people with bunny ears"]={ 0x1F46F }, ["people wrestling"]={ 0x1F93C }, ["performing arts"]={ 0x1F3AD }, ["persevering face"]={ 0x1F623 }, @@ -1727,6 +1830,7 @@ return { ["person wearing turban: medium-dark skin tone"]={ 0x1F473, 0x1F3FE }, ["person wearing turban: medium-light skin tone"]={ 0x1F473, 0x1F3FC }, ["peru"]={ 0x1F1F5, 0x1F1EA }, + ["petri dish"]={ 0x1F9EB }, ["philippines"]={ 0x1F1F5, 0x1F1ED }, ["pick"]={ 0x26CF }, ["pie"]={ 0x1F967 }, @@ -1738,6 +1842,7 @@ return { ["pine decoration"]={ 0x1F38D }, ["pineapple"]={ 0x1F34D }, ["ping pong"]={ 0x1F3D3 }, + ["pirate flag"]={ 0x1F3F4, 0x200D, 0x2620 }, ["pisces"]={ 0x2653 }, ["pistol"]={ 0x1F52B }, ["pitcairn islands"]={ 0x1F1F5, 0x1F1F3 }, @@ -1745,6 +1850,7 @@ return { ["place of worship"]={ 0x1F6D0 }, ["play button"]={ 0x25B6 }, ["play or pause button"]={ 0x23EF }, + ["pleading face"]={ 0x1F97A }, ["poland"]={ 0x1F1F5, 0x1F1F1 }, ["police car"]={ 0x1F693 }, ["police car light"]={ 0x1F6A8 }, @@ -1798,6 +1904,7 @@ return { ["question mark"]={ 0x2753 }, ["rabbit"]={ 0x1F407 }, ["rabbit face"]={ 0x1F430 }, + ["raccoon"]={ 0x1F99D }, ["racing car"]={ 0x1F3CE }, ["radio"]={ 0x1F4FB }, ["radio button"]={ 0x1F518 }, @@ -1819,12 +1926,6 @@ return { ["raised fist: medium-dark skin tone"]={ 0x270A, 0x1F3FE }, ["raised fist: medium-light skin tone"]={ 0x270A, 0x1F3FC }, ["raised hand"]={ 0x270B }, - ["raised hand with fingers splayed"]={ 0x1F590 }, - ["raised hand with fingers splayed: dark skin tone"]={ 0x1F590, 0x1F3FF }, - ["raised hand with fingers splayed: light skin tone"]={ 0x1F590, 0x1F3FB }, - ["raised hand with fingers splayed: medium skin tone"]={ 0x1F590, 0x1F3FD }, - ["raised hand with fingers splayed: medium-dark skin tone"]={ 0x1F590, 0x1F3FE }, - ["raised hand with fingers splayed: medium-light skin tone"]={ 0x1F590, 0x1F3FC }, ["raised hand: dark skin tone"]={ 0x270B, 0x1F3FF }, ["raised hand: light skin tone"]={ 0x270B, 0x1F3FB }, ["raised hand: medium skin tone"]={ 0x270B, 0x1F3FD }, @@ -1838,14 +1939,17 @@ return { ["raising hands: medium-light skin tone"]={ 0x1F64C, 0x1F3FC }, ["ram"]={ 0x1F40F }, ["rat"]={ 0x1F400 }, + ["receipt"]={ 0x1F9FE }, ["record button"]={ 0x23FA }, ["recycling symbol"]={ 0x267B }, ["red apple"]={ 0x1F34E }, ["red circle"]={ 0x1F534 }, + ["red envelope"]={ 0x1F9E7 }, ["red heart"]={ 0x2764 }, ["red paper lantern"]={ 0x1F3EE }, ["red triangle pointed down"]={ 0x1F53B }, ["red triangle pointed up"]={ 0x1F53A }, + ["red-haired"]={ 0x1F9B0 }, ["registered"]={ 0xAE }, ["relieved face"]={ 0x1F60C }, ["reminder ribbon"]={ 0x1F397 }, @@ -1870,11 +1974,11 @@ return { ["right-facing fist: medium skin tone"]={ 0x1F91C, 0x1F3FD }, ["right-facing fist: medium-dark skin tone"]={ 0x1F91C, 0x1F3FE }, ["right-facing fist: medium-light skin tone"]={ 0x1F91C, 0x1F3FC }, - ["right-pointing magnifying glass"]={ 0x1F50E }, ["ring"]={ 0x1F48D }, ["roasted sweet potato"]={ 0x1F360 }, ["robot face"]={ 0x1F916 }, ["rocket"]={ 0x1F680 }, + ["roll of paper"]={ 0x1F9FB }, ["rolled-up newspaper"]={ 0x1F5DE }, ["roller coaster"]={ 0x1F3A2 }, ["rolling on the floor laughing"]={ 0x1F923 }, @@ -1889,9 +1993,12 @@ return { ["russia"]={ 0x1F1F7, 0x1F1FA }, ["rwanda"]={ 0x1F1F7, 0x1F1FC }, ["réunion"]={ 0x1F1F7, 0x1F1EA }, + ["sad but relieved face"]={ 0x1F625 }, + ["safety pin"]={ 0x1F9F7 }, ["sagittarius"]={ 0x2650 }, ["sailboat"]={ 0x26F5 }, ["sake"]={ 0x1F376 }, + ["salt"]={ 0x1F9C2 }, ["samoa"]={ 0x1F1FC, 0x1F1F8 }, ["san marino"]={ 0x1F1F8, 0x1F1F2 }, ["sandwich"]={ 0x1F96A }, @@ -1910,8 +2017,8 @@ return { ["school"]={ 0x1F3EB }, ["school backpack"]={ 0x1F392 }, ["scissors"]={ 0x2702 }, + ["scorpio"]={ 0x264F }, ["scorpion"]={ 0x1F982 }, - ["scorpius"]={ 0x264F }, ["scotland"]={ 0x1F3F4, 0xE0067, 0xE0062, 0xE0073, 0xE0063, 0xE0074, 0xE007F }, ["scroll"]={ 0x1F4DC }, ["seat"]={ 0x1F4BA }, @@ -1955,6 +2062,7 @@ return { ["sint maarten"]={ 0x1F1F8, 0x1F1FD }, ["six o’clock"]={ 0x1F555 }, ["six-thirty"]={ 0x1F561 }, + ["skateboard"]={ 0x1F6F9 }, ["skier"]={ 0x26F7 }, ["skis"]={ 0x1F3BF }, ["skull"]={ 0x1F480 }, @@ -1971,15 +2079,11 @@ return { ["small blue diamond"]={ 0x1F539 }, ["small orange diamond"]={ 0x1F538 }, ["smiling cat face with heart-eyes"]={ 0x1F63B }, - ["smiling cat face with open mouth"]={ 0x1F63A }, ["smiling face"]={ 0x263A }, + ["smiling face with 3 hearts"]={ 0x1F970 }, ["smiling face with halo"]={ 0x1F607 }, ["smiling face with heart-eyes"]={ 0x1F60D }, ["smiling face with horns"]={ 0x1F608 }, - ["smiling face with open mouth"]={ 0x1F603 }, - ["smiling face with open mouth & closed eyes"]={ 0x1F606 }, - ["smiling face with open mouth & cold sweat"]={ 0x1F605 }, - ["smiling face with open mouth & smiling eyes"]={ 0x1F604 }, ["smiling face with smiling eyes"]={ 0x1F60A }, ["smiling face with sunglasses"]={ 0x1F60E }, ["smirking face"]={ 0x1F60F }, @@ -1996,9 +2100,11 @@ return { ["snowflake"]={ 0x2744 }, ["snowman"]={ 0x2603 }, ["snowman without snow"]={ 0x26C4 }, + ["soap"]={ 0x1F9FC }, ["soccer ball"]={ 0x26BD }, ["socks"]={ 0x1F9E6 }, ["soft ice cream"]={ 0x1F366 }, + ["softball"]={ 0x1F94E }, ["solomon islands"]={ 0x1F1F8, 0x1F1E7 }, ["somalia"]={ 0x1F1F8, 0x1F1F4 }, ["soon arrow"]={ 0x1F51C }, @@ -2026,11 +2132,13 @@ return { ["spiral calendar"]={ 0x1F5D3 }, ["spiral notepad"]={ 0x1F5D2 }, ["spiral shell"]={ 0x1F41A }, + ["sponge"]={ 0x1F9FD }, ["spoon"]={ 0x1F944 }, ["sport utility vehicle"]={ 0x1F699 }, ["sports medal"]={ 0x1F3C5 }, ["spouting whale"]={ 0x1F433 }, ["squid"]={ 0x1F991 }, + ["squinting face with tongue"]={ 0x1F61D }, ["sri lanka"]={ 0x1F1F1, 0x1F1F0 }, ["st. barthélemy"]={ 0x1F1E7, 0x1F1F1 }, ["st. helena"]={ 0x1F1F8, 0x1F1ED }, @@ -2040,6 +2148,7 @@ return { ["st. pierre & miquelon"]={ 0x1F1F5, 0x1F1F2 }, ["st. vincent & grenadines"]={ 0x1F1FB, 0x1F1E8 }, ["stadium"]={ 0x1F3DF }, + ["star"]={ 0x2B50 }, ["star and crescent"]={ 0x262A }, ["star of david"]={ 0x2721 }, ["star-struck"]={ 0x1F929 }, @@ -2065,10 +2174,23 @@ return { ["sunrise"]={ 0x1F305 }, ["sunrise over mountains"]={ 0x1F304 }, ["sunset"]={ 0x1F307 }, + ["superhero"]={ 0x1F9B8 }, + ["superhero: dark skin tone"]={ 0x1F9B8, 0x1F3FF }, + ["superhero: light skin tone"]={ 0x1F9B8, 0x1F3FB }, + ["superhero: medium skin tone"]={ 0x1F9B8, 0x1F3FD }, + ["superhero: medium-dark skin tone"]={ 0x1F9B8, 0x1F3FE }, + ["superhero: medium-light skin tone"]={ 0x1F9B8, 0x1F3FC }, + ["supervillain"]={ 0x1F9B9 }, + ["supervillain: dark skin tone"]={ 0x1F9B9, 0x1F3FF }, + ["supervillain: light skin tone"]={ 0x1F9B9, 0x1F3FB }, + ["supervillain: medium skin tone"]={ 0x1F9B9, 0x1F3FD }, + ["supervillain: medium-dark skin tone"]={ 0x1F9B9, 0x1F3FE }, + ["supervillain: medium-light skin tone"]={ 0x1F9B9, 0x1F3FC }, ["suriname"]={ 0x1F1F8, 0x1F1F7 }, ["sushi"]={ 0x1F363 }, ["suspension railway"]={ 0x1F69F }, ["svalbard & jan mayen"]={ 0x1F1F8, 0x1F1EF }, + ["swan"]={ 0x1F9A2 }, ["swaziland"]={ 0x1F1F8, 0x1F1FF }, ["sweat droplets"]={ 0x1F4A6 }, ["sweden"]={ 0x1F1F8, 0x1F1EA }, @@ -2090,6 +2212,7 @@ return { ["taxi"]={ 0x1F695 }, ["teacup without handle"]={ 0x1F375 }, ["tear-off calendar"]={ 0x1F4C6 }, + ["teddy bear"]={ 0x1F9F8 }, ["telephone"]={ 0x260E }, ["telephone receiver"]={ 0x1F4DE }, ["telescope"]={ 0x1F52D }, @@ -2098,10 +2221,12 @@ return { ["ten-thirty"]={ 0x1F565 }, ["tennis"]={ 0x1F3BE }, ["tent"]={ 0x26FA }, + ["test tube"]={ 0x1F9EA }, ["thailand"]={ 0x1F1F9, 0x1F1ED }, ["thermometer"]={ 0x1F321 }, ["thinking face"]={ 0x1F914 }, ["thought balloon"]={ 0x1F4AD }, + ["thread"]={ 0x1F9F5 }, ["three o’clock"]={ 0x1F552 }, ["three-thirty"]={ 0x1F55E }, ["thumbs down"]={ 0x1F44E }, @@ -2129,6 +2254,8 @@ return { ["tomato"]={ 0x1F345 }, ["tonga"]={ 0x1F1F9, 0x1F1F4 }, ["tongue"]={ 0x1F445 }, + ["toolbox"]={ 0x1F9F0 }, + ["tooth"]={ 0x1F9B7 }, ["top arrow"]={ 0x1F51D }, ["top hat"]={ 0x1F3A9 }, ["tornado"]={ 0x1F32A }, @@ -2179,12 +2306,12 @@ return { ["united states"]={ 0x1F1FA, 0x1F1F8 }, ["unlocked"]={ 0x1F513 }, ["up arrow"]={ 0x2B06 }, - ["up button"]={ 0x1F53C }, ["up! button"]={ 0x1F199 }, ["up-down arrow"]={ 0x2195 }, ["up-left arrow"]={ 0x2196 }, ["up-right arrow"]={ 0x2197 }, ["upside-down face"]={ 0x1F643 }, + ["upwards button"]={ 0x1F53C }, ["uruguay"]={ 0x1F1FA, 0x1F1FE }, ["uzbekistan"]={ 0x1F1FA, 0x1F1FF }, ["vampire"]={ 0x1F9DB }, @@ -2253,16 +2380,17 @@ return { ["white heavy check mark"]={ 0x2705 }, ["white large square"]={ 0x2B1C }, ["white medium square"]={ 0x25FB }, - ["white medium star"]={ 0x2B50 }, ["white medium-small square"]={ 0x25FD }, ["white question mark"]={ 0x2754 }, ["white small square"]={ 0x25AB }, ["white square button"]={ 0x1F533 }, + ["white-haired"]={ 0x1F9B3 }, ["wilted flower"]={ 0x1F940 }, ["wind chime"]={ 0x1F390 }, ["wind face"]={ 0x1F32C }, ["wine glass"]={ 0x1F377 }, ["winking face"]={ 0x1F609 }, + ["winking face with tongue"]={ 0x1F61C }, ["wolf face"]={ 0x1F43A }, ["woman"]={ 0x1F469 }, ["woman artist"]={ 0x1F469, 0x200D, 0x1F3A8 }, @@ -2542,6 +2670,18 @@ return { ["woman student: medium skin tone"]={ 0x1F469, 0x1F3FD, 0x200D, 0x1F393 }, ["woman student: medium-dark skin tone"]={ 0x1F469, 0x1F3FE, 0x200D, 0x1F393 }, ["woman student: medium-light skin tone"]={ 0x1F469, 0x1F3FC, 0x200D, 0x1F393 }, + ["woman superhero"]={ 0x1F9B8, 0x200D, 0x2640 }, + ["woman superhero: dark skin tone"]={ 0x1F9B8, 0x1F3FF, 0x200D, 0x2640 }, + ["woman superhero: light skin tone"]={ 0x1F9B8, 0x1F3FB, 0x200D, 0x2640 }, + ["woman superhero: medium skin tone"]={ 0x1F9B8, 0x1F3FD, 0x200D, 0x2640 }, + ["woman superhero: medium-dark skin tone"]={ 0x1F9B8, 0x1F3FE, 0x200D, 0x2640 }, + ["woman superhero: medium-light skin tone"]={ 0x1F9B8, 0x1F3FC, 0x200D, 0x2640 }, + ["woman supervillain"]={ 0x1F9B9, 0x200D, 0x2640 }, + ["woman supervillain: dark skin tone"]={ 0x1F9B9, 0x1F3FF, 0x200D, 0x2640 }, + ["woman supervillain: light skin tone"]={ 0x1F9B9, 0x1F3FB, 0x200D, 0x2640 }, + ["woman supervillain: medium skin tone"]={ 0x1F9B9, 0x1F3FD, 0x200D, 0x2640 }, + ["woman supervillain: medium-dark skin tone"]={ 0x1F9B9, 0x1F3FE, 0x200D, 0x2640 }, + ["woman supervillain: medium-light skin tone"]={ 0x1F9B9, 0x1F3FC, 0x200D, 0x2640 }, ["woman surfing"]={ 0x1F3C4, 0x200D, 0x2640 }, ["woman surfing: dark skin tone"]={ 0x1F3C4, 0x1F3FF, 0x200D, 0x2640 }, ["woman surfing: light skin tone"]={ 0x1F3C4, 0x1F3FB, 0x200D, 0x2640 }, @@ -2597,6 +2737,30 @@ return { ["woman with headscarf: medium-dark skin tone"]={ 0x1F9D5, 0x1F3FE }, ["woman with headscarf: medium-light skin tone"]={ 0x1F9D5, 0x1F3FC }, ["woman zombie"]={ 0x1F9DF, 0x200D, 0x2640 }, + ["woman, bald"]={ 0x1F469, 0x200D, 0x1F9B2 }, + ["woman, bald: dark skin tone"]={ 0x1F469, 0x1F3FF, 0x200D, 0x1F9B2 }, + ["woman, bald: light skin tone"]={ 0x1F469, 0x1F3FB, 0x200D, 0x1F9B2 }, + ["woman, bald: medium skin tone"]={ 0x1F469, 0x1F3FD, 0x200D, 0x1F9B2 }, + ["woman, bald: medium-dark skin tone"]={ 0x1F469, 0x1F3FE, 0x200D, 0x1F9B2 }, + ["woman, bald: medium-light skin tone"]={ 0x1F469, 0x1F3FC, 0x200D, 0x1F9B2 }, + ["woman, curly haired"]={ 0x1F469, 0x200D, 0x1F9B1 }, + ["woman, curly haired: dark skin tone"]={ 0x1F469, 0x1F3FF, 0x200D, 0x1F9B1 }, + ["woman, curly haired: light skin tone"]={ 0x1F469, 0x1F3FB, 0x200D, 0x1F9B1 }, + ["woman, curly haired: medium skin tone"]={ 0x1F469, 0x1F3FD, 0x200D, 0x1F9B1 }, + ["woman, curly haired: medium-dark skin tone"]={ 0x1F469, 0x1F3FE, 0x200D, 0x1F9B1 }, + ["woman, curly haired: medium-light skin tone"]={ 0x1F469, 0x1F3FC, 0x200D, 0x1F9B1 }, + ["woman, red haired"]={ 0x1F469, 0x200D, 0x1F9B0 }, + ["woman, red haired: dark skin tone"]={ 0x1F469, 0x1F3FF, 0x200D, 0x1F9B0 }, + ["woman, red haired: light skin tone"]={ 0x1F469, 0x1F3FB, 0x200D, 0x1F9B0 }, + ["woman, red haired: medium skin tone"]={ 0x1F469, 0x1F3FD, 0x200D, 0x1F9B0 }, + ["woman, red haired: medium-dark skin tone"]={ 0x1F469, 0x1F3FE, 0x200D, 0x1F9B0 }, + ["woman, red haired: medium-light skin tone"]={ 0x1F469, 0x1F3FC, 0x200D, 0x1F9B0 }, + ["woman, white haired"]={ 0x1F469, 0x200D, 0x1F9B3 }, + ["woman, white haired: dark skin tone"]={ 0x1F469, 0x1F3FF, 0x200D, 0x1F9B3 }, + ["woman, white haired: light skin tone"]={ 0x1F469, 0x1F3FB, 0x200D, 0x1F9B3 }, + ["woman, white haired: medium skin tone"]={ 0x1F469, 0x1F3FD, 0x200D, 0x1F9B3 }, + ["woman, white haired: medium-dark skin tone"]={ 0x1F469, 0x1F3FE, 0x200D, 0x1F9B3 }, + ["woman, white haired: medium-light skin tone"]={ 0x1F469, 0x1F3FC, 0x200D, 0x1F9B3 }, ["woman: dark skin tone"]={ 0x1F469, 0x1F3FF }, ["woman: light skin tone"]={ 0x1F469, 0x1F3FB }, ["woman: medium skin tone"]={ 0x1F469, 0x1F3FD }, @@ -2604,11 +2768,13 @@ return { ["woman: medium-light skin tone"]={ 0x1F469, 0x1F3FC }, ["woman’s boot"]={ 0x1F462 }, ["woman’s clothes"]={ 0x1F45A }, + ["woman’s flat shoe"]={ 0x1F97F }, ["woman’s hat"]={ 0x1F452 }, ["woman’s sandal"]={ 0x1F461 }, - ["women with bunny ears partying"]={ 0x1F46F, 0x200D, 0x2640 }, + ["women with bunny ears"]={ 0x1F46F, 0x200D, 0x2640 }, ["women wrestling"]={ 0x1F93C, 0x200D, 0x2640 }, ["women’s room"]={ 0x1F6BA }, + ["woozy face"]={ 0x1F974 }, ["world map"]={ 0x1F5FA }, ["worried face"]={ 0x1F61F }, ["wrapped gift"]={ 0x1F381 }, @@ -2619,11 +2785,13 @@ return { ["writing hand: medium skin tone"]={ 0x270D, 0x1F3FD }, ["writing hand: medium-dark skin tone"]={ 0x270D, 0x1F3FE }, ["writing hand: medium-light skin tone"]={ 0x270D, 0x1F3FC }, + ["yarn"]={ 0x1F9F6 }, ["yellow heart"]={ 0x1F49B }, ["yemen"]={ 0x1F1FE, 0x1F1EA }, ["yen banknote"]={ 0x1F4B4 }, ["yin yang"]={ 0x262F }, ["zambia"]={ 0x1F1FF, 0x1F1F2 }, + ["zany face"]={ 0x1F92A }, ["zebra"]={ 0x1F993 }, ["zimbabwe"]={ 0x1F1FF, 0x1F1FC }, ["zipper-mouth face"]={ 0x1F910 }, diff --git a/tex/context/base/mkiv/char-ini.lua b/tex/context/base/mkiv/char-ini.lua index c308a2c0f..4ee9db8b5 100644 --- a/tex/context/base/mkiv/char-ini.lua +++ b/tex/context/base/mkiv/char-ini.lua @@ -234,6 +234,7 @@ local blocks = allocate { ["cham"] = { first = 0x0AA00, last = 0x0AA5F, description = "Cham" }, ["cherokee"] = { first = 0x013A0, last = 0x013FF, otf="cher", description = "Cherokee" }, ["cherokeesupplement"] = { first = 0x0AB70, last = 0x0ABBF, description = "Cherokee Supplement" }, + ["chesssymbols"] = { first = 0x1FA00, last = 0x1FA6F, description = "Chess Symbols" }, ["cjkcompatibility"] = { first = 0x03300, last = 0x033FF, otf="hang", description = "CJK Compatibility" }, ["cjkcompatibilityforms"] = { first = 0x0FE30, last = 0x0FE4F, otf="hang", description = "CJK Compatibility Forms" }, ["cjkcompatibilityideographs"] = { first = 0x0F900, last = 0x0FAFF, otf="hang", description = "CJK Compatibility Ideographs" }, @@ -296,6 +297,7 @@ local blocks = allocate { -- ["digitsthai"] = { first = 0x00E50, last = 0x00E59, math = true }, -- ["digitstibetan"] = { first = 0x00F20, last = 0x00F29, math = true }, ["dingbats"] = { first = 0x02700, last = 0x027BF, description = "Dingbats" }, + ["dogra"] = { first = 0x11800, last = 0x1184F, description = "Dogra" }, ["dominotiles"] = { first = 0x1F030, last = 0x1F09F, description = "Domino Tiles" }, ["duployan"] = { first = 0x1BC00, last = 0x1BC9F, description = "Duployan" }, ["earlydynasticcuneiform"] = { first = 0x12480, last = 0x1254F, description = "Early Dynastic Cuneiform" }, @@ -314,6 +316,7 @@ local blocks = allocate { ["geometricshapes"] = { first = 0x025A0, last = 0x025FF, math = true, description = "Geometric Shapes" }, ["geometricshapesextended"] = { first = 0x1F780, last = 0x1F7FF, description = "Geometric Shapes Extended" }, ["georgian"] = { first = 0x010A0, last = 0x010FF, otf="geor", description = "Georgian" }, + ["georgianextended"] = { first = 0x01C90, last = 0x01CBF, description = "Georgian Extended" }, ["georgiansupplement"] = { first = 0x02D00, last = 0x02D2F, otf="geor", description = "Georgian Supplement" }, ["glagolitic"] = { first = 0x02C00, last = 0x02C5F, otf="glag", description = "Glagolitic" }, ["glagoliticsupplement"] = { first = 0x1E000, last = 0x1E02F, description = "Glagolitic Supplement" }, @@ -322,6 +325,7 @@ local blocks = allocate { ["greekandcoptic"] = { first = 0x00370, last = 0x003FF, otf="grek", description = "Greek and Coptic" }, ["greekextended"] = { first = 0x01F00, last = 0x01FFF, otf="grek", description = "Greek Extended" }, ["gujarati"] = { first = 0x00A80, last = 0x00AFF, otf="gujr", description = "Gujarati" }, + ["gunjalagondi"] = { first = 0x11D60, last = 0x11DAF, description = "Gunjala Gondi" }, ["gurmukhi"] = { first = 0x00A00, last = 0x00A7F, otf="guru", description = "Gurmukhi" }, ["halfwidthandfullwidthforms"] = { first = 0x0FF00, last = 0x0FFEF, description = "Halfwidth and Fullwidth Forms" }, ["hangulcompatibilityjamo"] = { first = 0x03130, last = 0x0318F, otf="jamo", description = "Hangul Compatibility Jamo" }, @@ -329,6 +333,7 @@ local blocks = allocate { ["hanguljamoextendeda"] = { first = 0x0A960, last = 0x0A97F, description = "Hangul Jamo Extended-A" }, ["hanguljamoextendedb"] = { first = 0x0D7B0, last = 0x0D7FF, description = "Hangul Jamo Extended-B" }, ["hangulsyllables"] = { first = 0x0AC00, last = 0x0D7AF, otf="hang", description = "Hangul Syllables" }, + ["hanifirohingya"] = { first = 0x10D00, last = 0x10D3F, description = "Hanifi Rohingya" }, ["hanunoo"] = { first = 0x01720, last = 0x0173F, otf="hano", description = "Hanunoo" }, ["hatran"] = { first = 0x108E0, last = 0x108FF, description = "Hatran" }, ["hebrew"] = { first = 0x00590, last = 0x005FF, otf="hebr", description = "Hebrew" }, @@ -338,6 +343,7 @@ local blocks = allocate { ["ideographicdescriptioncharacters"] = { first = 0x02FF0, last = 0x02FFF, description = "Ideographic Description Characters" }, ["ideographicsymbolsandpunctuation"] = { first = 0x16FE0, last = 0x16FFF, description = "Ideographic Symbols and Punctuation" }, ["imperialaramaic"] = { first = 0x10840, last = 0x1085F, description = "Imperial Aramaic" }, + ["indicsiyaqnumbers"] = { first = 0x1EC70, last = 0x1ECBF, description = "Indic Siyaq Numbers" }, ["inscriptionalpahlavi"] = { first = 0x10B60, last = 0x10B7F, description = "Inscriptional Pahlavi" }, ["inscriptionalparthian"] = { first = 0x10B40, last = 0x10B5F, description = "Inscriptional Parthian" }, ["ipaextensions"] = { first = 0x00250, last = 0x002AF, description = "IPA Extensions" }, @@ -396,6 +402,7 @@ local blocks = allocate { ["lydian"] = { first = 0x10920, last = 0x1093F, description = "Lydian" }, ["mahajani"] = { first = 0x11150, last = 0x1117F, description = "Mahajani" }, ["mahjongtiles"] = { first = 0x1F000, last = 0x1F02F, description = "Mahjong Tiles" }, + ["makasar"] = { first = 0x11EE0, last = 0x11EFF, description = "Makasar" }, ["malayalam"] = { first = 0x00D00, last = 0x00D7F, otf="mlym", description = "Malayalam" }, ["mandaic"] = { first = 0x00840, last = 0x0085F, otf="mand", description = "Mandaic" }, ["manichaean"] = { first = 0x10AC0, last = 0x10AFF, description = "Manichaean" }, @@ -403,6 +410,8 @@ local blocks = allocate { ["masaramgondi"] = { first = 0x11D00, last = 0x11D5F, description = "Masaram Gondi" }, ["mathematicalalphanumericsymbols"] = { first = 0x1D400, last = 0x1D7FF, math = true, description = "Mathematical Alphanumeric Symbols" }, ["mathematicaloperators"] = { first = 0x02200, last = 0x022FF, math = true, description = "Mathematical Operators" }, + ["mayannumerals"] = { first = 0x1D2E0, last = 0x1D2FF, description = "Mayan Numerals" }, + ["medefaidrin"] = { first = 0x16E40, last = 0x16E9F, description = "Medefaidrin" }, ["meeteimayek"] = { first = 0x0ABC0, last = 0x0ABFF, description = "Meetei Mayek" }, ["meeteimayekextensions"] = { first = 0x0AAE0, last = 0x0AAFF, description = "Meetei Mayek Extensions" }, ["mendekikakui"] = { first = 0x1E800, last = 0x1E8DF, description = "Mende Kikakui" }, @@ -438,6 +447,7 @@ local blocks = allocate { ["oldnortharabian"] = { first = 0x10A80, last = 0x10A9F, description = "Old North Arabian" }, ["oldpermic"] = { first = 0x10350, last = 0x1037F, description = "Old Permic" }, ["oldpersian"] = { first = 0x103A0, last = 0x103DF, otf="xpeo", description = "Old Persian" }, + ["oldsogdian"] = { first = 0x10F00, last = 0x10F2F, description = "Old Sogdian" }, ["oldsoutharabian"] = { first = 0x10A60, last = 0x10A7F, description = "Old South Arabian" }, ["oldturkic"] = { first = 0x10C00, last = 0x10C4F, description = "Old Turkic" }, ["opticalcharacterrecognition"] = { first = 0x02440, last = 0x0245F, description = "Optical Character Recognition" }, @@ -468,6 +478,7 @@ local blocks = allocate { ["sinhala"] = { first = 0x00D80, last = 0x00DFF, otf="sinh", description = "Sinhala" }, ["sinhalaarchaicnumbers"] = { first = 0x111E0, last = 0x111FF, description = "Sinhala Archaic Numbers" }, ["smallformvariants"] = { first = 0x0FE50, last = 0x0FE6F, description = "Small Form Variants" }, + ["sogdian"] = { first = 0x10F30, last = 0x10F6F, description = "Sogdian" }, ["sorasompeng"] = { first = 0x110D0, last = 0x110FF, description = "Sora Sompeng" }, ["soyombo"] = { first = 0x11A50, last = 0x11AAF, description = "Soyombo" }, ["spacingmodifierletters"] = { first = 0x002B0, last = 0x002FF, description = "Spacing Modifier Letters" }, diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index a09dbd99c..7d09bd5aa 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2018.07.18 17:33} +\newcontextversion{2018.07.20 21:20} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 07cda500d..f3b9915ae 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -42,7 +42,7 @@ %D has to match \type {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2018.07.18 17:33} +\edef\contextversion{2018.07.20 21:20} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/lpdf-epd.lua b/tex/context/base/mkiv/lpdf-epd.lua index f6e28cdec..5ecb12c47 100644 --- a/tex/context/base/mkiv/lpdf-epd.lua +++ b/tex/context/base/mkiv/lpdf-epd.lua @@ -1301,6 +1301,8 @@ if img then do end end + -- todo: codeinjections + lpdf_epdf.image = { open = openpdf, close = closepdf, diff --git a/tex/context/base/mkiv/node-bck.lua b/tex/context/base/mkiv/node-bck.lua index 8174888ee..3c453bfb3 100644 --- a/tex/context/base/mkiv/node-bck.lua +++ b/tex/context/base/mkiv/node-bck.lua @@ -70,7 +70,7 @@ local a_linefiller = privateattributes("linefiller") local a_ruled = privateattributes("ruled") local trace_alignment = false -local report_alignment = logs.reported("backgrounds","alignment") +local report_alignment = logs.reporter("backgrounds","alignment") trackers.register("backgrounds.alignments",function(v) trace_alignment = v end) diff --git a/tex/context/base/mkiv/node-ini.lua b/tex/context/base/mkiv/node-ini.lua index a9f8850b4..9b35f29f6 100644 --- a/tex/context/base/mkiv/node-ini.lua +++ b/tex/context/base/mkiv/node-ini.lua @@ -107,7 +107,6 @@ dircodes = allocate { [1] = "cancel", } - -- local glyphcodes = allocate { -- [ 1] = "character", -- [ 2] = "ligature", @@ -383,6 +382,9 @@ nodes.dirvalues = dirvalues nodes.gluevalues = gluevalues nodes.pdfliteralvalues = pdfliteralvalues +dirvalues.lefttoright = 0 +dirvalues.righttoleft = 1 + nodes.subtypes = { [nodecodes.accent] = accentcodes, [nodecodes.boundary] = boundarycodes, diff --git a/tex/context/base/mkiv/node-par.lua b/tex/context/base/mkiv/node-par.lua index e45e6dc16..4afaef220 100644 --- a/tex/context/base/mkiv/node-par.lua +++ b/tex/context/base/mkiv/node-par.lua @@ -11,6 +11,8 @@ local stoptiming = statistics.stoptiming local actions = nodes.tasks.actions("everypar") +-- this one is called a lot! + local function everypar(head) starttiming(builders) head = actions(head) @@ -18,4 +20,8 @@ local function everypar(head) return head end -callback.register("insert_local_par",everypar,"paragraph start") +if LUATEXFUNCTIONALITY > 6857 then + + callback.register("insert_local_par",everypar,"paragraph start") + +end diff --git a/tex/context/base/mkiv/node-pro.lua b/tex/context/base/mkiv/node-pro.lua index ad1035bbc..575ddbb28 100644 --- a/tex/context/base/mkiv/node-pro.lua +++ b/tex/context/base/mkiv/node-pro.lua @@ -65,8 +65,6 @@ do end -local tracer = processors.tracer - processors.enabled = true -- this will become a proper state (like trackers) do @@ -74,6 +72,8 @@ do local has_glyph = nodes.has_glyph local count_nodes = nodes.countall + local tracer = processors.tracer + local function pre_linebreak_filter(head,groupcode) -- ,size,packtype,direction local found = force_processors or has_glyph(head) if found then @@ -153,6 +153,8 @@ do local actions = tasks.actions("finalizers") -- head, where local count_nodes = nodes.countall + local tracer = processors.tracer + local function post_linebreak_filter(head,groupcode) if trace_callbacks then local before = count_nodes(head,true) diff --git a/tex/context/base/mkiv/node-ref.lua b/tex/context/base/mkiv/node-ref.lua index 492c65b0c..27d209701 100644 --- a/tex/context/base/mkiv/node-ref.lua +++ b/tex/context/base/mkiv/node-ref.lua @@ -444,6 +444,89 @@ local function inject_areas(head,attribute,make,stack,done,skip,parent,pardir,tx return head, pardir, txtdir end +-- -- maybe first check for glyphs and use a goto: +-- +-- local function inject_areas(head,attribute,make,stack,done,skip,parent,pardir,txtdir) -- main +-- local first, last, firstdir, reference +-- if not pardir then +-- pardir = "===" +-- end +-- if not texdir then +-- txtdir = "===" +-- end +-- local current = head +-- while current do +-- local id = getid(current) +-- local r -- else scope message due to goto +-- if id == glyph_code then +-- goto rest +-- elseif id == hlist_code or id == vlist_code then +-- r = getattr(current,attribute) +-- -- test \goto{test}[page(2)] test \gotobox{test}[page(2)] +-- -- test \goto{\TeX}[page(2)] test \gotobox{\hbox {x} \hbox {x}}[page(2)] +-- -- if r and (not skip or r >) skip then -- maybe no > test +-- -- inject_list(id,current,r,make,stack,pardir,txtdir) +-- -- end +-- if r then +-- if not reference then +-- reference, first, last, firstdir = r, current, current, txtdir +-- elseif r == reference then +-- -- same link +-- last = current +-- elseif (done[reference] or 0) == 0 then +-- if not skip or r > skip then -- maybe no > test +-- head, current = inject_range(head,first,last,reference,make,stack,parent,pardir,firstdir) +-- reference, first, last, firstdir = nil, nil, nil, nil +-- end +-- else +-- reference, first, last, firstdir = r, current, current, txtdir +-- end +-- done[r] = (done[r] or 0) + 1 +-- end +-- local list = getlist(current) +-- if list then +-- local h +-- h, pardir, txtdir = inject_areas(list,attribute,make,stack,done,r or skip or 0,current,pardir,txtdir) +-- if h ~= current then +-- setlist(current,h) +-- end +-- end +-- if r then +-- done[r] = done[r] - 1 +-- end +-- elseif id == glue_code and getsubtype(current) == leftskip_code then -- any glue at the left? +-- -- +-- elseif id == dir_code then +-- txtdir = getdir(current) +-- elseif id == localpar_code then -- only test at begin +-- pardir = getdir(current) +-- end +-- goto next +-- ::rest:: +-- r = getattr(current,attribute) +-- if not r then +-- -- just go on, can be kerns +-- elseif not reference then +-- reference, first, last, firstdir = r, current, current, txtdir +-- elseif r == reference then +-- last = current +-- elseif (done[reference] or 0) == 0 then -- or id == glue_code and getsubtype(current) == right_skip_code +-- if not skip or r > skip then -- maybe no > test +-- head, current = inject_range(head,first,last,reference,make,stack,parent,pardir,firstdir) +-- reference, first, last, firstdir = nil, nil, nil, nil +-- end +-- else +-- reference, first, last, firstdir = r, current, current, txtdir +-- end +-- ::next:: +-- current = getnext(current) +-- end +-- if reference and (done[reference] or 0) == 0 then +-- head = inject_range(head,first,last,reference,make,stack,parent,pardir,firstdir) +-- end +-- return head, pardir, txtdir +-- end + -- tracing: todo: use predefined colors local register_color = colors.register diff --git a/tex/context/base/mkiv/node-rul.lua b/tex/context/base/mkiv/node-rul.lua index 39ad1cf58..e8259df44 100644 --- a/tex/context/base/mkiv/node-rul.lua +++ b/tex/context/base/mkiv/node-rul.lua @@ -44,7 +44,6 @@ local getfont = nuts.getfont local getsubtype = nuts.getsubtype local getlist = nuts.getlist local setwhd = nuts.setwhd -local setdir = nuts.setdir local setattrlist = nuts.setattrlist local setshift = nuts.setshift local getwidth = nuts.getwidth diff --git a/tex/context/base/mkiv/node-tsk.lua b/tex/context/base/mkiv/node-tsk.lua index aa59d1d5d..f2f78252a 100644 --- a/tex/context/base/mkiv/node-tsk.lua +++ b/tex/context/base/mkiv/node-tsk.lua @@ -226,24 +226,25 @@ statistics.register("node list callback tasks", function() end end) -function tasks.actions(name) -- we optimize for the number or arguments (no ...) +local function create(data,t) + created = created + 1 + local runner = compile(data.list,data.processor,t) + if trace_tasks then + report_tasks("creating runner %a, %i actions enabled",t.name,data.list.steps or 0) + end + data.runner = runner + return runner +end + +function tasks.actions(name) local data = tasksdata[name] if data then local t = data.templates if t then t.name = data.name return function(...) - total = total + 1 -- will go away - local runner = data.runner - if not runner then - created = created + 1 - if trace_tasks then - report_tasks("creating runner %a",name) - end - runner = compile(data.list,data.processor,t) - data.runner = runner - end - return runner(...) + total = total + 1 + return (data.runner or create(data,t))(...) end end end diff --git a/tex/context/base/mkiv/pack-rul.lua b/tex/context/base/mkiv/pack-rul.lua index a270bffe7..80379b207 100644 --- a/tex/context/base/mkiv/pack-rul.lua +++ b/tex/context/base/mkiv/pack-rul.lua @@ -44,6 +44,7 @@ local getid = nuts.getid local getsubtype = nuts.getsubtype local getbox = nuts.getbox local getdir = nuts.getdir +local getdirection = nuts.getdirection local setshift = nuts.setshift local setwidth = nuts.setwidth local getwidth = nuts.getwidth @@ -199,7 +200,8 @@ if LUATEXVERSION >= 1.090 then if list then if id == hlist_code then if subtype == box_code or subtype == line_code then - lastlinelength = list_dimensions(list,getdir(n)) + -- lastlinelength = list_dimensions(list,getdir(n)) + lastlinelength = list_dimensions(list,getdirection(n)) else lastlinelength = width end diff --git a/tex/context/base/mkiv/page-ini.lua b/tex/context/base/mkiv/page-ini.lua index 5b73c9729..3d5534128 100644 --- a/tex/context/base/mkiv/page-ini.lua +++ b/tex/context/base/mkiv/page-ini.lua @@ -41,23 +41,39 @@ function pages.mark(name,list) local page = list[i] local sign = false if type(page) == "string" then - local s, p = match(page,"([%+%-])(%d+)") - if s then - sign, page = s, p + local f, t = match(page,"(%d+)[:%-](%d+)") + if f and t then + f, t = tonumber(f), tonumber(t) + if f and t and f <= t then + if trace then + report("marking page %i upto %i as %a",f,t,name) + end + for page=f,t do + data[page][name] = true + end + end + page = false + else + local s, p = match(page,"([%+%-])(%d+)") + if s then + sign, page = s, p + end end end - page = tonumber(page) if page then - if sign == "+" then - page = realpage + page - end - if sign == "-" then - report("negative page numbers are not supported") - else - if trace then - report("marking page %i as %a",page,name) + page = tonumber(page) + if page then + if sign == "+" then + page = realpage + page + end + if sign == "-" then + report("negative page numbers are not supported") + else + if trace then + report("marking page %i as %a",page,name) + end + data[page][name] = true end - data[page][name] = true end end end @@ -75,7 +91,6 @@ local function marked(name) rawset(data,i,nil) end local pagedata = rawget(data,realpage) - print(pagedata and pagedata[name] and true or false) return pagedata and pagedata[name] and true or false end diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 3106a2cfb..73d70bb17 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 61d33704a..fd2363cb3 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkiv/strc-blk.lua b/tex/context/base/mkiv/strc-blk.lua index 4e129a842..89df440c9 100644 --- a/tex/context/base/mkiv/strc-blk.lua +++ b/tex/context/base/mkiv/strc-blk.lua @@ -9,7 +9,7 @@ if not modules then modules = { } end modules ['strc-blk'] = { -- this one runs on top of buffers and structure local type, next = type, next -local find, format, validstring = string.find, string.format, string.valid +local find, formatters, validstring = string.find, string.formatters, string.valid local settings_to_set, settings_to_array = utilities.parsers.settings_to_set, utilities.parsers.settings_to_array local allocate = utilities.storage.allocate @@ -25,6 +25,7 @@ structures.blocks = structures.blocks or { } local blocks = structures.blocks local sections = structures.sections local lists = structures.lists +local helpers = structures.helpers local collected = allocate() local tobesaved = allocate() @@ -42,14 +43,28 @@ end job.register('structures.blocks.collected', tobesaved, initializer) local listitem = utilities.parsers.listitem +local f_block = formatters["block.%s"] + +function blocks.uservariable(index,key,default) + local c = collected[index] + if c then + local u = c.userdata + if u then + local v = u[key] or default + if v then + context(v) + end + end + end +end -function blocks.print(name,data,parameters,hide) +local function printblock(index,name,data,hide) if hide then - context.dostarthiddenblock(name, parameters) + context.dostarthiddenblock(index,name) else - context.dostartnormalblock(name, parameters) + context.dostartnormalblock(index,name) end - context.viafile(data,format("block.%s",validstring(name,"noname"))) + context.viafile(data,f_block(validstring(name,"noname"))) if hide then context.dostophiddenblock() else @@ -57,12 +72,14 @@ function blocks.print(name,data,parameters,hide) end end +blocks.print = printblock + function blocks.define(name) states[name] = { all = "hide" } end function blocks.setstate(state,name,tag) - local all = tag == "" + local all = tag == "" local tags = not all and settings_to_array(tag) for n in listitem(name) do local sn = states[n] @@ -98,12 +115,12 @@ function blocks.select(state,name,tag,criterium) local metadata = ri.metadata if names[metadata.name] then if all then - blocks.print(name,ri.data,ri.parameters,hide) + printblock(ri.index,name,ri.data,hide) else local mtags = metadata.tags for tag, sta in next, tags do if mtags[tag] then - blocks.print(name,ri.data,ri.parameters,hide) + printblock(ri.index,name,ri.data,hide) break end end @@ -112,42 +129,51 @@ function blocks.select(state,name,tag,criterium) end end -function blocks.save(name,tag,parameters,buffer) -- wrong, not yet adapted - local data = buffers.getcontent(buffer) - local tags = settings_to_set(tag) - local plus, minus = false, false - if tags['+'] then plus = true tags['+'] = nil end - if tags['-'] then minus = true tags['-'] = nil end - tobesaved[#tobesaved+1] = { - metadata = { - name = name, - tags = tags, - plus = plus, +function blocks.save(name,tag,userdata,buffer) -- wrong, not yet adapted + local data = buffers.getcontent(buffer) + local tags = settings_to_set(tag) + local plus = false + local minus = false + local last = #tobesaved + 1 + local all = states[name].all + if tags['+'] then + plus = true + tags['+'] = nil + end + if tags['-'] then + minus = true + tags['-'] = nil + end + tobesaved[last] = helpers.simplify { + metadata = { + name = name, + tags = tags, + plus = plus, minus = minus, }, + index = last, + data = data or "error", + userdata = userdata and type(userdata) == "string" and helpers.touserdata(userdata), references = { - section = sections.currentid(), + section = sections.currentid(), }, - data = data or "error", - parameters = parameters, } - local allstate = states[name].all if not next(tags) then - if allstate ~= "hide" then - blocks.print(name,data,parameters) + if all ~= "hide" then + printblock(last,name,data) elseif plus then - blocks.print(name,data,parameters,true) + printblock(last,name,data,true) end else local sn = states[name] for tag, _ in next, tags do if sn[tag] == nil then - if allstate ~= "hide" then - blocks.print(name,data,parameters) + if all ~= "hide" then + printblock(last,name,data) break end elseif sn[tag] ~= "hide" then - blocks.print(name,data,parameters) + printblock(last,name,data) break end end @@ -157,7 +183,8 @@ end -- interface -implement { name = "definestructureblock", actions = blocks.define, arguments = "string" } -implement { name = "savestructureblock", actions = blocks.save, arguments = "4 strings" } -implement { name = "selectstructureblock", actions = blocks.select, arguments = "4 strings" } -implement { name = "setstructureblockstate", actions = blocks.setstate, arguments = "3 strings" } +implement { name = "definestructureblock", actions = blocks.define, arguments = "string" } +implement { name = "savestructureblock", actions = blocks.save, arguments = "4 strings" } +implement { name = "selectstructureblock", actions = blocks.select, arguments = "4 strings" } +implement { name = "setstructureblockstate", actions = blocks.setstate, arguments = "3 strings" } +implement { name = "structureblockuservariable", actions = blocks.uservariable, arguments = { "integer", "string" } } diff --git a/tex/context/base/mkiv/strc-blk.mkiv b/tex/context/base/mkiv/strc-blk.mkiv index 1ff7ec51b..4d7437b37 100644 --- a/tex/context/base/mkiv/strc-blk.mkiv +++ b/tex/context/base/mkiv/strc-blk.mkiv @@ -35,14 +35,14 @@ \appendtoks \clf_definestructureblock{\currentblock}% \setuevalue{\e!begin\currentblock}{\dotripleempty\strc_blocks_begin[\currentblock]}% - \setuevalue{\e!end \currentblock}{}% + \letvalue {\e!end \currentblock}\donothing \to \everydefineblock \unexpanded\def\strc_blocks_begin[#1][#2][#3]% - {\normalexpanded{\buff_pickup{@block@}{\e!begin#1}{\e!end#1}} - {}% before - {\clf_savestructureblock{#1}{#2}{#3}{@block@}}% - \plusone}% after + {\normalexpanded{\buff_pickup{\??block}{\e!begin#1}{\e!end#1}} + {}% + {\clf_savestructureblock{#1}{#2}{#3}{\??block}}% + \plusone}% \let\strc_blocks_setup\relax @@ -54,11 +54,13 @@ {\dostopnormalblock \stopnointerference} +\newconstant\c_strc_blocks_index + \unexpanded\def\dostartnormalblock#1#2% called at lua end - {\bgroup + {\begingroup \visibletrue % will change - \edef\currentblock{#1}% - \setupcurrentblock[#2]% + \edef\currentblock{#2}% + \c_strc_blocks_index#1\relax \strc_blocks_setup \let\strc_blocks_setup\relax \blockparameter\c!before @@ -70,13 +72,13 @@ {\removeunwantedspaces \blockparameter\c!after \par % todo: alternative = text, paragraph - \egroup} + \endgroup} \def\strc_blocks_set_state[#1][#2][#3]% state name tag {\clf_setstructureblockstate{#1}{#2}{#3}} \def\strc_blocks_select[#1][#2][#3][#4]% state name tag setups - {\bgroup + {\begingroup \doifelseassignment{#3} {\getparameters[\??blocktemp][\c!criterium=\v!text,#3]% \def\strc_blocks_setup{\setupcurrentblock[#3]}% @@ -84,7 +86,10 @@ {\getparameters[\??blocktemp][\c!criterium=\v!text,#4]% \def\strc_blocks_setup{\setupcurrentblock[#4]}% \clf_selectstructureblock{#1}{#2}{#3}{\csname\??blocktemp\c!criterium\endcsname}}% - \egroup} + \endgroup} + +\def\blockuservariable#1% + {\clf_structureblockuservariable\c_strc_blocks_index{#1}} % hide : save, if [+] also hidden execute % keep : save and normal execute diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua index dc680cda0..133c93fe4 100644 --- a/tex/context/base/mkiv/supp-box.lua +++ b/tex/context/base/mkiv/supp-box.lua @@ -41,7 +41,7 @@ local getid = nuts.getid local getlist = nuts.getlist local getattribute = nuts.getattribute local getbox = nuts.getbox -local getdir = nuts.getdir +local getdirection = nuts.getdirection local getwidth = nuts.getwidth local takebox = nuts.takebox @@ -66,6 +66,7 @@ local list_dimensions = nuts.dimensions local hpack = nuts.hpack local nextdisc = nuts.traversers.disc +local nextdir = nuts.traversers.dir local nexthlist = nuts.traversers.hlist local listtoutf = nodes.listtoutf @@ -419,29 +420,41 @@ interfaces.implement { nodes.setboxtonaturalwd = setboxtonaturalwd -local function firstdirinbox(n) - local b = getbox(n) - if b then - local l = getlist(b) - if l then - for h in nexthlist, l do - return getdir(h) +local doifelse = commands.doifelse + +do + + local dirvalues = nodes.dirvalues + local righttoleft = dirvalues.righttoleft + local lefttoright = dirvalues.lefttoright + + local function firstdirinbox(n) + local b = getbox(n) + if b then + local l = getlist(b) + if l then + for d in nextdir, l do + return getdirection(d) + end + for h in nexthlist, l do + return getdirection(h) + end end end + return lefttoright end -end -nodes.firstdirinbox = firstdirinbox + nodes.firstdirinbox = firstdirinbox -local doifelse = commands.doifelse + interfaces.implement { + name = "doifelserighttoleftinbox", + arguments = "integer", + actions = function(n) + doifelse(firstdirinbox(n) == righttoleft) + end + } -interfaces.implement { - name = "doifelserighttoleftinbox", - arguments = "integer", - actions = function(n) - doifelse(firstdirinbox(n) == "TRT") - end -} +end -- new (handy for mp) .. might move to its own module diff --git a/tex/context/base/mkiv/task-ini.lua b/tex/context/base/mkiv/task-ini.lua index 5695be936..48aa65baa 100644 --- a/tex/context/base/mkiv/task-ini.lua +++ b/tex/context/base/mkiv/task-ini.lua @@ -127,7 +127,7 @@ appendaction("contributers", "normalizers", "nodes.handlers.flattenline", appendaction("contributers", "normalizers", "nodes.handlers.textbackgrounds", nil, "nut", "disabled" ) appendaction("vboxbuilders", "normalizers", "nodes.handlers.backgroundsvbox", nil, "nut", "disabled" ) ---------("vboxbuilders", "normalizers", "typesetters.margins.localhandler", nil, "nut", "disabled" ) +------------("vboxbuilders", "normalizers", "typesetters.margins.localhandler", nil, "nut", "disabled" ) appendaction("vboxbuilders", "normalizers", "builders.vspacing.vboxhandler", nil, "nut", "enabled" ) appendaction("vboxbuilders", "normalizers", "builders.profiling.vboxhandler", nil, "nut", "disabled" ) appendaction("vboxbuilders", "normalizers", "typesetters.checkers.handler", nil, "nut", "disabled" ) diff --git a/tex/context/base/mkiv/trac-vis.lua b/tex/context/base/mkiv/trac-vis.lua index 5c92a80f8..6ae65509b 100644 --- a/tex/context/base/mkiv/trac-vis.lua +++ b/tex/context/base/mkiv/trac-vis.lua @@ -63,7 +63,7 @@ local getdisc = nuts.getdisc local getwhd = nuts.getwhd local getkern = nuts.getkern local getpenalty = nuts.getpenalty -local getdir = nuts.getdir +----- getdirection = nuts.getdirection local getwidth = nuts.getwidth local getdepth = nuts.getdepth local getshift = nuts.getshift @@ -118,6 +118,10 @@ local stoptiming = statistics.stoptiming local a_visual = attributes.private("visual") local a_layer = attributes.private("viewerlayer") +----- dirvalues = nodes.dirvalues +----- LTL = dirvalues.LTL +----- RTT = dirvalues.RTT + local band = bit32.band local bor = bit32.bor @@ -705,8 +709,8 @@ local ruledbox do local wd, ht, dp = getwhd(current) if wd ~= 0 then local shift = getshift(current) - -- local dir = getdir(current) - -- if dir == "LTL" or dir == "RRT" then + -- local dir = getdirection(current) + -- if dir == LTL or dir == RRT then -- wd, ht, dp = ht + dp, wd, 0 -- end local next = getnext(current) @@ -854,8 +858,8 @@ local ruledglyph do -- local wd = chardata[getfont(current)][getchar(current)].width if wd ~= 0 then local wd, ht, dp = getwhd(current) - -- local dir = getdir(current) - -- if dir == "LTL" or dir = "RTT" then + -- local dir = getdirection(current) + -- if dir == LTL or dir == RTT then -- wd, ht, dp = ht + dp, wd, 0 -- end local next = getnext(current) diff --git a/tex/context/base/mkiv/typo-bld.lua b/tex/context/base/mkiv/typo-bld.lua index 54dfacc15..1c96947db 100644 --- a/tex/context/base/mkiv/typo-bld.lua +++ b/tex/context/base/mkiv/typo-bld.lua @@ -199,11 +199,7 @@ function builders.vpack_filter(head,groupcode,size,packtype,maxdepth,direction) local before = count_nodes(head) head, done = vboxactions(head,groupcode,size,packtype,maxdepth,direction) local after = count_nodes(head) - if done then - nodes.processors.tracer("vpack","changed",head,groupcode,before,after,true) - else - nodes.processors.tracer("vpack","unchanged",head,groupcode,before,after,true) - end + nodes.processors.tracer("vpack",head,groupcode,before,after,done) else head, done = vboxactions(head,groupcode) end @@ -256,7 +252,8 @@ function builders.buildpage_filter(groupcode) if trace_page_builder then report(groupcode) end - return nil, false -- no return value needed +-- return nil, false -- no return value needed + return nil end end diff --git a/tex/context/base/mkiv/typo-wrp.lua b/tex/context/base/mkiv/typo-wrp.lua index 13bb5a0cc..3be64f53e 100644 --- a/tex/context/base/mkiv/typo-wrp.lua +++ b/tex/context/base/mkiv/typo-wrp.lua @@ -8,48 +8,67 @@ if not modules then modules = { } end modules ['typo-wrp'] = { -- begin/end par wrapping stuff ... more to come -local nodecodes = nodes.nodecodes +local nodecodes = nodes.nodecodes +local gluecodes = nodes.gluecodes +local penaltycodes = nodes.penaltycodes +local boundarycodes = nodes.boundarycodes -local glue_code = nodecodes.glue -local penalty_code = nodecodes.penalty -local parfill_skip_code = nodes.gluecodes.parfillskip -local user_penalty_code = nodes.penaltycodes.userpenalty +local glue_code = nodecodes.glue +local penalty_code = nodecodes.penalty +local boundary_code = nodecodes.boundary -local nuts = nodes.nuts +local parfill_skip_code = gluecodes.parfillskip -local find_node_tail = nuts.tail -local getprev = nuts.getprev -local getid = nuts.getid -local getsubtype = nuts.getsubtype -local getpenalty = nuts.getpenalty -local remove = nuts.remove +local user_penalty_code = penaltycodes.userpenalty +local line_penalty_code = penaltycodes.linepenalty +local linebreak_penalty_code = penaltycodes.linebreakpenalty -local enableaction = nodes.tasks.enableaction +local word_boundary_code = boundarycodes.word -local wrappers = { } -typesetters.wrappers = wrappers +local nuts = nodes.nuts -local trace_wrappers = trackers.register("typesetters.wrappers",function(v) trace_wrappers = v end) +local find_node_tail = nuts.tail +local getprev = nuts.getprev +local getid = nuts.getid +local getsubtype = nuts.getsubtype +local getpenalty = nuts.getpenalty +local remove = nuts.remove -local report = logs.reporter("paragraphs","wrappers") +local enableaction = nodes.tasks.enableaction + +local wrappers = { } +typesetters.wrappers = wrappers + +local trace_wrappers = trackers.register("typesetters.wrappers",function(v) trace_wrappers = v end) + +local report = logs.reporter("paragraphs","wrappers") -- we really need to pass tail too ... but then we need to check all the plugins -- bah ... slowdown +-- This check is very tight to the crlf definition. We check for: +-- +-- [break -10000] [wordboundary] [line(break)penalty] [parfillskip] +-- +-- If needed we can extend this checker for other cases but then we will also +-- use attributes. + local function remove_dangling_crlf(head,tail) - if tail and getid(tail) == glue_code and getsubtype(tail) == parfill_skip_code then + if head and tail and getid(tail) == glue_code and getsubtype(tail) == parfill_skip_code then tail = getprev(tail) - if tail and getid(tail) == penalty_code and getsubtype(tail) == user_penalty_code and getpenalty(tail) == 10000 then - tail = getprev(tail) - if tail and getid(tail) == penalty_code and getsubtype(tail) == user_penalty_code and getpenalty(tail) == -10000 then - if tail == head then - -- can't happen - else - if trace_wrappers then - report("removing a probably unwanted end-of-par break in line %s (guess)",tex.inputlineno) + if tail and getid(tail) == penalty_code then + local subtype = getsubtype(tail) + if subtype == line_penalty_code or subtype == linebreak_penalty_code then + tail = getprev(tail) + if tail and getid(tail) == boundary_code and getsubtype(tail) == word_boundary_code then + tail = getprev(tail) + if tail ~= head and getid(tail) == penalty_code and getsubtype(tail) == user_penalty_code and getpenalty(tail) == -10000 then + if trace_wrappers then + report("removing a probably unwanted end-of-par break in line %s (guess)",tex.inputlineno) + end + remove(head,tail,true) + return head, tail end - remove(head,tail,true) - return head, tail end end end diff --git a/tex/context/base/mkiv/typo-wrp.mkiv b/tex/context/base/mkiv/typo-wrp.mkiv index 0e010515b..4e9ecf2e1 100644 --- a/tex/context/base/mkiv/typo-wrp.mkiv +++ b/tex/context/base/mkiv/typo-wrp.mkiv @@ -40,18 +40,21 @@ \unexpanded\def\spac_crlf {\clf_enablecrlf % once \unskip - \prewordbreak % here or in \spac_crlf_placeholder \spac_crlf_placeholder \ifcase\raggedstatus\hfil\or\or\or\hfil\fi + % in bad usage this can lead to: [break -10000] [wordboundary] [line(break)penalty] [parfillskip] \break - \hskip\zeropoint % new so that the next word also hyphenates + \wordboundary + % which we then remove (maybe we should flag the wordboundary with an attribute but not now \ignorespaces} \unexpanded\def\spac_crlf_placeholder {\strut} \unexpanded\def\spac_crlf_placeholder_show - {\hbox to \zeropoint{\strut{\infofont\kern.25\emwidth}\lohi{\infofont CR}{\infofont LF}\hss}} + {\wordboundary + %\nobreak + \hpack to \zeropoint{\strut{\infofont\kern.25\emwidth}\lohi{\infofont CR}{\infofont LF}\hss}} \unexpanded\def\settestcrlf {\let\spac_crlf_placeholder\spac_crlf_placeholder_show} diff --git a/tex/context/base/mkiv/util-seq.lua b/tex/context/base/mkiv/util-seq.lua index 4f4cd4a4d..e7a503faf 100644 --- a/tex/context/base/mkiv/util-seq.lua +++ b/tex/context/base/mkiv/util-seq.lua @@ -17,8 +17,9 @@ use locals to refer to them when compiling the chain.

-- todo: protect groups (as in tasks) -local gsub, concat, gmatch = string.gsub, table.concat, string.gmatch -local type, load = type, load +local gsub, gmatch = string.gsub, string.gmatch +local concat, sortedkeys = table.concat, table.sortedkeys +local type, load, next, tostring = type, load, next, tostring utilities = utilities or { } local tables = utilities.tables @@ -75,6 +76,7 @@ function sequencers.new(t) -- was reset gskip = { }, dirty = true, runner = nil, + steps = 0, } if t then s.arguments = t.arguments @@ -292,6 +294,7 @@ local function construct(t) end end t.dirty = false + t.steps = n if n == 0 then t.compiled = "" else @@ -399,6 +402,7 @@ function sequencers.nodeprocessor(t,nofarguments) end end end + t.steps = steps local processor if steps == 0 then processor = templates.default or construct { } @@ -412,15 +416,13 @@ function sequencers.nodeprocessor(t,nofarguments) actions = concat(calls,"\n"), } end - -- processor = "print('running : " .. (t.name or "?") .. "')\n" .. processor -- print(processor) - return processor end statistics.register("used sequences",function() if next(usednames) then - return table.concat(table.sortedkeys(usednames)," ") + return concat(sortedkeys(usednames)," ") end end) diff --git a/tex/context/base/mkiv/util-sql-logins.lua b/tex/context/base/mkiv/util-sql-logins.lua index dcb48fb35..6773f91bf 100644 --- a/tex/context/base/mkiv/util-sql-logins.lua +++ b/tex/context/base/mkiv/util-sql-logins.lua @@ -244,6 +244,11 @@ function logins.userpermitted(db,name) } end if not data or not data.name then + if not data then + report_logins("no user data for %a",name) + else + report_logins("no name entry for %a",name) + end local d = { name = name, state = 0, diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index b467a753e..f2279cf49 100644 Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index a7b264970..4a0d5e8bb 100644 Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 043b461d7..9714f39bb 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 07/18/18 17:33:07 +-- merge date : 07/20/18 21:20:26 do -- begin closure to overcome local limits and interference -- cgit v1.2.3