From db2ce50fc6e6a62a50427e6d5ff1fbdc67af691f Mon Sep 17 00:00:00 2001 From: Marius Date: Wed, 27 Mar 2013 01:20:14 +0200 Subject: beta 2013.03.27 00:08 --- tex/context/base/char-def.lua | 5270 +++++++++++++++++++- tex/context/base/char-ini.lua | 397 +- tex/context/base/chem-str.lua | 145 +- tex/context/base/chem-str.mkiv | 13 +- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4137 -> 4135 bytes tex/context/base/context-version.png | Bin 40161 -> 40120 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/font-lib.mkvi | 3 +- tex/context/base/font-odv.lua | 2 + tex/context/base/font-ota.lua | 120 +- tex/context/base/font-otx.lua | 392 ++ tex/context/base/lang-lab.lua | 2 +- tex/context/base/mult-aux.mkiv | 22 +- tex/context/base/status-files.pdf | Bin 24775 -> 24705 bytes tex/context/base/status-lua.pdf | Bin 211630 -> 211521 bytes tex/context/base/trac-xml.lua | 5 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 79 +- tex/generic/context/luatex/luatex-fonts.lua | 3 + 21 files changed, 6016 insertions(+), 445 deletions(-) create mode 100644 tex/context/base/font-otx.lua (limited to 'tex') diff --git a/tex/context/base/char-def.lua b/tex/context/base/char-def.lua index b8bf8d2e2..7aa671243 100644 --- a/tex/context/base/char-def.lua +++ b/tex/context/base/char-def.lua @@ -416,9 +416,9 @@ characters.data={ description="HYPHEN-MINUS", direction="es", linebreak="hy", - mathsymbol=0x2212, + mathextensible="h", mathfiller="relfill", - mathextensible='h', + mathsymbol=0x2212, unicodeslot=0x002D, }, { @@ -448,7 +448,6 @@ characters.data={ description="SOLIDUS", direction="cs", linebreak="sy", ---mathclass="ordinary", mathspec={ { class="middle", @@ -602,6 +601,8 @@ characters.data={ description="EQUALS SIGN", direction="on", linebreak="al", + mathextensible="h", + mathfiller="equalfill", mathspec={ { class="relation", @@ -612,8 +613,6 @@ characters.data={ name="Relbar", }, }, - mathfiller="equalfill", - mathextensible='h', unicodeslot=0x003D, }, { @@ -7981,9 +7980,9 @@ characters.data={ description="COMBINING CIRCUMFLEX ACCENT", direction="nsm", linebreak="cm", - mathstretch="h", mathclass="topaccent", mathname="widehat", + mathstretch="h", unicodeslot=0x0302, }, { @@ -7993,9 +7992,9 @@ characters.data={ description="COMBINING TILDE", direction="nsm", linebreak="cm", - mathstretch="h", mathclass="topaccent", mathname="widetilde", + mathstretch="h", unicodeslot=0x0303, }, { @@ -14177,6 +14176,12 @@ characters.data={ linebreak="ba", unicodeslot=0x058A, }, + [0x058F]={ + category="sc", + description="ARMENIAN DRAM SIGN", + direction="et", + unicodeslot=0x058F, + }, [0x0591]={ adobename="etnahtalefthebrew", category="mn", @@ -14896,6 +14901,7 @@ characters.data={ unicodeslot=0x05F4, }, [0x0600]={ + arabic="u", category="cf", description="ARABIC NUMBER SIGN", direction="an", @@ -14904,6 +14910,7 @@ characters.data={ visible="yes", }, [0x0601]={ + arabic="u", category="cf", description="ARABIC SIGN SANAH", direction="an", @@ -14912,6 +14919,7 @@ characters.data={ visible="yes", }, [0x0602]={ + arabic="u", category="cf", description="ARABIC FOOTNOTE MARKER", direction="an", @@ -14920,6 +14928,7 @@ characters.data={ visible="yes", }, [0x0603]={ + arabic="u", category="cf", description="ARABIC SIGN SAFHA", direction="an", @@ -14927,6 +14936,13 @@ characters.data={ unicodeslot=0x0603, visible="yes", }, + [0x0604]={ + arabic="u", + category="cf", + description="ARABIC SIGN SAMVAT", + direction="an", + unicodeslot=0x0604, + }, [0x0606]={ category="sm", description="ARABIC-INDIC CUBE ROOT", @@ -14942,6 +14958,7 @@ characters.data={ unicodeslot=0x0607, }, [0x0608]={ + arabic="u", category="sm", description="ARABIC RAY", direction="al", @@ -14963,6 +14980,7 @@ characters.data={ unicodeslot=0x060A, }, [0x060B]={ + arabic="u", category="sc", description="AFGHANI SIGN", direction="al", @@ -15099,6 +15117,7 @@ characters.data={ unicodeslot=0x061F, }, [0x0620]={ + arabic="d", category="lo", description="ARABIC LETTER KASHMIRI YEH", direction="al", @@ -15107,6 +15126,7 @@ characters.data={ }, [0x0621]={ adobename="hamzasukunarabic", + arabic="u", category="lo", description="ARABIC LETTER HAMZA", direction="al", @@ -15115,6 +15135,7 @@ characters.data={ }, [0x0622]={ adobename="alefmaddaabovearabic", + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH MADDA ABOVE", direction="al", @@ -15125,6 +15146,7 @@ characters.data={ }, [0x0623]={ adobename="alefhamzaabovearabic", + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH HAMZA ABOVE", direction="al", @@ -15135,6 +15157,7 @@ characters.data={ }, [0x0624]={ adobename="wawhamzaabovearabic", + arabic="r", category="lo", description="ARABIC LETTER WAW WITH HAMZA ABOVE", direction="al", @@ -15145,6 +15168,7 @@ characters.data={ }, [0x0625]={ adobename="alefhamzabelowarabic", + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH HAMZA BELOW", direction="al", @@ -15155,6 +15179,7 @@ characters.data={ }, [0x0626]={ adobename="yehhamzaabovearabic", + arabic="d", category="lo", description="ARABIC LETTER YEH WITH HAMZA ABOVE", direction="al", @@ -15165,6 +15190,7 @@ characters.data={ }, [0x0627]={ adobename="alefarabic", + arabic="r", category="lo", description="ARABIC LETTER ALEF", direction="al", @@ -15173,6 +15199,7 @@ characters.data={ }, [0x0628]={ adobename="beharabic", + arabic="d", category="lo", description="ARABIC LETTER BEH", direction="al", @@ -15181,6 +15208,7 @@ characters.data={ }, [0x0629]={ adobename="tehmarbutaarabic", + arabic="r", category="lo", description="ARABIC LETTER TEH MARBUTA", direction="al", @@ -15189,6 +15217,7 @@ characters.data={ }, [0x062A]={ adobename="teharabic", + arabic="d", category="lo", description="ARABIC LETTER TEH", direction="al", @@ -15197,6 +15226,7 @@ characters.data={ }, [0x062B]={ adobename="theharabic", + arabic="d", category="lo", description="ARABIC LETTER THEH", direction="al", @@ -15205,6 +15235,7 @@ characters.data={ }, [0x062C]={ adobename="jeemarabic", + arabic="d", category="lo", description="ARABIC LETTER JEEM", direction="al", @@ -15213,6 +15244,7 @@ characters.data={ }, [0x062D]={ adobename="haharabic", + arabic="d", category="lo", description="ARABIC LETTER HAH", direction="al", @@ -15221,6 +15253,7 @@ characters.data={ }, [0x062E]={ adobename="khaharabic", + arabic="d", category="lo", description="ARABIC LETTER KHAH", direction="al", @@ -15229,6 +15262,7 @@ characters.data={ }, [0x062F]={ adobename="dalarabic", + arabic="r", category="lo", description="ARABIC LETTER DAL", direction="al", @@ -15237,6 +15271,7 @@ characters.data={ }, [0x0630]={ adobename="thalarabic", + arabic="r", category="lo", description="ARABIC LETTER THAL", direction="al", @@ -15245,6 +15280,7 @@ characters.data={ }, [0x0631]={ adobename="rehyehaleflamarabic", + arabic="r", category="lo", description="ARABIC LETTER REH", direction="al", @@ -15253,6 +15289,7 @@ characters.data={ }, [0x0632]={ adobename="zainarabic", + arabic="r", category="lo", description="ARABIC LETTER ZAIN", direction="al", @@ -15261,6 +15298,7 @@ characters.data={ }, [0x0633]={ adobename="seenarabic", + arabic="d", category="lo", description="ARABIC LETTER SEEN", direction="al", @@ -15269,6 +15307,7 @@ characters.data={ }, [0x0634]={ adobename="sheenarabic", + arabic="d", category="lo", description="ARABIC LETTER SHEEN", direction="al", @@ -15277,6 +15316,7 @@ characters.data={ }, [0x0635]={ adobename="sadarabic", + arabic="d", category="lo", description="ARABIC LETTER SAD", direction="al", @@ -15285,6 +15325,7 @@ characters.data={ }, [0x0636]={ adobename="dadarabic", + arabic="d", category="lo", description="ARABIC LETTER DAD", direction="al", @@ -15293,6 +15334,7 @@ characters.data={ }, [0x0637]={ adobename="taharabic", + arabic="d", category="lo", description="ARABIC LETTER TAH", direction="al", @@ -15301,6 +15343,7 @@ characters.data={ }, [0x0638]={ adobename="zaharabic", + arabic="d", category="lo", description="ARABIC LETTER ZAH", direction="al", @@ -15309,6 +15352,7 @@ characters.data={ }, [0x0639]={ adobename="ainarabic", + arabic="d", category="lo", description="ARABIC LETTER AIN", direction="al", @@ -15317,6 +15361,7 @@ characters.data={ }, [0x063A]={ adobename="ghainarabic", + arabic="d", category="lo", description="ARABIC LETTER GHAIN", direction="al", @@ -15324,6 +15369,7 @@ characters.data={ unicodeslot=0x063A, }, [0x063B]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH WITH TWO DOTS ABOVE", direction="al", @@ -15331,6 +15377,7 @@ characters.data={ unicodeslot=0x063B, }, [0x063C]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH WITH THREE DOTS BELOW", direction="al", @@ -15338,6 +15385,7 @@ characters.data={ unicodeslot=0x063C, }, [0x063D]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH INVERTED V", direction="al", @@ -15345,6 +15393,7 @@ characters.data={ unicodeslot=0x063D, }, [0x063E]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE", direction="al", @@ -15352,6 +15401,7 @@ characters.data={ unicodeslot=0x063E, }, [0x063F]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE", direction="al", @@ -15360,6 +15410,7 @@ characters.data={ }, [0x0640]={ adobename="tatweelarabic", + arabic="c", category="lm", description="ARABIC TATWEEL", direction="al", @@ -15368,6 +15419,7 @@ characters.data={ }, [0x0641]={ adobename="feharabic", + arabic="d", category="lo", description="ARABIC LETTER FEH", direction="al", @@ -15376,6 +15428,7 @@ characters.data={ }, [0x0642]={ adobename="qafarabic", + arabic="d", category="lo", description="ARABIC LETTER QAF", direction="al", @@ -15384,6 +15437,7 @@ characters.data={ }, [0x0643]={ adobename="kafarabic", + arabic="d", category="lo", description="ARABIC LETTER KAF", direction="al", @@ -15392,6 +15446,7 @@ characters.data={ }, [0x0644]={ adobename="lamarabic", + arabic="d", category="lo", description="ARABIC LETTER LAM", direction="al", @@ -15400,6 +15455,7 @@ characters.data={ }, [0x0645]={ adobename="meemarabic", + arabic="d", category="lo", description="ARABIC LETTER MEEM", direction="al", @@ -15408,6 +15464,7 @@ characters.data={ }, [0x0646]={ adobename="noonarabic", + arabic="d", category="lo", description="ARABIC LETTER NOON", direction="al", @@ -15416,6 +15473,7 @@ characters.data={ }, [0x0647]={ adobename="heharabic", + arabic="d", category="lo", description="ARABIC LETTER HEH", direction="al", @@ -15424,6 +15482,7 @@ characters.data={ }, [0x0648]={ adobename="wawarabic", + arabic="r", category="lo", description="ARABIC LETTER WAW", direction="al", @@ -15432,6 +15491,7 @@ characters.data={ }, [0x0649]={ adobename="alefmaksuraarabic", + arabic="d", category="lo", description="ARABIC LETTER ALEF MAKSURA", direction="al", @@ -15440,6 +15500,7 @@ characters.data={ }, [0x064A]={ adobename="yeharabic", + arabic="d", category="lo", description="ARABIC LETTER YEH", direction="al", @@ -15714,6 +15775,7 @@ characters.data={ unicodeslot=0x066D, }, [0x066E]={ + arabic="d", category="lo", description="ARABIC LETTER DOTLESS BEH", direction="al", @@ -15721,6 +15783,7 @@ characters.data={ unicodeslot=0x066E, }, [0x066F]={ + arabic="d", category="lo", description="ARABIC LETTER DOTLESS QAF", direction="al", @@ -15735,6 +15798,7 @@ characters.data={ unicodeslot=0x0670, }, [0x0671]={ + arabic="r", category="lo", description="ARABIC LETTER ALEF WASLA", direction="al", @@ -15742,6 +15806,7 @@ characters.data={ unicodeslot=0x0671, }, [0x0672]={ + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE", direction="al", @@ -15750,6 +15815,7 @@ characters.data={ unicodeslot=0x0672, }, [0x0673]={ + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH WAVY HAMZA BELOW", direction="al", @@ -15758,6 +15824,7 @@ characters.data={ unicodeslot=0x0673, }, [0x0674]={ + arabic="u", category="lo", description="ARABIC LETTER HIGH HAMZA", direction="al", @@ -15765,6 +15832,7 @@ characters.data={ unicodeslot=0x0674, }, [0x0675]={ + arabic="r", category="lo", description="ARABIC LETTER HIGH HAMZA ALEF", direction="al", @@ -15773,6 +15841,7 @@ characters.data={ unicodeslot=0x0675, }, [0x0676]={ + arabic="r", category="lo", description="ARABIC LETTER HIGH HAMZA WAW", direction="al", @@ -15781,6 +15850,7 @@ characters.data={ unicodeslot=0x0676, }, [0x0677]={ + arabic="r", category="lo", description="ARABIC LETTER U WITH HAMZA ABOVE", direction="al", @@ -15790,6 +15860,7 @@ characters.data={ unicodeslot=0x0677, }, [0x0678]={ + arabic="d", category="lo", description="ARABIC LETTER HIGH HAMZA YEH", direction="al", @@ -15799,6 +15870,7 @@ characters.data={ }, [0x0679]={ adobename="tteharabic", + arabic="d", category="lo", description="ARABIC LETTER TTEH", direction="al", @@ -15806,6 +15878,7 @@ characters.data={ unicodeslot=0x0679, }, [0x067A]={ + arabic="d", category="lo", description="ARABIC LETTER TTEHEH", direction="al", @@ -15813,6 +15886,7 @@ characters.data={ unicodeslot=0x067A, }, [0x067B]={ + arabic="d", category="lo", description="ARABIC LETTER BEEH", direction="al", @@ -15820,6 +15894,7 @@ characters.data={ unicodeslot=0x067B, }, [0x067C]={ + arabic="d", category="lo", description="ARABIC LETTER TEH WITH RING", direction="al", @@ -15828,6 +15903,7 @@ characters.data={ unicodeslot=0x067C, }, [0x067D]={ + arabic="d", category="lo", description="ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS", direction="al", @@ -15837,6 +15913,7 @@ characters.data={ }, [0x067E]={ adobename="peharabic", + arabic="d", category="lo", description="ARABIC LETTER PEH", direction="al", @@ -15844,6 +15921,7 @@ characters.data={ unicodeslot=0x067E, }, [0x067F]={ + arabic="d", category="lo", description="ARABIC LETTER TEHEH", direction="al", @@ -15851,6 +15929,7 @@ characters.data={ unicodeslot=0x067F, }, [0x0680]={ + arabic="d", category="lo", description="ARABIC LETTER BEHEH", direction="al", @@ -15858,6 +15937,7 @@ characters.data={ unicodeslot=0x0680, }, [0x0681]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH HAMZA ABOVE", direction="al", @@ -15866,6 +15946,7 @@ characters.data={ unicodeslot=0x0681, }, [0x0682]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE", direction="al", @@ -15874,6 +15955,7 @@ characters.data={ unicodeslot=0x0682, }, [0x0683]={ + arabic="d", category="lo", description="ARABIC LETTER NYEH", direction="al", @@ -15881,6 +15963,7 @@ characters.data={ unicodeslot=0x0683, }, [0x0684]={ + arabic="d", category="lo", description="ARABIC LETTER DYEH", direction="al", @@ -15888,6 +15971,7 @@ characters.data={ unicodeslot=0x0684, }, [0x0685]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH THREE DOTS ABOVE", direction="al", @@ -15897,6 +15981,7 @@ characters.data={ }, [0x0686]={ adobename="tcheharabic", + arabic="d", category="lo", description="ARABIC LETTER TCHEH", direction="al", @@ -15904,6 +15989,7 @@ characters.data={ unicodeslot=0x0686, }, [0x0687]={ + arabic="d", category="lo", description="ARABIC LETTER TCHEHEH", direction="al", @@ -15912,6 +15998,7 @@ characters.data={ }, [0x0688]={ adobename="ddalarabic", + arabic="r", category="lo", description="ARABIC LETTER DDAL", direction="al", @@ -15919,6 +16006,7 @@ characters.data={ unicodeslot=0x0688, }, [0x0689]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH RING", direction="al", @@ -15927,6 +16015,7 @@ characters.data={ unicodeslot=0x0689, }, [0x068A]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH DOT BELOW", direction="al", @@ -15935,6 +16024,7 @@ characters.data={ unicodeslot=0x068A, }, [0x068B]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH", direction="al", @@ -15943,6 +16033,7 @@ characters.data={ unicodeslot=0x068B, }, [0x068C]={ + arabic="r", category="lo", description="ARABIC LETTER DAHAL", direction="al", @@ -15950,6 +16041,7 @@ characters.data={ unicodeslot=0x068C, }, [0x068D]={ + arabic="r", category="lo", description="ARABIC LETTER DDAHAL", direction="al", @@ -15957,6 +16049,7 @@ characters.data={ unicodeslot=0x068D, }, [0x068E]={ + arabic="r", category="lo", description="ARABIC LETTER DUL", direction="al", @@ -15964,6 +16057,7 @@ characters.data={ unicodeslot=0x068E, }, [0x068F]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS", direction="al", @@ -15972,6 +16066,7 @@ characters.data={ unicodeslot=0x068F, }, [0x0690]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH FOUR DOTS ABOVE", direction="al", @@ -15981,6 +16076,7 @@ characters.data={ }, [0x0691]={ adobename="rreharabic", + arabic="r", category="lo", description="ARABIC LETTER RREH", direction="al", @@ -15988,6 +16084,7 @@ characters.data={ unicodeslot=0x0691, }, [0x0692]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH SMALL V", direction="al", @@ -15996,6 +16093,7 @@ characters.data={ unicodeslot=0x0692, }, [0x0693]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH RING", direction="al", @@ -16004,6 +16102,7 @@ characters.data={ unicodeslot=0x0693, }, [0x0694]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH DOT BELOW", direction="al", @@ -16012,6 +16111,7 @@ characters.data={ unicodeslot=0x0694, }, [0x0695]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH SMALL V BELOW", direction="al", @@ -16020,6 +16120,7 @@ characters.data={ unicodeslot=0x0695, }, [0x0696]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE", direction="al", @@ -16028,6 +16129,7 @@ characters.data={ unicodeslot=0x0696, }, [0x0697]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH TWO DOTS ABOVE", direction="al", @@ -16037,6 +16139,7 @@ characters.data={ }, [0x0698]={ adobename="jeharabic", + arabic="r", category="lo", description="ARABIC LETTER JEH", direction="al", @@ -16044,6 +16147,7 @@ characters.data={ unicodeslot=0x0698, }, [0x0699]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH FOUR DOTS ABOVE", direction="al", @@ -16052,6 +16156,7 @@ characters.data={ unicodeslot=0x0699, }, [0x069A]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE", direction="al", @@ -16060,6 +16165,7 @@ characters.data={ unicodeslot=0x069A, }, [0x069B]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH THREE DOTS BELOW", direction="al", @@ -16068,6 +16174,7 @@ characters.data={ unicodeslot=0x069B, }, [0x069C]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE", direction="al", @@ -16076,6 +16183,7 @@ characters.data={ unicodeslot=0x069C, }, [0x069D]={ + arabic="d", category="lo", description="ARABIC LETTER SAD WITH TWO DOTS BELOW", direction="al", @@ -16084,6 +16192,7 @@ characters.data={ unicodeslot=0x069D, }, [0x069E]={ + arabic="d", category="lo", description="ARABIC LETTER SAD WITH THREE DOTS ABOVE", direction="al", @@ -16092,6 +16201,7 @@ characters.data={ unicodeslot=0x069E, }, [0x069F]={ + arabic="d", category="lo", description="ARABIC LETTER TAH WITH THREE DOTS ABOVE", direction="al", @@ -16100,6 +16210,7 @@ characters.data={ unicodeslot=0x069F, }, [0x06A0]={ + arabic="d", category="lo", description="ARABIC LETTER AIN WITH THREE DOTS ABOVE", direction="al", @@ -16108,6 +16219,7 @@ characters.data={ unicodeslot=0x06A0, }, [0x06A1]={ + arabic="d", category="lo", description="ARABIC LETTER DOTLESS FEH", direction="al", @@ -16115,6 +16227,7 @@ characters.data={ unicodeslot=0x06A1, }, [0x06A2]={ + arabic="d", category="lo", description="ARABIC LETTER FEH WITH DOT MOVED BELOW", direction="al", @@ -16123,6 +16236,7 @@ characters.data={ unicodeslot=0x06A2, }, [0x06A3]={ + arabic="d", category="lo", description="ARABIC LETTER FEH WITH DOT BELOW", direction="al", @@ -16132,6 +16246,7 @@ characters.data={ }, [0x06A4]={ adobename="veharabic", + arabic="d", category="lo", description="ARABIC LETTER VEH", direction="al", @@ -16139,6 +16254,7 @@ characters.data={ unicodeslot=0x06A4, }, [0x06A5]={ + arabic="d", category="lo", description="ARABIC LETTER FEH WITH THREE DOTS BELOW", direction="al", @@ -16147,6 +16263,7 @@ characters.data={ unicodeslot=0x06A5, }, [0x06A6]={ + arabic="d", category="lo", description="ARABIC LETTER PEHEH", direction="al", @@ -16154,6 +16271,7 @@ characters.data={ unicodeslot=0x06A6, }, [0x06A7]={ + arabic="d", category="lo", description="ARABIC LETTER QAF WITH DOT ABOVE", direction="al", @@ -16162,6 +16280,7 @@ characters.data={ unicodeslot=0x06A7, }, [0x06A8]={ + arabic="d", category="lo", description="ARABIC LETTER QAF WITH THREE DOTS ABOVE", direction="al", @@ -16170,6 +16289,7 @@ characters.data={ unicodeslot=0x06A8, }, [0x06A9]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH", direction="al", @@ -16177,6 +16297,7 @@ characters.data={ unicodeslot=0x06A9, }, [0x06AA]={ + arabic="d", category="lo", description="ARABIC LETTER SWASH KAF", direction="al", @@ -16184,6 +16305,7 @@ characters.data={ unicodeslot=0x06AA, }, [0x06AB]={ + arabic="d", category="lo", description="ARABIC LETTER KAF WITH RING", direction="al", @@ -16192,6 +16314,7 @@ characters.data={ unicodeslot=0x06AB, }, [0x06AC]={ + arabic="d", category="lo", description="ARABIC LETTER KAF WITH DOT ABOVE", direction="al", @@ -16200,6 +16323,7 @@ characters.data={ unicodeslot=0x06AC, }, [0x06AD]={ + arabic="d", category="lo", description="ARABIC LETTER NG", direction="al", @@ -16207,6 +16331,7 @@ characters.data={ unicodeslot=0x06AD, }, [0x06AE]={ + arabic="d", category="lo", description="ARABIC LETTER KAF WITH THREE DOTS BELOW", direction="al", @@ -16216,6 +16341,7 @@ characters.data={ }, [0x06AF]={ adobename="gafarabic", + arabic="d", category="lo", description="ARABIC LETTER GAF", direction="al", @@ -16223,6 +16349,7 @@ characters.data={ unicodeslot=0x06AF, }, [0x06B0]={ + arabic="d", category="lo", description="ARABIC LETTER GAF WITH RING", direction="al", @@ -16231,6 +16358,7 @@ characters.data={ unicodeslot=0x06B0, }, [0x06B1]={ + arabic="d", category="lo", description="ARABIC LETTER NGOEH", direction="al", @@ -16238,6 +16366,7 @@ characters.data={ unicodeslot=0x06B1, }, [0x06B2]={ + arabic="d", category="lo", description="ARABIC LETTER GAF WITH TWO DOTS BELOW", direction="al", @@ -16246,6 +16375,7 @@ characters.data={ unicodeslot=0x06B2, }, [0x06B3]={ + arabic="d", category="lo", description="ARABIC LETTER GUEH", direction="al", @@ -16253,6 +16383,7 @@ characters.data={ unicodeslot=0x06B3, }, [0x06B4]={ + arabic="d", category="lo", description="ARABIC LETTER GAF WITH THREE DOTS ABOVE", direction="al", @@ -16261,6 +16392,7 @@ characters.data={ unicodeslot=0x06B4, }, [0x06B5]={ + arabic="d", category="lo", description="ARABIC LETTER LAM WITH SMALL V", direction="al", @@ -16269,6 +16401,7 @@ characters.data={ unicodeslot=0x06B5, }, [0x06B6]={ + arabic="d", category="lo", description="ARABIC LETTER LAM WITH DOT ABOVE", direction="al", @@ -16277,6 +16410,7 @@ characters.data={ unicodeslot=0x06B6, }, [0x06B7]={ + arabic="d", category="lo", description="ARABIC LETTER LAM WITH THREE DOTS ABOVE", direction="al", @@ -16285,6 +16419,7 @@ characters.data={ unicodeslot=0x06B7, }, [0x06B8]={ + arabic="d", category="lo", description="ARABIC LETTER LAM WITH THREE DOTS BELOW", direction="al", @@ -16293,6 +16428,7 @@ characters.data={ unicodeslot=0x06B8, }, [0x06B9]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH DOT BELOW", direction="al", @@ -16302,6 +16438,7 @@ characters.data={ }, [0x06BA]={ adobename="noonghunnaarabic", + arabic="d", category="lo", description="ARABIC LETTER NOON GHUNNA", direction="al", @@ -16309,6 +16446,7 @@ characters.data={ unicodeslot=0x06BA, }, [0x06BB]={ + arabic="d", category="lo", description="ARABIC LETTER RNOON", direction="al", @@ -16316,6 +16454,7 @@ characters.data={ unicodeslot=0x06BB, }, [0x06BC]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH RING", direction="al", @@ -16324,6 +16463,7 @@ characters.data={ unicodeslot=0x06BC, }, [0x06BD]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH THREE DOTS ABOVE", direction="al", @@ -16332,6 +16472,7 @@ characters.data={ unicodeslot=0x06BD, }, [0x06BE]={ + arabic="d", category="lo", description="ARABIC LETTER HEH DOACHASHMEE", direction="al", @@ -16339,6 +16480,7 @@ characters.data={ unicodeslot=0x06BE, }, [0x06BF]={ + arabic="d", category="lo", description="ARABIC LETTER TCHEH WITH DOT ABOVE", direction="al", @@ -16347,6 +16489,7 @@ characters.data={ unicodeslot=0x06BF, }, [0x06C0]={ + arabic="r", category="lo", description="ARABIC LETTER HEH WITH YEH ABOVE", direction="al", @@ -16357,6 +16500,7 @@ characters.data={ }, [0x06C1]={ adobename="hehaltonearabic", + arabic="d", category="lo", description="ARABIC LETTER HEH GOAL", direction="al", @@ -16364,6 +16508,7 @@ characters.data={ unicodeslot=0x06C1, }, [0x06C2]={ + arabic="d", category="lo", description="ARABIC LETTER HEH GOAL WITH HAMZA ABOVE", direction="al", @@ -16372,6 +16517,7 @@ characters.data={ unicodeslot=0x06C2, }, [0x06C3]={ + arabic="r", category="lo", description="ARABIC LETTER TEH MARBUTA GOAL", direction="al", @@ -16379,6 +16525,7 @@ characters.data={ unicodeslot=0x06C3, }, [0x06C4]={ + arabic="r", category="lo", description="ARABIC LETTER WAW WITH RING", direction="al", @@ -16387,6 +16534,7 @@ characters.data={ unicodeslot=0x06C4, }, [0x06C5]={ + arabic="r", category="lo", description="ARABIC LETTER KIRGHIZ OE", direction="al", @@ -16394,6 +16542,7 @@ characters.data={ unicodeslot=0x06C5, }, [0x06C6]={ + arabic="r", category="lo", description="ARABIC LETTER OE", direction="al", @@ -16401,6 +16550,7 @@ characters.data={ unicodeslot=0x06C6, }, [0x06C7]={ + arabic="r", category="lo", description="ARABIC LETTER U", direction="al", @@ -16408,6 +16558,7 @@ characters.data={ unicodeslot=0x06C7, }, [0x06C8]={ + arabic="r", category="lo", description="ARABIC LETTER YU", direction="al", @@ -16415,6 +16566,7 @@ characters.data={ unicodeslot=0x06C8, }, [0x06C9]={ + arabic="r", category="lo", description="ARABIC LETTER KIRGHIZ YU", direction="al", @@ -16422,6 +16574,7 @@ characters.data={ unicodeslot=0x06C9, }, [0x06CA]={ + arabic="r", category="lo", description="ARABIC LETTER WAW WITH TWO DOTS ABOVE", direction="al", @@ -16430,6 +16583,7 @@ characters.data={ unicodeslot=0x06CA, }, [0x06CB]={ + arabic="r", category="lo", description="ARABIC LETTER VE", direction="al", @@ -16437,6 +16591,7 @@ characters.data={ unicodeslot=0x06CB, }, [0x06CC]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH", direction="al", @@ -16444,6 +16599,7 @@ characters.data={ unicodeslot=0x06CC, }, [0x06CD]={ + arabic="r", category="lo", description="ARABIC LETTER YEH WITH TAIL", direction="al", @@ -16452,6 +16608,7 @@ characters.data={ unicodeslot=0x06CD, }, [0x06CE]={ + arabic="d", category="lo", description="ARABIC LETTER YEH WITH SMALL V", direction="al", @@ -16460,6 +16617,7 @@ characters.data={ unicodeslot=0x06CE, }, [0x06CF]={ + arabic="r", category="lo", description="ARABIC LETTER WAW WITH DOT ABOVE", direction="al", @@ -16468,6 +16626,7 @@ characters.data={ unicodeslot=0x06CF, }, [0x06D0]={ + arabic="d", category="lo", description="ARABIC LETTER E", direction="al", @@ -16476,6 +16635,7 @@ characters.data={ }, [0x06D1]={ adobename="yehthreedotsbelowarabic", + arabic="d", category="lo", description="ARABIC LETTER YEH WITH THREE DOTS BELOW", direction="al", @@ -16485,6 +16645,7 @@ characters.data={ }, [0x06D2]={ adobename="yehbarreearabic", + arabic="r", category="lo", description="ARABIC LETTER YEH BARREE", direction="al", @@ -16492,6 +16653,7 @@ characters.data={ unicodeslot=0x06D2, }, [0x06D3]={ + arabic="r", category="lo", description="ARABIC LETTER YEH BARREE WITH HAMZA ABOVE", direction="al", @@ -16508,6 +16670,7 @@ characters.data={ }, [0x06D5]={ adobename="afii57534", + arabic="r", category="lo", description="ARABIC LETTER AE", direction="al", @@ -16564,6 +16727,7 @@ characters.data={ unicodeslot=0x06DC, }, [0x06DD]={ + arabic="u", category="cf", description="ARABIC END OF AYAH", direction="an", @@ -16684,6 +16848,7 @@ characters.data={ unicodeslot=0x06ED, }, [0x06EE]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH INVERTED V", direction="al", @@ -16692,6 +16857,7 @@ characters.data={ unicodeslot=0x06EE, }, [0x06EF]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH INVERTED V", direction="al", @@ -16780,6 +16946,7 @@ characters.data={ unicodeslot=0x06F9, }, [0x06FA]={ + arabic="d", category="lo", description="ARABIC LETTER SHEEN WITH DOT BELOW", direction="al", @@ -16788,6 +16955,7 @@ characters.data={ unicodeslot=0x06FA, }, [0x06FB]={ + arabic="d", category="lo", description="ARABIC LETTER DAD WITH DOT BELOW", direction="al", @@ -16796,6 +16964,7 @@ characters.data={ unicodeslot=0x06FB, }, [0x06FC]={ + arabic="d", category="lo", description="ARABIC LETTER GHAIN WITH DOT BELOW", direction="al", @@ -16818,6 +16987,7 @@ characters.data={ unicodeslot=0x06FE, }, [0x06FF]={ + arabic="d", category="lo", description="ARABIC LETTER HEH WITH INVERTED V", direction="al", @@ -16926,12 +17096,13 @@ characters.data={ [0x070F]={ category="cf", description="SYRIAC ABBREVIATION MARK", - direction="an", + direction="al", linebreak="al", unicodeslot=0x070F, visible="yes", }, [0x0710]={ + arabic="r", category="lo", description="SYRIAC LETTER ALAPH", direction="al", @@ -16946,6 +17117,7 @@ characters.data={ unicodeslot=0x0711, }, [0x0712]={ + arabic="d", category="lo", description="SYRIAC LETTER BETH", direction="al", @@ -16953,6 +17125,7 @@ characters.data={ unicodeslot=0x0712, }, [0x0713]={ + arabic="d", category="lo", description="SYRIAC LETTER GAMAL", direction="al", @@ -16960,6 +17133,7 @@ characters.data={ unicodeslot=0x0713, }, [0x0714]={ + arabic="d", category="lo", description="SYRIAC LETTER GAMAL GARSHUNI", direction="al", @@ -16967,6 +17141,7 @@ characters.data={ unicodeslot=0x0714, }, [0x0715]={ + arabic="r", category="lo", description="SYRIAC LETTER DALATH", direction="al", @@ -16974,6 +17149,7 @@ characters.data={ unicodeslot=0x0715, }, [0x0716]={ + arabic="r", category="lo", description="SYRIAC LETTER DOTLESS DALATH RISH", direction="al", @@ -16981,6 +17157,7 @@ characters.data={ unicodeslot=0x0716, }, [0x0717]={ + arabic="r", category="lo", description="SYRIAC LETTER HE", direction="al", @@ -16988,6 +17165,7 @@ characters.data={ unicodeslot=0x0717, }, [0x0718]={ + arabic="r", category="lo", description="SYRIAC LETTER WAW", direction="al", @@ -16995,6 +17173,7 @@ characters.data={ unicodeslot=0x0718, }, [0x0719]={ + arabic="r", category="lo", description="SYRIAC LETTER ZAIN", direction="al", @@ -17002,6 +17181,7 @@ characters.data={ unicodeslot=0x0719, }, [0x071A]={ + arabic="d", category="lo", description="SYRIAC LETTER HETH", direction="al", @@ -17009,6 +17189,7 @@ characters.data={ unicodeslot=0x071A, }, [0x071B]={ + arabic="d", category="lo", description="SYRIAC LETTER TETH", direction="al", @@ -17016,6 +17197,7 @@ characters.data={ unicodeslot=0x071B, }, [0x071C]={ + arabic="d", category="lo", description="SYRIAC LETTER TETH GARSHUNI", direction="al", @@ -17023,6 +17205,7 @@ characters.data={ unicodeslot=0x071C, }, [0x071D]={ + arabic="d", category="lo", description="SYRIAC LETTER YUDH", direction="al", @@ -17030,6 +17213,7 @@ characters.data={ unicodeslot=0x071D, }, [0x071E]={ + arabic="r", category="lo", description="SYRIAC LETTER YUDH HE", direction="al", @@ -17037,6 +17221,7 @@ characters.data={ unicodeslot=0x071E, }, [0x071F]={ + arabic="d", category="lo", description="SYRIAC LETTER KAPH", direction="al", @@ -17044,6 +17229,7 @@ characters.data={ unicodeslot=0x071F, }, [0x0720]={ + arabic="d", category="lo", description="SYRIAC LETTER LAMADH", direction="al", @@ -17051,6 +17237,7 @@ characters.data={ unicodeslot=0x0720, }, [0x0721]={ + arabic="d", category="lo", description="SYRIAC LETTER MIM", direction="al", @@ -17058,6 +17245,7 @@ characters.data={ unicodeslot=0x0721, }, [0x0722]={ + arabic="d", category="lo", description="SYRIAC LETTER NUN", direction="al", @@ -17065,6 +17253,7 @@ characters.data={ unicodeslot=0x0722, }, [0x0723]={ + arabic="d", category="lo", description="SYRIAC LETTER SEMKATH", direction="al", @@ -17072,6 +17261,7 @@ characters.data={ unicodeslot=0x0723, }, [0x0724]={ + arabic="d", category="lo", description="SYRIAC LETTER FINAL SEMKATH", direction="al", @@ -17079,6 +17269,7 @@ characters.data={ unicodeslot=0x0724, }, [0x0725]={ + arabic="d", category="lo", description="SYRIAC LETTER E", direction="al", @@ -17086,6 +17277,7 @@ characters.data={ unicodeslot=0x0725, }, [0x0726]={ + arabic="d", category="lo", description="SYRIAC LETTER PE", direction="al", @@ -17093,6 +17285,7 @@ characters.data={ unicodeslot=0x0726, }, [0x0727]={ + arabic="d", category="lo", description="SYRIAC LETTER REVERSED PE", direction="al", @@ -17100,6 +17293,7 @@ characters.data={ unicodeslot=0x0727, }, [0x0728]={ + arabic="r", category="lo", description="SYRIAC LETTER SADHE", direction="al", @@ -17107,6 +17301,7 @@ characters.data={ unicodeslot=0x0728, }, [0x0729]={ + arabic="d", category="lo", description="SYRIAC LETTER QAPH", direction="al", @@ -17114,6 +17309,7 @@ characters.data={ unicodeslot=0x0729, }, [0x072A]={ + arabic="r", category="lo", description="SYRIAC LETTER RISH", direction="al", @@ -17121,6 +17317,7 @@ characters.data={ unicodeslot=0x072A, }, [0x072B]={ + arabic="d", category="lo", description="SYRIAC LETTER SHIN", direction="al", @@ -17128,6 +17325,7 @@ characters.data={ unicodeslot=0x072B, }, [0x072C]={ + arabic="r", category="lo", description="SYRIAC LETTER TAW", direction="al", @@ -17135,6 +17333,7 @@ characters.data={ unicodeslot=0x072C, }, [0x072D]={ + arabic="d", category="lo", description="SYRIAC LETTER PERSIAN BHETH", direction="al", @@ -17142,6 +17341,7 @@ characters.data={ unicodeslot=0x072D, }, [0x072E]={ + arabic="d", category="lo", description="SYRIAC LETTER PERSIAN GHAMAL", direction="al", @@ -17149,6 +17349,7 @@ characters.data={ unicodeslot=0x072E, }, [0x072F]={ + arabic="r", category="lo", description="SYRIAC LETTER PERSIAN DHALATH", direction="al", @@ -17345,6 +17546,7 @@ characters.data={ unicodeslot=0x074A, }, [0x074D]={ + arabic="r", category="lo", description="SYRIAC LETTER SOGDIAN ZHAIN", direction="al", @@ -17352,6 +17554,7 @@ characters.data={ unicodeslot=0x074D, }, [0x074E]={ + arabic="d", category="lo", description="SYRIAC LETTER SOGDIAN KHAPH", direction="al", @@ -17359,6 +17562,7 @@ characters.data={ unicodeslot=0x074E, }, [0x074F]={ + arabic="d", category="lo", description="SYRIAC LETTER SOGDIAN FE", direction="al", @@ -17366,6 +17570,7 @@ characters.data={ unicodeslot=0x074F, }, [0x0750]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW", direction="al", @@ -17374,6 +17579,7 @@ characters.data={ unicodeslot=0x0750, }, [0x0751]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE", direction="al", @@ -17382,6 +17588,7 @@ characters.data={ unicodeslot=0x0751, }, [0x0752]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW", direction="al", @@ -17390,6 +17597,7 @@ characters.data={ unicodeslot=0x0752, }, [0x0753]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE", direction="al", @@ -17398,6 +17606,7 @@ characters.data={ unicodeslot=0x0753, }, [0x0754]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE", direction="al", @@ -17406,6 +17615,7 @@ characters.data={ unicodeslot=0x0754, }, [0x0755]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH INVERTED SMALL V BELOW", direction="al", @@ -17414,6 +17624,7 @@ characters.data={ unicodeslot=0x0755, }, [0x0756]={ + arabic="d", category="lo", description="ARABIC LETTER BEH WITH SMALL V", direction="al", @@ -17422,6 +17633,7 @@ characters.data={ unicodeslot=0x0756, }, [0x0757]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH TWO DOTS ABOVE", direction="al", @@ -17430,6 +17642,7 @@ characters.data={ unicodeslot=0x0757, }, [0x0758]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW", direction="al", @@ -17438,6 +17651,7 @@ characters.data={ unicodeslot=0x0758, }, [0x0759]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH", direction="al", @@ -17446,6 +17660,7 @@ characters.data={ unicodeslot=0x0759, }, [0x075A]={ + arabic="r", category="lo", description="ARABIC LETTER DAL WITH INVERTED SMALL V BELOW", direction="al", @@ -17454,6 +17669,7 @@ characters.data={ unicodeslot=0x075A, }, [0x075B]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH STROKE", direction="al", @@ -17462,6 +17678,7 @@ characters.data={ unicodeslot=0x075B, }, [0x075C]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH FOUR DOTS ABOVE", direction="al", @@ -17470,6 +17687,7 @@ characters.data={ unicodeslot=0x075C, }, [0x075D]={ + arabic="d", category="lo", description="ARABIC LETTER AIN WITH TWO DOTS ABOVE", direction="al", @@ -17478,6 +17696,7 @@ characters.data={ unicodeslot=0x075D, }, [0x075E]={ + arabic="d", category="lo", description="ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE", direction="al", @@ -17486,6 +17705,7 @@ characters.data={ unicodeslot=0x075E, }, [0x075F]={ + arabic="d", category="lo", description="ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE", direction="al", @@ -17494,6 +17714,7 @@ characters.data={ unicodeslot=0x075F, }, [0x0760]={ + arabic="d", category="lo", description="ARABIC LETTER FEH WITH TWO DOTS BELOW", direction="al", @@ -17502,6 +17723,7 @@ characters.data={ unicodeslot=0x0760, }, [0x0761]={ + arabic="d", category="lo", description="ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW", direction="al", @@ -17510,6 +17732,7 @@ characters.data={ unicodeslot=0x0761, }, [0x0762]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH WITH DOT ABOVE", direction="al", @@ -17518,6 +17741,7 @@ characters.data={ unicodeslot=0x0762, }, [0x0763]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH WITH THREE DOTS ABOVE", direction="al", @@ -17526,6 +17750,7 @@ characters.data={ unicodeslot=0x0763, }, [0x0764]={ + arabic="d", category="lo", description="ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW", direction="al", @@ -17534,6 +17759,7 @@ characters.data={ unicodeslot=0x0764, }, [0x0765]={ + arabic="d", category="lo", description="ARABIC LETTER MEEM WITH DOT ABOVE", direction="al", @@ -17542,6 +17768,7 @@ characters.data={ unicodeslot=0x0765, }, [0x0766]={ + arabic="d", category="lo", description="ARABIC LETTER MEEM WITH DOT BELOW", direction="al", @@ -17550,6 +17777,7 @@ characters.data={ unicodeslot=0x0766, }, [0x0767]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH TWO DOTS BELOW", direction="al", @@ -17558,6 +17786,7 @@ characters.data={ unicodeslot=0x0767, }, [0x0768]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH SMALL TAH", direction="al", @@ -17566,6 +17795,7 @@ characters.data={ unicodeslot=0x0768, }, [0x0769]={ + arabic="d", category="lo", description="ARABIC LETTER NOON WITH SMALL V", direction="al", @@ -17574,6 +17804,7 @@ characters.data={ unicodeslot=0x0769, }, [0x076A]={ + arabic="d", category="lo", description="ARABIC LETTER LAM WITH BAR", direction="al", @@ -17582,6 +17813,7 @@ characters.data={ unicodeslot=0x076A, }, [0x076B]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE", direction="al", @@ -17590,6 +17822,7 @@ characters.data={ unicodeslot=0x076B, }, [0x076C]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH HAMZA ABOVE", direction="al", @@ -17598,6 +17831,7 @@ characters.data={ unicodeslot=0x076C, }, [0x076D]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE", direction="al", @@ -17606,6 +17840,7 @@ characters.data={ unicodeslot=0x076D, }, [0x076E]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW", direction="al", @@ -17613,6 +17848,7 @@ characters.data={ unicodeslot=0x076E, }, [0x076F]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS", direction="al", @@ -17620,6 +17856,7 @@ characters.data={ unicodeslot=0x076F, }, [0x0770]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS", direction="al", @@ -17627,6 +17864,7 @@ characters.data={ unicodeslot=0x0770, }, [0x0771]={ + arabic="r", category="lo", description="ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS", direction="al", @@ -17634,6 +17872,7 @@ characters.data={ unicodeslot=0x0771, }, [0x0772]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE", direction="al", @@ -17641,6 +17880,7 @@ characters.data={ unicodeslot=0x0772, }, [0x0773]={ + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE", direction="al", @@ -17648,6 +17888,7 @@ characters.data={ unicodeslot=0x0773, }, [0x0774]={ + arabic="r", category="lo", description="ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE", direction="al", @@ -17655,6 +17896,7 @@ characters.data={ unicodeslot=0x0774, }, [0x0775]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE", direction="al", @@ -17662,6 +17904,7 @@ characters.data={ unicodeslot=0x0775, }, [0x0776]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE", direction="al", @@ -17669,6 +17912,7 @@ characters.data={ unicodeslot=0x0776, }, [0x0777]={ + arabic="d", category="lo", description="ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW", direction="al", @@ -17676,6 +17920,7 @@ characters.data={ unicodeslot=0x0777, }, [0x0778]={ + arabic="r", category="lo", description="ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE", direction="al", @@ -17683,6 +17928,7 @@ characters.data={ unicodeslot=0x0778, }, [0x0779]={ + arabic="r", category="lo", description="ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE", direction="al", @@ -17690,6 +17936,7 @@ characters.data={ unicodeslot=0x0779, }, [0x077A]={ + arabic="d", category="lo", description="ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE", direction="al", @@ -17697,6 +17944,7 @@ characters.data={ unicodeslot=0x077A, }, [0x077B]={ + arabic="d", category="lo", description="ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE", direction="al", @@ -17704,6 +17952,7 @@ characters.data={ unicodeslot=0x077B, }, [0x077C]={ + arabic="d", category="lo", description="ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW", direction="al", @@ -17711,6 +17960,7 @@ characters.data={ unicodeslot=0x077C, }, [0x077D]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE", direction="al", @@ -17718,6 +17968,7 @@ characters.data={ unicodeslot=0x077D, }, [0x077E]={ + arabic="d", category="lo", description="ARABIC LETTER SEEN WITH INVERTED V", direction="al", @@ -17725,6 +17976,7 @@ characters.data={ unicodeslot=0x077E, }, [0x077F]={ + arabic="d", category="lo", description="ARABIC LETTER KAF WITH TWO DOTS ABOVE", direction="al", @@ -18152,6 +18404,7 @@ characters.data={ unicodeslot=0x07C9, }, [0x07CA]={ + arabic="d", category="lo", description="NKO LETTER A", direction="r", @@ -18159,6 +18412,7 @@ characters.data={ unicodeslot=0x07CA, }, [0x07CB]={ + arabic="d", category="lo", description="NKO LETTER EE", direction="r", @@ -18166,6 +18420,7 @@ characters.data={ unicodeslot=0x07CB, }, [0x07CC]={ + arabic="d", category="lo", description="NKO LETTER I", direction="r", @@ -18173,6 +18428,7 @@ characters.data={ unicodeslot=0x07CC, }, [0x07CD]={ + arabic="d", category="lo", description="NKO LETTER E", direction="r", @@ -18180,6 +18436,7 @@ characters.data={ unicodeslot=0x07CD, }, [0x07CE]={ + arabic="d", category="lo", description="NKO LETTER U", direction="r", @@ -18187,6 +18444,7 @@ characters.data={ unicodeslot=0x07CE, }, [0x07CF]={ + arabic="d", category="lo", description="NKO LETTER OO", direction="r", @@ -18194,6 +18452,7 @@ characters.data={ unicodeslot=0x07CF, }, [0x07D0]={ + arabic="d", category="lo", description="NKO LETTER O", direction="r", @@ -18201,6 +18460,7 @@ characters.data={ unicodeslot=0x07D0, }, [0x07D1]={ + arabic="d", category="lo", description="NKO LETTER DAGBASINNA", direction="r", @@ -18208,6 +18468,7 @@ characters.data={ unicodeslot=0x07D1, }, [0x07D2]={ + arabic="d", category="lo", description="NKO LETTER N", direction="r", @@ -18215,6 +18476,7 @@ characters.data={ unicodeslot=0x07D2, }, [0x07D3]={ + arabic="d", category="lo", description="NKO LETTER BA", direction="r", @@ -18222,6 +18484,7 @@ characters.data={ unicodeslot=0x07D3, }, [0x07D4]={ + arabic="d", category="lo", description="NKO LETTER PA", direction="r", @@ -18229,6 +18492,7 @@ characters.data={ unicodeslot=0x07D4, }, [0x07D5]={ + arabic="d", category="lo", description="NKO LETTER TA", direction="r", @@ -18236,6 +18500,7 @@ characters.data={ unicodeslot=0x07D5, }, [0x07D6]={ + arabic="d", category="lo", description="NKO LETTER JA", direction="r", @@ -18243,6 +18508,7 @@ characters.data={ unicodeslot=0x07D6, }, [0x07D7]={ + arabic="d", category="lo", description="NKO LETTER CHA", direction="r", @@ -18250,6 +18516,7 @@ characters.data={ unicodeslot=0x07D7, }, [0x07D8]={ + arabic="d", category="lo", description="NKO LETTER DA", direction="r", @@ -18257,6 +18524,7 @@ characters.data={ unicodeslot=0x07D8, }, [0x07D9]={ + arabic="d", category="lo", description="NKO LETTER RA", direction="r", @@ -18264,6 +18532,7 @@ characters.data={ unicodeslot=0x07D9, }, [0x07DA]={ + arabic="d", category="lo", description="NKO LETTER RRA", direction="r", @@ -18271,6 +18540,7 @@ characters.data={ unicodeslot=0x07DA, }, [0x07DB]={ + arabic="d", category="lo", description="NKO LETTER SA", direction="r", @@ -18278,6 +18548,7 @@ characters.data={ unicodeslot=0x07DB, }, [0x07DC]={ + arabic="d", category="lo", description="NKO LETTER GBA", direction="r", @@ -18285,6 +18556,7 @@ characters.data={ unicodeslot=0x07DC, }, [0x07DD]={ + arabic="d", category="lo", description="NKO LETTER FA", direction="r", @@ -18292,6 +18564,7 @@ characters.data={ unicodeslot=0x07DD, }, [0x07DE]={ + arabic="d", category="lo", description="NKO LETTER KA", direction="r", @@ -18299,6 +18572,7 @@ characters.data={ unicodeslot=0x07DE, }, [0x07DF]={ + arabic="d", category="lo", description="NKO LETTER LA", direction="r", @@ -18306,6 +18580,7 @@ characters.data={ unicodeslot=0x07DF, }, [0x07E0]={ + arabic="d", category="lo", description="NKO LETTER NA WOLOSO", direction="r", @@ -18313,6 +18588,7 @@ characters.data={ unicodeslot=0x07E0, }, [0x07E1]={ + arabic="d", category="lo", description="NKO LETTER MA", direction="r", @@ -18320,6 +18596,7 @@ characters.data={ unicodeslot=0x07E1, }, [0x07E2]={ + arabic="d", category="lo", description="NKO LETTER NYA", direction="r", @@ -18327,6 +18604,7 @@ characters.data={ unicodeslot=0x07E2, }, [0x07E3]={ + arabic="d", category="lo", description="NKO LETTER NA", direction="r", @@ -18334,6 +18612,7 @@ characters.data={ unicodeslot=0x07E3, }, [0x07E4]={ + arabic="d", category="lo", description="NKO LETTER HA", direction="r", @@ -18341,6 +18620,7 @@ characters.data={ unicodeslot=0x07E4, }, [0x07E5]={ + arabic="d", category="lo", description="NKO LETTER WA", direction="r", @@ -18348,6 +18628,7 @@ characters.data={ unicodeslot=0x07E5, }, [0x07E6]={ + arabic="d", category="lo", description="NKO LETTER YA", direction="r", @@ -18355,6 +18636,7 @@ characters.data={ unicodeslot=0x07E6, }, [0x07E7]={ + arabic="d", category="lo", description="NKO LETTER NYA WOLOSO", direction="r", @@ -18362,6 +18644,7 @@ characters.data={ unicodeslot=0x07E7, }, [0x07E8]={ + arabic="d", category="lo", description="NKO LETTER JONA JA", direction="r", @@ -18369,6 +18652,7 @@ characters.data={ unicodeslot=0x07E8, }, [0x07E9]={ + arabic="d", category="lo", description="NKO LETTER JONA CHA", direction="r", @@ -18376,6 +18660,7 @@ characters.data={ unicodeslot=0x07E9, }, [0x07EA]={ + arabic="d", category="lo", description="NKO LETTER JONA RA", direction="r", @@ -18488,6 +18773,7 @@ characters.data={ unicodeslot=0x07F9, }, [0x07FA]={ + arabic="c", category="lm", description="NKO LAJANYALAN", direction="r", @@ -18922,6 +19208,7 @@ characters.data={ unicodeslot=0x083E, }, [0x0840]={ + arabic="r", category="lo", description="MANDAIC LETTER HALQA", direction="r", @@ -18929,6 +19216,7 @@ characters.data={ unicodeslot=0x0840, }, [0x0841]={ + arabic="d", category="lo", description="MANDAIC LETTER AB", direction="r", @@ -18936,6 +19224,7 @@ characters.data={ unicodeslot=0x0841, }, [0x0842]={ + arabic="d", category="lo", description="MANDAIC LETTER AG", direction="r", @@ -18943,6 +19232,7 @@ characters.data={ unicodeslot=0x0842, }, [0x0843]={ + arabic="d", category="lo", description="MANDAIC LETTER AD", direction="r", @@ -18950,6 +19240,7 @@ characters.data={ unicodeslot=0x0843, }, [0x0844]={ + arabic="d", category="lo", description="MANDAIC LETTER AH", direction="r", @@ -18957,6 +19248,7 @@ characters.data={ unicodeslot=0x0844, }, [0x0845]={ + arabic="d", category="lo", description="MANDAIC LETTER USHENNA", direction="r", @@ -18964,6 +19256,7 @@ characters.data={ unicodeslot=0x0845, }, [0x0846]={ + arabic="r", category="lo", description="MANDAIC LETTER AZ", direction="r", @@ -18971,6 +19264,7 @@ characters.data={ unicodeslot=0x0846, }, [0x0847]={ + arabic="d", category="lo", description="MANDAIC LETTER IT", direction="r", @@ -18978,6 +19272,7 @@ characters.data={ unicodeslot=0x0847, }, [0x0848]={ + arabic="d", category="lo", description="MANDAIC LETTER ATT", direction="r", @@ -18985,6 +19280,7 @@ characters.data={ unicodeslot=0x0848, }, [0x0849]={ + arabic="r", category="lo", description="MANDAIC LETTER AKSA", direction="r", @@ -18992,6 +19288,7 @@ characters.data={ unicodeslot=0x0849, }, [0x084A]={ + arabic="d", category="lo", description="MANDAIC LETTER AK", direction="r", @@ -18999,6 +19296,7 @@ characters.data={ unicodeslot=0x084A, }, [0x084B]={ + arabic="d", category="lo", description="MANDAIC LETTER AL", direction="r", @@ -19006,6 +19304,7 @@ characters.data={ unicodeslot=0x084B, }, [0x084C]={ + arabic="d", category="lo", description="MANDAIC LETTER AM", direction="r", @@ -19013,6 +19312,7 @@ characters.data={ unicodeslot=0x084C, }, [0x084D]={ + arabic="d", category="lo", description="MANDAIC LETTER AN", direction="r", @@ -19020,6 +19320,7 @@ characters.data={ unicodeslot=0x084D, }, [0x084E]={ + arabic="d", category="lo", description="MANDAIC LETTER AS", direction="r", @@ -19027,6 +19328,7 @@ characters.data={ unicodeslot=0x084E, }, [0x084F]={ + arabic="r", category="lo", description="MANDAIC LETTER IN", direction="r", @@ -19034,6 +19336,7 @@ characters.data={ unicodeslot=0x084F, }, [0x0850]={ + arabic="d", category="lo", description="MANDAIC LETTER AP", direction="r", @@ -19041,6 +19344,7 @@ characters.data={ unicodeslot=0x0850, }, [0x0851]={ + arabic="d", category="lo", description="MANDAIC LETTER ASZ", direction="r", @@ -19048,6 +19352,7 @@ characters.data={ unicodeslot=0x0851, }, [0x0852]={ + arabic="d", category="lo", description="MANDAIC LETTER AQ", direction="r", @@ -19055,6 +19360,7 @@ characters.data={ unicodeslot=0x0852, }, [0x0853]={ + arabic="d", category="lo", description="MANDAIC LETTER AR", direction="r", @@ -19062,6 +19368,7 @@ characters.data={ unicodeslot=0x0853, }, [0x0854]={ + arabic="r", category="lo", description="MANDAIC LETTER ASH", direction="r", @@ -19069,6 +19376,7 @@ characters.data={ unicodeslot=0x0854, }, [0x0855]={ + arabic="d", category="lo", description="MANDAIC LETTER AT", direction="r", @@ -19076,6 +19384,7 @@ characters.data={ unicodeslot=0x0855, }, [0x0856]={ + arabic="u", category="lo", description="MANDAIC LETTER DUSHENNA", direction="r", @@ -19083,6 +19392,7 @@ characters.data={ unicodeslot=0x0856, }, [0x0857]={ + arabic="u", category="lo", description="MANDAIC LETTER KAD", direction="r", @@ -19090,6 +19400,7 @@ characters.data={ unicodeslot=0x0857, }, [0x0858]={ + arabic="u", category="lo", description="MANDAIC LETTER AIN", direction="r", @@ -19124,6 +19435,252 @@ characters.data={ linebreak="al", unicodeslot=0x085E, }, + [0x08A0]={ + arabic="d", + category="lo", + description="ARABIC LETTER BEH WITH SMALL V BELOW", + direction="al", + unicodeslot=0x08A0, + }, + [0x08A2]={ + arabic="d", + category="lo", + description="ARABIC LETTER JEEM WITH TWO DOTS ABOVE", + direction="al", + unicodeslot=0x08A2, + }, + [0x08A3]={ + arabic="d", + category="lo", + description="ARABIC LETTER TAH WITH TWO DOTS ABOVE", + direction="al", + unicodeslot=0x08A3, + }, + [0x08A4]={ + arabic="d", + category="lo", + description="ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE", + direction="al", + unicodeslot=0x08A4, + }, + [0x08A5]={ + arabic="d", + category="lo", + description="ARABIC LETTER QAF WITH DOT BELOW", + direction="al", + unicodeslot=0x08A5, + }, + [0x08A6]={ + arabic="d", + category="lo", + description="ARABIC LETTER LAM WITH DOUBLE BAR", + direction="al", + unicodeslot=0x08A6, + }, + [0x08A7]={ + arabic="d", + category="lo", + description="ARABIC LETTER MEEM WITH THREE DOTS ABOVE", + direction="al", + unicodeslot=0x08A7, + }, + [0x08A8]={ + arabic="d", + category="lo", + description="ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE", + direction="al", + unicodeslot=0x08A8, + }, + [0x08A9]={ + arabic="d", + category="lo", + description="ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE", + direction="al", + unicodeslot=0x08A9, + }, + [0x08AA]={ + arabic="r", + category="lo", + description="ARABIC LETTER REH WITH LOOP", + direction="al", + unicodeslot=0x08AA, + }, + [0x08AB]={ + arabic="r", + category="lo", + description="ARABIC LETTER WAW WITH DOT WITHIN", + direction="al", + unicodeslot=0x08AB, + }, + [0x08AC]={ + arabic="r", + category="lo", + description="ARABIC LETTER ROHINGYA YEH", + direction="al", + unicodeslot=0x08AC, + }, + [0x08E4]={ + category="mn", + description="ARABIC CURLY FATHA", + direction="nsm", + unicodeslot=0x08E4, + }, + [0x08E5]={ + category="mn", + description="ARABIC CURLY DAMMA", + direction="nsm", + unicodeslot=0x08E5, + }, + [0x08E6]={ + category="mn", + description="ARABIC CURLY KASRA", + direction="nsm", + unicodeslot=0x08E6, + }, + [0x08E7]={ + category="mn", + description="ARABIC CURLY FATHATAN", + direction="nsm", + unicodeslot=0x08E7, + }, + [0x08E8]={ + category="mn", + description="ARABIC CURLY DAMMATAN", + direction="nsm", + unicodeslot=0x08E8, + }, + [0x08E9]={ + category="mn", + description="ARABIC CURLY KASRATAN", + direction="nsm", + unicodeslot=0x08E9, + }, + [0x08EA]={ + category="mn", + description="ARABIC TONE ONE DOT ABOVE", + direction="nsm", + unicodeslot=0x08EA, + }, + [0x08EB]={ + category="mn", + description="ARABIC TONE TWO DOTS ABOVE", + direction="nsm", + unicodeslot=0x08EB, + }, + [0x08EC]={ + category="mn", + description="ARABIC TONE LOOP ABOVE", + direction="nsm", + unicodeslot=0x08EC, + }, + [0x08ED]={ + category="mn", + description="ARABIC TONE ONE DOT BELOW", + direction="nsm", + unicodeslot=0x08ED, + }, + [0x08EE]={ + category="mn", + description="ARABIC TONE TWO DOTS BELOW", + direction="nsm", + unicodeslot=0x08EE, + }, + [0x08EF]={ + category="mn", + description="ARABIC TONE LOOP BELOW", + direction="nsm", + unicodeslot=0x08EF, + }, + [0x08F0]={ + category="mn", + description="ARABIC OPEN FATHATAN", + direction="nsm", + unicodeslot=0x08F0, + }, + [0x08F1]={ + category="mn", + description="ARABIC OPEN DAMMATAN", + direction="nsm", + unicodeslot=0x08F1, + }, + [0x08F2]={ + category="mn", + description="ARABIC OPEN KASRATAN", + direction="nsm", + unicodeslot=0x08F2, + }, + [0x08F3]={ + category="mn", + description="ARABIC SMALL HIGH WAW", + direction="nsm", + unicodeslot=0x08F3, + }, + [0x08F4]={ + category="mn", + description="ARABIC FATHA WITH RING", + direction="nsm", + unicodeslot=0x08F4, + }, + [0x08F5]={ + category="mn", + description="ARABIC FATHA WITH DOT ABOVE", + direction="nsm", + unicodeslot=0x08F5, + }, + [0x08F6]={ + category="mn", + description="ARABIC KASRA WITH DOT BELOW", + direction="nsm", + unicodeslot=0x08F6, + }, + [0x08F7]={ + category="mn", + description="ARABIC LEFT ARROWHEAD ABOVE", + direction="nsm", + unicodeslot=0x08F7, + }, + [0x08F8]={ + category="mn", + description="ARABIC RIGHT ARROWHEAD ABOVE", + direction="nsm", + unicodeslot=0x08F8, + }, + [0x08F9]={ + category="mn", + description="ARABIC LEFT ARROWHEAD BELOW", + direction="nsm", + unicodeslot=0x08F9, + }, + [0x08FA]={ + category="mn", + description="ARABIC RIGHT ARROWHEAD BELOW", + direction="nsm", + unicodeslot=0x08FA, + }, + [0x08FB]={ + category="mn", + description="ARABIC DOUBLE RIGHT ARROWHEAD ABOVE", + direction="nsm", + unicodeslot=0x08FB, + }, + [0x08FC]={ + category="mn", + description="ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT", + direction="nsm", + unicodeslot=0x08FC, + }, + [0x08FD]={ + category="mn", + description="ARABIC RIGHT ARROWHEAD ABOVE WITH DOT", + direction="nsm", + unicodeslot=0x08FD, + }, + [0x08FE]={ + category="mn", + description="ARABIC DAMMA WITH DOT", + direction="nsm", + unicodeslot=0x08FE, + }, [0x0900]={ category="mn", description="DEVANAGARI SIGN INVERTED CANDRABINDU", @@ -22152,6 +22709,12 @@ characters.data={ linebreak="nu", unicodeslot=0x0AEF, }, + [0x0AF0]={ + category="po", + description="GUJARATI ABBREVIATION SIGN", + direction="l", + unicodeslot=0x0AF0, + }, [0x0AF1]={ category="sc", description="GUJARATI RUPEE SIGN", @@ -26969,6 +27532,18 @@ characters.data={ specials={ "compat", 0x0EAB, 0x0EA1 }, unicodeslot=0x0EDD, }, + [0x0EDE]={ + category="lo", + description="LAO LETTER KHMU GO", + direction="l", + unicodeslot=0x0EDE, + }, + [0x0EDF]={ + category="lo", + description="LAO LETTER KHMU NYO", + direction="l", + unicodeslot=0x0EDF, + }, [0x0F00]={ category="lo", description="TIBETAN SYLLABLE OM", @@ -29895,6 +30470,18 @@ characters.data={ linebreak="al", unicodeslot=0x10C5, }, + [0x10C7]={ + category="lu", + description="GEORGIAN CAPITAL LETTER YN", + direction="l", + unicodeslot=0x10C7, + }, + [0x10CD]={ + category="lu", + description="GEORGIAN CAPITAL LETTER AEN", + direction="l", + unicodeslot=0x10CD, + }, [0x10D0]={ category="lo", description="GEORGIAN LETTER AN", @@ -30211,6 +30798,24 @@ characters.data={ specials={ "super", 0x10DC }, unicodeslot=0x10FC, }, + [0x10FD]={ + category="lo", + description="GEORGIAN LETTER AEN", + direction="l", + unicodeslot=0x10FD, + }, + [0x10FE]={ + category="lo", + description="GEORGIAN LETTER HARD SIGN", + direction="l", + unicodeslot=0x10FE, + }, + [0x10FF]={ + category="lo", + description="GEORGIAN LETTER LABIAL SIGN", + direction="l", + unicodeslot=0x10FF, + }, [0x1100]={ category="lo", cjkwd="w", @@ -41579,14 +42184,14 @@ characters.data={ [0x17B4]={ category="cf", description="KHMER VOWEL INHERENT AQ", - direction="l", + direction="nsm", linebreak="sa", unicodeslot=0x17B4, }, [0x17B5]={ category="cf", description="KHMER VOWEL INHERENT AA", - direction="l", + direction="nsm", linebreak="sa", unicodeslot=0x17B5, }, @@ -47502,6 +48107,24 @@ characters.data={ linebreak="cm", unicodeslot=0x1BAA, }, + [0x1BAB]={ + category="mn", + description="SUNDANESE SIGN VIRAMA", + direction="nsm", + unicodeslot=0x1BAB, + }, + [0x1BAC]={ + category="mc", + description="SUNDANESE CONSONANT SIGN PASANGAN MA", + direction="l", + unicodeslot=0x1BAC, + }, + [0x1BAD]={ + category="mc", + description="SUNDANESE CONSONANT SIGN PASANGAN WA", + direction="l", + unicodeslot=0x1BAD, + }, [0x1BAE]={ category="lo", description="SUNDANESE LETTER KHA", @@ -47586,6 +48209,42 @@ characters.data={ linebreak="nu", unicodeslot=0x1BB9, }, + [0x1BBA]={ + category="lo", + description="SUNDANESE AVAGRAHA", + direction="l", + unicodeslot=0x1BBA, + }, + [0x1BBB]={ + category="lo", + description="SUNDANESE LETTER REU", + direction="l", + unicodeslot=0x1BBB, + }, + [0x1BBC]={ + category="lo", + description="SUNDANESE LETTER LEU", + direction="l", + unicodeslot=0x1BBC, + }, + [0x1BBD]={ + category="lo", + description="SUNDANESE LETTER BHA", + direction="l", + unicodeslot=0x1BBD, + }, + [0x1BBE]={ + category="lo", + description="SUNDANESE LETTER FINAL K", + direction="l", + unicodeslot=0x1BBE, + }, + [0x1BBF]={ + category="lo", + description="SUNDANESE LETTER FINAL M", + direction="l", + unicodeslot=0x1BBF, + }, [0x1BC0]={ category="lo", description="BATAK LETTER A", @@ -48832,6 +49491,54 @@ characters.data={ linebreak="ba", unicodeslot=0x1C7F, }, + [0x1CC0]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU SURYA", + direction="l", + unicodeslot=0x1CC0, + }, + [0x1CC1]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU PANGLONG", + direction="l", + unicodeslot=0x1CC1, + }, + [0x1CC2]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU PURNAMA", + direction="l", + unicodeslot=0x1CC2, + }, + [0x1CC3]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU CAKRA", + direction="l", + unicodeslot=0x1CC3, + }, + [0x1CC4]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU LEU SATANGA", + direction="l", + unicodeslot=0x1CC4, + }, + [0x1CC5]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU KA SATANGA", + direction="l", + unicodeslot=0x1CC5, + }, + [0x1CC6]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU DA SATANGA", + direction="l", + unicodeslot=0x1CC6, + }, + [0x1CC7]={ + category="po", + description="SUNDANESE PUNCTUATION BINDU BA SATANGA", + direction="l", + unicodeslot=0x1CC7, + }, [0x1CD0]={ category="mn", description="VEDIC TONE KARSHANA", @@ -49077,6 +49784,30 @@ characters.data={ linebreak="cm", unicodeslot=0x1CF2, }, + [0x1CF3]={ + category="mc", + description="VEDIC SIGN ROTATED ARDHAVISARGA", + direction="l", + unicodeslot=0x1CF3, + }, + [0x1CF4]={ + category="mn", + description="VEDIC TONE CANDRA ABOVE", + direction="nsm", + unicodeslot=0x1CF4, + }, + [0x1CF5]={ + category="lo", + description="VEDIC SIGN JIHVAMULIYA", + direction="l", + unicodeslot=0x1CF5, + }, + [0x1CF6]={ + category="lo", + description="VEDIC SIGN UPADHMANIYA", + direction="l", + unicodeslot=0x1CF6, + }, [0x1D00]={ category="ll", description="LATIN LETTER SMALL CAPITAL A", @@ -56335,6 +57066,7 @@ characters.data={ }, [0x200C]={ adobename="zerowidthnonjoiner", + arabic="u", category="cf", contextname="zwnj", description="ZERO WIDTH NON-JOINER", @@ -56344,6 +57076,7 @@ characters.data={ }, [0x200D]={ adobename="afii301", + arabic="c", category="cf", contextname="zwj", description="ZERO WIDTH JOINER", @@ -57749,6 +58482,12 @@ characters.data={ linebreak="pr", unicodeslot=0x20B9, }, + [0x20BA]={ + category="sc", + description="TURKISH LIRA SIGN", + direction="et", + unicodeslot=0x20BA, + }, [0x20D0]={ category="mn", description="COMBINING LEFT HARPOON ABOVE", @@ -58137,12 +58876,12 @@ characters.data={ linebreak="al", mathspec={ { - class="variable", - name="hslash", + class="variable", + name="hslash", }, { - class="ordinary", - name="hbar", + class="ordinary", + name="hbar", }, }, specials={ "font", 0x0127 }, @@ -59356,8 +60095,8 @@ characters.data={ description="UPWARDS ARROW", direction="on", linebreak="ai", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="uparrow", unicodeslot=0x2191, }, @@ -59398,8 +60137,8 @@ characters.data={ description="DOWNWARDS ARROW", direction="on", linebreak="ai", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="downarrow", unicodeslot=0x2193, }, @@ -59410,8 +60149,8 @@ characters.data={ description="LEFT RIGHT ARROW", direction="on", linebreak="ai", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="leftrightarrow", unicodeslot=0x2194, }, @@ -59422,8 +60161,8 @@ characters.data={ description="UP DOWN ARROW", direction="on", linebreak="ai", - mathextensible="v", mathclass="relation", + mathextensible="v", mathname="updownarrow", unicodeslot=0x2195, }, @@ -59476,8 +60215,8 @@ characters.data={ description="LEFTWARDS ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="nleftarrow", specials={ "char", 0x2190, 0x0338 }, unicodeslot=0x219A, @@ -59487,8 +60226,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="nrightarrow", specials={ "char", 0x2192, 0x0338 }, unicodeslot=0x219B, @@ -59498,8 +60237,8 @@ characters.data={ description="LEFTWARDS WAVE ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftwavearrow", unicodeslot=0x219C, }, @@ -59508,8 +60247,8 @@ characters.data={ description="RIGHTWARDS WAVE ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightwavearrow", unicodeslot=0x219D, }, @@ -59518,9 +60257,9 @@ characters.data={ description="LEFTWARDS TWO HEADED ARROW", direction="on", linebreak="al", - mathfiller="twoheadleftarrowfill", - mathextensible="l", mathclass="relation", + mathextensible="l", + mathfiller="twoheadleftarrowfill", mathname="twoheadleftarrow", unicodeslot=0x219E, }, @@ -59529,8 +60268,8 @@ characters.data={ description="UPWARDS TWO HEADED ARROW", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="twoheaduparrow", unicodeslot=0x219F, }, @@ -59539,9 +60278,9 @@ characters.data={ description="RIGHTWARDS TWO HEADED ARROW", direction="on", linebreak="al", - mathfiller="twoheadrightarrowfill", - mathextensible="r", mathclass="relation", + mathextensible="r", + mathfiller="twoheadrightarrowfill", mathname="twoheadrightarrow", unicodeslot=0x21A0, }, @@ -59550,8 +60289,8 @@ characters.data={ description="DOWNWARDS TWO HEADED ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="twoheaddownarrow", unicodeslot=0x21A1, }, @@ -59560,8 +60299,8 @@ characters.data={ description="LEFTWARDS ARROW WITH TAIL", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftarrowtail", unicodeslot=0x21A2, }, @@ -59570,8 +60309,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH TAIL", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightarrowtail", unicodeslot=0x21A3, }, @@ -59580,8 +60319,8 @@ characters.data={ description="LEFTWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="mapsfrom", unicodeslot=0x21A4, }, @@ -59590,8 +60329,8 @@ characters.data={ description="UPWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="mapsup", unicodeslot=0x21A5, }, @@ -59600,9 +60339,9 @@ characters.data={ description="RIGHTWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathfiller="mapstofill", - mathextensible="r", mathclass="relation", + mathextensible="r", + mathfiller="mapstofill", mathname="mapsto", unicodeslot=0x21A6, }, @@ -59611,8 +60350,8 @@ characters.data={ description="DOWNWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="mapsdown", unicodeslot=0x21A7, }, @@ -59622,8 +60361,8 @@ characters.data={ description="UP DOWN ARROW WITH BASE", direction="on", linebreak="al", - mathextensible="v", mathclass="ordinary", + mathextensible="v", mathname="updownarrowbar", unicodeslot=0x21A8, }, @@ -59632,9 +60371,9 @@ characters.data={ description="LEFTWARDS ARROW WITH HOOK", direction="on", linebreak="al", + mathclass="relation", mathextensible="l", mathfiller="hookleftarrowfill", - mathclass="relation", mathname="hookleftarrow", unicodeslot=0x21A9, }, @@ -59643,9 +60382,9 @@ characters.data={ description="RIGHTWARDS ARROW WITH HOOK", direction="on", linebreak="al", - mathfiller="hookrightarrowfill", - mathextensible="r", mathclass="relation", + mathextensible="r", + mathfiller="hookrightarrowfill", mathname="hookrightarrow", unicodeslot=0x21AA, }, @@ -59654,8 +60393,8 @@ characters.data={ description="LEFTWARDS ARROW WITH LOOP", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="looparrowleft", unicodeslot=0x21AB, }, @@ -59664,8 +60403,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH LOOP", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="looparrowright", unicodeslot=0x21AC, }, @@ -59674,8 +60413,8 @@ characters.data={ description="LEFT RIGHT WAVE ARROW", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="leftrightsquigarrow", unicodeslot=0x21AD, }, @@ -59684,8 +60423,8 @@ characters.data={ description="LEFT RIGHT ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="nleftrightarrow", specials={ "char", 0x2194, 0x0338 }, unicodeslot=0x21AE, @@ -59695,8 +60434,8 @@ characters.data={ description="DOWNWARDS ZIGZAG ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="downzigzagarrow", unicodeslot=0x21AF, }, @@ -59705,8 +60444,8 @@ characters.data={ description="UPWARDS ARROW WITH TIP LEFTWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="Lsh", unicodeslot=0x21B0, }, @@ -59715,8 +60454,8 @@ characters.data={ description="UPWARDS ARROW WITH TIP RIGHTWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="Rsh", unicodeslot=0x21B1, }, @@ -59725,8 +60464,8 @@ characters.data={ description="DOWNWARDS ARROW WITH TIP LEFTWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="Ldsh", unicodeslot=0x21B2, }, @@ -59735,8 +60474,8 @@ characters.data={ description="DOWNWARDS ARROW WITH TIP RIGHTWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="Rdsh", unicodeslot=0x21B3, }, @@ -59745,8 +60484,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH CORNER DOWNWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="ordinary", + mathextensible="m", mathname="linefeed", unicodeslot=0x21B4, }, @@ -59757,8 +60496,8 @@ characters.data={ description="DOWNWARDS ARROW WITH CORNER LEFTWARDS", direction="on", linebreak="al", - mathextensible="m", mathclass="ordinary", + mathextensible="m", mathname="carriagereturn", unicodeslot=0x21B5, }, @@ -59796,8 +60535,8 @@ characters.data={ description="LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="barleftarrowrightarrowbar", unicodeslot=0x21B9, }, @@ -59841,9 +60580,9 @@ characters.data={ description="LEFTWARDS HARPOON WITH BARB UPWARDS", direction="on", linebreak="al", - mathfiller="leftharpoonupfill", - mathextensible="l", mathclass="relation", + mathextensible="l", + mathfiller="leftharpoonupfill", mathname="leftharpoonup", unicodeslot=0x21BC, }, @@ -59852,9 +60591,9 @@ characters.data={ description="LEFTWARDS HARPOON WITH BARB DOWNWARDS", direction="on", linebreak="al", - mathfiller="leftharpoondownfill", - mathextensible="l", mathclass="relation", + mathextensible="l", + mathfiller="leftharpoondownfill", mathname="leftharpoondown", unicodeslot=0x21BD, }, @@ -59890,9 +60629,9 @@ characters.data={ description="RIGHTWARDS HARPOON WITH BARB UPWARDS", direction="on", linebreak="al", - mathfiller="rightharpoonupfill", - mathextensible="r", mathclass="relation", + mathextensible="r", + mathfiller="rightharpoonupfill", mathname="rightharpoonup", unicodeslot=0x21C0, }, @@ -59901,10 +60640,9 @@ characters.data={ description="RIGHTWARDS HARPOON WITH BARB DOWNWARDS", direction="on", linebreak="al", - mathfiller="rightharpoondownfill", - mathextensible="r", - mathclass="relation", mathclass="relation", + mathextensible="r", + mathfiller="rightharpoondownfill", mathname="rightharpoondown", unicodeslot=0x21C1, }, @@ -59932,9 +60670,9 @@ characters.data={ description="RIGHTWARDS ARROW OVER LEFTWARDS ARROW", direction="on", linebreak="al", - mathfiller="rightoverleftarrowfill", - mathextensible="h", mathclass="relation", + mathextensible="h", + mathfiller="rightoverleftarrowfill", mathname="rightleftarrows", unicodeslot=0x21C4, }, @@ -59944,8 +60682,8 @@ characters.data={ description="UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="updownarrows", unicodeslot=0x21C5, }, @@ -59955,9 +60693,9 @@ characters.data={ description="LEFTWARDS ARROW OVER RIGHTWARDS ARROW", direction="on", linebreak="al", - mathfiller="lefgtoverrightarrowfill", - mathextensible="h", mathclass="relation", + mathextensible="h", + mathfiller="lefgtoverrightarrowfill", mathname="leftrightarrows", unicodeslot=0x21C6, }, @@ -59966,8 +60704,8 @@ characters.data={ description="LEFTWARDS PAIRED ARROWS", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftleftarrows", unicodeslot=0x21C7, }, @@ -59976,8 +60714,8 @@ characters.data={ description="UPWARDS PAIRED ARROWS", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="upuparrows", unicodeslot=0x21C8, }, @@ -59986,8 +60724,8 @@ characters.data={ description="RIGHTWARDS PAIRED ARROWS", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightrightarrows", unicodeslot=0x21C9, }, @@ -59996,8 +60734,8 @@ characters.data={ description="DOWNWARDS PAIRED ARROWS", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="downdownarrows", unicodeslot=0x21CA, }, @@ -60006,9 +60744,9 @@ characters.data={ description="LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON", direction="on", linebreak="al", - mathfiller="leftrightharpoonsfill", - mathextensible="h", mathclass="relation", + mathextensible="h", + mathfiller="leftrightharpoonsfill", mathname="leftrightharpoons", unicodeslot=0x21CB, }, @@ -60017,9 +60755,9 @@ characters.data={ description="RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON", direction="on", linebreak="al", - mathfiller="rightleftharpoonsfill", - mathextensible="h", mathclass="relation", + mathextensible="h", + mathfiller="rightleftharpoonsfill", mathname="rightleftharpoons", unicodeslot=0x21CC, }, @@ -60029,8 +60767,8 @@ characters.data={ description="LEFTWARDS DOUBLE ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="nLeftarrow", specials={ "char", 0x21D0, 0x0338 }, unicodeslot=0x21CD, @@ -60040,8 +60778,8 @@ characters.data={ description="LEFT RIGHT DOUBLE ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="nLeftrightarrow", specials={ "char", 0x21D4, 0x0338 }, unicodeslot=0x21CE, @@ -60052,8 +60790,8 @@ characters.data={ description="RIGHTWARDS DOUBLE ARROW WITH STROKE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="nRightarrow", specials={ "char", 0x21D2, 0x0338 }, unicodeslot=0x21CF, @@ -60064,8 +60802,8 @@ characters.data={ description="LEFTWARDS DOUBLE ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="Leftarrow", unicodeslot=0x21D0, }, @@ -60075,8 +60813,8 @@ characters.data={ description="UPWARDS DOUBLE ARROW", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="Uparrow", unicodeslot=0x21D1, }, @@ -60106,8 +60844,8 @@ characters.data={ description="DOWNWARDS DOUBLE ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="Downarrow", unicodeslot=0x21D3, }, @@ -60118,8 +60856,8 @@ characters.data={ description="LEFT RIGHT DOUBLE ARROW", direction="on", linebreak="ai", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="Leftrightarrow", unicodeslot=0x21D4, }, @@ -60128,8 +60866,8 @@ characters.data={ description="UP DOWN DOUBLE ARROW", direction="on", linebreak="al", - mathextensible="v", mathclass="relation", + mathextensible="v", mathname="Updownarrow", unicodeslot=0x21D5, }, @@ -60174,8 +60912,8 @@ characters.data={ description="LEFTWARDS TRIPLE ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="Lleftarrow", unicodeslot=0x21DA, }, @@ -60184,8 +60922,8 @@ characters.data={ description="RIGHTWARDS TRIPLE ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="Rrightarrow", unicodeslot=0x21DB, }, @@ -60194,8 +60932,8 @@ characters.data={ description="LEFTWARDS SQUIGGLE ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftsquigarrow", unicodeslot=0x21DC, }, @@ -60222,8 +60960,8 @@ characters.data={ description="UPWARDS ARROW WITH DOUBLE STROKE", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="nHuparrow", unicodeslot=0x21DE, }, @@ -60233,8 +60971,8 @@ characters.data={ description="DOWNWARDS ARROW WITH DOUBLE STROKE", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="nHdownarrow", unicodeslot=0x21DF, }, @@ -60244,8 +60982,8 @@ characters.data={ description="LEFTWARDS DASHED ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftdasharrow", unicodeslot=0x21E0, }, @@ -60255,8 +60993,8 @@ characters.data={ description="UPWARDS DASHED ARROW", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="updasharrow", unicodeslot=0x21E1, }, @@ -60284,8 +61022,8 @@ characters.data={ description="DOWNWARDS DASHED ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="downdasharrow", unicodeslot=0x21E3, }, @@ -60295,8 +61033,8 @@ characters.data={ description="LEFTWARDS ARROW TO BAR", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="barleftarrow", unicodeslot=0x21E4, }, @@ -60306,8 +61044,8 @@ characters.data={ description="RIGHTWARDS ARROW TO BAR", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightarrowbar", unicodeslot=0x21E5, }, @@ -60317,8 +61055,8 @@ characters.data={ description="LEFTWARDS WHITE ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="ordinary", + mathextensible="l", mathname="leftwhitearrow", unicodeslot=0x21E6, }, @@ -60329,8 +61067,8 @@ characters.data={ description="UPWARDS WHITE ARROW", direction="on", linebreak="al", - mathextensible="u", mathclass="ordinary", + mathextensible="u", mathname="upwhitearrow", unicodeslot=0x21E7, }, @@ -60340,8 +61078,8 @@ characters.data={ description="RIGHTWARDS WHITE ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="ordinary", + mathextensible="r", mathname="rightwhitearrow", unicodeslot=0x21E8, }, @@ -60351,8 +61089,8 @@ characters.data={ description="DOWNWARDS WHITE ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="ordinary", + mathextensible="d", mathname="downwhitearrow", unicodeslot=0x21E9, }, @@ -60369,8 +61107,8 @@ characters.data={ description="UPWARDS WHITE ARROW ON PEDESTAL", direction="on", linebreak="al", - mathextensible="u", mathclass="ordinary", + mathextensible="u", mathname="whitearrowupfrombar", unicodeslot=0x21EB, }, @@ -60435,8 +61173,8 @@ characters.data={ description="RIGHT ARROW WITH SMALL CIRCLE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="circleonrightarrow", unicodeslot=0x21F4, }, @@ -60445,8 +61183,8 @@ characters.data={ description="DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW", direction="on", linebreak="al", - mathextensible="m", mathclass="relation", + mathextensible="m", mathname="downuparrows", unicodeslot=0x21F5, }, @@ -60455,8 +61193,8 @@ characters.data={ description="THREE RIGHTWARDS ARROWS", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightthreearrows", unicodeslot=0x21F6, }, @@ -60465,8 +61203,8 @@ characters.data={ description="LEFTWARDS ARROW WITH VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="nvleftarrow", unicodeslot=0x21F7, }, @@ -60475,8 +61213,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="nvrightarrow", unicodeslot=0x21F8, }, @@ -60485,8 +61223,8 @@ characters.data={ description="LEFT RIGHT ARROW WITH VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="nvleftrightarrow", unicodeslot=0x21F9, }, @@ -60495,8 +61233,8 @@ characters.data={ description="LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="nVleftarrow", unicodeslot=0x21FA, }, @@ -60505,8 +61243,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="nVrightarrow", unicodeslot=0x21FB, }, @@ -60515,8 +61253,8 @@ characters.data={ description="LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="nVleftrightarrow", unicodeslot=0x21FC, }, @@ -60525,8 +61263,8 @@ characters.data={ description="LEFTWARDS OPEN-HEADED ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="leftarrowtriangle", unicodeslot=0x21FD, }, @@ -60535,8 +61273,8 @@ characters.data={ description="RIGHTWARDS OPEN-HEADED ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="rightarrowtriangle", unicodeslot=0x21FE, }, @@ -60545,8 +61283,8 @@ characters.data={ description="LEFT RIGHT OPEN-HEADED ARROW", direction="on", linebreak="al", - mathextensible="h", mathclass="relation", + mathextensible="h", mathname="leftrightarrowtriangle", unicodeslot=0x21FF, }, @@ -61639,8 +62377,8 @@ characters.data={ direction="on", linebreak="ai", mathclass="relation", + mathextensible="h", mathname="equiv", - mathextensible='h', unicodeslot=0x2261, }, [0x2262]={ @@ -61650,7 +62388,7 @@ characters.data={ direction="on", linebreak="al", mathclass="relation", - mathextensible='h', + mathextensible="h", mathfiller="triplerelfill", mathname="nequiv", specials={ "char", 0x2261, 0x0338 }, @@ -61662,7 +62400,7 @@ characters.data={ direction="on", linebreak="al", mathclass="relation", - mathextensible='h', + mathextensible="h", unicodeslot=0x2263, }, [0x2264]={ @@ -72537,6 +73275,13 @@ characters.data={ linebreak="al", unicodeslot=0x27CA, }, + [0x27CB]={ + category="sm", + comment="check math properties", + description="MATHEMATICAL RISING DIAGONAL", + direction="on", + unicodeslot=0x27CB, + }, [0x27CC]={ category="sm", description="LONG DIVISION", @@ -72544,6 +73289,13 @@ characters.data={ linebreak="al", unicodeslot=0x27CC, }, + [0x27CD]={ + category="sm", + comment="check math properties", + description="MATHEMATICAL FALLING DIAGONAL", + direction="on", + unicodeslot=0x27CD, + }, [0x27CE]={ category="sm", description="SQUARED LOGICAL AND", @@ -72867,8 +73619,8 @@ characters.data={ description="LONG LEFTWARDS ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="longleftarrow", unicodeslot=0x27F5, }, @@ -72877,8 +73629,8 @@ characters.data={ description="LONG RIGHTWARDS ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="longrightarrow", unicodeslot=0x27F6, }, @@ -72887,9 +73639,9 @@ characters.data={ description="LONG LEFT RIGHT ARROW", direction="on", linebreak="al", + mathclass="relation", mathextensible="h", mathfiller="leftrightarrowfill", - mathclass="relation", mathname="longleftrightarrow", unicodeslot=0x27F7, }, @@ -72898,9 +73650,9 @@ characters.data={ description="LONG LEFTWARDS DOUBLE ARROW", direction="on", linebreak="al", + mathclass="relation", mathextensible="l", mathfiller="Leftarrowfill", - mathclass="relation", mathname="Longleftarrow", unicodeslot=0x27F8, }, @@ -72909,9 +73661,9 @@ characters.data={ description="LONG RIGHTWARDS DOUBLE ARROW", direction="on", linebreak="al", + mathclass="relation", mathextensible="r", mathfiller="Rightarrowfill", - mathclass="relation", mathname="Longrightarrow", unicodeslot=0x27F9, }, @@ -72920,9 +73672,9 @@ characters.data={ description="LONG LEFT RIGHT DOUBLE ARROW", direction="on", linebreak="al", + mathclass="relation", mathextensible="h", mathfiller="Leftrightarrowfill", - mathclass="relation", mathname="Longleftrightarrow", unicodeslot=0x27FA, }, @@ -72931,8 +73683,8 @@ characters.data={ description="LONG LEFTWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="longmapsfrom", unicodeslot=0x27FB, }, @@ -72941,8 +73693,8 @@ characters.data={ description="LONG RIGHTWARDS ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="longmapsto", unicodeslot=0x27FC, }, @@ -72951,8 +73703,8 @@ characters.data={ description="LONG LEFTWARDS DOUBLE ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="Longmapsfrom", unicodeslot=0x27FD, }, @@ -72961,8 +73713,8 @@ characters.data={ description="LONG RIGHTWARDS DOUBLE ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="Longmapsto", unicodeslot=0x27FE, }, @@ -72971,8 +73723,8 @@ characters.data={ description="LONG RIGHTWARDS SQUIGGLE ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="longrightsquigarrow", unicodeslot=0x27FF, }, @@ -74821,8 +75573,8 @@ characters.data={ description="LEFTWARDS DOUBLE ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="Mapsfrom", unicodeslot=0x2906, }, @@ -74831,8 +75583,8 @@ characters.data={ description="RIGHTWARDS DOUBLE ARROW FROM BAR", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="Mapsto", unicodeslot=0x2907, }, @@ -74857,8 +75609,8 @@ characters.data={ description="UPWARDS TRIPLE ARROW", direction="on", linebreak="al", - mathextensible="u", mathclass="relation", + mathextensible="u", mathname="Uuparrow", unicodeslot=0x290A, }, @@ -74867,8 +75619,8 @@ characters.data={ description="DOWNWARDS TRIPLE ARROW", direction="on", linebreak="al", - mathextensible="d", mathclass="relation", + mathextensible="d", mathname="Ddownarrow", unicodeslot=0x290B, }, @@ -74877,8 +75629,8 @@ characters.data={ description="LEFTWARDS DOUBLE DASH ARROW", direction="on", linebreak="al", - mathextensible="l", mathclass="relation", + mathextensible="l", mathname="dashedleftarrow", unicodeslot=0x290C, }, @@ -74887,8 +75639,8 @@ characters.data={ description="RIGHTWARDS DOUBLE DASH ARROW", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="dashedrightarrow", unicodeslot=0x290D, }, @@ -74921,8 +75673,8 @@ characters.data={ description="RIGHTWARDS ARROW WITH DOTTED STEM", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="dottedrightarrow", unicodeslot=0x2911, }, @@ -74963,8 +75715,8 @@ characters.data={ description="RIGHTWARDS TWO-HEADED ARROW WITH TAIL", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", mathname="twoheadrightarrowtail", unicodeslot=0x2916, }, @@ -74973,8 +75725,8 @@ characters.data={ description="RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE", direction="on", linebreak="al", - mathextensible="r", mathclass="relation", + mathextensible="r", unicodeslot=0x2917, }, [0x2918]={ @@ -81192,6 +81944,18 @@ characters.data={ linebreak="cm", unicodeslot=0x2CF1, }, + [0x2CF2]={ + category="lu", + description="COPTIC CAPITAL LETTER BOHAIRIC KHEI", + direction="l", + unicodeslot=0x2CF2, + }, + [0x2CF3]={ + category="ll", + description="COPTIC SMALL LETTER BOHAIRIC KHEI", + direction="l", + unicodeslot=0x2CF3, + }, [0x2CF9]={ category="po", description="COPTIC OLD NUBIAN FULL STOP", @@ -81545,6 +82309,18 @@ characters.data={ uccode=0x10C5, unicodeslot=0x2D25, }, + [0x2D27]={ + category="ll", + description="GEORGIAN SMALL LETTER YN", + direction="l", + unicodeslot=0x2D27, + }, + [0x2D2D]={ + category="ll", + description="GEORGIAN SMALL LETTER AEN", + direction="l", + unicodeslot=0x2D2D, + }, [0x2D30]={ category="lo", description="TIFINAGH LETTER YA", @@ -81925,6 +82701,18 @@ characters.data={ linebreak="al", unicodeslot=0x2D65, }, + [0x2D66]={ + category="lo", + description="TIFINAGH LETTER YE", + direction="l", + unicodeslot=0x2D66, + }, + [0x2D67]={ + category="lo", + description="TIFINAGH LETTER YO", + direction="l", + unicodeslot=0x2D67, + }, [0x2D6F]={ category="lm", description="TIFINAGH MODIFIER LETTER LABIALIZATION MARK", @@ -83094,6 +83882,66 @@ characters.data={ linebreak="ba", unicodeslot=0x2E31, }, + [0x2E32]={ + category="po", + description="TURNED COMMA", + direction="on", + unicodeslot=0x2E32, + }, + [0x2E33]={ + category="po", + description="RAISED DOT", + direction="on", + unicodeslot=0x2E33, + }, + [0x2E34]={ + category="po", + description="RAISED COMMA", + direction="on", + unicodeslot=0x2E34, + }, + [0x2E35]={ + category="po", + description="TURNED SEMICOLON", + direction="on", + unicodeslot=0x2E35, + }, + [0x2E36]={ + category="po", + description="DAGGER WITH LEFT GUARD", + direction="on", + unicodeslot=0x2E36, + }, + [0x2E37]={ + category="po", + description="DAGGER WITH RIGHT GUARD", + direction="on", + unicodeslot=0x2E37, + }, + [0x2E38]={ + category="po", + description="TURNED DAGGER", + direction="on", + unicodeslot=0x2E38, + }, + [0x2E39]={ + category="po", + description="TOP HALF SECTION SIGN", + direction="on", + unicodeslot=0x2E39, + }, + [0x2E3A]={ + category="pd", + description="TWO-EM DASH", + direction="on", + unicodeslot=0x2E3A, + }, + [0x2E3B]={ + category="pd", + description="THREE-EM DASH", + direction="on", + unicodeslot=0x2E3B, + }, [0x2E80]={ category="so", cjkwd="w", @@ -86469,7 +87317,7 @@ characters.data={ category="mn", cjkwd="w", description="HANGUL SINGLE DOT TONE MARK", - direction="nsm", + direction="l", linebreak="cm", unicodeslot=0x302E, }, @@ -86477,7 +87325,7 @@ characters.data={ category="mn", cjkwd="w", description="HANGUL DOUBLE DOT TONE MARK", - direction="nsm", + direction="l", linebreak="cm", unicodeslot=0x302F, }, @@ -108274,6 +109122,54 @@ characters.data={ linebreak="al", unicodeslot=0xA673, }, + [0xA674]={ + category="mn", + description="COMBINING CYRILLIC LETTER UKRAINIAN IE", + direction="nsm", + unicodeslot=0xA674, + }, + [0xA675]={ + category="mn", + description="COMBINING CYRILLIC LETTER I", + direction="nsm", + unicodeslot=0xA675, + }, + [0xA676]={ + category="mn", + description="COMBINING CYRILLIC LETTER YI", + direction="nsm", + unicodeslot=0xA676, + }, + [0xA677]={ + category="mn", + description="COMBINING CYRILLIC LETTER U", + direction="nsm", + unicodeslot=0xA677, + }, + [0xA678]={ + category="mn", + description="COMBINING CYRILLIC LETTER HARD SIGN", + direction="nsm", + unicodeslot=0xA678, + }, + [0xA679]={ + category="mn", + description="COMBINING CYRILLIC LETTER YERU", + direction="nsm", + unicodeslot=0xA679, + }, + [0xA67A]={ + category="mn", + description="COMBINING CYRILLIC LETTER SOFT SIGN", + direction="nsm", + unicodeslot=0xA67A, + }, + [0xA67B]={ + category="mn", + description="COMBINING CYRILLIC LETTER OMEGA", + direction="nsm", + unicodeslot=0xA67B, + }, [0xA67C]={ category="mn", description="COMBINING CYRILLIC KAVYKA", @@ -108470,6 +109366,12 @@ characters.data={ linebreak="al", unicodeslot=0xA697, }, + [0xA69F]={ + category="mn", + description="COMBINING CYRILLIC LETTER IOTIFIED E", + direction="nsm", + unicodeslot=0xA69F, + }, [0xA6A0]={ category="lo", description="BAMUM LETTER A", @@ -110102,6 +111004,18 @@ characters.data={ linebreak="al", unicodeslot=0xA791, }, + [0xA792]={ + category="lu", + description="LATIN CAPITAL LETTER C WITH BAR", + direction="l", + unicodeslot=0xA792, + }, + [0xA793]={ + category="ll", + description="LATIN SMALL LETTER C WITH BAR", + direction="l", + unicodeslot=0xA793, + }, [0xA7A0]={ category="lu", description="LATIN CAPITAL LETTER G WITH OBLIQUE STROKE", @@ -110172,6 +111086,26 @@ characters.data={ linebreak="al", unicodeslot=0xA7A9, }, + [0xA7AA]={ + category="lu", + description="LATIN CAPITAL LETTER H WITH HOOK", + direction="l", + unicodeslot=0xA7AA, + }, + [0xA7F8]={ + category="lm", + description="MODIFIER LETTER CAPITAL H WITH STROKE", + direction="l", + specials={ "super", 0x0126 }, + unicodeslot=0xA7F8, + }, + [0xA7F9]={ + category="lm", + description="MODIFIER LETTER SMALL LIGATURE OE", + direction="l", + specials={ "super", 0x0153 }, + unicodeslot=0xA7F9, + }, [0xA7FA]={ category="ll", description="LATIN LETTER SMALL CAPITAL TURNED M", @@ -114510,6 +115444,144 @@ characters.data={ linebreak="sa", unicodeslot=0xAADF, }, + [0xAAE0]={ + category="lo", + description="MEETEI MAYEK LETTER E", + direction="l", + unicodeslot=0xAAE0, + }, + [0xAAE1]={ + category="lo", + description="MEETEI MAYEK LETTER O", + direction="l", + unicodeslot=0xAAE1, + }, + [0xAAE2]={ + category="lo", + description="MEETEI MAYEK LETTER CHA", + direction="l", + unicodeslot=0xAAE2, + }, + [0xAAE3]={ + category="lo", + description="MEETEI MAYEK LETTER NYA", + direction="l", + unicodeslot=0xAAE3, + }, + [0xAAE4]={ + category="lo", + description="MEETEI MAYEK LETTER TTA", + direction="l", + unicodeslot=0xAAE4, + }, + [0xAAE5]={ + category="lo", + description="MEETEI MAYEK LETTER TTHA", + direction="l", + unicodeslot=0xAAE5, + }, + [0xAAE6]={ + category="lo", + description="MEETEI MAYEK LETTER DDA", + direction="l", + unicodeslot=0xAAE6, + }, + [0xAAE7]={ + category="lo", + description="MEETEI MAYEK LETTER DDHA", + direction="l", + unicodeslot=0xAAE7, + }, + [0xAAE8]={ + category="lo", + description="MEETEI MAYEK LETTER NNA", + direction="l", + unicodeslot=0xAAE8, + }, + [0xAAE9]={ + category="lo", + description="MEETEI MAYEK LETTER SHA", + direction="l", + unicodeslot=0xAAE9, + }, + [0xAAEA]={ + category="lo", + description="MEETEI MAYEK LETTER SSA", + direction="l", + unicodeslot=0xAAEA, + }, + [0xAAEB]={ + category="mc", + description="MEETEI MAYEK VOWEL SIGN II", + direction="l", + unicodeslot=0xAAEB, + }, + [0xAAEC]={ + category="mn", + description="MEETEI MAYEK VOWEL SIGN UU", + direction="nsm", + unicodeslot=0xAAEC, + }, + [0xAAED]={ + category="mn", + description="MEETEI MAYEK VOWEL SIGN AAI", + direction="nsm", + unicodeslot=0xAAED, + }, + [0xAAEE]={ + category="mc", + description="MEETEI MAYEK VOWEL SIGN AU", + direction="l", + unicodeslot=0xAAEE, + }, + [0xAAEF]={ + category="mc", + description="MEETEI MAYEK VOWEL SIGN AAU", + direction="l", + unicodeslot=0xAAEF, + }, + [0xAAF0]={ + category="po", + description="MEETEI MAYEK CHEIKHAN", + direction="l", + unicodeslot=0xAAF0, + }, + [0xAAF1]={ + category="po", + description="MEETEI MAYEK AHANG KHUDAM", + direction="l", + unicodeslot=0xAAF1, + }, + [0xAAF2]={ + category="lo", + description="MEETEI MAYEK ANJI", + direction="l", + unicodeslot=0xAAF2, + }, + [0xAAF3]={ + category="lm", + description="MEETEI MAYEK SYLLABLE REPETITION MARK", + direction="l", + unicodeslot=0xAAF3, + }, + [0xAAF4]={ + category="lm", + description="MEETEI MAYEK WORD REPETITION MARK", + direction="l", + unicodeslot=0xAAF4, + }, + [0xAAF5]={ + category="mc", + description="MEETEI MAYEK VOWEL SIGN VISARGA", + direction="l", + unicodeslot=0xAAF5, + }, + [0xAAF6]={ + category="mn", + description="MEETEI MAYEK VIRAMA", + direction="nsm", + unicodeslot=0xAAF6, + }, [0xAB01]={ category="lo", description="ETHIOPIC SYLLABLE TTHU", @@ -118465,6 +119537,20 @@ characters.data={ specials={ "char", 0x9DB4 }, unicodeslot=0xFA2D, }, + [0xFA2E]={ + category="lo", + description="CJK COMPATIBILITY IDEOGRAPH-FA2E", + direction="l", + specials={ "char", 0x90DE }, + unicodeslot=0xFA2E, + }, + [0xFA2F]={ + category="lo", + description="CJK COMPATIBILITY IDEOGRAPH-FA2F", + direction="l", + specials={ "char", 0x96B7 }, + unicodeslot=0xFA2F, + }, [0xFA30]={ category="lo", cjkwd="w", @@ -136424,6 +137510,354 @@ characters.data={ linebreak="al", unicodeslot=0x1093F, }, + [0x10980]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER A", + direction="r", + unicodeslot=0x10980, + }, + [0x10981]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER E", + direction="r", + unicodeslot=0x10981, + }, + [0x10982]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER I", + direction="r", + unicodeslot=0x10982, + }, + [0x10983]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER O", + direction="r", + unicodeslot=0x10983, + }, + [0x10984]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER YA", + direction="r", + unicodeslot=0x10984, + }, + [0x10985]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER WA", + direction="r", + unicodeslot=0x10985, + }, + [0x10986]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER BA", + direction="r", + unicodeslot=0x10986, + }, + [0x10987]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER BA-2", + direction="r", + unicodeslot=0x10987, + }, + [0x10988]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER PA", + direction="r", + unicodeslot=0x10988, + }, + [0x10989]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER MA", + direction="r", + unicodeslot=0x10989, + }, + [0x1098A]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER NA", + direction="r", + unicodeslot=0x1098A, + }, + [0x1098B]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER NA-2", + direction="r", + unicodeslot=0x1098B, + }, + [0x1098C]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER NE", + direction="r", + unicodeslot=0x1098C, + }, + [0x1098D]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER NE-2", + direction="r", + unicodeslot=0x1098D, + }, + [0x1098E]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER RA", + direction="r", + unicodeslot=0x1098E, + }, + [0x1098F]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER RA-2", + direction="r", + unicodeslot=0x1098F, + }, + [0x10990]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER LA", + direction="r", + unicodeslot=0x10990, + }, + [0x10991]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER KHA", + direction="r", + unicodeslot=0x10991, + }, + [0x10992]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER HHA", + direction="r", + unicodeslot=0x10992, + }, + [0x10993]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER SA", + direction="r", + unicodeslot=0x10993, + }, + [0x10994]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER SA-2", + direction="r", + unicodeslot=0x10994, + }, + [0x10995]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER SE", + direction="r", + unicodeslot=0x10995, + }, + [0x10996]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER KA", + direction="r", + unicodeslot=0x10996, + }, + [0x10997]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER QA", + direction="r", + unicodeslot=0x10997, + }, + [0x10998]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER TA", + direction="r", + unicodeslot=0x10998, + }, + [0x10999]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER TA-2", + direction="r", + unicodeslot=0x10999, + }, + [0x1099A]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER TE", + direction="r", + unicodeslot=0x1099A, + }, + [0x1099B]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER TE-2", + direction="r", + unicodeslot=0x1099B, + }, + [0x1099C]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER TO", + direction="r", + unicodeslot=0x1099C, + }, + [0x1099D]={ + category="lo", + description="MEROITIC HIEROGLYPHIC LETTER DA", + direction="r", + unicodeslot=0x1099D, + }, + [0x1099E]={ + category="lo", + description="MEROITIC HIEROGLYPHIC SYMBOL VIDJ", + direction="r", + unicodeslot=0x1099E, + }, + [0x1099F]={ + category="lo", + description="MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2", + direction="r", + unicodeslot=0x1099F, + }, + [0x109A0]={ + category="lo", + description="MEROITIC CURSIVE LETTER A", + direction="r", + unicodeslot=0x109A0, + }, + [0x109A1]={ + category="lo", + description="MEROITIC CURSIVE LETTER E", + direction="r", + unicodeslot=0x109A1, + }, + [0x109A2]={ + category="lo", + description="MEROITIC CURSIVE LETTER I", + direction="r", + unicodeslot=0x109A2, + }, + [0x109A3]={ + category="lo", + description="MEROITIC CURSIVE LETTER O", + direction="r", + unicodeslot=0x109A3, + }, + [0x109A4]={ + category="lo", + description="MEROITIC CURSIVE LETTER YA", + direction="r", + unicodeslot=0x109A4, + }, + [0x109A5]={ + category="lo", + description="MEROITIC CURSIVE LETTER WA", + direction="r", + unicodeslot=0x109A5, + }, + [0x109A6]={ + category="lo", + description="MEROITIC CURSIVE LETTER BA", + direction="r", + unicodeslot=0x109A6, + }, + [0x109A7]={ + category="lo", + description="MEROITIC CURSIVE LETTER PA", + direction="r", + unicodeslot=0x109A7, + }, + [0x109A8]={ + category="lo", + description="MEROITIC CURSIVE LETTER MA", + direction="r", + unicodeslot=0x109A8, + }, + [0x109A9]={ + category="lo", + description="MEROITIC CURSIVE LETTER NA", + direction="r", + unicodeslot=0x109A9, + }, + [0x109AA]={ + category="lo", + description="MEROITIC CURSIVE LETTER NE", + direction="r", + unicodeslot=0x109AA, + }, + [0x109AB]={ + category="lo", + description="MEROITIC CURSIVE LETTER RA", + direction="r", + unicodeslot=0x109AB, + }, + [0x109AC]={ + category="lo", + description="MEROITIC CURSIVE LETTER LA", + direction="r", + unicodeslot=0x109AC, + }, + [0x109AD]={ + category="lo", + description="MEROITIC CURSIVE LETTER KHA", + direction="r", + unicodeslot=0x109AD, + }, + [0x109AE]={ + category="lo", + description="MEROITIC CURSIVE LETTER HHA", + direction="r", + unicodeslot=0x109AE, + }, + [0x109AF]={ + category="lo", + description="MEROITIC CURSIVE LETTER SA", + direction="r", + unicodeslot=0x109AF, + }, + [0x109B0]={ + category="lo", + description="MEROITIC CURSIVE LETTER ARCHAIC SA", + direction="r", + unicodeslot=0x109B0, + }, + [0x109B1]={ + category="lo", + description="MEROITIC CURSIVE LETTER SE", + direction="r", + unicodeslot=0x109B1, + }, + [0x109B2]={ + category="lo", + description="MEROITIC CURSIVE LETTER KA", + direction="r", + unicodeslot=0x109B2, + }, + [0x109B3]={ + category="lo", + description="MEROITIC CURSIVE LETTER QA", + direction="r", + unicodeslot=0x109B3, + }, + [0x109B4]={ + category="lo", + description="MEROITIC CURSIVE LETTER TA", + direction="r", + unicodeslot=0x109B4, + }, + [0x109B5]={ + category="lo", + description="MEROITIC CURSIVE LETTER TE", + direction="r", + unicodeslot=0x109B5, + }, + [0x109B6]={ + category="lo", + description="MEROITIC CURSIVE LETTER TO", + direction="r", + unicodeslot=0x109B6, + }, + [0x109B7]={ + category="lo", + description="MEROITIC CURSIVE LETTER DA", + direction="r", + unicodeslot=0x109B7, + }, + [0x109BE]={ + category="lo", + description="MEROITIC CURSIVE LOGOGRAM RMT", + direction="r", + unicodeslot=0x109BE, + }, + [0x109BF]={ + category="lo", + description="MEROITIC CURSIVE LOGOGRAM IMN", + direction="r", + unicodeslot=0x109BF, + }, [0x10A00]={ category="lo", description="KHAROSHTHI LETTER A", @@ -139878,6 +141312,1514 @@ characters.data={ linebreak="ba", unicodeslot=0x110C1, }, + [0x110D0]={ + category="lo", + description="SORA SOMPENG LETTER SAH", + direction="l", + unicodeslot=0x110D0, + }, + [0x110D1]={ + category="lo", + description="SORA SOMPENG LETTER TAH", + direction="l", + unicodeslot=0x110D1, + }, + [0x110D2]={ + category="lo", + description="SORA SOMPENG LETTER BAH", + direction="l", + unicodeslot=0x110D2, + }, + [0x110D3]={ + category="lo", + description="SORA SOMPENG LETTER CAH", + direction="l", + unicodeslot=0x110D3, + }, + [0x110D4]={ + category="lo", + description="SORA SOMPENG LETTER DAH", + direction="l", + unicodeslot=0x110D4, + }, + [0x110D5]={ + category="lo", + description="SORA SOMPENG LETTER GAH", + direction="l", + unicodeslot=0x110D5, + }, + [0x110D6]={ + category="lo", + description="SORA SOMPENG LETTER MAH", + direction="l", + unicodeslot=0x110D6, + }, + [0x110D7]={ + category="lo", + description="SORA SOMPENG LETTER NGAH", + direction="l", + unicodeslot=0x110D7, + }, + [0x110D8]={ + category="lo", + description="SORA SOMPENG LETTER LAH", + direction="l", + unicodeslot=0x110D8, + }, + [0x110D9]={ + category="lo", + description="SORA SOMPENG LETTER NAH", + direction="l", + unicodeslot=0x110D9, + }, + [0x110DA]={ + category="lo", + description="SORA SOMPENG LETTER VAH", + direction="l", + unicodeslot=0x110DA, + }, + [0x110DB]={ + category="lo", + description="SORA SOMPENG LETTER PAH", + direction="l", + unicodeslot=0x110DB, + }, + [0x110DC]={ + category="lo", + description="SORA SOMPENG LETTER YAH", + direction="l", + unicodeslot=0x110DC, + }, + [0x110DD]={ + category="lo", + description="SORA SOMPENG LETTER RAH", + direction="l", + unicodeslot=0x110DD, + }, + [0x110DE]={ + category="lo", + description="SORA SOMPENG LETTER HAH", + direction="l", + unicodeslot=0x110DE, + }, + [0x110DF]={ + category="lo", + description="SORA SOMPENG LETTER KAH", + direction="l", + unicodeslot=0x110DF, + }, + [0x110E0]={ + category="lo", + description="SORA SOMPENG LETTER JAH", + direction="l", + unicodeslot=0x110E0, + }, + [0x110E1]={ + category="lo", + description="SORA SOMPENG LETTER NYAH", + direction="l", + unicodeslot=0x110E1, + }, + [0x110E2]={ + category="lo", + description="SORA SOMPENG LETTER AH", + direction="l", + unicodeslot=0x110E2, + }, + [0x110E3]={ + category="lo", + description="SORA SOMPENG LETTER EEH", + direction="l", + unicodeslot=0x110E3, + }, + [0x110E4]={ + category="lo", + description="SORA SOMPENG LETTER IH", + direction="l", + unicodeslot=0x110E4, + }, + [0x110E5]={ + category="lo", + description="SORA SOMPENG LETTER UH", + direction="l", + unicodeslot=0x110E5, + }, + [0x110E6]={ + category="lo", + description="SORA SOMPENG LETTER OH", + direction="l", + unicodeslot=0x110E6, + }, + [0x110E7]={ + category="lo", + description="SORA SOMPENG LETTER EH", + direction="l", + unicodeslot=0x110E7, + }, + [0x110E8]={ + category="lo", + description="SORA SOMPENG LETTER MAE", + direction="l", + unicodeslot=0x110E8, + }, + [0x110F0]={ + category="nd", + description="SORA SOMPENG DIGIT ZERO", + direction="l", + unicodeslot=0x110F0, + }, + [0x110F1]={ + category="nd", + description="SORA SOMPENG DIGIT ONE", + direction="l", + unicodeslot=0x110F1, + }, + [0x110F2]={ + category="nd", + description="SORA SOMPENG DIGIT TWO", + direction="l", + unicodeslot=0x110F2, + }, + [0x110F3]={ + category="nd", + description="SORA SOMPENG DIGIT THREE", + direction="l", + unicodeslot=0x110F3, + }, + [0x110F4]={ + category="nd", + description="SORA SOMPENG DIGIT FOUR", + direction="l", + unicodeslot=0x110F4, + }, + [0x110F5]={ + category="nd", + description="SORA SOMPENG DIGIT FIVE", + direction="l", + unicodeslot=0x110F5, + }, + [0x110F6]={ + category="nd", + description="SORA SOMPENG DIGIT SIX", + direction="l", + unicodeslot=0x110F6, + }, + [0x110F7]={ + category="nd", + description="SORA SOMPENG DIGIT SEVEN", + direction="l", + unicodeslot=0x110F7, + }, + [0x110F8]={ + category="nd", + description="SORA SOMPENG DIGIT EIGHT", + direction="l", + unicodeslot=0x110F8, + }, + [0x110F9]={ + category="nd", + description="SORA SOMPENG DIGIT NINE", + direction="l", + unicodeslot=0x110F9, + }, + [0x11100]={ + category="mn", + description="CHAKMA SIGN CANDRABINDU", + direction="nsm", + unicodeslot=0x11100, + }, + [0x11101]={ + category="mn", + description="CHAKMA SIGN ANUSVARA", + direction="nsm", + unicodeslot=0x11101, + }, + [0x11102]={ + category="mn", + description="CHAKMA SIGN VISARGA", + direction="nsm", + unicodeslot=0x11102, + }, + [0x11103]={ + category="lo", + description="CHAKMA LETTER AA", + direction="l", + unicodeslot=0x11103, + }, + [0x11104]={ + category="lo", + description="CHAKMA LETTER I", + direction="l", + unicodeslot=0x11104, + }, + [0x11105]={ + category="lo", + description="CHAKMA LETTER U", + direction="l", + unicodeslot=0x11105, + }, + [0x11106]={ + category="lo", + description="CHAKMA LETTER E", + direction="l", + unicodeslot=0x11106, + }, + [0x11107]={ + category="lo", + description="CHAKMA LETTER KAA", + direction="l", + unicodeslot=0x11107, + }, + [0x11108]={ + category="lo", + description="CHAKMA LETTER KHAA", + direction="l", + unicodeslot=0x11108, + }, + [0x11109]={ + category="lo", + description="CHAKMA LETTER GAA", + direction="l", + unicodeslot=0x11109, + }, + [0x1110A]={ + category="lo", + description="CHAKMA LETTER GHAA", + direction="l", + unicodeslot=0x1110A, + }, + [0x1110B]={ + category="lo", + description="CHAKMA LETTER NGAA", + direction="l", + unicodeslot=0x1110B, + }, + [0x1110C]={ + category="lo", + description="CHAKMA LETTER CAA", + direction="l", + unicodeslot=0x1110C, + }, + [0x1110D]={ + category="lo", + description="CHAKMA LETTER CHAA", + direction="l", + unicodeslot=0x1110D, + }, + [0x1110E]={ + category="lo", + description="CHAKMA LETTER JAA", + direction="l", + unicodeslot=0x1110E, + }, + [0x1110F]={ + category="lo", + description="CHAKMA LETTER JHAA", + direction="l", + unicodeslot=0x1110F, + }, + [0x11110]={ + category="lo", + description="CHAKMA LETTER NYAA", + direction="l", + unicodeslot=0x11110, + }, + [0x11111]={ + category="lo", + description="CHAKMA LETTER TTAA", + direction="l", + unicodeslot=0x11111, + }, + [0x11112]={ + category="lo", + description="CHAKMA LETTER TTHAA", + direction="l", + unicodeslot=0x11112, + }, + [0x11113]={ + category="lo", + description="CHAKMA LETTER DDAA", + direction="l", + unicodeslot=0x11113, + }, + [0x11114]={ + category="lo", + description="CHAKMA LETTER DDHAA", + direction="l", + unicodeslot=0x11114, + }, + [0x11115]={ + category="lo", + description="CHAKMA LETTER NNAA", + direction="l", + unicodeslot=0x11115, + }, + [0x11116]={ + category="lo", + description="CHAKMA LETTER TAA", + direction="l", + unicodeslot=0x11116, + }, + [0x11117]={ + category="lo", + description="CHAKMA LETTER THAA", + direction="l", + unicodeslot=0x11117, + }, + [0x11118]={ + category="lo", + description="CHAKMA LETTER DAA", + direction="l", + unicodeslot=0x11118, + }, + [0x11119]={ + category="lo", + description="CHAKMA LETTER DHAA", + direction="l", + unicodeslot=0x11119, + }, + [0x1111A]={ + category="lo", + description="CHAKMA LETTER NAA", + direction="l", + unicodeslot=0x1111A, + }, + [0x1111B]={ + category="lo", + description="CHAKMA LETTER PAA", + direction="l", + unicodeslot=0x1111B, + }, + [0x1111C]={ + category="lo", + description="CHAKMA LETTER PHAA", + direction="l", + unicodeslot=0x1111C, + }, + [0x1111D]={ + category="lo", + description="CHAKMA LETTER BAA", + direction="l", + unicodeslot=0x1111D, + }, + [0x1111E]={ + category="lo", + description="CHAKMA LETTER BHAA", + direction="l", + unicodeslot=0x1111E, + }, + [0x1111F]={ + category="lo", + description="CHAKMA LETTER MAA", + direction="l", + unicodeslot=0x1111F, + }, + [0x11120]={ + category="lo", + description="CHAKMA LETTER YYAA", + direction="l", + unicodeslot=0x11120, + }, + [0x11121]={ + category="lo", + description="CHAKMA LETTER YAA", + direction="l", + unicodeslot=0x11121, + }, + [0x11122]={ + category="lo", + description="CHAKMA LETTER RAA", + direction="l", + unicodeslot=0x11122, + }, + [0x11123]={ + category="lo", + description="CHAKMA LETTER LAA", + direction="l", + unicodeslot=0x11123, + }, + [0x11124]={ + category="lo", + description="CHAKMA LETTER WAA", + direction="l", + unicodeslot=0x11124, + }, + [0x11125]={ + category="lo", + description="CHAKMA LETTER SAA", + direction="l", + unicodeslot=0x11125, + }, + [0x11126]={ + category="lo", + description="CHAKMA LETTER HAA", + direction="l", + unicodeslot=0x11126, + }, + [0x11127]={ + category="mn", + description="CHAKMA VOWEL SIGN A", + direction="nsm", + unicodeslot=0x11127, + }, + [0x11128]={ + category="mn", + description="CHAKMA VOWEL SIGN I", + direction="nsm", + unicodeslot=0x11128, + }, + [0x11129]={ + category="mn", + description="CHAKMA VOWEL SIGN II", + direction="nsm", + unicodeslot=0x11129, + }, + [0x1112A]={ + category="mn", + description="CHAKMA VOWEL SIGN U", + direction="nsm", + unicodeslot=0x1112A, + }, + [0x1112B]={ + category="mn", + description="CHAKMA VOWEL SIGN UU", + direction="nsm", + unicodeslot=0x1112B, + }, + [0x1112C]={ + category="mc", + description="CHAKMA VOWEL SIGN E", + direction="l", + unicodeslot=0x1112C, + }, + [0x1112D]={ + category="mn", + description="CHAKMA VOWEL SIGN AI", + direction="nsm", + unicodeslot=0x1112D, + }, + [0x1112E]={ + category="mn", + description="CHAKMA VOWEL SIGN O", + direction="nsm", + specials={ "char", 0x11131, 0x11127 }, + unicodeslot=0x1112E, + }, + [0x1112F]={ + category="mn", + description="CHAKMA VOWEL SIGN AU", + direction="nsm", + specials={ "char", 0x11132, 0x11127 }, + unicodeslot=0x1112F, + }, + [0x11130]={ + category="mn", + description="CHAKMA VOWEL SIGN OI", + direction="nsm", + unicodeslot=0x11130, + }, + [0x11131]={ + category="mn", + description="CHAKMA O MARK", + direction="nsm", + unicodeslot=0x11131, + }, + [0x11132]={ + category="mn", + description="CHAKMA AU MARK", + direction="nsm", + unicodeslot=0x11132, + }, + [0x11133]={ + category="mn", + description="CHAKMA VIRAMA", + direction="nsm", + unicodeslot=0x11133, + }, + [0x11134]={ + category="mn", + description="CHAKMA MAAYYAA", + direction="nsm", + unicodeslot=0x11134, + }, + [0x11136]={ + category="nd", + description="CHAKMA DIGIT ZERO", + direction="l", + unicodeslot=0x11136, + }, + [0x11137]={ + category="nd", + description="CHAKMA DIGIT ONE", + direction="l", + unicodeslot=0x11137, + }, + [0x11138]={ + category="nd", + description="CHAKMA DIGIT TWO", + direction="l", + unicodeslot=0x11138, + }, + [0x11139]={ + category="nd", + description="CHAKMA DIGIT THREE", + direction="l", + unicodeslot=0x11139, + }, + [0x1113A]={ + category="nd", + description="CHAKMA DIGIT FOUR", + direction="l", + unicodeslot=0x1113A, + }, + [0x1113B]={ + category="nd", + description="CHAKMA DIGIT FIVE", + direction="l", + unicodeslot=0x1113B, + }, + [0x1113C]={ + category="nd", + description="CHAKMA DIGIT SIX", + direction="l", + unicodeslot=0x1113C, + }, + [0x1113D]={ + category="nd", + description="CHAKMA DIGIT SEVEN", + direction="l", + unicodeslot=0x1113D, + }, + [0x1113E]={ + category="nd", + description="CHAKMA DIGIT EIGHT", + direction="l", + unicodeslot=0x1113E, + }, + [0x1113F]={ + category="nd", + description="CHAKMA DIGIT NINE", + direction="l", + unicodeslot=0x1113F, + }, + [0x11140]={ + category="po", + description="CHAKMA SECTION MARK", + direction="l", + unicodeslot=0x11140, + }, + [0x11141]={ + category="po", + description="CHAKMA DANDA", + direction="l", + unicodeslot=0x11141, + }, + [0x11142]={ + category="po", + description="CHAKMA DOUBLE DANDA", + direction="l", + unicodeslot=0x11142, + }, + [0x11143]={ + category="po", + description="CHAKMA QUESTION MARK", + direction="l", + unicodeslot=0x11143, + }, + [0x11180]={ + category="mn", + description="SHARADA SIGN CANDRABINDU", + direction="nsm", + unicodeslot=0x11180, + }, + [0x11181]={ + category="mn", + description="SHARADA SIGN ANUSVARA", + direction="nsm", + unicodeslot=0x11181, + }, + [0x11182]={ + category="mc", + description="SHARADA SIGN VISARGA", + direction="l", + unicodeslot=0x11182, + }, + [0x11183]={ + category="lo", + description="SHARADA LETTER A", + direction="l", + unicodeslot=0x11183, + }, + [0x11184]={ + category="lo", + description="SHARADA LETTER AA", + direction="l", + unicodeslot=0x11184, + }, + [0x11185]={ + category="lo", + description="SHARADA LETTER I", + direction="l", + unicodeslot=0x11185, + }, + [0x11186]={ + category="lo", + description="SHARADA LETTER II", + direction="l", + unicodeslot=0x11186, + }, + [0x11187]={ + category="lo", + description="SHARADA LETTER U", + direction="l", + unicodeslot=0x11187, + }, + [0x11188]={ + category="lo", + description="SHARADA LETTER UU", + direction="l", + unicodeslot=0x11188, + }, + [0x11189]={ + category="lo", + description="SHARADA LETTER VOCALIC R", + direction="l", + unicodeslot=0x11189, + }, + [0x1118A]={ + category="lo", + description="SHARADA LETTER VOCALIC RR", + direction="l", + unicodeslot=0x1118A, + }, + [0x1118B]={ + category="lo", + description="SHARADA LETTER VOCALIC L", + direction="l", + unicodeslot=0x1118B, + }, + [0x1118C]={ + category="lo", + description="SHARADA LETTER VOCALIC LL", + direction="l", + unicodeslot=0x1118C, + }, + [0x1118D]={ + category="lo", + description="SHARADA LETTER E", + direction="l", + unicodeslot=0x1118D, + }, + [0x1118E]={ + category="lo", + description="SHARADA LETTER AI", + direction="l", + unicodeslot=0x1118E, + }, + [0x1118F]={ + category="lo", + description="SHARADA LETTER O", + direction="l", + unicodeslot=0x1118F, + }, + [0x11190]={ + category="lo", + description="SHARADA LETTER AU", + direction="l", + unicodeslot=0x11190, + }, + [0x11191]={ + category="lo", + description="SHARADA LETTER KA", + direction="l", + unicodeslot=0x11191, + }, + [0x11192]={ + category="lo", + description="SHARADA LETTER KHA", + direction="l", + unicodeslot=0x11192, + }, + [0x11193]={ + category="lo", + description="SHARADA LETTER GA", + direction="l", + unicodeslot=0x11193, + }, + [0x11194]={ + category="lo", + description="SHARADA LETTER GHA", + direction="l", + unicodeslot=0x11194, + }, + [0x11195]={ + category="lo", + description="SHARADA LETTER NGA", + direction="l", + unicodeslot=0x11195, + }, + [0x11196]={ + category="lo", + description="SHARADA LETTER CA", + direction="l", + unicodeslot=0x11196, + }, + [0x11197]={ + category="lo", + description="SHARADA LETTER CHA", + direction="l", + unicodeslot=0x11197, + }, + [0x11198]={ + category="lo", + description="SHARADA LETTER JA", + direction="l", + unicodeslot=0x11198, + }, + [0x11199]={ + category="lo", + description="SHARADA LETTER JHA", + direction="l", + unicodeslot=0x11199, + }, + [0x1119A]={ + category="lo", + description="SHARADA LETTER NYA", + direction="l", + unicodeslot=0x1119A, + }, + [0x1119B]={ + category="lo", + description="SHARADA LETTER TTA", + direction="l", + unicodeslot=0x1119B, + }, + [0x1119C]={ + category="lo", + description="SHARADA LETTER TTHA", + direction="l", + unicodeslot=0x1119C, + }, + [0x1119D]={ + category="lo", + description="SHARADA LETTER DDA", + direction="l", + unicodeslot=0x1119D, + }, + [0x1119E]={ + category="lo", + description="SHARADA LETTER DDHA", + direction="l", + unicodeslot=0x1119E, + }, + [0x1119F]={ + category="lo", + description="SHARADA LETTER NNA", + direction="l", + unicodeslot=0x1119F, + }, + [0x111A0]={ + category="lo", + description="SHARADA LETTER TA", + direction="l", + unicodeslot=0x111A0, + }, + [0x111A1]={ + category="lo", + description="SHARADA LETTER THA", + direction="l", + unicodeslot=0x111A1, + }, + [0x111A2]={ + category="lo", + description="SHARADA LETTER DA", + direction="l", + unicodeslot=0x111A2, + }, + [0x111A3]={ + category="lo", + description="SHARADA LETTER DHA", + direction="l", + unicodeslot=0x111A3, + }, + [0x111A4]={ + category="lo", + description="SHARADA LETTER NA", + direction="l", + unicodeslot=0x111A4, + }, + [0x111A5]={ + category="lo", + description="SHARADA LETTER PA", + direction="l", + unicodeslot=0x111A5, + }, + [0x111A6]={ + category="lo", + description="SHARADA LETTER PHA", + direction="l", + unicodeslot=0x111A6, + }, + [0x111A7]={ + category="lo", + description="SHARADA LETTER BA", + direction="l", + unicodeslot=0x111A7, + }, + [0x111A8]={ + category="lo", + description="SHARADA LETTER BHA", + direction="l", + unicodeslot=0x111A8, + }, + [0x111A9]={ + category="lo", + description="SHARADA LETTER MA", + direction="l", + unicodeslot=0x111A9, + }, + [0x111AA]={ + category="lo", + description="SHARADA LETTER YA", + direction="l", + unicodeslot=0x111AA, + }, + [0x111AB]={ + category="lo", + description="SHARADA LETTER RA", + direction="l", + unicodeslot=0x111AB, + }, + [0x111AC]={ + category="lo", + description="SHARADA LETTER LA", + direction="l", + unicodeslot=0x111AC, + }, + [0x111AD]={ + category="lo", + description="SHARADA LETTER LLA", + direction="l", + unicodeslot=0x111AD, + }, + [0x111AE]={ + category="lo", + description="SHARADA LETTER VA", + direction="l", + unicodeslot=0x111AE, + }, + [0x111AF]={ + category="lo", + description="SHARADA LETTER SHA", + direction="l", + unicodeslot=0x111AF, + }, + [0x111B0]={ + category="lo", + description="SHARADA LETTER SSA", + direction="l", + unicodeslot=0x111B0, + }, + [0x111B1]={ + category="lo", + description="SHARADA LETTER SA", + direction="l", + unicodeslot=0x111B1, + }, + [0x111B2]={ + category="lo", + description="SHARADA LETTER HA", + direction="l", + unicodeslot=0x111B2, + }, + [0x111B3]={ + category="mc", + description="SHARADA VOWEL SIGN AA", + direction="l", + unicodeslot=0x111B3, + }, + [0x111B4]={ + category="mc", + description="SHARADA VOWEL SIGN I", + direction="l", + unicodeslot=0x111B4, + }, + [0x111B5]={ + category="mc", + description="SHARADA VOWEL SIGN II", + direction="l", + unicodeslot=0x111B5, + }, + [0x111B6]={ + category="mn", + description="SHARADA VOWEL SIGN U", + direction="nsm", + unicodeslot=0x111B6, + }, + [0x111B7]={ + category="mn", + description="SHARADA VOWEL SIGN UU", + direction="nsm", + unicodeslot=0x111B7, + }, + [0x111B8]={ + category="mn", + description="SHARADA VOWEL SIGN VOCALIC R", + direction="nsm", + unicodeslot=0x111B8, + }, + [0x111B9]={ + category="mn", + description="SHARADA VOWEL SIGN VOCALIC RR", + direction="nsm", + unicodeslot=0x111B9, + }, + [0x111BA]={ + category="mn", + description="SHARADA VOWEL SIGN VOCALIC L", + direction="nsm", + unicodeslot=0x111BA, + }, + [0x111BB]={ + category="mn", + description="SHARADA VOWEL SIGN VOCALIC LL", + direction="nsm", + unicodeslot=0x111BB, + }, + [0x111BC]={ + category="mn", + description="SHARADA VOWEL SIGN E", + direction="nsm", + unicodeslot=0x111BC, + }, + [0x111BD]={ + category="mn", + description="SHARADA VOWEL SIGN AI", + direction="nsm", + unicodeslot=0x111BD, + }, + [0x111BE]={ + category="mn", + description="SHARADA VOWEL SIGN O", + direction="nsm", + unicodeslot=0x111BE, + }, + [0x111BF]={ + category="mc", + description="SHARADA VOWEL SIGN AU", + direction="l", + unicodeslot=0x111BF, + }, + [0x111C0]={ + category="mc", + description="SHARADA SIGN VIRAMA", + direction="l", + unicodeslot=0x111C0, + }, + [0x111C1]={ + category="lo", + description="SHARADA SIGN AVAGRAHA", + direction="l", + unicodeslot=0x111C1, + }, + [0x111C2]={ + category="lo", + description="SHARADA SIGN JIHVAMULIYA", + direction="l", + unicodeslot=0x111C2, + }, + [0x111C3]={ + category="lo", + description="SHARADA SIGN UPADHMANIYA", + direction="l", + unicodeslot=0x111C3, + }, + [0x111C4]={ + category="lo", + description="SHARADA OM", + direction="l", + unicodeslot=0x111C4, + }, + [0x111C5]={ + category="po", + description="SHARADA DANDA", + direction="l", + unicodeslot=0x111C5, + }, + [0x111C6]={ + category="po", + description="SHARADA DOUBLE DANDA", + direction="l", + unicodeslot=0x111C6, + }, + [0x111C7]={ + category="po", + description="SHARADA ABBREVIATION SIGN", + direction="l", + unicodeslot=0x111C7, + }, + [0x111C8]={ + category="po", + description="SHARADA SEPARATOR", + direction="l", + unicodeslot=0x111C8, + }, + [0x111D0]={ + category="nd", + description="SHARADA DIGIT ZERO", + direction="l", + unicodeslot=0x111D0, + }, + [0x111D1]={ + category="nd", + description="SHARADA DIGIT ONE", + direction="l", + unicodeslot=0x111D1, + }, + [0x111D2]={ + category="nd", + description="SHARADA DIGIT TWO", + direction="l", + unicodeslot=0x111D2, + }, + [0x111D3]={ + category="nd", + description="SHARADA DIGIT THREE", + direction="l", + unicodeslot=0x111D3, + }, + [0x111D4]={ + category="nd", + description="SHARADA DIGIT FOUR", + direction="l", + unicodeslot=0x111D4, + }, + [0x111D5]={ + category="nd", + description="SHARADA DIGIT FIVE", + direction="l", + unicodeslot=0x111D5, + }, + [0x111D6]={ + category="nd", + description="SHARADA DIGIT SIX", + direction="l", + unicodeslot=0x111D6, + }, + [0x111D7]={ + category="nd", + description="SHARADA DIGIT SEVEN", + direction="l", + unicodeslot=0x111D7, + }, + [0x111D8]={ + category="nd", + description="SHARADA DIGIT EIGHT", + direction="l", + unicodeslot=0x111D8, + }, + [0x111D9]={ + category="nd", + description="SHARADA DIGIT NINE", + direction="l", + unicodeslot=0x111D9, + }, + [0x11680]={ + category="lo", + description="TAKRI LETTER A", + direction="l", + unicodeslot=0x11680, + }, + [0x11681]={ + category="lo", + description="TAKRI LETTER AA", + direction="l", + unicodeslot=0x11681, + }, + [0x11682]={ + category="lo", + description="TAKRI LETTER I", + direction="l", + unicodeslot=0x11682, + }, + [0x11683]={ + category="lo", + description="TAKRI LETTER II", + direction="l", + unicodeslot=0x11683, + }, + [0x11684]={ + category="lo", + description="TAKRI LETTER U", + direction="l", + unicodeslot=0x11684, + }, + [0x11685]={ + category="lo", + description="TAKRI LETTER UU", + direction="l", + unicodeslot=0x11685, + }, + [0x11686]={ + category="lo", + description="TAKRI LETTER E", + direction="l", + unicodeslot=0x11686, + }, + [0x11687]={ + category="lo", + description="TAKRI LETTER AI", + direction="l", + unicodeslot=0x11687, + }, + [0x11688]={ + category="lo", + description="TAKRI LETTER O", + direction="l", + unicodeslot=0x11688, + }, + [0x11689]={ + category="lo", + description="TAKRI LETTER AU", + direction="l", + unicodeslot=0x11689, + }, + [0x1168A]={ + category="lo", + description="TAKRI LETTER KA", + direction="l", + unicodeslot=0x1168A, + }, + [0x1168B]={ + category="lo", + description="TAKRI LETTER KHA", + direction="l", + unicodeslot=0x1168B, + }, + [0x1168C]={ + category="lo", + description="TAKRI LETTER GA", + direction="l", + unicodeslot=0x1168C, + }, + [0x1168D]={ + category="lo", + description="TAKRI LETTER GHA", + direction="l", + unicodeslot=0x1168D, + }, + [0x1168E]={ + category="lo", + description="TAKRI LETTER NGA", + direction="l", + unicodeslot=0x1168E, + }, + [0x1168F]={ + category="lo", + description="TAKRI LETTER CA", + direction="l", + unicodeslot=0x1168F, + }, + [0x11690]={ + category="lo", + description="TAKRI LETTER CHA", + direction="l", + unicodeslot=0x11690, + }, + [0x11691]={ + category="lo", + description="TAKRI LETTER JA", + direction="l", + unicodeslot=0x11691, + }, + [0x11692]={ + category="lo", + description="TAKRI LETTER JHA", + direction="l", + unicodeslot=0x11692, + }, + [0x11693]={ + category="lo", + description="TAKRI LETTER NYA", + direction="l", + unicodeslot=0x11693, + }, + [0x11694]={ + category="lo", + description="TAKRI LETTER TTA", + direction="l", + unicodeslot=0x11694, + }, + [0x11695]={ + category="lo", + description="TAKRI LETTER TTHA", + direction="l", + unicodeslot=0x11695, + }, + [0x11696]={ + category="lo", + description="TAKRI LETTER DDA", + direction="l", + unicodeslot=0x11696, + }, + [0x11697]={ + category="lo", + description="TAKRI LETTER DDHA", + direction="l", + unicodeslot=0x11697, + }, + [0x11698]={ + category="lo", + description="TAKRI LETTER NNA", + direction="l", + unicodeslot=0x11698, + }, + [0x11699]={ + category="lo", + description="TAKRI LETTER TA", + direction="l", + unicodeslot=0x11699, + }, + [0x1169A]={ + category="lo", + description="TAKRI LETTER THA", + direction="l", + unicodeslot=0x1169A, + }, + [0x1169B]={ + category="lo", + description="TAKRI LETTER DA", + direction="l", + unicodeslot=0x1169B, + }, + [0x1169C]={ + category="lo", + description="TAKRI LETTER DHA", + direction="l", + unicodeslot=0x1169C, + }, + [0x1169D]={ + category="lo", + description="TAKRI LETTER NA", + direction="l", + unicodeslot=0x1169D, + }, + [0x1169E]={ + category="lo", + description="TAKRI LETTER PA", + direction="l", + unicodeslot=0x1169E, + }, + [0x1169F]={ + category="lo", + description="TAKRI LETTER PHA", + direction="l", + unicodeslot=0x1169F, + }, + [0x116A0]={ + category="lo", + description="TAKRI LETTER BA", + direction="l", + unicodeslot=0x116A0, + }, + [0x116A1]={ + category="lo", + description="TAKRI LETTER BHA", + direction="l", + unicodeslot=0x116A1, + }, + [0x116A2]={ + category="lo", + description="TAKRI LETTER MA", + direction="l", + unicodeslot=0x116A2, + }, + [0x116A3]={ + category="lo", + description="TAKRI LETTER YA", + direction="l", + unicodeslot=0x116A3, + }, + [0x116A4]={ + category="lo", + description="TAKRI LETTER RA", + direction="l", + unicodeslot=0x116A4, + }, + [0x116A5]={ + category="lo", + description="TAKRI LETTER LA", + direction="l", + unicodeslot=0x116A5, + }, + [0x116A6]={ + category="lo", + description="TAKRI LETTER VA", + direction="l", + unicodeslot=0x116A6, + }, + [0x116A7]={ + category="lo", + description="TAKRI LETTER SHA", + direction="l", + unicodeslot=0x116A7, + }, + [0x116A8]={ + category="lo", + description="TAKRI LETTER SA", + direction="l", + unicodeslot=0x116A8, + }, + [0x116A9]={ + category="lo", + description="TAKRI LETTER HA", + direction="l", + unicodeslot=0x116A9, + }, + [0x116AA]={ + category="lo", + description="TAKRI LETTER RRA", + direction="l", + unicodeslot=0x116AA, + }, + [0x116AB]={ + category="mn", + description="TAKRI SIGN ANUSVARA", + direction="nsm", + unicodeslot=0x116AB, + }, + [0x116AC]={ + category="mc", + description="TAKRI SIGN VISARGA", + direction="l", + unicodeslot=0x116AC, + }, + [0x116AD]={ + category="mn", + description="TAKRI VOWEL SIGN AA", + direction="nsm", + unicodeslot=0x116AD, + }, + [0x116AE]={ + category="mc", + description="TAKRI VOWEL SIGN I", + direction="l", + unicodeslot=0x116AE, + }, + [0x116AF]={ + category="mc", + description="TAKRI VOWEL SIGN II", + direction="l", + unicodeslot=0x116AF, + }, + [0x116B0]={ + category="mn", + description="TAKRI VOWEL SIGN U", + direction="nsm", + unicodeslot=0x116B0, + }, + [0x116B1]={ + category="mn", + description="TAKRI VOWEL SIGN UU", + direction="nsm", + unicodeslot=0x116B1, + }, + [0x116B2]={ + category="mn", + description="TAKRI VOWEL SIGN E", + direction="nsm", + unicodeslot=0x116B2, + }, + [0x116B3]={ + category="mn", + description="TAKRI VOWEL SIGN AI", + direction="nsm", + unicodeslot=0x116B3, + }, + [0x116B4]={ + category="mn", + description="TAKRI VOWEL SIGN O", + direction="nsm", + unicodeslot=0x116B4, + }, + [0x116B5]={ + category="mn", + description="TAKRI VOWEL SIGN AU", + direction="nsm", + unicodeslot=0x116B5, + }, + [0x116B6]={ + category="mc", + description="TAKRI SIGN VIRAMA", + direction="l", + unicodeslot=0x116B6, + }, + [0x116B7]={ + category="mn", + description="TAKRI SIGN NUKTA", + direction="nsm", + unicodeslot=0x116B7, + }, + [0x116C0]={ + category="nd", + description="TAKRI DIGIT ZERO", + direction="l", + unicodeslot=0x116C0, + }, + [0x116C1]={ + category="nd", + description="TAKRI DIGIT ONE", + direction="l", + unicodeslot=0x116C1, + }, + [0x116C2]={ + category="nd", + description="TAKRI DIGIT TWO", + direction="l", + unicodeslot=0x116C2, + }, + [0x116C3]={ + category="nd", + description="TAKRI DIGIT THREE", + direction="l", + unicodeslot=0x116C3, + }, + [0x116C4]={ + category="nd", + description="TAKRI DIGIT FOUR", + direction="l", + unicodeslot=0x116C4, + }, + [0x116C5]={ + category="nd", + description="TAKRI DIGIT FIVE", + direction="l", + unicodeslot=0x116C5, + }, + [0x116C6]={ + category="nd", + description="TAKRI DIGIT SIX", + direction="l", + unicodeslot=0x116C6, + }, + [0x116C7]={ + category="nd", + description="TAKRI DIGIT SEVEN", + direction="l", + unicodeslot=0x116C7, + }, + [0x116C8]={ + category="nd", + description="TAKRI DIGIT EIGHT", + direction="l", + unicodeslot=0x116C8, + }, + [0x116C9]={ + category="nd", + description="TAKRI DIGIT NINE", + direction="l", + unicodeslot=0x116C9, + }, [0x12000]={ category="lo", description="CUNEIFORM SIGN A", @@ -158234,6 +161176,804 @@ characters.data={ linebreak="al", unicodeslot=0x16A38, }, + [0x16F00]={ + category="lo", + description="MIAO LETTER PA", + direction="l", + unicodeslot=0x16F00, + }, + [0x16F01]={ + category="lo", + description="MIAO LETTER BA", + direction="l", + unicodeslot=0x16F01, + }, + [0x16F02]={ + category="lo", + description="MIAO LETTER YI PA", + direction="l", + unicodeslot=0x16F02, + }, + [0x16F03]={ + category="lo", + description="MIAO LETTER PLA", + direction="l", + unicodeslot=0x16F03, + }, + [0x16F04]={ + category="lo", + description="MIAO LETTER MA", + direction="l", + unicodeslot=0x16F04, + }, + [0x16F05]={ + category="lo", + description="MIAO LETTER MHA", + direction="l", + unicodeslot=0x16F05, + }, + [0x16F06]={ + category="lo", + description="MIAO LETTER ARCHAIC MA", + direction="l", + unicodeslot=0x16F06, + }, + [0x16F07]={ + category="lo", + description="MIAO LETTER FA", + direction="l", + unicodeslot=0x16F07, + }, + [0x16F08]={ + category="lo", + description="MIAO LETTER VA", + direction="l", + unicodeslot=0x16F08, + }, + [0x16F09]={ + category="lo", + description="MIAO LETTER VFA", + direction="l", + unicodeslot=0x16F09, + }, + [0x16F0A]={ + category="lo", + description="MIAO LETTER TA", + direction="l", + unicodeslot=0x16F0A, + }, + [0x16F0B]={ + category="lo", + description="MIAO LETTER DA", + direction="l", + unicodeslot=0x16F0B, + }, + [0x16F0C]={ + category="lo", + description="MIAO LETTER YI TTA", + direction="l", + unicodeslot=0x16F0C, + }, + [0x16F0D]={ + category="lo", + description="MIAO LETTER YI TA", + direction="l", + unicodeslot=0x16F0D, + }, + [0x16F0E]={ + category="lo", + description="MIAO LETTER TTA", + direction="l", + unicodeslot=0x16F0E, + }, + [0x16F0F]={ + category="lo", + description="MIAO LETTER DDA", + direction="l", + unicodeslot=0x16F0F, + }, + [0x16F10]={ + category="lo", + description="MIAO LETTER NA", + direction="l", + unicodeslot=0x16F10, + }, + [0x16F11]={ + category="lo", + description="MIAO LETTER NHA", + direction="l", + unicodeslot=0x16F11, + }, + [0x16F12]={ + category="lo", + description="MIAO LETTER YI NNA", + direction="l", + unicodeslot=0x16F12, + }, + [0x16F13]={ + category="lo", + description="MIAO LETTER ARCHAIC NA", + direction="l", + unicodeslot=0x16F13, + }, + [0x16F14]={ + category="lo", + description="MIAO LETTER NNA", + direction="l", + unicodeslot=0x16F14, + }, + [0x16F15]={ + category="lo", + description="MIAO LETTER NNHA", + direction="l", + unicodeslot=0x16F15, + }, + [0x16F16]={ + category="lo", + description="MIAO LETTER LA", + direction="l", + unicodeslot=0x16F16, + }, + [0x16F17]={ + category="lo", + description="MIAO LETTER LYA", + direction="l", + unicodeslot=0x16F17, + }, + [0x16F18]={ + category="lo", + description="MIAO LETTER LHA", + direction="l", + unicodeslot=0x16F18, + }, + [0x16F19]={ + category="lo", + description="MIAO LETTER LHYA", + direction="l", + unicodeslot=0x16F19, + }, + [0x16F1A]={ + category="lo", + description="MIAO LETTER TLHA", + direction="l", + unicodeslot=0x16F1A, + }, + [0x16F1B]={ + category="lo", + description="MIAO LETTER DLHA", + direction="l", + unicodeslot=0x16F1B, + }, + [0x16F1C]={ + category="lo", + description="MIAO LETTER TLHYA", + direction="l", + unicodeslot=0x16F1C, + }, + [0x16F1D]={ + category="lo", + description="MIAO LETTER DLHYA", + direction="l", + unicodeslot=0x16F1D, + }, + [0x16F1E]={ + category="lo", + description="MIAO LETTER KA", + direction="l", + unicodeslot=0x16F1E, + }, + [0x16F1F]={ + category="lo", + description="MIAO LETTER GA", + direction="l", + unicodeslot=0x16F1F, + }, + [0x16F20]={ + category="lo", + description="MIAO LETTER YI KA", + direction="l", + unicodeslot=0x16F20, + }, + [0x16F21]={ + category="lo", + description="MIAO LETTER QA", + direction="l", + unicodeslot=0x16F21, + }, + [0x16F22]={ + category="lo", + description="MIAO LETTER QGA", + direction="l", + unicodeslot=0x16F22, + }, + [0x16F23]={ + category="lo", + description="MIAO LETTER NGA", + direction="l", + unicodeslot=0x16F23, + }, + [0x16F24]={ + category="lo", + description="MIAO LETTER NGHA", + direction="l", + unicodeslot=0x16F24, + }, + [0x16F25]={ + category="lo", + description="MIAO LETTER ARCHAIC NGA", + direction="l", + unicodeslot=0x16F25, + }, + [0x16F26]={ + category="lo", + description="MIAO LETTER HA", + direction="l", + unicodeslot=0x16F26, + }, + [0x16F27]={ + category="lo", + description="MIAO LETTER XA", + direction="l", + unicodeslot=0x16F27, + }, + [0x16F28]={ + category="lo", + description="MIAO LETTER GHA", + direction="l", + unicodeslot=0x16F28, + }, + [0x16F29]={ + category="lo", + description="MIAO LETTER GHHA", + direction="l", + unicodeslot=0x16F29, + }, + [0x16F2A]={ + category="lo", + description="MIAO LETTER TSSA", + direction="l", + unicodeslot=0x16F2A, + }, + [0x16F2B]={ + category="lo", + description="MIAO LETTER DZZA", + direction="l", + unicodeslot=0x16F2B, + }, + [0x16F2C]={ + category="lo", + description="MIAO LETTER NYA", + direction="l", + unicodeslot=0x16F2C, + }, + [0x16F2D]={ + category="lo", + description="MIAO LETTER NYHA", + direction="l", + unicodeslot=0x16F2D, + }, + [0x16F2E]={ + category="lo", + description="MIAO LETTER TSHA", + direction="l", + unicodeslot=0x16F2E, + }, + [0x16F2F]={ + category="lo", + description="MIAO LETTER DZHA", + direction="l", + unicodeslot=0x16F2F, + }, + [0x16F30]={ + category="lo", + description="MIAO LETTER YI TSHA", + direction="l", + unicodeslot=0x16F30, + }, + [0x16F31]={ + category="lo", + description="MIAO LETTER YI DZHA", + direction="l", + unicodeslot=0x16F31, + }, + [0x16F32]={ + category="lo", + description="MIAO LETTER REFORMED TSHA", + direction="l", + unicodeslot=0x16F32, + }, + [0x16F33]={ + category="lo", + description="MIAO LETTER SHA", + direction="l", + unicodeslot=0x16F33, + }, + [0x16F34]={ + category="lo", + description="MIAO LETTER SSA", + direction="l", + unicodeslot=0x16F34, + }, + [0x16F35]={ + category="lo", + description="MIAO LETTER ZHA", + direction="l", + unicodeslot=0x16F35, + }, + [0x16F36]={ + category="lo", + description="MIAO LETTER ZSHA", + direction="l", + unicodeslot=0x16F36, + }, + [0x16F37]={ + category="lo", + description="MIAO LETTER TSA", + direction="l", + unicodeslot=0x16F37, + }, + [0x16F38]={ + category="lo", + description="MIAO LETTER DZA", + direction="l", + unicodeslot=0x16F38, + }, + [0x16F39]={ + category="lo", + description="MIAO LETTER YI TSA", + direction="l", + unicodeslot=0x16F39, + }, + [0x16F3A]={ + category="lo", + description="MIAO LETTER SA", + direction="l", + unicodeslot=0x16F3A, + }, + [0x16F3B]={ + category="lo", + description="MIAO LETTER ZA", + direction="l", + unicodeslot=0x16F3B, + }, + [0x16F3C]={ + category="lo", + description="MIAO LETTER ZSA", + direction="l", + unicodeslot=0x16F3C, + }, + [0x16F3D]={ + category="lo", + description="MIAO LETTER ZZA", + direction="l", + unicodeslot=0x16F3D, + }, + [0x16F3E]={ + category="lo", + description="MIAO LETTER ZZSA", + direction="l", + unicodeslot=0x16F3E, + }, + [0x16F3F]={ + category="lo", + description="MIAO LETTER ARCHAIC ZZA", + direction="l", + unicodeslot=0x16F3F, + }, + [0x16F40]={ + category="lo", + description="MIAO LETTER ZZYA", + direction="l", + unicodeslot=0x16F40, + }, + [0x16F41]={ + category="lo", + description="MIAO LETTER ZZSYA", + direction="l", + unicodeslot=0x16F41, + }, + [0x16F42]={ + category="lo", + description="MIAO LETTER WA", + direction="l", + unicodeslot=0x16F42, + }, + [0x16F43]={ + category="lo", + description="MIAO LETTER AH", + direction="l", + unicodeslot=0x16F43, + }, + [0x16F44]={ + category="lo", + description="MIAO LETTER HHA", + direction="l", + unicodeslot=0x16F44, + }, + [0x16F50]={ + category="lo", + description="MIAO LETTER NASALIZATION", + direction="l", + unicodeslot=0x16F50, + }, + [0x16F51]={ + category="mc", + description="MIAO SIGN ASPIRATION", + direction="l", + unicodeslot=0x16F51, + }, + [0x16F52]={ + category="mc", + description="MIAO SIGN REFORMED VOICING", + direction="l", + unicodeslot=0x16F52, + }, + [0x16F53]={ + category="mc", + description="MIAO SIGN REFORMED ASPIRATION", + direction="l", + unicodeslot=0x16F53, + }, + [0x16F54]={ + category="mc", + description="MIAO VOWEL SIGN A", + direction="l", + unicodeslot=0x16F54, + }, + [0x16F55]={ + category="mc", + description="MIAO VOWEL SIGN AA", + direction="l", + unicodeslot=0x16F55, + }, + [0x16F56]={ + category="mc", + description="MIAO VOWEL SIGN AHH", + direction="l", + unicodeslot=0x16F56, + }, + [0x16F57]={ + category="mc", + description="MIAO VOWEL SIGN AN", + direction="l", + unicodeslot=0x16F57, + }, + [0x16F58]={ + category="mc", + description="MIAO VOWEL SIGN ANG", + direction="l", + unicodeslot=0x16F58, + }, + [0x16F59]={ + category="mc", + description="MIAO VOWEL SIGN O", + direction="l", + unicodeslot=0x16F59, + }, + [0x16F5A]={ + category="mc", + description="MIAO VOWEL SIGN OO", + direction="l", + unicodeslot=0x16F5A, + }, + [0x16F5B]={ + category="mc", + description="MIAO VOWEL SIGN WO", + direction="l", + unicodeslot=0x16F5B, + }, + [0x16F5C]={ + category="mc", + description="MIAO VOWEL SIGN W", + direction="l", + unicodeslot=0x16F5C, + }, + [0x16F5D]={ + category="mc", + description="MIAO VOWEL SIGN E", + direction="l", + unicodeslot=0x16F5D, + }, + [0x16F5E]={ + category="mc", + description="MIAO VOWEL SIGN EN", + direction="l", + unicodeslot=0x16F5E, + }, + [0x16F5F]={ + category="mc", + description="MIAO VOWEL SIGN ENG", + direction="l", + unicodeslot=0x16F5F, + }, + [0x16F60]={ + category="mc", + description="MIAO VOWEL SIGN OEY", + direction="l", + unicodeslot=0x16F60, + }, + [0x16F61]={ + category="mc", + description="MIAO VOWEL SIGN I", + direction="l", + unicodeslot=0x16F61, + }, + [0x16F62]={ + category="mc", + description="MIAO VOWEL SIGN IA", + direction="l", + unicodeslot=0x16F62, + }, + [0x16F63]={ + category="mc", + description="MIAO VOWEL SIGN IAN", + direction="l", + unicodeslot=0x16F63, + }, + [0x16F64]={ + category="mc", + description="MIAO VOWEL SIGN IANG", + direction="l", + unicodeslot=0x16F64, + }, + [0x16F65]={ + category="mc", + description="MIAO VOWEL SIGN IO", + direction="l", + unicodeslot=0x16F65, + }, + [0x16F66]={ + category="mc", + description="MIAO VOWEL SIGN IE", + direction="l", + unicodeslot=0x16F66, + }, + [0x16F67]={ + category="mc", + description="MIAO VOWEL SIGN II", + direction="l", + unicodeslot=0x16F67, + }, + [0x16F68]={ + category="mc", + description="MIAO VOWEL SIGN IU", + direction="l", + unicodeslot=0x16F68, + }, + [0x16F69]={ + category="mc", + description="MIAO VOWEL SIGN ING", + direction="l", + unicodeslot=0x16F69, + }, + [0x16F6A]={ + category="mc", + description="MIAO VOWEL SIGN U", + direction="l", + unicodeslot=0x16F6A, + }, + [0x16F6B]={ + category="mc", + description="MIAO VOWEL SIGN UA", + direction="l", + unicodeslot=0x16F6B, + }, + [0x16F6C]={ + category="mc", + description="MIAO VOWEL SIGN UAN", + direction="l", + unicodeslot=0x16F6C, + }, + [0x16F6D]={ + category="mc", + description="MIAO VOWEL SIGN UANG", + direction="l", + unicodeslot=0x16F6D, + }, + [0x16F6E]={ + category="mc", + description="MIAO VOWEL SIGN UU", + direction="l", + unicodeslot=0x16F6E, + }, + [0x16F6F]={ + category="mc", + description="MIAO VOWEL SIGN UEI", + direction="l", + unicodeslot=0x16F6F, + }, + [0x16F70]={ + category="mc", + description="MIAO VOWEL SIGN UNG", + direction="l", + unicodeslot=0x16F70, + }, + [0x16F71]={ + category="mc", + description="MIAO VOWEL SIGN Y", + direction="l", + unicodeslot=0x16F71, + }, + [0x16F72]={ + category="mc", + description="MIAO VOWEL SIGN YI", + direction="l", + unicodeslot=0x16F72, + }, + [0x16F73]={ + category="mc", + description="MIAO VOWEL SIGN AE", + direction="l", + unicodeslot=0x16F73, + }, + [0x16F74]={ + category="mc", + description="MIAO VOWEL SIGN AEE", + direction="l", + unicodeslot=0x16F74, + }, + [0x16F75]={ + category="mc", + description="MIAO VOWEL SIGN ERR", + direction="l", + unicodeslot=0x16F75, + }, + [0x16F76]={ + category="mc", + description="MIAO VOWEL SIGN ROUNDED ERR", + direction="l", + unicodeslot=0x16F76, + }, + [0x16F77]={ + category="mc", + description="MIAO VOWEL SIGN ER", + direction="l", + unicodeslot=0x16F77, + }, + [0x16F78]={ + category="mc", + description="MIAO VOWEL SIGN ROUNDED ER", + direction="l", + unicodeslot=0x16F78, + }, + [0x16F79]={ + category="mc", + description="MIAO VOWEL SIGN AI", + direction="l", + unicodeslot=0x16F79, + }, + [0x16F7A]={ + category="mc", + description="MIAO VOWEL SIGN EI", + direction="l", + unicodeslot=0x16F7A, + }, + [0x16F7B]={ + category="mc", + description="MIAO VOWEL SIGN AU", + direction="l", + unicodeslot=0x16F7B, + }, + [0x16F7C]={ + category="mc", + description="MIAO VOWEL SIGN OU", + direction="l", + unicodeslot=0x16F7C, + }, + [0x16F7D]={ + category="mc", + description="MIAO VOWEL SIGN N", + direction="l", + unicodeslot=0x16F7D, + }, + [0x16F7E]={ + category="mc", + description="MIAO VOWEL SIGN NG", + direction="l", + unicodeslot=0x16F7E, + }, + [0x16F8F]={ + category="mn", + description="MIAO TONE RIGHT", + direction="nsm", + unicodeslot=0x16F8F, + }, + [0x16F90]={ + category="mn", + description="MIAO TONE TOP RIGHT", + direction="nsm", + unicodeslot=0x16F90, + }, + [0x16F91]={ + category="mn", + description="MIAO TONE ABOVE", + direction="nsm", + unicodeslot=0x16F91, + }, + [0x16F92]={ + category="mn", + description="MIAO TONE BELOW", + direction="nsm", + unicodeslot=0x16F92, + }, + [0x16F93]={ + category="lm", + description="MIAO LETTER TONE-2", + direction="l", + unicodeslot=0x16F93, + }, + [0x16F94]={ + category="lm", + description="MIAO LETTER TONE-3", + direction="l", + unicodeslot=0x16F94, + }, + [0x16F95]={ + category="lm", + description="MIAO LETTER TONE-4", + direction="l", + unicodeslot=0x16F95, + }, + [0x16F96]={ + category="lm", + description="MIAO LETTER TONE-5", + direction="l", + unicodeslot=0x16F96, + }, + [0x16F97]={ + category="lm", + description="MIAO LETTER TONE-6", + direction="l", + unicodeslot=0x16F97, + }, + [0x16F98]={ + category="lm", + description="MIAO LETTER TONE-7", + direction="l", + unicodeslot=0x16F98, + }, + [0x16F99]={ + category="lm", + description="MIAO LETTER TONE-8", + direction="l", + unicodeslot=0x16F99, + }, + [0x16F9A]={ + category="lm", + description="MIAO LETTER REFORMED TONE-1", + direction="l", + unicodeslot=0x16F9A, + }, + [0x16F9B]={ + category="lm", + description="MIAO LETTER REFORMED TONE-2", + direction="l", + unicodeslot=0x16F9B, + }, + [0x16F9C]={ + category="lm", + description="MIAO LETTER REFORMED TONE-4", + direction="l", + unicodeslot=0x16F9C, + }, + [0x16F9D]={ + category="lm", + description="MIAO LETTER REFORMED TONE-5", + direction="l", + unicodeslot=0x16F9D, + }, + [0x16F9E]={ + category="lm", + description="MIAO LETTER REFORMED TONE-6", + direction="l", + unicodeslot=0x16F9E, + }, + [0x16F9F]={ + category="lm", + description="MIAO LETTER REFORMED TONE-8", + direction="l", + unicodeslot=0x16F9F, + }, [0x1B000]={ category="lo", cjkwd="w", @@ -171459,6 +175199,1148 @@ characters.data={ specials={ "font", 0x0039 }, unicodeslot=0x1D7FF, }, + [0x1EE00]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL ALEF", + direction="al", + specials={ "font", 0x0627 }, + unicodeslot=0x1EE00, + }, + [0x1EE01]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL BEH", + direction="al", + specials={ "font", 0x0628 }, + unicodeslot=0x1EE01, + }, + [0x1EE02]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EE02, + }, + [0x1EE03]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DAL", + direction="al", + specials={ "font", 0x062F }, + unicodeslot=0x1EE03, + }, + [0x1EE05]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL WAW", + direction="al", + specials={ "font", 0x0648 }, + unicodeslot=0x1EE05, + }, + [0x1EE06]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL ZAIN", + direction="al", + specials={ "font", 0x0632 }, + unicodeslot=0x1EE06, + }, + [0x1EE07]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EE07, + }, + [0x1EE08]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAH", + direction="al", + specials={ "font", 0x0637 }, + unicodeslot=0x1EE08, + }, + [0x1EE09]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EE09, + }, + [0x1EE0A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL KAF", + direction="al", + specials={ "font", 0x0643 }, + unicodeslot=0x1EE0A, + }, + [0x1EE0B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LAM", + direction="al", + specials={ "font", 0x0644 }, + unicodeslot=0x1EE0B, + }, + [0x1EE0C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL MEEM", + direction="al", + specials={ "font", 0x0645 }, + unicodeslot=0x1EE0C, + }, + [0x1EE0D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EE0D, + }, + [0x1EE0E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EE0E, + }, + [0x1EE0F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EE0F, + }, + [0x1EE10]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL FEH", + direction="al", + specials={ "font", 0x0641 }, + unicodeslot=0x1EE10, + }, + [0x1EE11]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EE11, + }, + [0x1EE12]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EE12, + }, + [0x1EE13]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL REH", + direction="al", + specials={ "font", 0x0631 }, + unicodeslot=0x1EE13, + }, + [0x1EE14]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EE14, + }, + [0x1EE15]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TEH", + direction="al", + specials={ "font", 0x062A }, + unicodeslot=0x1EE15, + }, + [0x1EE16]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL THEH", + direction="al", + specials={ "font", 0x062B }, + unicodeslot=0x1EE16, + }, + [0x1EE17]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EE17, + }, + [0x1EE18]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL THAL", + direction="al", + specials={ "font", 0x0630 }, + unicodeslot=0x1EE18, + }, + [0x1EE19]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EE19, + }, + [0x1EE1A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL ZAH", + direction="al", + specials={ "font", 0x0638 }, + unicodeslot=0x1EE1A, + }, + [0x1EE1B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EE1B, + }, + [0x1EE1C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOTLESS BEH", + direction="al", + specials={ "font", 0x066E }, + unicodeslot=0x1EE1C, + }, + [0x1EE1D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOTLESS NOON", + direction="al", + specials={ "font", 0x06BA }, + unicodeslot=0x1EE1D, + }, + [0x1EE1E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOTLESS FEH", + direction="al", + specials={ "font", 0x06A1 }, + unicodeslot=0x1EE1E, + }, + [0x1EE1F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOTLESS QAF", + direction="al", + specials={ "font", 0x066F }, + unicodeslot=0x1EE1F, + }, + [0x1EE21]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL BEH", + direction="al", + specials={ "font", 0x0628 }, + unicodeslot=0x1EE21, + }, + [0x1EE22]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EE22, + }, + [0x1EE24]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL HEH", + direction="al", + specials={ "font", 0x0647 }, + unicodeslot=0x1EE24, + }, + [0x1EE27]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EE27, + }, + [0x1EE29]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EE29, + }, + [0x1EE2A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL KAF", + direction="al", + specials={ "font", 0x0643 }, + unicodeslot=0x1EE2A, + }, + [0x1EE2B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL LAM", + direction="al", + specials={ "font", 0x0644 }, + unicodeslot=0x1EE2B, + }, + [0x1EE2C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL MEEM", + direction="al", + specials={ "font", 0x0645 }, + unicodeslot=0x1EE2C, + }, + [0x1EE2D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EE2D, + }, + [0x1EE2E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EE2E, + }, + [0x1EE2F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EE2F, + }, + [0x1EE30]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL FEH", + direction="al", + specials={ "font", 0x0641 }, + unicodeslot=0x1EE30, + }, + [0x1EE31]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EE31, + }, + [0x1EE32]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EE32, + }, + [0x1EE34]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EE34, + }, + [0x1EE35]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL TEH", + direction="al", + specials={ "font", 0x062A }, + unicodeslot=0x1EE35, + }, + [0x1EE36]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL THEH", + direction="al", + specials={ "font", 0x062B }, + unicodeslot=0x1EE36, + }, + [0x1EE37]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EE37, + }, + [0x1EE39]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EE39, + }, + [0x1EE3B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL INITIAL GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EE3B, + }, + [0x1EE42]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EE42, + }, + [0x1EE47]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EE47, + }, + [0x1EE49]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EE49, + }, + [0x1EE4B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED LAM", + direction="al", + specials={ "font", 0x0644 }, + unicodeslot=0x1EE4B, + }, + [0x1EE4D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EE4D, + }, + [0x1EE4E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EE4E, + }, + [0x1EE4F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EE4F, + }, + [0x1EE51]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EE51, + }, + [0x1EE52]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EE52, + }, + [0x1EE54]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EE54, + }, + [0x1EE57]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EE57, + }, + [0x1EE59]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EE59, + }, + [0x1EE5B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EE5B, + }, + [0x1EE5D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED DOTLESS NOON", + direction="al", + specials={ "font", 0x06BA }, + unicodeslot=0x1EE5D, + }, + [0x1EE5F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL TAILED DOTLESS QAF", + direction="al", + specials={ "font", 0x066F }, + unicodeslot=0x1EE5F, + }, + [0x1EE61]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED BEH", + direction="al", + specials={ "font", 0x0628 }, + unicodeslot=0x1EE61, + }, + [0x1EE62]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EE62, + }, + [0x1EE64]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED HEH", + direction="al", + specials={ "font", 0x0647 }, + unicodeslot=0x1EE64, + }, + [0x1EE67]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EE67, + }, + [0x1EE68]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED TAH", + direction="al", + specials={ "font", 0x0637 }, + unicodeslot=0x1EE68, + }, + [0x1EE69]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EE69, + }, + [0x1EE6A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED KAF", + direction="al", + specials={ "font", 0x0643 }, + unicodeslot=0x1EE6A, + }, + [0x1EE6C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED MEEM", + direction="al", + specials={ "font", 0x0645 }, + unicodeslot=0x1EE6C, + }, + [0x1EE6D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EE6D, + }, + [0x1EE6E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EE6E, + }, + [0x1EE6F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EE6F, + }, + [0x1EE70]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED FEH", + direction="al", + specials={ "font", 0x0641 }, + unicodeslot=0x1EE70, + }, + [0x1EE71]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EE71, + }, + [0x1EE72]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EE72, + }, + [0x1EE74]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EE74, + }, + [0x1EE75]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED TEH", + direction="al", + specials={ "font", 0x062A }, + unicodeslot=0x1EE75, + }, + [0x1EE76]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED THEH", + direction="al", + specials={ "font", 0x062B }, + unicodeslot=0x1EE76, + }, + [0x1EE77]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EE77, + }, + [0x1EE79]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EE79, + }, + [0x1EE7A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED ZAH", + direction="al", + specials={ "font", 0x0638 }, + unicodeslot=0x1EE7A, + }, + [0x1EE7B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EE7B, + }, + [0x1EE7C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED DOTLESS BEH", + direction="al", + specials={ "font", 0x066E }, + unicodeslot=0x1EE7C, + }, + [0x1EE7E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL STRETCHED DOTLESS FEH", + direction="al", + specials={ "font", 0x06A1 }, + unicodeslot=0x1EE7E, + }, + [0x1EE80]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED ALEF", + direction="al", + specials={ "font", 0x0627 }, + unicodeslot=0x1EE80, + }, + [0x1EE81]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED BEH", + direction="al", + specials={ "font", 0x0628 }, + unicodeslot=0x1EE81, + }, + [0x1EE82]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EE82, + }, + [0x1EE83]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED DAL", + direction="al", + specials={ "font", 0x062F }, + unicodeslot=0x1EE83, + }, + [0x1EE84]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED HEH", + direction="al", + specials={ "font", 0x0647 }, + unicodeslot=0x1EE84, + }, + [0x1EE85]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED WAW", + direction="al", + specials={ "font", 0x0648 }, + unicodeslot=0x1EE85, + }, + [0x1EE86]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED ZAIN", + direction="al", + specials={ "font", 0x0632 }, + unicodeslot=0x1EE86, + }, + [0x1EE87]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EE87, + }, + [0x1EE88]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED TAH", + direction="al", + specials={ "font", 0x0637 }, + unicodeslot=0x1EE88, + }, + [0x1EE89]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EE89, + }, + [0x1EE8B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED LAM", + direction="al", + specials={ "font", 0x0644 }, + unicodeslot=0x1EE8B, + }, + [0x1EE8C]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED MEEM", + direction="al", + specials={ "font", 0x0645 }, + unicodeslot=0x1EE8C, + }, + [0x1EE8D]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EE8D, + }, + [0x1EE8E]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EE8E, + }, + [0x1EE8F]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EE8F, + }, + [0x1EE90]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED FEH", + direction="al", + specials={ "font", 0x0641 }, + unicodeslot=0x1EE90, + }, + [0x1EE91]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EE91, + }, + [0x1EE92]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EE92, + }, + [0x1EE93]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED REH", + direction="al", + specials={ "font", 0x0631 }, + unicodeslot=0x1EE93, + }, + [0x1EE94]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EE94, + }, + [0x1EE95]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED TEH", + direction="al", + specials={ "font", 0x062A }, + unicodeslot=0x1EE95, + }, + [0x1EE96]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED THEH", + direction="al", + specials={ "font", 0x062B }, + unicodeslot=0x1EE96, + }, + [0x1EE97]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EE97, + }, + [0x1EE98]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED THAL", + direction="al", + specials={ "font", 0x0630 }, + unicodeslot=0x1EE98, + }, + [0x1EE99]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EE99, + }, + [0x1EE9A]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED ZAH", + direction="al", + specials={ "font", 0x0638 }, + unicodeslot=0x1EE9A, + }, + [0x1EE9B]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL LOOPED GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EE9B, + }, + [0x1EEA1]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK BEH", + direction="al", + specials={ "font", 0x0628 }, + unicodeslot=0x1EEA1, + }, + [0x1EEA2]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM", + direction="al", + specials={ "font", 0x062C }, + unicodeslot=0x1EEA2, + }, + [0x1EEA3]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK DAL", + direction="al", + specials={ "font", 0x062F }, + unicodeslot=0x1EEA3, + }, + [0x1EEA5]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK WAW", + direction="al", + specials={ "font", 0x0648 }, + unicodeslot=0x1EEA5, + }, + [0x1EEA6]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN", + direction="al", + specials={ "font", 0x0632 }, + unicodeslot=0x1EEA6, + }, + [0x1EEA7]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK HAH", + direction="al", + specials={ "font", 0x062D }, + unicodeslot=0x1EEA7, + }, + [0x1EEA8]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK TAH", + direction="al", + specials={ "font", 0x0637 }, + unicodeslot=0x1EEA8, + }, + [0x1EEA9]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK YEH", + direction="al", + specials={ "font", 0x064A }, + unicodeslot=0x1EEA9, + }, + [0x1EEAB]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK LAM", + direction="al", + specials={ "font", 0x0644 }, + unicodeslot=0x1EEAB, + }, + [0x1EEAC]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM", + direction="al", + specials={ "font", 0x0645 }, + unicodeslot=0x1EEAC, + }, + [0x1EEAD]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK NOON", + direction="al", + specials={ "font", 0x0646 }, + unicodeslot=0x1EEAD, + }, + [0x1EEAE]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN", + direction="al", + specials={ "font", 0x0633 }, + unicodeslot=0x1EEAE, + }, + [0x1EEAF]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK AIN", + direction="al", + specials={ "font", 0x0639 }, + unicodeslot=0x1EEAF, + }, + [0x1EEB0]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK FEH", + direction="al", + specials={ "font", 0x0641 }, + unicodeslot=0x1EEB0, + }, + [0x1EEB1]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK SAD", + direction="al", + specials={ "font", 0x0635 }, + unicodeslot=0x1EEB1, + }, + [0x1EEB2]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK QAF", + direction="al", + specials={ "font", 0x0642 }, + unicodeslot=0x1EEB2, + }, + [0x1EEB3]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK REH", + direction="al", + specials={ "font", 0x0631 }, + unicodeslot=0x1EEB3, + }, + [0x1EEB4]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN", + direction="al", + specials={ "font", 0x0634 }, + unicodeslot=0x1EEB4, + }, + [0x1EEB5]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK TEH", + direction="al", + specials={ "font", 0x062A }, + unicodeslot=0x1EEB5, + }, + [0x1EEB6]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK THEH", + direction="al", + specials={ "font", 0x062B }, + unicodeslot=0x1EEB6, + }, + [0x1EEB7]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH", + direction="al", + specials={ "font", 0x062E }, + unicodeslot=0x1EEB7, + }, + [0x1EEB8]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK THAL", + direction="al", + specials={ "font", 0x0630 }, + unicodeslot=0x1EEB8, + }, + [0x1EEB9]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK DAD", + direction="al", + specials={ "font", 0x0636 }, + unicodeslot=0x1EEB9, + }, + [0x1EEBA]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH", + direction="al", + specials={ "font", 0x0638 }, + unicodeslot=0x1EEBA, + }, + [0x1EEBB]={ + category="lo", + comment="check math properties", + description="ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN", + direction="al", + specials={ "font", 0x063A }, + unicodeslot=0x1EEBB, + }, + [0x1EEF0]={ + category="sm", + comment="check math properties", + description="ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL", + direction="on", + unicodeslot=0x1EEF0, + }, + [0x1EEF1]={ + category="sm", + comment="check math properties", + description="ARABIC MATHEMATICAL OPERATOR HAH WITH DAL", + direction="on", + unicodeslot=0x1EEF1, + }, [0x1F000]={ category="so", description="MAHJONG TILE EAST WIND", @@ -173753,6 +178635,20 @@ characters.data={ linebreak="ai", unicodeslot=0x1F169, }, + [0x1F16A]={ + category="so", + description="RAISED MC SIGN", + direction="on", + specials={ "super", 0x004D, 0x0043 }, + unicodeslot=0x1F16A, + }, + [0x1F16B]={ + category="so", + description="RAISED MD SIGN", + direction="on", + specials={ "super", 0x004D, 0x0044 }, + unicodeslot=0x1F16B, + }, [0x1F170]={ category="so", cjkwd="a", @@ -177078,7 +181974,7 @@ characters.data={ [0x1F48C]={ category="so", description="LOVE LETTER", - direction="l", + direction="on", linebreak="al", unicodeslot=0x1F48C, }, @@ -178114,7 +183010,7 @@ characters.data={ [0x1F524]={ category="so", description="INPUT SYMBOL FOR LATIN LETTERS", - direction="l", + direction="on", linebreak="al", unicodeslot=0x1F524, }, @@ -178293,6 +183189,30 @@ characters.data={ linebreak="al", unicodeslot=0x1F53D, }, + [0x1F540]={ + category="so", + description="CIRCLED CROSS POMMEE", + direction="on", + unicodeslot=0x1F540, + }, + [0x1F541]={ + category="so", + description="CROSS POMMEE WITH HALF-CIRCLE BELOW", + direction="on", + unicodeslot=0x1F541, + }, + [0x1F542]={ + category="so", + description="CROSS POMMEE", + direction="on", + unicodeslot=0x1F542, + }, + [0x1F543]={ + category="so", + description="NOTCHED LEFT SEMICIRCLE WITH THREE DOTS", + direction="on", + unicodeslot=0x1F543, + }, [0x1F550]={ category="so", description="CLOCK FACE ONE OCLOCK", @@ -178496,6 +183416,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F5FF, }, + [0x1F600]={ + category="so", + description="GRINNING FACE", + direction="on", + unicodeslot=0x1F600, + }, [0x1F601]={ category="so", description="GRINNING FACE WITH SMILING EYES", @@ -178608,6 +183534,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F610, }, + [0x1F611]={ + category="so", + description="EXPRESSIONLESS FACE", + direction="on", + unicodeslot=0x1F611, + }, [0x1F612]={ category="so", description="UNAMUSED FACE", @@ -178629,6 +183561,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F614, }, + [0x1F615]={ + category="so", + description="CONFUSED FACE", + direction="on", + unicodeslot=0x1F615, + }, [0x1F616]={ category="so", description="CONFOUNDED FACE", @@ -178636,6 +183574,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F616, }, + [0x1F617]={ + category="so", + description="KISSING FACE", + direction="on", + unicodeslot=0x1F617, + }, [0x1F618]={ category="so", description="FACE THROWING A KISS", @@ -178643,6 +183587,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F618, }, + [0x1F619]={ + category="so", + description="KISSING FACE WITH SMILING EYES", + direction="on", + unicodeslot=0x1F619, + }, [0x1F61A]={ category="so", description="KISSING FACE WITH CLOSED EYES", @@ -178650,6 +183600,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F61A, }, + [0x1F61B]={ + category="so", + description="FACE WITH STUCK-OUT TONGUE", + direction="on", + unicodeslot=0x1F61B, + }, [0x1F61C]={ category="so", description="FACE WITH STUCK-OUT TONGUE AND WINKING EYE", @@ -178671,6 +183627,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F61E, }, + [0x1F61F]={ + category="so", + description="WORRIED FACE", + direction="on", + unicodeslot=0x1F61F, + }, [0x1F620]={ category="so", description="ANGRY FACE", @@ -178713,6 +183675,18 @@ characters.data={ linebreak="al", unicodeslot=0x1F625, }, + [0x1F626]={ + category="so", + description="FROWNING FACE WITH OPEN MOUTH", + direction="on", + unicodeslot=0x1F626, + }, + [0x1F627]={ + category="so", + description="ANGUISHED FACE", + direction="on", + unicodeslot=0x1F627, + }, [0x1F628]={ category="so", description="FEARFUL FACE", @@ -178741,6 +183715,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F62B, }, + [0x1F62C]={ + category="so", + description="GRIMACING FACE", + direction="on", + unicodeslot=0x1F62C, + }, [0x1F62D]={ category="so", description="LOUDLY CRYING FACE", @@ -178748,6 +183728,18 @@ characters.data={ linebreak="al", unicodeslot=0x1F62D, }, + [0x1F62E]={ + category="so", + description="FACE WITH OPEN MOUTH", + direction="on", + unicodeslot=0x1F62E, + }, + [0x1F62F]={ + category="so", + description="HUSHED FACE", + direction="on", + unicodeslot=0x1F62F, + }, [0x1F630]={ category="so", description="FACE WITH OPEN MOUTH AND COLD SWEAT", @@ -178776,6 +183768,12 @@ characters.data={ linebreak="al", unicodeslot=0x1F633, }, + [0x1F634]={ + category="so", + description="SLEEPING FACE", + direction="on", + unicodeslot=0x1F634, + }, [0x1F635]={ category="so", description="DIZZY FACE", @@ -187716,4 +192714,4 @@ characters.data={ linebreak="cm", unicodeslot=0xE01EF, }, -} +} \ No newline at end of file diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua index 0b448068e..b75f5eda7 100644 --- a/tex/context/base/char-ini.lua +++ b/tex/context/base/char-ini.lua @@ -126,181 +126,236 @@ setmetatableindex(data, function(t,k) end) local blocks = allocate { - ["aegeannumbers"] = { first = 0x10100, last = 0x1013F, description = "Aegean Numbers" }, - ["alphabeticpresentationforms"] = { first = 0x0FB00, last = 0x0FB4F, otf="latn", description = "Alphabetic Presentation Forms" }, - ["ancientgreekmusicalnotation"] = { first = 0x1D200, last = 0x1D24F, otf="grek", description = "Ancient Greek Musical Notation" }, - ["ancientgreeknumbers"] = { first = 0x10140, last = 0x1018F, otf="grek", description = "Ancient Greek Numbers" }, - ["ancientsymbols"] = { first = 0x10190, last = 0x101CF, otf="grek", description = "Ancient Symbols" }, - ["arabic"] = { first = 0x00600, last = 0x006FF, otf="arab", description = "Arabic" }, - ["arabicpresentationformsa"] = { first = 0x0FB50, last = 0x0FDFF, otf="arab", description = "Arabic Presentation Forms-A" }, - ["arabicpresentationformsb"] = { first = 0x0FE70, last = 0x0FEFF, otf="arab", description = "Arabic Presentation Forms-B" }, - ["arabicsupplement"] = { first = 0x00750, last = 0x0077F, otf="arab", description = "Arabic Supplement" }, - ["armenian"] = { first = 0x00530, last = 0x0058F, otf="armn", description = "Armenian" }, - ["arrows"] = { first = 0x02190, last = 0x021FF, description = "Arrows" }, - ["balinese"] = { first = 0x01B00, last = 0x01B7F, otf="bali", description = "Balinese" }, - ["basiclatin"] = { first = 0x00000, last = 0x0007F, otf="latn", description = "Basic Latin" }, - ["bengali"] = { first = 0x00980, last = 0x009FF, otf="beng", description = "Bengali" }, - ["blockelements"] = { first = 0x02580, last = 0x0259F, otf="bopo", description = "Block Elements" }, - ["bopomofo"] = { first = 0x03100, last = 0x0312F, otf="bopo", description = "Bopomofo" }, - ["bopomofoextended"] = { first = 0x031A0, last = 0x031BF, otf="bopo", description = "Bopomofo Extended" }, - ["boxdrawing"] = { first = 0x02500, last = 0x0257F, description = "Box Drawing" }, - ["braillepatterns"] = { first = 0x02800, last = 0x028FF, otf="brai", description = "Braille Patterns" }, - ["buginese"] = { first = 0x01A00, last = 0x01A1F, otf="bugi", description = "Buginese" }, - ["buhid"] = { first = 0x01740, last = 0x0175F, otf="buhd", description = "Buhid" }, - ["byzantinemusicalsymbols"] = { first = 0x1D000, last = 0x1D0FF, otf="byzm", description = "Byzantine Musical Symbols" }, - ["carian"] = { first = 0x102A0, last = 0x102DF, description = "Carian" }, - ["cham"] = { first = 0x0AA00, last = 0x0AA5F, description = "Cham" }, - ["cherokee"] = { first = 0x013A0, last = 0x013FF, otf="cher", description = "Cherokee" }, - ["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" }, - ["cjkcompatibilityideographssupplement"] = { first = 0x2F800, last = 0x2FA1F, otf="hang", description = "CJK Compatibility Ideographs Supplement" }, - ["cjkradicalssupplement"] = { first = 0x02E80, last = 0x02EFF, otf="hang", description = "CJK Radicals Supplement" }, - ["cjkstrokes"] = { first = 0x031C0, last = 0x031EF, otf="hang", description = "CJK Strokes" }, - ["cjksymbolsandpunctuation"] = { first = 0x03000, last = 0x0303F, otf="hang", description = "CJK Symbols and Punctuation" }, - ["cjkunifiedideographs"] = { first = 0x04E00, last = 0x09FFF, otf="hang", description = "CJK Unified Ideographs" }, - ["cjkunifiedideographsextensiona"] = { first = 0x03400, last = 0x04DBF, otf="hang", description = "CJK Unified Ideographs Extension A" }, - ["cjkunifiedideographsextensionb"] = { first = 0x20000, last = 0x2A6DF, otf="hang", description = "CJK Unified Ideographs Extension B" }, - ["combiningdiacriticalmarks"] = { first = 0x00300, last = 0x0036F, description = "Combining Diacritical Marks" }, - ["combiningdiacriticalmarksforsymbols"] = { first = 0x020D0, last = 0x020FF, description = "Combining Diacritical Marks for Symbols" }, - ["combiningdiacriticalmarkssupplement"] = { first = 0x01DC0, last = 0x01DFF, description = "Combining Diacritical Marks Supplement" }, - ["combininghalfmarks"] = { first = 0x0FE20, last = 0x0FE2F, description = "Combining Half Marks" }, - ["controlpictures"] = { first = 0x02400, last = 0x0243F, description = "Control Pictures" }, - ["coptic"] = { first = 0x02C80, last = 0x02CFF, otf="copt", description = "Coptic" }, - ["countingrodnumerals"] = { first = 0x1D360, last = 0x1D37F, description = "Counting Rod Numerals" }, - ["cuneiform"] = { first = 0x12000, last = 0x123FF, otf="xsux", description = "Cuneiform" }, - ["cuneiformnumbersandpunctuation"] = { first = 0x12400, last = 0x1247F, otf="xsux", description = "Cuneiform Numbers and Punctuation" }, - ["currencysymbols"] = { first = 0x020A0, last = 0x020CF, description = "Currency Symbols" }, - ["cypriotsyllabary"] = { first = 0x10800, last = 0x1083F, otf="cprt", description = "Cypriot Syllabary" }, - ["cyrillic"] = { first = 0x00400, last = 0x004FF, otf="cyrl", description = "Cyrillic" }, - ["cyrillicextendeda"] = { first = 0x02DE0, last = 0x02DFF, otf="cyrl", description = "Cyrillic Extended-A" }, - ["cyrillicextendedb"] = { first = 0x0A640, last = 0x0A69F, otf="cyrl", description = "Cyrillic Extended-B" }, - ["cyrillicsupplement"] = { first = 0x00500, last = 0x0052F, otf="cyrl", description = "Cyrillic Supplement" }, - ["deseret"] = { first = 0x10400, last = 0x1044F, otf="dsrt", description = "Deseret" }, - ["devanagari"] = { first = 0x00900, last = 0x0097F, otf="deva", description = "Devanagari" }, - ["dingbats"] = { first = 0x02700, last = 0x027BF, description = "Dingbats" }, - ["dominotiles"] = { first = 0x1F030, last = 0x1F09F, description = "Domino Tiles" }, - ["enclosedalphanumerics"] = { first = 0x02460, last = 0x024FF, description = "Enclosed Alphanumerics" }, - ["enclosedcjklettersandmonths"] = { first = 0x03200, last = 0x032FF, description = "Enclosed CJK Letters and Months" }, - ["ethiopic"] = { first = 0x01200, last = 0x0137F, otf="ethi", description = "Ethiopic" }, - ["ethiopicextended"] = { first = 0x02D80, last = 0x02DDF, otf="ethi", description = "Ethiopic Extended" }, - ["ethiopicsupplement"] = { first = 0x01380, last = 0x0139F, otf="ethi", description = "Ethiopic Supplement" }, - ["generalpunctuation"] = { first = 0x02000, last = 0x0206F, description = "General Punctuation" }, - ["geometricshapes"] = { first = 0x025A0, last = 0x025FF, description = "Geometric Shapes" }, - ["georgian"] = { first = 0x010A0, last = 0x010FF, otf="geor", description = "Georgian" }, - ["georgiansupplement"] = { first = 0x02D00, last = 0x02D2F, otf="geor", description = "Georgian Supplement" }, - ["glagolitic"] = { first = 0x02C00, last = 0x02C5F, otf="glag", description = "Glagolitic" }, - ["gothic"] = { first = 0x10330, last = 0x1034F, otf="goth", description = "Gothic" }, - ["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" }, - ["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" }, - ["hanguljamo"] = { first = 0x01100, last = 0x011FF, otf="jamo", description = "Hangul Jamo" }, - ["hangulsyllables"] = { first = 0x0AC00, last = 0x0D7AF, otf="hang", description = "Hangul Syllables" }, - ["hanunoo"] = { first = 0x01720, last = 0x0173F, otf="hano", description = "Hanunoo" }, - ["hebrew"] = { first = 0x00590, last = 0x005FF, otf="hebr", description = "Hebrew" }, - ["highprivateusesurrogates"] = { first = 0x0DB80, last = 0x0DBFF, description = "High Private Use Surrogates" }, - ["highsurrogates"] = { first = 0x0D800, last = 0x0DB7F, description = "High Surrogates" }, - ["hiragana"] = { first = 0x03040, last = 0x0309F, otf="kana", description = "Hiragana" }, - ["ideographicdescriptioncharacters"] = { first = 0x02FF0, last = 0x02FFF, description = "Ideographic Description Characters" }, - ["ipaextensions"] = { first = 0x00250, last = 0x002AF, description = "IPA Extensions" }, - ["kanbun"] = { first = 0x03190, last = 0x0319F, description = "Kanbun" }, - ["kangxiradicals"] = { first = 0x02F00, last = 0x02FDF, description = "Kangxi Radicals" }, - ["kannada"] = { first = 0x00C80, last = 0x00CFF, otf="knda", description = "Kannada" }, - ["katakana"] = { first = 0x030A0, last = 0x030FF, otf="kana", description = "Katakana" }, - ["katakanaphoneticextensions"] = { first = 0x031F0, last = 0x031FF, otf="kana", description = "Katakana Phonetic Extensions" }, - ["kayahli"] = { first = 0x0A900, last = 0x0A92F, description = "Kayah Li" }, - ["kharoshthi"] = { first = 0x10A00, last = 0x10A5F, otf="khar", description = "Kharoshthi" }, - ["khmer"] = { first = 0x01780, last = 0x017FF, otf="khmr", description = "Khmer" }, - ["khmersymbols"] = { first = 0x019E0, last = 0x019FF, otf="khmr", description = "Khmer Symbols" }, - ["lao"] = { first = 0x00E80, last = 0x00EFF, otf="lao", description = "Lao" }, - ["latinextendeda"] = { first = 0x00100, last = 0x0017F, otf="latn", description = "Latin Extended-A" }, - ["latinextendedadditional"] = { first = 0x01E00, last = 0x01EFF, otf="latn", description = "Latin Extended Additional" }, - ["latinextendedb"] = { first = 0x00180, last = 0x0024F, otf="latn", description = "Latin Extended-B" }, - ["latinextendedc"] = { first = 0x02C60, last = 0x02C7F, otf="latn", description = "Latin Extended-C" }, - ["latinextendedd"] = { first = 0x0A720, last = 0x0A7FF, otf="latn", description = "Latin Extended-D" }, - ["latinsupplement"] = { first = 0x00080, last = 0x000FF, otf="latn", description = "Latin-1 Supplement" }, - ["lepcha"] = { first = 0x01C00, last = 0x01C4F, description = "Lepcha" }, - ["letterlikesymbols"] = { first = 0x02100, last = 0x0214F, description = "Letterlike Symbols" }, - ["limbu"] = { first = 0x01900, last = 0x0194F, otf="limb", description = "Limbu" }, - ["linearbideograms"] = { first = 0x10080, last = 0x100FF, otf="linb", description = "Linear B Ideograms" }, - ["linearbsyllabary"] = { first = 0x10000, last = 0x1007F, otf="linb", description = "Linear B Syllabary" }, - ["lowsurrogates"] = { first = 0x0DC00, last = 0x0DFFF, description = "Low Surrogates" }, - ["lycian"] = { first = 0x10280, last = 0x1029F, description = "Lycian" }, - ["lydian"] = { first = 0x10920, last = 0x1093F, description = "Lydian" }, - ["mahjongtiles"] = { first = 0x1F000, last = 0x1F02F, description = "Mahjong Tiles" }, - ["malayalam"] = { first = 0x00D00, last = 0x00D7F, otf="mlym", description = "Malayalam" }, - ["mathematicalalphanumericsymbols"] = { first = 0x1D400, last = 0x1D7FF, description = "Mathematical Alphanumeric Symbols" }, - ["mathematicaloperators"] = { first = 0x02200, last = 0x022FF, description = "Mathematical Operators" }, - ["miscellaneousmathematicalsymbolsa"] = { first = 0x027C0, last = 0x027EF, description = "Miscellaneous Mathematical Symbols-A" }, - ["miscellaneousmathematicalsymbolsb"] = { first = 0x02980, last = 0x029FF, description = "Miscellaneous Mathematical Symbols-B" }, - ["miscellaneoussymbols"] = { first = 0x02600, last = 0x026FF, description = "Miscellaneous Symbols" }, - ["miscellaneoussymbolsandarrows"] = { first = 0x02B00, last = 0x02BFF, description = "Miscellaneous Symbols and Arrows" }, - ["miscellaneoustechnical"] = { first = 0x02300, last = 0x023FF, description = "Miscellaneous Technical" }, - ["modifiertoneletters"] = { first = 0x0A700, last = 0x0A71F, description = "Modifier Tone Letters" }, - ["mongolian"] = { first = 0x01800, last = 0x018AF, otf="mong", description = "Mongolian" }, - ["musicalsymbols"] = { first = 0x1D100, last = 0x1D1FF, otf="musc", description = "Musical Symbols" }, - ["myanmar"] = { first = 0x01000, last = 0x0109F, otf="mymr", description = "Myanmar" }, - ["newtailue"] = { first = 0x01980, last = 0x019DF, description = "New Tai Lue" }, - ["nko"] = { first = 0x007C0, last = 0x007FF, otf="nko", description = "NKo" }, - ["numberforms"] = { first = 0x02150, last = 0x0218F, description = "Number Forms" }, - ["ogham"] = { first = 0x01680, last = 0x0169F, otf="ogam", description = "Ogham" }, - ["olchiki"] = { first = 0x01C50, last = 0x01C7F, description = "Ol Chiki" }, - ["olditalic"] = { first = 0x10300, last = 0x1032F, otf="ital", description = "Old Italic" }, - ["oldpersian"] = { first = 0x103A0, last = 0x103DF, otf="xpeo", description = "Old Persian" }, - ["opticalcharacterrecognition"] = { first = 0x02440, last = 0x0245F, description = "Optical Character Recognition" }, - ["oriya"] = { first = 0x00B00, last = 0x00B7F, otf="orya", description = "Oriya" }, - ["osmanya"] = { first = 0x10480, last = 0x104AF, otf="osma", description = "Osmanya" }, - ["phagspa"] = { first = 0x0A840, last = 0x0A87F, otf="phag", description = "Phags-pa" }, - ["phaistosdisc"] = { first = 0x101D0, last = 0x101FF, description = "Phaistos Disc" }, - ["phoenician"] = { first = 0x10900, last = 0x1091F, otf="phnx", description = "Phoenician" }, - ["phoneticextensions"] = { first = 0x01D00, last = 0x01D7F, description = "Phonetic Extensions" }, - ["phoneticextensionssupplement"] = { first = 0x01D80, last = 0x01DBF, description = "Phonetic Extensions Supplement" }, - ["privateusearea"] = { first = 0x0E000, last = 0x0F8FF, description = "Private Use Area" }, - ["rejang"] = { first = 0x0A930, last = 0x0A95F, description = "Rejang" }, - ["runic"] = { first = 0x016A0, last = 0x016FF, otf="runr", description = "Runic" }, - ["saurashtra"] = { first = 0x0A880, last = 0x0A8DF, description = "Saurashtra" }, - ["shavian"] = { first = 0x10450, last = 0x1047F, otf="shaw", description = "Shavian" }, - ["sinhala"] = { first = 0x00D80, last = 0x00DFF, otf="sinh", description = "Sinhala" }, - ["smallformvariants"] = { first = 0x0FE50, last = 0x0FE6F, description = "Small Form Variants" }, - ["spacingmodifierletters"] = { first = 0x002B0, last = 0x002FF, description = "Spacing Modifier Letters" }, - ["specials"] = { first = 0x0FFF0, last = 0x0FFFF, description = "Specials" }, - ["sundanese"] = { first = 0x01B80, last = 0x01BBF, description = "Sundanese" }, - ["superscriptsandsubscripts"] = { first = 0x02070, last = 0x0209F, description = "Superscripts and Subscripts" }, - ["supplementalarrowsa"] = { first = 0x027F0, last = 0x027FF, description = "Supplemental Arrows-A" }, - ["supplementalarrowsb"] = { first = 0x02900, last = 0x0297F, description = "Supplemental Arrows-B" }, - ["supplementalmathematicaloperators"] = { first = 0x02A00, last = 0x02AFF, description = "Supplemental Mathematical Operators" }, - ["supplementalpunctuation"] = { first = 0x02E00, last = 0x02E7F, description = "Supplemental Punctuation" }, - ["supplementaryprivateuseareaa"] = { first = 0xF0000, last = 0xFFFFF, description = "Supplementary Private Use Area-A" }, - ["supplementaryprivateuseareab"] = { first = 0x100000,last = 0x10FFFF, description = "Supplementary Private Use Area-B" }, - ["sylotinagri"] = { first = 0x0A800, last = 0x0A82F, otf="sylo", description = "Syloti Nagri" }, - ["syriac"] = { first = 0x00700, last = 0x0074F, otf="syrc", description = "Syriac" }, - ["tagalog"] = { first = 0x01700, last = 0x0171F, otf="tglg", description = "Tagalog" }, - ["tagbanwa"] = { first = 0x01760, last = 0x0177F, otf="tagb", description = "Tagbanwa" }, - ["tags"] = { first = 0xE0000, last = 0xE007F, description = "Tags" }, - ["taile"] = { first = 0x01950, last = 0x0197F, otf="tale", description = "Tai Le" }, - ["taixuanjingsymbols"] = { first = 0x1D300, last = 0x1D35F, description = "Tai Xuan Jing Symbols" }, - ["tamil"] = { first = 0x00B80, last = 0x00BFF, otf="taml", description = "Tamil" }, - ["telugu"] = { first = 0x00C00, last = 0x00C7F, otf="telu", description = "Telugu" }, - ["thaana"] = { first = 0x00780, last = 0x007BF, otf="thaa", description = "Thaana" }, - ["thai"] = { first = 0x00E00, last = 0x00E7F, otf="thai", description = "Thai" }, - ["tibetan"] = { first = 0x00F00, last = 0x00FFF, otf="tibt", description = "Tibetan" }, - ["tifinagh"] = { first = 0x02D30, last = 0x02D7F, otf="tfng", description = "Tifinagh" }, - ["ugaritic"] = { first = 0x10380, last = 0x1039F, otf="ugar", description = "Ugaritic" }, - ["unifiedcanadianaboriginalsyllabics"] = { first = 0x01400, last = 0x0167F, otf="cans", description = "Unified Canadian Aboriginal Syllabics" }, - ["vai"] = { first = 0x0A500, last = 0x0A63F, description = "Vai" }, - ["variationselectors"] = { first = 0x0FE00, last = 0x0FE0F, description = "Variation Selectors" }, - ["variationselectorssupplement"] = { first = 0xE0100, last = 0xE01EF, description = "Variation Selectors Supplement" }, - ["verticalforms"] = { first = 0x0FE10, last = 0x0FE1F, description = "Vertical Forms" }, - ["yijinghexagramsymbols"] = { first = 0x04DC0, last = 0x04DFF, otf="yi", description = "Yijing Hexagram Symbols" }, - ["yiradicals"] = { first = 0x0A490, last = 0x0A4CF, otf="yi", description = "Yi Radicals" }, - ["yisyllables"] = { first = 0x0A000, last = 0x0A48F, otf="yi", description = "Yi Syllables" }, + ["aegeannumbers"] = { first = 0x10100, last = 0x1013F, description = "Aegean Numbers" }, + ["alchemicalsymbols"] = { first = 0x1F700, last = 0x1F77F, description = "Alchemical Symbols" }, + ["alphabeticpresentationforms"] = { first = 0x0FB00, last = 0x0FB4F, otf="latn", description = "Alphabetic Presentation Forms" }, + ["ancientgreekmusicalnotation"] = { first = 0x1D200, last = 0x1D24F, otf="grek", description = "Ancient Greek Musical Notation" }, + ["ancientgreeknumbers"] = { first = 0x10140, last = 0x1018F, otf="grek", description = "Ancient Greek Numbers" }, + ["ancientsymbols"] = { first = 0x10190, last = 0x101CF, otf="grek", description = "Ancient Symbols" }, + ["arabic"] = { first = 0x00600, last = 0x006FF, otf="arab", description = "Arabic" }, + ["arabicextendeda"] = { first = 0x008A0, last = 0x008FF, description = "Arabic Extended-A" }, + ["arabicmathematicalalphabeticsymbols"] = { first = 0x1EE00, last = 0x1EEFF, description = "Arabic Mathematical Alphabetic Symbols" }, + ["arabicpresentationformsa"] = { first = 0x0FB50, last = 0x0FDFF, otf="arab", description = "Arabic Presentation Forms-A" }, + ["arabicpresentationformsb"] = { first = 0x0FE70, last = 0x0FEFF, otf="arab", description = "Arabic Presentation Forms-B" }, + ["arabicsupplement"] = { first = 0x00750, last = 0x0077F, otf="arab", description = "Arabic Supplement" }, + ["armenian"] = { first = 0x00530, last = 0x0058F, otf="armn", description = "Armenian" }, + ["arrows"] = { first = 0x02190, last = 0x021FF, description = "Arrows" }, + ["avestan"] = { first = 0x10B00, last = 0x10B3F, description = "Avestan" }, + ["balinese"] = { first = 0x01B00, last = 0x01B7F, otf="bali", description = "Balinese" }, + ["bamum"] = { first = 0x0A6A0, last = 0x0A6FF, description = "Bamum" }, + ["bamumsupplement"] = { first = 0x16800, last = 0x16A3F, description = "Bamum Supplement" }, + ["basiclatin"] = { first = 0x00000, last = 0x0007F, otf="latn", description = "Basic Latin" }, + ["batak"] = { first = 0x01BC0, last = 0x01BFF, description = "Batak" }, + ["bengali"] = { first = 0x00980, last = 0x009FF, otf="beng", description = "Bengali" }, + ["blockelements"] = { first = 0x02580, last = 0x0259F, otf="bopo", description = "Block Elements" }, + ["bopomofo"] = { first = 0x03100, last = 0x0312F, otf="bopo", description = "Bopomofo" }, + ["bopomofoextended"] = { first = 0x031A0, last = 0x031BF, otf="bopo", description = "Bopomofo Extended" }, + ["boxdrawing"] = { first = 0x02500, last = 0x0257F, description = "Box Drawing" }, + ["brahmi"] = { first = 0x11000, last = 0x1107F, description = "Brahmi" }, + ["braillepatterns"] = { first = 0x02800, last = 0x028FF, otf="brai", description = "Braille Patterns" }, + ["buginese"] = { first = 0x01A00, last = 0x01A1F, otf="bugi", description = "Buginese" }, + ["buhid"] = { first = 0x01740, last = 0x0175F, otf="buhd", description = "Buhid" }, + ["byzantinemusicalsymbols"] = { first = 0x1D000, last = 0x1D0FF, otf="byzm", description = "Byzantine Musical Symbols" }, + ["commonindicnumberforms"] = { first = 0x0A830, last = 0x0A83F, description = "Common Indic Number Forms" }, + ["carian"] = { first = 0x102A0, last = 0x102DF, description = "Carian" }, + ["cham"] = { first = 0x0AA00, last = 0x0AA5F, description = "Cham" }, + ["cherokee"] = { first = 0x013A0, last = 0x013FF, otf="cher", description = "Cherokee" }, + ["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" }, + ["cjkcompatibilityideographssupplement"] = { first = 0x2F800, last = 0x2FA1F, otf="hang", description = "CJK Compatibility Ideographs Supplement" }, + ["cjkradicalssupplement"] = { first = 0x02E80, last = 0x02EFF, otf="hang", description = "CJK Radicals Supplement" }, + ["cjkstrokes"] = { first = 0x031C0, last = 0x031EF, otf="hang", description = "CJK Strokes" }, + ["cjksymbolsandpunctuation"] = { first = 0x03000, last = 0x0303F, otf="hang", description = "CJK Symbols and Punctuation" }, + ["cjkunifiedideographs"] = { first = 0x04E00, last = 0x09FFF, otf="hang", description = "CJK Unified Ideographs" }, + ["cjkunifiedideographsextensiona"] = { first = 0x03400, last = 0x04DBF, otf="hang", description = "CJK Unified Ideographs Extension A" }, + ["cjkunifiedideographsextensionb"] = { first = 0x20000, last = 0x2A6DF, otf="hang", description = "CJK Unified Ideographs Extension B" }, + ["combiningdiacriticalmarks"] = { first = 0x00300, last = 0x0036F, description = "Combining Diacritical Marks" }, + ["combiningdiacriticalmarksforsymbols"] = { first = 0x020D0, last = 0x020FF, description = "Combining Diacritical Marks for Symbols" }, + ["combiningdiacriticalmarkssupplement"] = { first = 0x01DC0, last = 0x01DFF, description = "Combining Diacritical Marks Supplement" }, + ["combininghalfmarks"] = { first = 0x0FE20, last = 0x0FE2F, description = "Combining Half Marks" }, + ["controlpictures"] = { first = 0x02400, last = 0x0243F, description = "Control Pictures" }, + ["coptic"] = { first = 0x02C80, last = 0x02CFF, otf="copt", description = "Coptic" }, + ["countingrodnumerals"] = { first = 0x1D360, last = 0x1D37F, description = "Counting Rod Numerals" }, + ["cuneiform"] = { first = 0x12000, last = 0x123FF, otf="xsux", description = "Cuneiform" }, + ["cuneiformnumbersandpunctuation"] = { first = 0x12400, last = 0x1247F, otf="xsux", description = "Cuneiform Numbers and Punctuation" }, + ["currencysymbols"] = { first = 0x020A0, last = 0x020CF, description = "Currency Symbols" }, + ["cypriotsyllabary"] = { first = 0x10800, last = 0x1083F, otf="cprt", description = "Cypriot Syllabary" }, + ["cyrillic"] = { first = 0x00400, last = 0x004FF, otf="cyrl", description = "Cyrillic" }, + ["cyrillicextendeda"] = { first = 0x02DE0, last = 0x02DFF, otf="cyrl", description = "Cyrillic Extended-A" }, + ["cyrillicextendedb"] = { first = 0x0A640, last = 0x0A69F, otf="cyrl", description = "Cyrillic Extended-B" }, + ["cyrillicsupplement"] = { first = 0x00500, last = 0x0052F, otf="cyrl", description = "Cyrillic Supplement" }, + ["deseret"] = { first = 0x10400, last = 0x1044F, otf="dsrt", description = "Deseret" }, + ["devanagari"] = { first = 0x00900, last = 0x0097F, otf="deva", description = "Devanagari" }, + ["devanagariextended"] = { first = 0x0A8E0, last = 0x0A8FF, description = "Devanagari Extended" }, + ["dingbats"] = { first = 0x02700, last = 0x027BF, description = "Dingbats" }, + ["dominotiles"] = { first = 0x1F030, last = 0x1F09F, description = "Domino Tiles" }, + ["egyptianhieroglyphs"] = { first = 0x13000, last = 0x1342F, description = "Egyptian Hieroglyphs" }, + ["emoticons"] = { first = 0x1F600, last = 0x1F64F, description = "Emoticons" }, + ["enclosedalphanumericsupplement"] = { first = 0x1F100, last = 0x1F1FF, description = "Enclosed Alphanumeric Supplement" }, + ["enclosedalphanumerics"] = { first = 0x02460, last = 0x024FF, description = "Enclosed Alphanumerics" }, + ["enclosedcjklettersandmonths"] = { first = 0x03200, last = 0x032FF, description = "Enclosed CJK Letters and Months" }, + ["enclosedideographicsupplement"] = { first = 0x1F200, last = 0x1F2FF, description = "Enclosed Ideographic Supplement" }, + ["ethiopic"] = { first = 0x01200, last = 0x0137F, otf="ethi", description = "Ethiopic" }, + ["ethiopicextended"] = { first = 0x02D80, last = 0x02DDF, otf="ethi", description = "Ethiopic Extended" }, + ["ethiopicextendeda"] = { first = 0x0AB00, last = 0x0AB2F, description = "Ethiopic Extended-A" }, + ["ethiopicsupplement"] = { first = 0x01380, last = 0x0139F, otf="ethi", description = "Ethiopic Supplement" }, + ["generalpunctuation"] = { first = 0x02000, last = 0x0206F, description = "General Punctuation" }, + ["geometricshapes"] = { first = 0x025A0, last = 0x025FF, description = "Geometric Shapes" }, + ["georgian"] = { first = 0x010A0, last = 0x010FF, otf="geor", description = "Georgian" }, + ["georgiansupplement"] = { first = 0x02D00, last = 0x02D2F, otf="geor", description = "Georgian Supplement" }, + ["glagolitic"] = { first = 0x02C00, last = 0x02C5F, otf="glag", description = "Glagolitic" }, + ["gothic"] = { first = 0x10330, last = 0x1034F, otf="goth", description = "Gothic" }, + ["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" }, + ["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" }, + ["hanguljamo"] = { first = 0x01100, last = 0x011FF, otf="jamo", description = "Hangul Jamo" }, + ["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" }, + ["hanunoo"] = { first = 0x01720, last = 0x0173F, otf="hano", description = "Hanunoo" }, + ["hebrew"] = { first = 0x00590, last = 0x005FF, otf="hebr", description = "Hebrew" }, + ["highprivateusesurrogates"] = { first = 0x0DB80, last = 0x0DBFF, description = "High Private Use Surrogates" }, + ["highsurrogates"] = { first = 0x0D800, last = 0x0DB7F, description = "High Surrogates" }, + ["hiragana"] = { first = 0x03040, last = 0x0309F, otf="kana", description = "Hiragana" }, + ["ideographicdescriptioncharacters"] = { first = 0x02FF0, last = 0x02FFF, description = "Ideographic Description Characters" }, + ["imperialaramaic"] = { first = 0x10840, last = 0x1085F, description = "Imperial Aramaic" }, + ["inscriptionalpahlavi"] = { first = 0x10B60, last = 0x10B7F, description = "Inscriptional Pahlavi" }, + ["inscriptionalparthian"] = { first = 0x10B40, last = 0x10B5F, description = "Inscriptional Parthian" }, + ["ipaextensions"] = { first = 0x00250, last = 0x002AF, description = "IPA Extensions" }, + ["javanese"] = { first = 0x0A980, last = 0x0A9DF, description = "Javanese" }, + ["kaithi"] = { first = 0x11080, last = 0x110CF, description = "Kaithi" }, + ["kanasupplement"] = { first = 0x1B000, last = 0x1B0FF, description = "Kana Supplement" }, + ["kanbun"] = { first = 0x03190, last = 0x0319F, description = "Kanbun" }, + ["kangxiradicals"] = { first = 0x02F00, last = 0x02FDF, description = "Kangxi Radicals" }, + ["kannada"] = { first = 0x00C80, last = 0x00CFF, otf="knda", description = "Kannada" }, + ["katakana"] = { first = 0x030A0, last = 0x030FF, otf="kana", description = "Katakana" }, + ["katakanaphoneticextensions"] = { first = 0x031F0, last = 0x031FF, otf="kana", description = "Katakana Phonetic Extensions" }, + ["kayahli"] = { first = 0x0A900, last = 0x0A92F, description = "Kayah Li" }, + ["kharoshthi"] = { first = 0x10A00, last = 0x10A5F, otf="khar", description = "Kharoshthi" }, + ["khmer"] = { first = 0x01780, last = 0x017FF, otf="khmr", description = "Khmer" }, + ["khmersymbols"] = { first = 0x019E0, last = 0x019FF, otf="khmr", description = "Khmer Symbols" }, + ["lao"] = { first = 0x00E80, last = 0x00EFF, otf="lao", description = "Lao" }, + ["latinextendeda"] = { first = 0x00100, last = 0x0017F, otf="latn", description = "Latin Extended-A" }, + ["latinextendedadditional"] = { first = 0x01E00, last = 0x01EFF, otf="latn", description = "Latin Extended Additional" }, + ["latinextendedb"] = { first = 0x00180, last = 0x0024F, otf="latn", description = "Latin Extended-B" }, + ["latinextendedc"] = { first = 0x02C60, last = 0x02C7F, otf="latn", description = "Latin Extended-C" }, + ["latinextendedd"] = { first = 0x0A720, last = 0x0A7FF, otf="latn", description = "Latin Extended-D" }, + ["latinsupplement"] = { first = 0x00080, last = 0x000FF, otf="latn", description = "Latin-1 Supplement" }, + ["lepcha"] = { first = 0x01C00, last = 0x01C4F, description = "Lepcha" }, + ["letterlikesymbols"] = { first = 0x02100, last = 0x0214F, description = "Letterlike Symbols" }, + ["limbu"] = { first = 0x01900, last = 0x0194F, otf="limb", description = "Limbu" }, + ["linearbideograms"] = { first = 0x10080, last = 0x100FF, otf="linb", description = "Linear B Ideograms" }, + ["linearbsyllabary"] = { first = 0x10000, last = 0x1007F, otf="linb", description = "Linear B Syllabary" }, + ["lisu"] = { first = 0x0A4D0, last = 0x0A4FF, description = "Lisu" }, + ["lowsurrogates"] = { first = 0x0DC00, last = 0x0DFFF, description = "Low Surrogates" }, + ["lycian"] = { first = 0x10280, last = 0x1029F, description = "Lycian" }, + ["lydian"] = { first = 0x10920, last = 0x1093F, description = "Lydian" }, + ["mahjongtiles"] = { first = 0x1F000, last = 0x1F02F, description = "Mahjong Tiles" }, + ["malayalam"] = { first = 0x00D00, last = 0x00D7F, otf="mlym", description = "Malayalam" }, + ["mandiac"] = { first = 0x00840, last = 0x0085F, otf="mand", description = "Mandaic" }, + ["mathematicalalphanumericsymbols"] = { first = 0x1D400, last = 0x1D7FF, description = "Mathematical Alphanumeric Symbols" }, + ["mathematicaloperators"] = { first = 0x02200, last = 0x022FF, description = "Mathematical Operators" }, + ["meeteimayek"] = { first = 0x0ABC0, last = 0x0ABFF, description = "Meetei Mayek" }, + ["meeteimayekextensions"] = { first = 0x0AAE0, last = 0x0AAFF, description = "Meetei Mayek Extensions" }, + ["meroiticcursive"] = { first = 0x109A0, last = 0x109FF, description = "Meroitic Cursive" }, + ["meroitichieroglyphs"] = { first = 0x10980, last = 0x1099F, description = "Meroitic Hieroglyphs" }, + ["miao"] = { first = 0x16F00, last = 0x16F9F, description = "Miao" }, + ["miscellaneousmathematicalsymbolsa"] = { first = 0x027C0, last = 0x027EF, description = "Miscellaneous Mathematical Symbols-A" }, + ["miscellaneousmathematicalsymbolsb"] = { first = 0x02980, last = 0x029FF, description = "Miscellaneous Mathematical Symbols-B" }, + ["miscellaneoussymbols"] = { first = 0x02600, last = 0x026FF, description = "Miscellaneous Symbols" }, + ["miscellaneoussymbolsandarrows"] = { first = 0x02B00, last = 0x02BFF, description = "Miscellaneous Symbols and Arrows" }, + ["miscellaneoussymbolsandpictographs"] = { first = 0x1F300, last = 0x1F5FF, description = "Miscellaneous Symbols And Pictographs" }, + ["miscellaneoustechnical"] = { first = 0x02300, last = 0x023FF, description = "Miscellaneous Technical" }, + ["modifiertoneletters"] = { first = 0x0A700, last = 0x0A71F, description = "Modifier Tone Letters" }, + ["mongolian"] = { first = 0x01800, last = 0x018AF, otf="mong", description = "Mongolian" }, + ["musicalsymbols"] = { first = 0x1D100, last = 0x1D1FF, otf="musc", description = "Musical Symbols" }, + ["myanmar"] = { first = 0x01000, last = 0x0109F, otf="mymr", description = "Myanmar" }, + ["myanmarextendeda"] = { first = 0x0AA60, last = 0x0AA7F, description = "Myanmar Extended-A" }, + ["newtailue"] = { first = 0x01980, last = 0x019DF, description = "New Tai Lue" }, + ["nko"] = { first = 0x007C0, last = 0x007FF, otf="nko", description = "NKo" }, + ["numberforms"] = { first = 0x02150, last = 0x0218F, description = "Number Forms" }, + ["ogham"] = { first = 0x01680, last = 0x0169F, otf="ogam", description = "Ogham" }, + ["olchiki"] = { first = 0x01C50, last = 0x01C7F, description = "Ol Chiki" }, + ["olditalic"] = { first = 0x10300, last = 0x1032F, otf="ital", description = "Old Italic" }, + ["oldpersian"] = { first = 0x103A0, last = 0x103DF, otf="xpeo", description = "Old Persian" }, + ["oldsoutharabian"] = { first = 0x10A60, last = 0x10A7F, description = "Old South Arabian" }, + ["odlturkic"] = { first = 0x10C00, last = 0x10C4F, description = "Old Turkic" }, + ["opticalcharacterrecognition"] = { first = 0x02440, last = 0x0245F, description = "Optical Character Recognition" }, + ["oriya"] = { first = 0x00B00, last = 0x00B7F, otf="orya", description = "Oriya" }, + ["osmanya"] = { first = 0x10480, last = 0x104AF, otf="osma", description = "Osmanya" }, + ["phagspa"] = { first = 0x0A840, last = 0x0A87F, otf="phag", description = "Phags-pa" }, + ["phaistosdisc"] = { first = 0x101D0, last = 0x101FF, description = "Phaistos Disc" }, + ["phoenician"] = { first = 0x10900, last = 0x1091F, otf="phnx", description = "Phoenician" }, + ["phoneticextensions"] = { first = 0x01D00, last = 0x01D7F, description = "Phonetic Extensions" }, + ["phoneticextensionssupplement"] = { first = 0x01D80, last = 0x01DBF, description = "Phonetic Extensions Supplement" }, + ["playingcards"] = { first = 0x1F0A0, last = 0x1F0FF, description = "Playing Cards" }, + ["privateusearea"] = { first = 0x0E000, last = 0x0F8FF, description = "Private Use Area" }, + ["rejang"] = { first = 0x0A930, last = 0x0A95F, description = "Rejang" }, + ["ruminumeralsymbols"] = { first = 0x10E60, last = 0x10E7F, description = "Rumi Numeral Symbols" }, + ["runic"] = { first = 0x016A0, last = 0x016FF, otf="runr", description = "Runic" }, + ["samaritan"] = { first = 0x00800, last = 0x0083F, description = "Samaritan" }, + ["saurashtra"] = { first = 0x0A880, last = 0x0A8DF, description = "Saurashtra" }, + ["sharada"] = { first = 0x11180, last = 0x111DF, description = "Sharada" }, + ["shavian"] = { first = 0x10450, last = 0x1047F, otf="shaw", description = "Shavian" }, + ["sinhala"] = { first = 0x00D80, last = 0x00DFF, otf="sinh", description = "Sinhala" }, + ["smallformvariants"] = { first = 0x0FE50, last = 0x0FE6F, description = "Small Form Variants" }, + ["sorasompeng"] = { first = 0x110D0, last = 0x110FF, description = "Sora Sompeng" }, + ["spacingmodifierletters"] = { first = 0x002B0, last = 0x002FF, description = "Spacing Modifier Letters" }, + ["specials"] = { first = 0x0FFF0, last = 0x0FFFF, description = "Specials" }, + ["sundanese"] = { first = 0x01B80, last = 0x01BBF, description = "Sundanese" }, + ["sundanesesupplement"] = { first = 0x01CC0, last = 0x01CCF, description = "Sundanese Supplement" }, + ["superscriptsandsubscripts"] = { first = 0x02070, last = 0x0209F, description = "Superscripts and Subscripts" }, + ["supplementalarrowsa"] = { first = 0x027F0, last = 0x027FF, description = "Supplemental Arrows-A" }, + ["supplementalarrowsb"] = { first = 0x02900, last = 0x0297F, description = "Supplemental Arrows-B" }, + ["supplementalmathematicaloperators"] = { first = 0x02A00, last = 0x02AFF, description = "Supplemental Mathematical Operators" }, + ["supplementalpunctuation"] = { first = 0x02E00, last = 0x02E7F, description = "Supplemental Punctuation" }, + ["supplementaryprivateuseareaa"] = { first = 0xF0000, last = 0xFFFFF, description = "Supplementary Private Use Area-A" }, + ["supplementaryprivateuseareab"] = { first = 0x100000,last = 0x10FFFF, description = "Supplementary Private Use Area-B" }, + ["sylotinagri"] = { first = 0x0A800, last = 0x0A82F, otf="sylo", description = "Syloti Nagri" }, + ["syriac"] = { first = 0x00700, last = 0x0074F, otf="syrc", description = "Syriac" }, + ["tagalog"] = { first = 0x01700, last = 0x0171F, otf="tglg", description = "Tagalog" }, + ["tagbanwa"] = { first = 0x01760, last = 0x0177F, otf="tagb", description = "Tagbanwa" }, + ["tags"] = { first = 0xE0000, last = 0xE007F, description = "Tags" }, + ["taile"] = { first = 0x01950, last = 0x0197F, otf="tale", description = "Tai Le" }, + ["taitham"] = { first = 0x01A20, last = 0x01AAF, description = "Tai Tham" }, + ["taiviet"] = { first = 0x0AA80, last = 0x0AADF, description = "Tai Viet" }, + ["taixuanjingsymbols"] = { first = 0x1D300, last = 0x1D35F, description = "Tai Xuan Jing Symbols" }, + ["takri"] = { first = 0x11680, last = 0x116CF, description = "Takri" }, + ["tamil"] = { first = 0x00B80, last = 0x00BFF, otf="taml", description = "Tamil" }, + ["telugu"] = { first = 0x00C00, last = 0x00C7F, otf="telu", description = "Telugu" }, + ["thaana"] = { first = 0x00780, last = 0x007BF, otf="thaa", description = "Thaana" }, + ["thai"] = { first = 0x00E00, last = 0x00E7F, otf="thai", description = "Thai" }, + ["tibetan"] = { first = 0x00F00, last = 0x00FFF, otf="tibt", description = "Tibetan" }, + ["tifinagh"] = { first = 0x02D30, last = 0x02D7F, otf="tfng", description = "Tifinagh" }, + ["transportandmapsymbols"] = { first = 0x1F680, last = 0x1F6FF, description = "Transport And Map Symbols" }, + ["ugaritic"] = { first = 0x10380, last = 0x1039F, otf="ugar", description = "Ugaritic" }, + ["unifiedcanadianaboriginalsyllabics"] = { first = 0x01400, last = 0x0167F, otf="cans", description = "Unified Canadian Aboriginal Syllabics" }, + ["unifiedcanadianaboriginalsyllabicsextended"] = { first = 0x018B0, last = 0x018FF, description = "Unified Canadian Aboriginal Syllabics Extended" }, + ["vai"] = { first = 0x0A500, last = 0x0A63F, description = "Vai" }, + ["variationselectors"] = { first = 0x0FE00, last = 0x0FE0F, description = "Variation Selectors" }, + ["variationselectorssupplement"] = { first = 0xE0100, last = 0xE01EF, description = "Variation Selectors Supplement" }, + ["vedicextensions"] = { first = 0x01CD0, last = 0x01CFF, description = "Vedic Extensions" }, + ["verticalforms"] = { first = 0x0FE10, last = 0x0FE1F, description = "Vertical Forms" }, + ["yijinghexagramsymbols"] = { first = 0x04DC0, last = 0x04DFF, otf="yi", description = "Yijing Hexagram Symbols" }, + ["yiradicals"] = { first = 0x0A490, last = 0x0A4CF, otf="yi", description = "Yi Radicals" }, + ["yisyllables"] = { first = 0x0A000, last = 0x0A48F, otf="yi", description = "Yi Syllables" }, } characters.blocks = blocks +function characters.blockrange(name) + local b = blocks[name] + if b then + return b.first, b.last + else + return 0, 0 + end +end + setmetatableindex(blocks, function(t,k) -- we could use an intermediate table if called often return k and rawget(t,lower(gsub(k,"[^a-zA-Z]",""))) end) diff --git a/tex/context/base/chem-str.lua b/tex/context/base/chem-str.lua index d497007b2..577de4c58 100644 --- a/tex/context/base/chem-str.lua +++ b/tex/context/base/chem-str.lua @@ -215,10 +215,10 @@ local syntax = { sixfront = { max = 6, keys = front_keys, }, chair = { max = 6, keys = front_keys, }, boat = { max = 6, keys = front_keys, }, - pb = { direct = formatters['chem_pb;'] }, - pe = { direct = formatters['chem_pe;'] }, - save = { direct = formatters['chem_save;'] }, - restore = { direct = formatters['chem_restore;'] }, + pb = { direct = 'chem_pb;' }, + pe = { direct = 'chem_pe;' }, + save = { direct = 'chem_save;' }, + restore = { direct = 'chem_restore;' }, chem = { direct = formatters['chem_symbol("\\chemicaltext{%s}");'], arguments = 1 }, space = { direct = formatters['chem_symbol("\\chemicalsymbol[space]");'] }, plus = { direct = formatters['chem_symbol("\\chemicalsymbol[plus]");'] }, @@ -228,7 +228,7 @@ local syntax = { mesomeric = { direct = formatters['chem_symbol("\\chemicalsymbol[mesomeric]{%s}{%s}");'], arguments = 2 }, opencomplex = { direct = formatters['chem_symbol("\\chemicalsymbol[opencomplex]");'] }, closecomplex = { direct = formatters['chem_symbol("\\chemicalsymbol[closecomplex]");'] }, - reset = { direct = formatters['chem_reset;'] }, + reset = { direct = 'chem_reset;' }, mp = { direct = formatters['%s'], arguments = 1 }, -- backdoor MP code - dangerous! } @@ -312,11 +312,11 @@ local pattern = -- print(lpegmatch(pattern,"RZ1..3=x")) -- 1 RZ 1 3 false x -- print(lpegmatch(pattern,"RZ13=x")) -- 1 RZ false false table x -local f_initialize = formatters['if unknown context_chem : input mp-chem.mpiv ; fi ;'] -local f_start_structure = formatters['chem_start_structure(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);'] -local f_stop_structure = formatters['chem_stop_structure;'] -local f_start_component = formatters['chem_start_component;'] -local f_stop_component = formatters['chem_stop_component;'] +local f_initialize = 'if unknown context_chem : input mp-chem.mpiv ; fi ;' +local f_start_structure = formatters['chem_start_structure(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);'] +local f_stop_structure = 'chem_stop_structure;' +local f_start_component = 'chem_start_component;' +local f_stop_component = 'chem_stop_component;' local f_line = formatters['chem_%s%s(%s,%s,%s,%s,%s);'] local f_set = formatters['chem_set(%s);'] local f_number = formatters['chem_%s%s(%s,%s,"\\chemicaltext{%s}");'] @@ -408,7 +408,7 @@ local function process(level,spec,text,n,rulethickness,rulecolor,offset,default_ variant = remove(pstack) local ss = syntax[variant] keys, max = ss.keys, ss.max - m = m + 1 ; metacode[m] = syntax[operation].direct + m = m + 1 ; metacode[m] = syntax.pe.direct m = m + 1 ; metacode[m] = f_set(variant) current_variant = variant elseif operation == "save" then @@ -418,7 +418,7 @@ local function process(level,spec,text,n,rulethickness,rulecolor,offset,default_ variant = remove(sstack) local ss = syntax[variant] keys, max = ss.keys, ss.max - m = m + 1 ; metacode[m] = syntax[operation].direct + m = m + 1 ; metacode[m] = syntax.restore.direct m = m + 1 ; metacode[m] = f_set(variant) current_variant = variant elseif operation then @@ -631,62 +631,97 @@ function chemistry.start(settings) scale = .01 end end - if width == v_fit then - width = true - else - width = tonumber(width) or 0 - if width >= 10 then - width = width / 1000 + -- + if width ~= v_fit then + if tonumber(width) then + width = tonumber(width) + if width >= 10 or width <= -10 then + width = width / 1000 + end + else + width = v_fit end - if l == 0 then - if r == 0 then - l = width == 0 and 2 or width/2 - r = l - elseif width ~= 0 then - if r > 10 or r < -10 then - r = r / 1000 - end - l = width - r + end + if r ~= v_fit then + if tonumber(r) then + r = tonumber(r) + if r >= 10 or r <= -10 then + r = r / 1000 end - elseif r == 0 and width ~= 0 then - if l > 10 or l < -10 then + else + r = v_fit + end + end + if l ~= v_fit then + if tonumber(l) then + l = tonumber(l) + if l >= 10 or l <= -10 then l = l / 1000 end - r = width - l + else + l = v_fit end - width = false end - if height == v_fit then - height = true - else - height = tonumber(height) or 0 - if height >= 10 then - height = height / 1000 + if width ~= v_fit and r == v_fit and l == v_fit then + l = width/2 + r = width/2 + elseif r == v_fit and l ~= v_fit and width ~= v_fit then + r = width - l -- left and width are specified, but not right + elseif l == v_fit and r ~= v_fit and width ~= v_fit then + l = width - r -- right and width are specified, but not left + end + -- setting both left and right overrides width (width is no longer needed) + if l == v_fit then l = "true" end + if r == v_fit then r = "true" end + -- + if height ~= v_fit then + if tonumber(height) then + height = tonumber(height) + if height >= 10 or height <= -10 then + height = height / 1000 + end + else + height = v_fit end - if t == 0 then - if b == 0 then - t = height == 0 and 2 or height/2 - b = t - elseif height ~= 0 then - if b > 10 or b < -10 then - b = b / 1000 - end - t = height - b + end + if b ~= v_fit then + if tonumber(b) then + b = tonumber(b) + if b >= 10 or b <= -10 then + b = b / 1000 end - elseif b == 0 and height ~= 0 then - if t > 10 or t < -10 then + else + b = v_fit + end + end + if t ~= v_fit then + if tonumber(t) then + t = tonumber(t) + if t >= 10 or t <= -10 then t = t / 1000 end - b = height - t + else + t = v_fit end - height = false end + if height ~= v_fit and b == v_fit and t == v_fit then + b = height/2 + t = height/2 + elseif b == v_fit and t ~= v_fit and height ~= v_fit then + b = height - t -- top and height are specified, but not bottom + elseif t == v_fit and b ~= v_fit and height ~= v_fit then + t = height - b -- bottom and height are specified, but not top + end + -- setting both top and bottom overrides height (height is no longer needed) + if b == v_fit then b = "true" end + if t == v_fit then t = "true" end + -- rotation = tonumber(rotation) or 0 -- metacode[#metacode+1] = f_start_structure( chemistry.structures, l, r, t, b, scale, rotation, - tostring(width), tostring(height), tostring(emwidth), tostring(offset), + tostring(emwidth), tostring(offset), tostring(settings.axis == v_on), tostring(rulethickness), tostring(axiscolor) ) -- @@ -694,7 +729,7 @@ function chemistry.start(settings) end function chemistry.stop() - metacode[#metacode+1] = f_stop_structure() + metacode[#metacode+1] = f_stop_structure local mpcode = concat(metacode,"\n") if trace_metapost then report_chemistry("metapost code:\n%s", mpcode) @@ -706,7 +741,7 @@ function chemistry.stop() instance = chemistry.instance, format = chemistry.format, data = mpcode, - definitions = f_initialize and f_initialize(), + definitions = f_initialize, } t_initialize = "" metacode = nil @@ -717,9 +752,9 @@ function chemistry.component(spec,text,settings) local spec = settings_to_array_with_repeat(spec,true) -- no lower? local text = settings_to_array_with_repeat(text,true) -- inspect(spec) - metacode[#metacode+1] = f_start_component() + metacode[#metacode+1] = f_start_component process(1,spec,text,1,rulethickness,rulecolor) -- offset? - metacode[#metacode+1] = f_stop_component() + metacode[#metacode+1] = f_stop_component end statistics.register("chemical formulas", function() diff --git a/tex/context/base/chem-str.mkiv b/tex/context/base/chem-str.mkiv index efd1e6547..1c1771df1 100644 --- a/tex/context/base/chem-str.mkiv +++ b/tex/context/base/chem-str.mkiv @@ -64,7 +64,10 @@ \defineMPinstance [chemistry] - [\s!format=metafun] + [\s!format=metafun, + %\s!extensions=\v!yes, % Should we add extensions and initializations? + %\s!initializations=\v!yes, % Would this give EmWidth, etc.? + ] \startMPdefinitions{chemistry} input mp-chem.mpiv ; @@ -672,10 +675,10 @@ [\c!frame=, \c!width=\v!fit, % or unitless number, multiplies scale*EmWidth \c!height=\v!fit, % or unitless number, multiplies scale*EmWidth - \c!left=0, % unitless number, multiplies scale*EmWidth - \c!right=0, % unitless number, multiplies scale*EmWidth - \c!top=0, % unitless number, multiplies scale*EmWidth - \c!bottom=0, % unitless number, multiplies scale*EmWidth + \c!left=\v!fit, % or unitless number, multiplies scale*EmWidth + \c!right=\v!fit, % or unitless number, multiplies scale*EmWidth + \c!top=\v!fit, % or unitless number, multiplies scale*EmWidth + \c!bottom=\v!fit, % or unitless number, multiplies scale*EmWidth \c!bodyfont=, \c!scale=\v!normal, % small, normal or medium, big, or unitless number (multiplies EmWidth) \c!size=\v!medium, diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 736a547c6..6a6dbf91e 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.03.25 19:07} +\newcontextversion{2013.03.27 00:08} %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/cont-new.mkiv b/tex/context/base/cont-new.mkiv index d26e2f240..2d0a92bcf 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.03.25 19:07} +\newcontextversion{2013.03.27 00:08} %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/context-version.pdf b/tex/context/base/context-version.pdf index c718216c5..f3a672eab 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index 371a30b54..fce350de9 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index a4a3f3f6b..d5c50ef51 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2013.03.25 19:07} +\edef\contextversion{2013.03.27 00:08} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index d31bfa8c0..c99cbf628 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.03.25 19:07} +\edef\contextversion{2013.03.27 00:08} %D For those who want to use this: diff --git a/tex/context/base/font-lib.mkvi b/tex/context/base/font-lib.mkvi index 020abad11..da930da78 100644 --- a/tex/context/base/font-lib.mkvi +++ b/tex/context/base/font-lib.mkvi @@ -37,7 +37,8 @@ \registerctxluafile{font-otf}{1.001} % otf main \registerctxluafile{font-otb}{1.001} % otf main base \registerctxluafile{node-inj}{1.001} % we might split it off -\registerctxluafile{font-ota}{1.001} % otf analyzers +%registerctxluafile{font-ota}{1.001} % otf analyzers +\registerctxluafile{font-otx}{1.001} % otf analyzers \registerctxluafile{font-otn}{1.001} % otf main node \registerctxluafile{font-otd}{1.001} % otf dynamics (does an overload) \registerctxluafile{font-otp}{1.001} % otf pack diff --git a/tex/context/base/font-odv.lua b/tex/context/base/font-odv.lua index cd6b5b9c1..b518fb79c 100644 --- a/tex/context/base/font-odv.lua +++ b/tex/context/base/font-odv.lua @@ -44,6 +44,8 @@ if not modules then modules = { } end modules ['font-odv'] = { -- -- I might go for an array approach with respect to attributes (and reshuffling). Easier. -- +-- Some data will move to char-def.lua (some day). +-- -- Hans Hagen, PRAGMA-ADE, Hasselt NL -- Matras: according to Microsoft typography specifications "up to one of each type: diff --git a/tex/context/base/font-ota.lua b/tex/context/base/font-ota.lua index 5a50e704c..79fcf3fa2 100644 --- a/tex/context/base/font-ota.lua +++ b/tex/context/base/font-ota.lua @@ -194,19 +194,36 @@ registerotffeature { methods.latn = analyzers.setstate --- this info eventually will go into char-def and we will have a state --- table for generic then - -local zwnj = 0x200C -local zwj = 0x200D - -local isol = { +-- This info eventually can go into char-def and we will have a state +-- table for generic then (unicode recognized all states but in practice +-- only has only +-- +-- isolated : isol +-- final : isol_fina +-- medial : isol_fina_medi_init +-- +-- so in practice, without analyzer it's rather useless info which is +-- why having it in char-def makes only sense for special purposes (like) +-- like tracing cq. visualizing. + +local tatweel = 0x0640 +local zwnj = 0x200C +local zwj = 0x200D + +local isolated = { -- isol [0x0600] = true, [0x0601] = true, [0x0602] = true, [0x0603] = true, + [0x0604] = true, [0x0608] = true, [0x060B] = true, [0x0621] = true, [0x0674] = true, - [0x06DD] = true, [zwnj] = true, + [0x06DD] = true, + -- mandaic + [0x0856] = true, [0x0858] = true, [0x0857] = true, + -- n'ko + [0x07FA] = true, + -- also here: + [zwnj] = true, } -local isol_fina = { +local final = { -- isol_fina [0x0622] = true, [0x0623] = true, [0x0624] = true, [0x0625] = true, [0x0627] = true, [0x0629] = true, [0x062F] = true, [0x0630] = true, [0x0631] = true, [0x0632] = true, [0x0648] = true, [0x0671] = true, @@ -222,23 +239,26 @@ local isol_fina = { [0x06D3] = true, [0x06D5] = true, [0x06EE] = true, [0x06EF] = true, [0x0759] = true, [0x075A] = true, [0x075B] = true, [0x076B] = true, [0x076C] = true, [0x0771] = true, [0x0773] = true, [0x0774] = true, - [0x0778] = true, [0x0779] = true, [0xFEF5] = true, [0xFEF7] = true, - [0xFEF9] = true, [0xFEFB] = true, - + [0x0778] = true, [0x0779] = true, + [0x08AA] = true, [0x08AB] = true, [0x08AC] = true, + [0xFEF5] = true, [0xFEF7] = true, [0xFEF9] = true, [0xFEFB] = true, -- syriac - [0x0710] = true, [0x0715] = true, [0x0716] = true, [0x0717] = true, [0x0718] = true, [0x0719] = true, [0x0728] = true, [0x072A] = true, [0x072C] = true, [0x071E] = true, + [0x072F] = true, [0x074D] = true, + -- mandaic + [0x0840] = true, [0x0849] = true, [0x0854] = true, [0x0846] = true, + [0x084F] = true } -local isol_fina_medi_init = { +local medial = { -- isol_fina_medi_init [0x0626] = true, [0x0628] = true, [0x062A] = true, [0x062B] = true, [0x062C] = true, [0x062D] = true, [0x062E] = true, [0x0633] = true, [0x0634] = true, [0x0635] = true, [0x0636] = true, [0x0637] = true, [0x0638] = true, [0x0639] = true, [0x063A] = true, [0x063B] = true, [0x063C] = true, [0x063D] = true, [0x063E] = true, [0x063F] = true, - [0x0640] = true, [0x0641] = true, [0x0642] = true, [0x0643] = true, + [0x0641] = true, [0x0642] = true, [0x0643] = true, [0x0644] = true, [0x0645] = true, [0x0646] = true, [0x0647] = true, [0x0649] = true, [0x064A] = true, [0x066E] = true, [0x066F] = true, [0x0678] = true, [0x0679] = true, [0x067A] = true, [0x067B] = true, @@ -267,18 +287,35 @@ local isol_fina_medi_init = { [0x0772] = true, [0x0775] = true, [0x0776] = true, [0x0777] = true, [0x077A] = true, [0x077B] = true, [0x077C] = true, [0x077D] = true, [0x077E] = true, [0x077F] = true, - + [0x08A0] = true, [0x08A2] = true, [0x08A4] = true, [0x08A5] = true, + [0x08A6] = true, [0x0620] = true, [0x08A8] = true, [0x08A9] = true, + [0x08A7] = true, [0x08A3] = true, -- syriac - [0x0712] = true, [0x0713] = true, [0x0714] = true, [0x071A] = true, [0x071B] = true, [0x071C] = true, [0x071D] = true, [0x071F] = true, [0x0720] = true, [0x0721] = true, [0x0722] = true, [0x0723] = true, [0x0724] = true, [0x0725] = true, [0x0726] = true, [0x0727] = true, - [0x0729] = true, [0x072B] = true, - - -- also - - [zwj] = true, + [0x0729] = true, [0x072B] = true, [0x072D] = true, [0x072E] = true, + [0x074E] = true, [0x074F] = true, + -- mandaic + [0x0841] = true, [0x0842] = true, [0x0843] = true, [0x0844] = true, + [0x0845] = true, [0x0847] = true, [0x0848] = true, [0x0855] = true, + [0x0851] = true, [0x084E] = true, [0x084D] = true, [0x084A] = true, + [0x084B] = true, [0x084C] = true, [0x0850] = true, [0x0852] = true, + [0x0853] = true, + -- n'ko + [0x07D7] = true, [0x07E8] = true, [0x07D9] = true, [0x07EA] = true, + [0x07CA] = true, [0x07DB] = true, [0x07CC] = true, [0x07DD] = true, + [0x07CE] = true, [0x07DF] = true, [0x07D4] = true, [0x07E5] = true, + [0x07E9] = true, [0x07E7] = true, [0x07E3] = true, [0x07E2] = true, + [0x07E0] = true, [0x07E1] = true, [0x07DE] = true, [0x07DC] = true, + [0x07D1] = true, [0x07DA] = true, [0x07D8] = true, [0x07D6] = true, + [0x07D2] = true, [0x07D0] = true, [0x07CF] = true, [0x07CD] = true, + [0x07CB] = true, [0x07D3] = true, [0x07E4] = true, [0x07D5] = true, + [0x07E6] = true, + -- also here: + [tatweel]= true, + [zwj] = true, } local arab_warned = { } @@ -293,11 +330,13 @@ local function warning(current,what) end end +-- potential optimization: local medial_final = table.merged(medial,final) + local function finish(first,last) if last then if first == last then local fc = first.char - if isol_fina_medi_init[fc] or isol_fina[fc] then + if medial[fc] or final[fc] then first[a_state] = s_isol else warning(first,"isol") @@ -305,8 +344,8 @@ local function finish(first,last) end else local lc = last.char - if isol_fina_medi_init[lc] or isol_fina[lc] then -- why isol here ? - -- if laststate == 1 or laststate == 2 or laststate == 4 then + if medial[lc] or final[lc] then + -- if laststate == 1 or laststate == 2 or laststate == 4 then last[a_state] = s_fina else warning(last,"fina") @@ -317,7 +356,7 @@ local function finish(first,last) elseif first then -- first and last are either both set so we never com here local fc = first.char - if isol_fina_medi_init[fc] or isol_fina[fc] then + if medial[fc] or final[fc] then first[a_state] = s_isol else warning(first,"isol") @@ -328,60 +367,67 @@ local function finish(first,last) return first, last end -function methods.arab(head,font,attr) -- maybe make a special version with no trace +function methods.arab(head,font,attr) local useunicodemarks = analyzers.useunicodemarks local tfmdata = fontdata[font] local marks = tfmdata.resources.marks local first, last, current, done = nil, nil, head, false while current do - if current.id == glyph_code and current.font == font and current.subtype<256 and not current[a_state] then + local id = current.id + if id == glyph_code and current.font == font and current.subtype<256 and not current[a_state] then done = true local char = current.char if marks[char] or (useunicodemarks and categories[char] == "mn") then current[a_state] = s_mark - elseif isol[char] then -- can be zwj or zwnj too + elseif isolated[char] then -- can be zwj or zwnj too first, last = finish(first,last) current[a_state] = s_isol first, last = nil, nil elseif not first then - if isol_fina_medi_init[char] then + if medial[char] then current[a_state] = s_init first, last = first or current, current - elseif isol_fina[char] then + elseif final[char] then current[a_state] = s_isol first, last = nil, nil else -- no arab first, last = finish(first,last) end - elseif isol_fina_medi_init[char] then + elseif medial[char] then first, last = first or current, current current[a_state] = s_medi - elseif isol_fina[char] then + elseif final[char] then if not last[a_state] == s_init then -- tricky, we need to check what last may be ! last[a_state] = s_medi end current[a_state] = s_fina first, last = nil, nil - elseif char >= 0x0600 and char <= 0x06FF then + elseif char >= 0x0600 and char <= 0x06FF then -- needs checking current[a_state] = s_rest first, last = finish(first,last) - else --no + else -- no first, last = finish(first,last) end else - first, last = finish(first,last) + if first or last then + first, last = finish(first,last) + end if id == math_code then current = end_of_math(current) end end current = current.next end - first, last = finish(first,last) + if first or last then + finish(first,last) + end return head, done end methods.syrc = methods.arab +methods.mand = methods.arab +methods.nko = methods.arab directives.register("otf.analyze.useunicodemarks",function(v) analyzers.useunicodemarks = v diff --git a/tex/context/base/font-otx.lua b/tex/context/base/font-otx.lua new file mode 100644 index 000000000..8185dcf1e --- /dev/null +++ b/tex/context/base/font-otx.lua @@ -0,0 +1,392 @@ +if not modules then modules = { } end modules ['font-otx'] = { + version = 1.001, + comment = "companion to font-otf.lua (analysing)", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- context only + +local type = type + +if not trackers then trackers = { register = function() end } end + +----- trace_analyzing = false trackers.register("otf.analyzing", function(v) trace_analyzing = v end) + +local fonts, nodes, node = fonts, nodes, node + +local allocate = utilities.storage.allocate + +local otf = fonts.handlers.otf + +local analyzers = fonts.analyzers +local initializers = allocate() +local methods = allocate() + +analyzers.initializers = initializers +analyzers.methods = methods +---------.useunicodemarks = false + +local a_state = attributes.private('state') + +local nodecodes = nodes.nodecodes +local glyph_code = nodecodes.glyph +local math_code = nodecodes.math + +local traverse_id = node.traverse_id +local traverse_node_list = node.traverse +local end_of_math = node.end_of_math + +local fontdata = fonts.hashes.identifiers +local categories = characters and characters.categories or { } -- sorry, only in context +local chardata = characters and characters.data + +local otffeatures = fonts.constructors.newfeatures("otf") +local registerotffeature = otffeatures.register + +--[[ldx-- +

Analyzers run per script and/or language and are needed in order to +process features right.

+--ldx]]-- + +-- never use these numbers directly + +local s_init = 1 local s_rphf = 7 +local s_medi = 2 local s_half = 8 +local s_fina = 3 local s_pref = 9 +local s_isol = 4 local s_blwf = 10 +local s_mark = 5 local s_pstf = 11 +local s_rest = 6 + +local states = { + init = s_init, + medi = s_medi, + fina = s_fina, + isol = s_isol, + mark = s_mark, + rest = s_rest, + rphf = s_rphf, + half = s_half, + pref = s_pref, + blwf = s_blwf, + pstf = s_pstf, +} + +local features = { + init = s_init, + medi = s_medi, + fina = s_fina, + isol = s_isol, + -- mark = s_mark, +} + +analyzers.states = states +analyzers.features = features + +-- todo: analyzers per script/lang, cross font, so we need an font id hash -> script +-- e.g. latin -> hyphenate, arab -> 1/2/3 analyze -- its own namespace + +function analyzers.setstate(head,font) + local useunicodemarks = analyzers.useunicodemarks + local tfmdata = fontdata[font] + local descriptions = tfmdata.descriptions + local first, last, current, n, done = nil, nil, head, 0, false -- maybe make n boolean + while current do + local id = current.id + if id == glyph_code and current.font == font then + done = true + local char = current.char + local d = descriptions[char] + if d then + if d.class == "mark" or (useunicodemarks and categories[char] == "mn") then + done = true + current[a_state] = s_mark + elseif n == 0 then + first, last, n = current, current, 1 + current[a_state] = s_init + else + last, n = current, n+1 + current[a_state] = s_medi + end + else -- finish + if first and first == last then + last[a_state] = s_isol + elseif last then + last[a_state] = s_fina + end + first, last, n = nil, nil, 0 + end + elseif id == disc_code then + -- always in the middle + current[a_state] = s_midi + last = current + else -- finish + if first and first == last then + last[a_state] = s_isol + elseif last then + last[a_state] = s_fina + end + first, last, n = nil, nil, 0 + if id == math_code then + current = end_of_math(current) + end + end + current = current.next + end + if first and first == last then + last[a_state] = s_isol + elseif last then + last[a_state] = s_fina + end + return head, done +end + +-- in the future we will use language/script attributes instead of the +-- font related value, but then we also need dynamic features which is +-- somewhat slower; and .. we need a chain of them + +local function analyzeinitializer(tfmdata,value) -- attr + local script, language = otf.scriptandlanguage(tfmdata) -- attr + local action = initializers[script] + if not action then + -- skip + elseif type(action) == "function" then + return action(tfmdata,value) + else + local action = action[language] + if action then + return action(tfmdata,value) + end + end +end + +local function analyzeprocessor(head,font,attr) + local tfmdata = fontdata[font] + local script, language = otf.scriptandlanguage(tfmdata,attr) + local action = methods[script] + if not action then + -- skip + elseif type(action) == "function" then + return action(head,font,attr) + else + action = action[language] + if action then + return action(head,font,attr) + end + end + return head, false +end + +registerotffeature { + name = "analyze", + description = "analysis of (for instance) character classes", + default = true, + initializers = { + node = analyzeinitializer, + }, + processors = { + position = 1, + node = analyzeprocessor, + } +} + +-- latin + +methods.latn = analyzers.setstate + +local arab_warned = { } + +local function warning(current,what) + local char = current.char + if not arab_warned[char] then + log.report("analyze","arab: character %C has no %a class",char,what) + arab_warned[char] = true + end +end + +local mappers = { + l = s_init, -- left + d = s_medi, -- double + c = s_medi, -- joiner + r = s_fina, -- right + u = s_isol, -- nonjoiner +} + +local classifiers = { } -- we can also use this trick for devanagari + +local first_arabic, last_arabic = characters.blockrange("arabic") +local first_syriac, last_syriac = characters.blockrange("syriac") +local first_mandiac, last_mandiac = characters.blockrange("mandiac") +local first_nko, last_nko = characters.blockrange("nko") + +table.setmetatableindex(classifiers,function(t,k) + local c = chardata[k] + local v = false + if c then + local arabic = c.arabic + if arabic then + v = mappers[arabic] + if not v then + log.report("analyze","error in mapping arabic %C",k) + -- error + v = false + end + elseif k >= first_arabic and k <= last_arabic or k >= first_syriac and k <= last_syriac or + k >= first_mandiac and k <= last_mandiac or k >= first_nko and k <= last_nko then + if categories[k] == "mn" then + v = s_mark + else + v = s_rest + end + else + end + end + t[k] = v + return v +end) + +function methods.arab(head,font,attr) + local first, last = nil, nil + local c_first, c_last = nil, nil + local current, done = head, false + while current do + local id = current.id + if id == glyph_code and current.font == font and current.subtype<256 and not current[a_state] then + done = true + local char = current.char + local classifier = classifiers[char] + if not classifier then + if last then + if c_last == s_medi or c_last == s_fina then + last[a_state] = s_fina + else + warning(last,"fina") + last[a_state] = s_error + end + first, last = nil, nil + elseif first then + if c_first == s_medi or c_first == s_fina then + first[a_state] = s_isol + else + warning(first,"isol") + first[a_state] = s_error + end + first = nil + end + elseif classifier == s_mark then + current[a_state] = s_mark + elseif classifier == s_isol then + if last then + if c_last == s_medi or c_last == s_fina then + last[a_state] = s_fina + else + warning(last,"fina") + last[a_state] = s_error + end + first, last = nil, nil + elseif first then + if c_first == s_medi or c_first == s_fina then + first[a_state] = s_isol + else + warning(first,"isol") + first[a_state] = s_error + end + first = nil + end + current[a_state] = s_isol + elseif classifier == s_medi then + if first then + last = current + c_last = classifier + current[a_state] = s_medi + else + current[a_state] = s_init + first = current + c_first = classifier + end + elseif classifier == s_fina then + if last then + if not last[a_state] == s_init then + last[a_state] = s_medi + end + current[a_state] = s_fina + first, last = nil, nil + elseif first then + if not last[a_state] == s_init then + last[a_state] = s_medi + end + current[a_state] = s_fina + first = nil + else + current[a_state] = s_isol + end + else -- classifier == s_rest + current[a_state] = s_rest + if last then + if c_last == s_medi or c_last == s_fina then + last[a_state] = s_fina + else + warning(last,"fina") + last[a_state] = s_error + end + first, last = nil, nil + elseif first then + if c_first == s_medi or c_first == s_fina then + first[a_state] = s_isol + else + warning(first,"isol") + first[a_state] = s_error + end + first = nil + end + end + else + if last then + if c_last == s_medi or c_last == s_fina then + last[a_state] = s_fina + else + warning(last,"fina") + last[a_state] = s_error + end + first, last = nil, nil + elseif first then + if c_first == s_medi or c_first == s_fina then + first[a_state] = s_isol + else + warning(first,"isol") + first[a_state] = s_error + end + first = nil + end + if id == math_code then -- a bit duplicate as we test for glyphs twice + current = end_of_math(current) + end + end + current = current.next + end + if last then + if c_last == s_medi or c_last == s_fina then + last[a_state] = s_fina + else + warning(last,"fina") + last[a_state] = s_error + end + elseif first then + if c_first == s_medi or c_first == s_fina then + first[a_state] = s_isol + else + warning(first,"isol") + first[a_state] = s_error + end + end + return head, done +end + +methods.syrc = methods.arab +methods.mand = methods.arab +methods.nko = methods.arab + +-- directives.register("otf.analyze.useunicodemarks",function(v) +-- analyzers.useunicodemarks = v +-- end) diff --git a/tex/context/base/lang-lab.lua b/tex/context/base/lang-lab.lua index 311c84e35..91c258418 100644 --- a/tex/context/base/lang-lab.lua +++ b/tex/context/base/lang-lab.lua @@ -129,7 +129,7 @@ function commands.concatcommalist(settings) -- it's too easy to forget that this separator = settings.separator or separator last = settings.last or last end - context(list[1]) + command(list[1]) for i=2,size-1 do context(separator) command(list[i]) diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index dc6aca920..24eaa3366 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -309,7 +309,7 @@ \expandafter\noexpand\csname current#2parent\endcsname \expandafter\noexpand\csname saved_defined_#2\endcsname}} -\unexpanded\def\mult_interfaces_install_setup_handler#1#2#3#4#5#6#7#8% +\unexpanded\def\mult_interfaces_install_setup_handler#1#2#3#4#5#6#7#8#9% {\ifx#3\relax\let#3\empty\fi \unexpanded\def#2{\dodoubleempty#4}% \unexpanded\def#6{\mult_interfaces_get_parameters{#1#3:}}% no every ! don't change it @@ -318,11 +318,11 @@ \unexpanded\def#4[##1][##2]% maybe helper {\let#7#3% \ifsecondargument - \def\mult_interfaces_with_comma_list_element####1% we will have a simple one as well + \def#9####1% we will have a simple one as well {\edef#3{####1}% \mult_interfaces_get_parameters{#1#3:}[##2]% \the#5}% - \processcommalist[##1]\mult_interfaces_with_comma_list_element + \processcommalist[##1]#9% \else \let#3\empty \mult_interfaces_get_parameters{#1:}[##1]% @@ -341,7 +341,8 @@ \expandafter\noexpand\csname everysetup#2\endcsname \expandafter\noexpand\csname setupcurrent#2\endcsname \expandafter\noexpand\csname saved_setup_current#2\endcsname - \expandafter\noexpand\csname everysetup#2root\endcsname}} + \expandafter\noexpand\csname everysetup#2root\endcsname + \expandafter\noexpand\csname nested_setup_current#2\endcsname}} \let\doingrootsetupnamed\plusone % \setuplayout[name][key=value] \let\doingrootsetuproot \plustwo % \setuplayout [key=value] @@ -421,7 +422,7 @@ \expandafter\noexpand\csname everyswitch#2\endcsname \expandafter\noexpand\csname everysetup#2root\endcsname}} -\unexpanded\def\mult_interfaces_install_auto_setup_handler#1#2#3#4#5#6#7#8% +\unexpanded\def\mult_interfaces_install_auto_setup_handler#1#2#3#4#5#6#7#8#9% {\ifx#3\relax\let#3\empty\fi \unexpanded\def#2{\dotripleempty#4}% \unexpanded\def#6{\mult_interfaces_get_parameters{#1#3:}}% @@ -429,19 +430,19 @@ \def#4[##1][##2][##3]% {\let#8#3% \ifthirdargument - \def\mult_interfaces_with_comma_list_element####1% + \def#9####1% {\edef#3{####1}% \expandafter\def\csname#1#3:\s!parent\endcsname{#1##2}% \mult_interfaces_get_parameters{#1#3:}[##3]% always sets parent \the#5}% - \processcommalist[##1]\mult_interfaces_with_comma_list_element + \processcommalist[##1]#9% \else\ifsecondargument - \def\mult_interfaces_with_comma_list_element####1% + \def#9####1% {\edef#3{####1}% #7% checks parent and sets if needed \mult_interfaces_get_parameters{#1#3:}[##2]% \the#5}% - \processcommalist[##1]\mult_interfaces_with_comma_list_element + \processcommalist[##1]#9% \else \let#3\empty \mult_interfaces_get_parameters{#1:}[##1]% @@ -459,7 +460,8 @@ \expandafter\noexpand\csname everysetup#2\endcsname \expandafter\noexpand\csname setupcurrent#2\endcsname \expandafter\noexpand\csname check#2parent\endcsname - \expandafter\noexpand\csname saved_setup_current#2\endcsname}} + \expandafter\noexpand\csname saved_setup_current#2\endcsname + \expandafter\noexpand\csname nested_setup_current#2\endcsname}} \unexpanded\def\installbasicparameterhandler#1#2% {\installparameterhandler {#1}{#2}% diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 3076cbaee..feec7ec20 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 74f9b00a3..500fe64d5 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/trac-xml.lua b/tex/context/base/trac-xml.lua index 7dd3969ef..3301b4137 100644 --- a/tex/context/base/trac-xml.lua +++ b/tex/context/base/trac-xml.lua @@ -132,8 +132,6 @@ function reporters.help(t,...) end end -local exporters = logs.exporters - function reporters.export(t,method,filename) if not xmlfound(t) then return exporthelp(t) @@ -144,6 +142,8 @@ function reporters.export(t,method,filename) if not filename or filename == "" then filename = environment.files[1] end + dofile(resolvers.findfile("trac-exp.lua","tex")) + local exporters = logs.exporters if not exporters or not method then return exporthelp(t) end @@ -158,7 +158,6 @@ function reporters.export(t,method,filename) t.report("export file %a will not be saved on the current path (safeguard)",filename) return end - dofile(resolvers.findfile("trac-exp.lua","tex")) for i=1,#method do local m = method[i] local result = exporters[m](t,m) diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index eccb4cc6c..3bb577b58 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 : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 03/25/13 19:07:29 +-- merge date : 03/27/13 00:08:57 do -- begin closure to overcome local limits and interference @@ -8077,14 +8077,19 @@ registerotffeature { } } methods.latn=analyzers.setstate +local tatweel=0x0640 local zwnj=0x200C local zwj=0x200D -local isol={ +local isolated={ [0x0600]=true,[0x0601]=true,[0x0602]=true,[0x0603]=true, + [0x0604]=true, [0x0608]=true,[0x060B]=true,[0x0621]=true,[0x0674]=true, - [0x06DD]=true,[zwnj]=true, + [0x06DD]=true, + [0x0856]=true,[0x0858]=true,[0x0857]=true, + [0x07FA]=true, + [zwnj]=true, } -local isol_fina={ +local final={ [0x0622]=true,[0x0623]=true,[0x0624]=true,[0x0625]=true, [0x0627]=true,[0x0629]=true,[0x062F]=true,[0x0630]=true, [0x0631]=true,[0x0632]=true,[0x0648]=true,[0x0671]=true, @@ -8100,19 +8105,23 @@ local isol_fina={ [0x06D3]=true,[0x06D5]=true,[0x06EE]=true,[0x06EF]=true, [0x0759]=true,[0x075A]=true,[0x075B]=true,[0x076B]=true, [0x076C]=true,[0x0771]=true,[0x0773]=true,[0x0774]=true, - [0x0778]=true,[0x0779]=true,[0xFEF5]=true,[0xFEF7]=true, - [0xFEF9]=true,[0xFEFB]=true, + [0x0778]=true,[0x0779]=true, + [0x08AA]=true,[0x08AB]=true,[0x08AC]=true, + [0xFEF5]=true,[0xFEF7]=true,[0xFEF9]=true,[0xFEFB]=true, [0x0710]=true,[0x0715]=true,[0x0716]=true,[0x0717]=true, [0x0718]=true,[0x0719]=true,[0x0728]=true,[0x072A]=true, [0x072C]=true,[0x071E]=true, + [0x072F]=true,[0x074D]=true, + [0x0840]=true,[0x0849]=true,[0x0854]=true,[0x0846]=true, + [0x084F]=true } -local isol_fina_medi_init={ +local medial={ [0x0626]=true,[0x0628]=true,[0x062A]=true,[0x062B]=true, [0x062C]=true,[0x062D]=true,[0x062E]=true,[0x0633]=true, [0x0634]=true,[0x0635]=true,[0x0636]=true,[0x0637]=true, [0x0638]=true,[0x0639]=true,[0x063A]=true,[0x063B]=true, [0x063C]=true,[0x063D]=true,[0x063E]=true,[0x063F]=true, - [0x0640]=true,[0x0641]=true,[0x0642]=true,[0x0643]=true, + [0x0641]=true,[0x0642]=true,[0x0643]=true, [0x0644]=true,[0x0645]=true,[0x0646]=true,[0x0647]=true, [0x0649]=true,[0x064A]=true,[0x066E]=true,[0x066F]=true, [0x0678]=true,[0x0679]=true,[0x067A]=true,[0x067B]=true, @@ -8141,11 +8150,30 @@ local isol_fina_medi_init={ [0x0772]=true,[0x0775]=true,[0x0776]=true,[0x0777]=true, [0x077A]=true,[0x077B]=true,[0x077C]=true,[0x077D]=true, [0x077E]=true,[0x077F]=true, + [0x08A0]=true,[0x08A2]=true,[0x08A4]=true,[0x08A5]=true, + [0x08A6]=true,[0x0620]=true,[0x08A8]=true,[0x08A9]=true, + [0x08A7]=true,[0x08A3]=true, [0x0712]=true,[0x0713]=true,[0x0714]=true,[0x071A]=true, [0x071B]=true,[0x071C]=true,[0x071D]=true,[0x071F]=true, [0x0720]=true,[0x0721]=true,[0x0722]=true,[0x0723]=true, [0x0724]=true,[0x0725]=true,[0x0726]=true,[0x0727]=true, - [0x0729]=true,[0x072B]=true, + [0x0729]=true,[0x072B]=true,[0x072D]=true,[0x072E]=true, + [0x074E]=true,[0x074F]=true, + [0x0841]=true,[0x0842]=true,[0x0843]=true,[0x0844]=true, + [0x0845]=true,[0x0847]=true,[0x0848]=true,[0x0855]=true, + [0x0851]=true,[0x084E]=true,[0x084D]=true,[0x084A]=true, + [0x084B]=true,[0x084C]=true,[0x0850]=true,[0x0852]=true, + [0x0853]=true, + [0x07D7]=true,[0x07E8]=true,[0x07D9]=true,[0x07EA]=true, + [0x07CA]=true,[0x07DB]=true,[0x07CC]=true,[0x07DD]=true, + [0x07CE]=true,[0x07DF]=true,[0x07D4]=true,[0x07E5]=true, + [0x07E9]=true,[0x07E7]=true,[0x07E3]=true,[0x07E2]=true, + [0x07E0]=true,[0x07E1]=true,[0x07DE]=true,[0x07DC]=true, + [0x07D1]=true,[0x07DA]=true,[0x07D8]=true,[0x07D6]=true, + [0x07D2]=true,[0x07D0]=true,[0x07CF]=true,[0x07CD]=true, + [0x07CB]=true,[0x07D3]=true,[0x07E4]=true,[0x07D5]=true, + [0x07E6]=true, + [tatweel]=true, [zwj]=true, } local arab_warned={} @@ -8160,7 +8188,7 @@ local function finish(first,last) if last then if first==last then local fc=first.char - if isol_fina_medi_init[fc] or isol_fina[fc] then + if medial[fc] or final[fc] then first[a_state]=s_isol else warning(first,"isol") @@ -8168,7 +8196,7 @@ local function finish(first,last) end else local lc=last.char - if isol_fina_medi_init[lc] or isol_fina[lc] then + if medial[lc] or final[lc] then last[a_state]=s_fina else warning(last,"fina") @@ -8178,7 +8206,7 @@ local function finish(first,last) first,last=nil,nil elseif first then local fc=first.char - if isol_fina_medi_init[fc] or isol_fina[fc] then + if medial[fc] or final[fc] then first[a_state]=s_isol else warning(first,"isol") @@ -8188,58 +8216,65 @@ local function finish(first,last) end return first,last end -function methods.arab(head,font,attr) +function methods.arab(head,font,attr) local useunicodemarks=analyzers.useunicodemarks local tfmdata=fontdata[font] local marks=tfmdata.resources.marks local first,last,current,done=nil,nil,head,false while current do - if current.id==glyph_code and current.font==font and current.subtype<256 and not current[a_state] then + local id=current.id + if id==glyph_code and current.font==font and current.subtype<256 and not current[a_state] then done=true local char=current.char if marks[char] or (useunicodemarks and categories[char]=="mn") then current[a_state]=s_mark - elseif isol[char] then + elseif isolated[char] then first,last=finish(first,last) current[a_state]=s_isol first,last=nil,nil elseif not first then - if isol_fina_medi_init[char] then + if medial[char] then current[a_state]=s_init first,last=first or current,current - elseif isol_fina[char] then + elseif final[char] then current[a_state]=s_isol first,last=nil,nil else first,last=finish(first,last) end - elseif isol_fina_medi_init[char] then + elseif medial[char] then first,last=first or current,current current[a_state]=s_medi - elseif isol_fina[char] then + elseif final[char] then if not last[a_state]==s_init then last[a_state]=s_medi end current[a_state]=s_fina first,last=nil,nil - elseif char>=0x0600 and char<=0x06FF then + elseif char>=0x0600 and char<=0x06FF then current[a_state]=s_rest first,last=finish(first,last) else first,last=finish(first,last) end else - first,last=finish(first,last) + if first or last then + first,last=finish(first,last) + end if id==math_code then current=end_of_math(current) end end current=current.next end - first,last=finish(first,last) + if first or last then + finish(first,last) + end return head,done end methods.syrc=methods.arab +methods.mand=methods.arab +methods.nko=methods.arab directives.register("otf.analyze.useunicodemarks",function(v) analyzers.useunicodemarks=v end) diff --git a/tex/generic/context/luatex/luatex-fonts.lua b/tex/generic/context/luatex/luatex-fonts.lua index 15fec308d..fc7b7899d 100644 --- a/tex/generic/context/luatex/luatex-fonts.lua +++ b/tex/generic/context/luatex/luatex-fonts.lua @@ -171,6 +171,9 @@ else -- The font database file (if used at all) must be put someplace visible for kpse and is not shared -- with context. The mtx-fonts script can be used to genate this file (using the --names option). + -- in 2013/14 we will merge/move some generic files into luatex-fonts-* files (copies) so that + -- intermediate updates of context not interfere + loadmodule('font-ini.lua') loadmodule('font-con.lua') loadmodule('luatex-fonts-enc.lua') -- will load font-age on demand -- cgit v1.2.3