diff options
Diffstat (limited to 'tex')
61 files changed, 648 insertions, 2289 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 073cf0ee3..3da2e7b89 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii index 07408b328..40dbeb227 100644 --- a/tex/context/base/mkii/mult-de.mkii +++ b/tex/context/base/mkii/mult-de.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{jede} \setinterfacevariable{edge}{kante} +\setinterfacevariable{eight}{acht} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{leer} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{naechsteungeradeseite} \setinterfacevariable{nextpage}{folgendeseite} \setinterfacevariable{nextsubpage}{folgendeunterseite} +\setinterfacevariable{nine}{neun} \setinterfacevariable{no}{nein} \setinterfacevariable{nocheck}{nocheck} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{kleinerabstand} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{sieben} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{einzelseitig} +\setinterfacevariable{six}{sechs} \setinterfacevariable{slanted}{geneigt} \setinterfacevariable{slantedbold}{geneigtfett} \setinterfacevariable{small}{klein} diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii index 79b086342..e338d1b32 100644 --- a/tex/context/base/mkii/mult-en.mkii +++ b/tex/context/base/mkii/mult-en.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{each} \setinterfacevariable{edge}{edge} +\setinterfacevariable{eight}{eight} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{empty} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{nextoddpage} \setinterfacevariable{nextpage}{nextpage} \setinterfacevariable{nextsubpage}{nextsubpage} +\setinterfacevariable{nine}{nine} \setinterfacevariable{no}{no} \setinterfacevariable{nocheck}{nocheck} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{serried} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{singlesided} +\setinterfacevariable{six}{six} \setinterfacevariable{slanted}{slanted} \setinterfacevariable{slantedbold}{slantedbold} \setinterfacevariable{small}{small} diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii index f4763a12d..fca13870e 100644 --- a/tex/context/base/mkii/mult-fr.mkii +++ b/tex/context/base/mkii/mult-fr.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{chaque} \setinterfacevariable{edge}{bord} +\setinterfacevariable{eight}{eight} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{vide} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{pageimpairesuivante} \setinterfacevariable{nextpage}{pagesuivante} \setinterfacevariable{nextsubpage}{souspagesuivante} +\setinterfacevariable{nine}{nine} \setinterfacevariable{no}{non} \setinterfacevariable{nocheck}{nonverifie} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{serried} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{recto} +\setinterfacevariable{six}{six} \setinterfacevariable{slanted}{incline} \setinterfacevariable{slantedbold}{grasincline} \setinterfacevariable{small}{petit} diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii index e456eaf78..80efe3b52 100644 --- a/tex/context/base/mkii/mult-it.mkii +++ b/tex/context/base/mkii/mult-it.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{ogni} \setinterfacevariable{edge}{bordo} +\setinterfacevariable{eight}{eight} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{vuoto} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{paginadisparisuccessiva} \setinterfacevariable{nextpage}{paginasuccessiva} \setinterfacevariable{nextsubpage}{sottopaginasuccessiva} +\setinterfacevariable{nine}{nine} \setinterfacevariable{no}{no} \setinterfacevariable{nocheck}{nocheck} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{vicino} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{facciasingola} +\setinterfacevariable{six}{six} \setinterfacevariable{slanted}{inclinato} \setinterfacevariable{slantedbold}{inclinatograssetto} \setinterfacevariable{small}{piccolo} diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii index 432d453ed..2c079a051 100644 --- a/tex/context/base/mkii/mult-nl.mkii +++ b/tex/context/base/mkii/mult-nl.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{omlaag} \setinterfacevariable{each}{elk} \setinterfacevariable{edge}{rand} +\setinterfacevariable{eight}{acht} \setinterfacevariable{embed}{sluitin} \setinterfacevariable{empty}{leeg} \setinterfacevariable{end}{eind} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{volgendeonevenpagina} \setinterfacevariable{nextpage}{volgendepagina} \setinterfacevariable{nextsubpage}{volgendesubpagina} +\setinterfacevariable{nine}{negen} \setinterfacevariable{no}{nee} \setinterfacevariable{nocheck}{geencontrole} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{aanelkaar} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{zeven} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{enkelzijdig} +\setinterfacevariable{six}{zes} \setinterfacevariable{slanted}{schuin} \setinterfacevariable{slantedbold}{schuinvet} \setinterfacevariable{small}{klein} diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii index c6f7e5b3c..0b84cf465 100644 --- a/tex/context/base/mkii/mult-pe.mkii +++ b/tex/context/base/mkii/mult-pe.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{هر} \setinterfacevariable{edge}{لبه} +\setinterfacevariable{eight}{eight} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{تهی} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{صفحهفردبعدی} \setinterfacevariable{nextpage}{صفحهبعدی} \setinterfacevariable{nextsubpage}{زیرصفحهبعدی} +\setinterfacevariable{nine}{nine} \setinterfacevariable{no}{نه} \setinterfacevariable{nocheck}{بدونبررسی} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{تنگهم} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} \setinterfacevariable{sheet}{ورقه} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{یکرو} +\setinterfacevariable{six}{six} \setinterfacevariable{slanted}{خوابیده} \setinterfacevariable{slantedbold}{مشکیخوابیده} \setinterfacevariable{small}{کوچک} diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii index 668a9c8e4..fa3e0f1af 100644 --- a/tex/context/base/mkii/mult-ro.mkii +++ b/tex/context/base/mkii/mult-ro.mkii @@ -167,6 +167,7 @@ \setinterfacevariable{down}{down} \setinterfacevariable{each}{fiecare} \setinterfacevariable{edge}{bordura} +\setinterfacevariable{eight}{eight} \setinterfacevariable{embed}{embed} \setinterfacevariable{empty}{gol} \setinterfacevariable{end}{end} @@ -354,6 +355,7 @@ \setinterfacevariable{nextoddpage}{paginaimparaurmatoarea} \setinterfacevariable{nextpage}{paginaurmatoare} \setinterfacevariable{nextsubpage}{urmatoareasubpagina} +\setinterfacevariable{nine}{nine} \setinterfacevariable{no}{nu} \setinterfacevariable{nocheck}{nocheck} \setinterfacevariable{nodepth}{nodepth} @@ -470,6 +472,7 @@ \setinterfacevariable{serifnormal}{serifnormal} \setinterfacevariable{serried}{serried} \setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} \setinterfacevariable{sheet}{sheet} \setinterfacevariable{shiftdown}{shiftdown} \setinterfacevariable{shiftup}{shiftup} @@ -477,6 +480,7 @@ \setinterfacevariable{simplefonts}{simplefonts} \setinterfacevariable{simplelist}{simplelist} \setinterfacevariable{singlesided}{ofata} +\setinterfacevariable{six}{six} \setinterfacevariable{slanted}{inclinat} \setinterfacevariable{slantedbold}{inclinataldin} \setinterfacevariable{small}{mic} diff --git a/tex/context/base/mkiv/char-cjk.lua b/tex/context/base/mkiv/char-cjk.lua index 42fb49555..9d6b28a60 100644 --- a/tex/context/base/mkiv/char-cjk.lua +++ b/tex/context/base/mkiv/char-cjk.lua @@ -261,7 +261,7 @@ function characters.remap_hangul_syllabe(t) end end -local hangul_syllable_extender = function(k,v) +local hangul_syllable_extender = function(k) local t = { unicodeslot = k, } @@ -270,6 +270,7 @@ local hangul_syllable_extender = function(k,v) end local hangul_syllable_range = { + name = "hangul", first = 0xAC00, last = 0xD7A3, extender = hangul_syllable_extender, @@ -1207,7 +1208,7 @@ local variants = setmetatableindex(function(t,k) return kv end) -local cjk_ideograph_extender = function(k,v) +local cjk_ideograph_extender = function(k) local t = { -- shcode = shcode, unicodeslot = k, @@ -1218,6 +1219,7 @@ local cjk_ideograph_extender = function(k,v) end local cjk_ideograph_range = { + name = "cjk ideograph", first = 0x4E00, last = 0x9FBB, extender = cjk_ideograph_extender, @@ -1235,7 +1237,7 @@ local cjk_ideograph_extension_a_metatable = { } } -local cjk_ideograph_extension_a_extender = function(k,v) +local cjk_ideograph_extension_a_extender = function(k) local t = { -- shcode = shcode, unicodeslot = k, @@ -1246,6 +1248,7 @@ local cjk_ideograph_extension_a_extender = function(k,v) end local cjk_ideograph_extension_a_range = { + name = "cjk ideograph extension a", first = 0x3400, last = 0x4DB5, extender = cjk_ideograph_extension_a_extender, @@ -1263,7 +1266,7 @@ local cjk_ideograph_extension_b_metatable = { } } -local cjk_ideograph_extension_b_extender = function(k,v) +local cjk_ideograph_extension_b_extender = function(k) local t = { -- shcode = shcode, unicodeslot = k, @@ -1274,6 +1277,7 @@ local cjk_ideograph_extension_b_extender = function(k,v) end local cjk_ideograph_extension_b_range = { + name = "cjk ideograph extension b", first = 0x20000, last = 0x2A6D6, extender = cjk_ideograph_extension_b_extender, diff --git a/tex/context/base/mkiv/char-def.lua b/tex/context/base/mkiv/char-def.lua index 26c9c9e8c..0ca2fb18c 100644 --- a/tex/context/base/mkiv/char-def.lua +++ b/tex/context/base/mkiv/char-def.lua @@ -131587,134 +131587,6 @@ characters.data={ linebreak="al", unicodeslot=0xFDFD, }, - [0xFE00]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0001", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE00, - }, - [0xFE01]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0002", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE01, - }, - [0xFE02]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0003", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE02, - }, - [0xFE03]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0004", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE03, - }, - [0xFE04]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0005", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE04, - }, - [0xFE05]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0006", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE05, - }, - [0xFE06]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0007", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE06, - }, - [0xFE07]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0008", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE07, - }, - [0xFE08]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0009", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE08, - }, - [0xFE09]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000A", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE09, - }, - [0xFE0A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000B", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0A, - }, - [0xFE0B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000C", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0B, - }, - [0xFE0C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000D", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0C, - }, - [0xFE0D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000E", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0D, - }, - [0xFE0E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x000F", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0E, - }, - [0xFE0F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0010", - direction="nsm", - linebreak="cm", - unicodeslot=0xFE0F, - }, [0xFE10]={ category="po", cjkwd="w", @@ -227177,1924 +227049,4 @@ characters.data={ linebreak="cm", unicodeslot=0xE007F, }, - [0xE0100]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0011", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0100, - }, - [0xE0101]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0012", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0101, - }, - [0xE0102]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0013", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0102, - }, - [0xE0103]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0014", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0103, - }, - [0xE0104]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0015", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0104, - }, - [0xE0105]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0016", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0105, - }, - [0xE0106]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0017", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0106, - }, - [0xE0107]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0018", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0107, - }, - [0xE0108]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0019", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0108, - }, - [0xE0109]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0109, - }, - [0xE010A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010A, - }, - [0xE010B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010B, - }, - [0xE010C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010C, - }, - [0xE010D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010D, - }, - [0xE010E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x001F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010E, - }, - [0xE010F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0020", - direction="nsm", - linebreak="cm", - unicodeslot=0xE010F, - }, - [0xE0110]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0021", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0110, - }, - [0xE0111]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0022", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0111, - }, - [0xE0112]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0023", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0112, - }, - [0xE0113]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0024", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0113, - }, - [0xE0114]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0025", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0114, - }, - [0xE0115]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0026", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0115, - }, - [0xE0116]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0027", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0116, - }, - [0xE0117]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0028", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0117, - }, - [0xE0118]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0029", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0118, - }, - [0xE0119]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0119, - }, - [0xE011A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011A, - }, - [0xE011B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011B, - }, - [0xE011C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011C, - }, - [0xE011D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011D, - }, - [0xE011E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x002F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011E, - }, - [0xE011F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0030", - direction="nsm", - linebreak="cm", - unicodeslot=0xE011F, - }, - [0xE0120]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0031", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0120, - }, - [0xE0121]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0032", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0121, - }, - [0xE0122]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0033", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0122, - }, - [0xE0123]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0034", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0123, - }, - [0xE0124]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0035", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0124, - }, - [0xE0125]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0036", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0125, - }, - [0xE0126]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0037", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0126, - }, - [0xE0127]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0038", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0127, - }, - [0xE0128]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0039", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0128, - }, - [0xE0129]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0129, - }, - [0xE012A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012A, - }, - [0xE012B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012B, - }, - [0xE012C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012C, - }, - [0xE012D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012D, - }, - [0xE012E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x003F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012E, - }, - [0xE012F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0040", - direction="nsm", - linebreak="cm", - unicodeslot=0xE012F, - }, - [0xE0130]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0041", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0130, - }, - [0xE0131]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0042", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0131, - }, - [0xE0132]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0043", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0132, - }, - [0xE0133]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0044", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0133, - }, - [0xE0134]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0045", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0134, - }, - [0xE0135]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0046", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0135, - }, - [0xE0136]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0047", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0136, - }, - [0xE0137]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0048", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0137, - }, - [0xE0138]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0049", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0138, - }, - [0xE0139]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0139, - }, - [0xE013A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013A, - }, - [0xE013B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013B, - }, - [0xE013C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013C, - }, - [0xE013D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013D, - }, - [0xE013E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x004F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013E, - }, - [0xE013F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0050", - direction="nsm", - linebreak="cm", - unicodeslot=0xE013F, - }, - [0xE0140]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0051", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0140, - }, - [0xE0141]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0052", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0141, - }, - [0xE0142]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0053", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0142, - }, - [0xE0143]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0054", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0143, - }, - [0xE0144]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0055", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0144, - }, - [0xE0145]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0056", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0145, - }, - [0xE0146]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0057", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0146, - }, - [0xE0147]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0058", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0147, - }, - [0xE0148]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0059", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0148, - }, - [0xE0149]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0149, - }, - [0xE014A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014A, - }, - [0xE014B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014B, - }, - [0xE014C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014C, - }, - [0xE014D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014D, - }, - [0xE014E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x005F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014E, - }, - [0xE014F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0060", - direction="nsm", - linebreak="cm", - unicodeslot=0xE014F, - }, - [0xE0150]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0061", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0150, - }, - [0xE0151]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0062", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0151, - }, - [0xE0152]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0063", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0152, - }, - [0xE0153]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0064", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0153, - }, - [0xE0154]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0065", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0154, - }, - [0xE0155]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0066", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0155, - }, - [0xE0156]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0067", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0156, - }, - [0xE0157]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0068", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0157, - }, - [0xE0158]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0069", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0158, - }, - [0xE0159]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0159, - }, - [0xE015A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015A, - }, - [0xE015B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015B, - }, - [0xE015C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015C, - }, - [0xE015D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015D, - }, - [0xE015E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x006F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015E, - }, - [0xE015F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0070", - direction="nsm", - linebreak="cm", - unicodeslot=0xE015F, - }, - [0xE0160]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0071", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0160, - }, - [0xE0161]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0072", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0161, - }, - [0xE0162]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0073", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0162, - }, - [0xE0163]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0074", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0163, - }, - [0xE0164]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0075", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0164, - }, - [0xE0165]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0076", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0165, - }, - [0xE0166]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0077", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0166, - }, - [0xE0167]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0078", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0167, - }, - [0xE0168]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0079", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0168, - }, - [0xE0169]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0169, - }, - [0xE016A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016A, - }, - [0xE016B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016B, - }, - [0xE016C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016C, - }, - [0xE016D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016D, - }, - [0xE016E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x007F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016E, - }, - [0xE016F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0080", - direction="nsm", - linebreak="cm", - unicodeslot=0xE016F, - }, - [0xE0170]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0081", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0170, - }, - [0xE0171]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0082", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0171, - }, - [0xE0172]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0083", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0172, - }, - [0xE0173]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0084", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0173, - }, - [0xE0174]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0085", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0174, - }, - [0xE0175]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0086", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0175, - }, - [0xE0176]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0087", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0176, - }, - [0xE0177]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0088", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0177, - }, - [0xE0178]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0089", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0178, - }, - [0xE0179]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0179, - }, - [0xE017A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017A, - }, - [0xE017B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017B, - }, - [0xE017C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017C, - }, - [0xE017D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017D, - }, - [0xE017E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x008F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017E, - }, - [0xE017F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0090", - direction="nsm", - linebreak="cm", - unicodeslot=0xE017F, - }, - [0xE0180]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0091", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0180, - }, - [0xE0181]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0092", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0181, - }, - [0xE0182]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0093", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0182, - }, - [0xE0183]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0094", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0183, - }, - [0xE0184]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0095", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0184, - }, - [0xE0185]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0096", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0185, - }, - [0xE0186]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0097", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0186, - }, - [0xE0187]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0098", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0187, - }, - [0xE0188]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0099", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0188, - }, - [0xE0189]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009A", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0189, - }, - [0xE018A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009B", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018A, - }, - [0xE018B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009C", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018B, - }, - [0xE018C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009D", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018C, - }, - [0xE018D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009E", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018D, - }, - [0xE018E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x009F", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018E, - }, - [0xE018F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE018F, - }, - [0xE0190]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0190, - }, - [0xE0191]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0191, - }, - [0xE0192]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0192, - }, - [0xE0193]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0193, - }, - [0xE0194]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0194, - }, - [0xE0195]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0195, - }, - [0xE0196]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0196, - }, - [0xE0197]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0197, - }, - [0xE0198]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00A9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0198, - }, - [0xE0199]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE0199, - }, - [0xE019A]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019A, - }, - [0xE019B]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019B, - }, - [0xE019C]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AD", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019C, - }, - [0xE019D]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019D, - }, - [0xE019E]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00AF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019E, - }, - [0xE019F]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE019F, - }, - [0xE01A0]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A0, - }, - [0xE01A1]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A1, - }, - [0xE01A2]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A2, - }, - [0xE01A3]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A3, - }, - [0xE01A4]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A4, - }, - [0xE01A5]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A5, - }, - [0xE01A6]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A6, - }, - [0xE01A7]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A7, - }, - [0xE01A8]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00B9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A8, - }, - [0xE01A9]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01A9, - }, - [0xE01AA]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AA, - }, - [0xE01AB]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AB, - }, - [0xE01AC]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BD", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AC, - }, - [0xE01AD]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AD, - }, - [0xE01AE]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00BF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AE, - }, - [0xE01AF]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01AF, - }, - [0xE01B0]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B0, - }, - [0xE01B1]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B1, - }, - [0xE01B2]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B2, - }, - [0xE01B3]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B3, - }, - [0xE01B4]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B4, - }, - [0xE01B5]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B5, - }, - [0xE01B6]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B6, - }, - [0xE01B7]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B7, - }, - [0xE01B8]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00C9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B8, - }, - [0xE01B9]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01B9, - }, - [0xE01BA]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BA, - }, - [0xE01BB]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BB, - }, - [0xE01BC]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CD", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BC, - }, - [0xE01BD]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BD, - }, - [0xE01BE]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00CF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BE, - }, - [0xE01BF]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01BF, - }, - [0xE01C0]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C0, - }, - [0xE01C1]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C1, - }, - [0xE01C2]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C2, - }, - [0xE01C3]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C3, - }, - [0xE01C4]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C4, - }, - [0xE01C5]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C5, - }, - [0xE01C6]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C6, - }, - [0xE01C7]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C7, - }, - [0xE01C8]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00D9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C8, - }, - [0xE01C9]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01C9, - }, - [0xE01CA]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CA, - }, - [0xE01CB]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CB, - }, - [0xE01CC]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DD", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CC, - }, - [0xE01CD]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CD, - }, - [0xE01CE]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00DF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CE, - }, - [0xE01CF]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01CF, - }, - [0xE01D0]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D0, - }, - [0xE01D1]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D1, - }, - [0xE01D2]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D2, - }, - [0xE01D3]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D3, - }, - [0xE01D4]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D4, - }, - [0xE01D5]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D5, - }, - [0xE01D6]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D6, - }, - [0xE01D7]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D7, - }, - [0xE01D8]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00E9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D8, - }, - [0xE01D9]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00EA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01D9, - }, - [0xE01DA]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00EB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DA, - }, - [0xE01DB]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00EC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DB, - }, - [0xE01DC]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00ED", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DC, - }, - [0xE01DD]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00EE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DD, - }, - [0xE01DE]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00EF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DE, - }, - [0xE01DF]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F0", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01DF, - }, - [0xE01E0]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F1", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E0, - }, - [0xE01E1]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F2", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E1, - }, - [0xE01E2]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F3", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E2, - }, - [0xE01E3]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F4", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E3, - }, - [0xE01E4]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F5", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E4, - }, - [0xE01E5]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F6", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E5, - }, - [0xE01E6]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F7", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E6, - }, - [0xE01E7]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F8", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E7, - }, - [0xE01E8]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00F9", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E8, - }, - [0xE01E9]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FA", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01E9, - }, - [0xE01EA]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FB", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01EA, - }, - [0xE01EB]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FC", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01EB, - }, - [0xE01EC]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FD", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01EC, - }, - [0xE01ED]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FE", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01ED, - }, - [0xE01EE]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x00FF", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01EE, - }, - [0xE01EF]={ - category="mn", - cjkwd="a", - description="VARIATION SELECTOR-0x0100", - direction="nsm", - linebreak="cm", - unicodeslot=0xE01EF, - }, } diff --git a/tex/context/base/mkiv/char-ini.lua b/tex/context/base/mkiv/char-ini.lua index b59c9db6d..ad53cae8f 100644 --- a/tex/context/base/mkiv/char-ini.lua +++ b/tex/context/base/mkiv/char-ini.lua @@ -12,7 +12,7 @@ if not modules then modules = { } end modules ['char-ini'] = { -- we can remove the tag range starting at 0xE0000 (special applications) local utfchar, utfbyte, utfvalues, ustring, utotable = utf.char, utf.byte, utf.values, utf.ustring, utf.totable -local concat, unpack, tohash = table.concat, table.unpack, table.tohash +local concat, unpack, tohash, insert = table.concat, table.unpack, table.tohash, table.insert local next, tonumber, type, rawget, rawset = next, tonumber, type, rawget, rawset local format, lower, gsub = string.format, string.lower, string.gsub local P, R, S, Cs = lpeg.P, lpeg.R, lpeg.S, lpeg.Cs @@ -128,7 +128,7 @@ setmetatableindex(data, function(t,k) if k >= rr.first and k <= rr.last then local extender = rr.extender if extender then - local v = extender(k,v) + local v = extender(k) t[k] = v return v end @@ -138,6 +138,45 @@ setmetatableindex(data, function(t,k) return private -- handy for when we loop over characters in fonts and check for a property end) +local variant_selector_metatable = { + category = "mn", + cjkwd = "a", + direction = "nsm", + linebreak = "cm", +} + +-- This saves a bit of memory and also serves as example. + +local f_variant = string.formatters["VARIATION SELECTOR-0x%04X"] + +insert(characters.ranges,{ + first = 0xFE00, + last = 0xFE0F, + name = "variant selector", + extender = function(k) + local t = { + description = f_variant(k - 0xFE00 + 0x0001), + unicodeslot = k, + } + setmetatable(t,variant_selector_metatable) + return t + end, +}) + +insert(characters.ranges,{ + first = 0xE0100, + last = 0xE01EF, + name = "variant selector extension", + extender = function(k) + local t = { + description = f_variant(k - 0xE0100 + 0x0011), + unicodeslot = k, + } + setmetatable(t,variant_selector_metatable) + return t + end, +}) + local blocks = allocate { ["aegeannumbers"] = { first = 0x10100, last = 0x1013F, description = "Aegean Numbers" }, ["ahom"] = { first = 0x11700, last = 0x1173F, description = "Ahom" }, diff --git a/tex/context/base/mkiv/char-ini.mkiv b/tex/context/base/mkiv/char-ini.mkiv index fd531f132..907fcff13 100644 --- a/tex/context/base/mkiv/char-ini.mkiv +++ b/tex/context/base/mkiv/char-ini.mkiv @@ -63,7 +63,7 @@ \else\iffontchar\font#1\relax \char#1\relax \else - $\char#1$% + \normalstartimath\char#1\normalstopimath \fi\fi} %D The codes are stored in the format, so we don't need to reinitialize diff --git a/tex/context/base/mkiv/chem-ini.mkiv b/tex/context/base/mkiv/chem-ini.mkiv index a5cd41f2b..d18ba47a1 100644 --- a/tex/context/base/mkiv/chem-ini.mkiv +++ b/tex/context/base/mkiv/chem-ini.mkiv @@ -10,6 +10,8 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% todo: \mathscriptsmode + \writestatus{loading}{ConTeXt Chemistry Macros / Initialization} % might become Inline \registerctxluafile{chem-ini}{1.001} diff --git a/tex/context/base/mkiv/chem-str.mkiv b/tex/context/base/mkiv/chem-str.mkiv index 5b8c6a069..0bebcf5c8 100644 --- a/tex/context/base/mkiv/chem-str.mkiv +++ b/tex/context/base/mkiv/chem-str.mkiv @@ -431,8 +431,8 @@ \unexpanded\def\chemicaloxidationplus {\dotriplegroupempty\chemicaloxidation{\textplus }} % {} needed! \unexpanded\def\chemicaloxidationminus{\dotriplegroupempty\chemicaloxidation{\textminus}} % {} needed! -\unexpanded\def\chemicalforeveropen {\dotriplegroupempty\chemicalleft {$\big[$}} % {} needed! -\unexpanded\def\chemicalforeverclose {\dotriplegroupempty\chemicalright {$\big]$}} % {} needed! +\unexpanded\def\chemicalforeveropen {\dotriplegroupempty\chemicalleft {\normalstartimath\big[\normalstopimath}} % {} needed! +\unexpanded\def\chemicalforeverclose {\dotriplegroupempty\chemicalright {\normalstartimath\big]\normalstopimath}} % {} needed! \unexpanded\def\chemicaloxidationone {\chemicaloxidation\relax1} \unexpanded\def\chemicaloxidationtwo {\chemicaloxidation\relax2} \unexpanded\def\chemicaloxidationthree{\chemicaloxidation\relax3} diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua index c6e734e73..b988e867b 100644 --- a/tex/context/base/mkiv/cldf-ini.lua +++ b/tex/context/base/mkiv/cldf-ini.lua @@ -1325,7 +1325,7 @@ end -- we could reuse collapsed local traced = function(one,two,...) - if two then + if two ~= nil then -- only catcodes if 'one' is number local catcodes = type(one) == "number" and one local arguments = catcodes and { two, ... } or { one, two, ... } @@ -1343,7 +1343,7 @@ local traced = function(one,two,...) end end currenttrace(concat(collapsed)) - else + elseif one ~= nil then -- no catcodes local argtype = type(one) if argtype == "string" then @@ -1358,25 +1358,25 @@ end local tracedflush = function(one,two,...) nofflushes = nofflushes + 1 - if two then + if two ~= nil then normalflush(one,two,...) else normalflush(one) end if tracingpermitted then - traced(...) + traced(one,two,...) end end local tracedflushdirect = function(one,two,...) nofflushes = nofflushes + 1 - if two then + if two ~= nil then normalflushdirect(one,two,...) else normalflushdirect(one) end if tracingpermitted then - traced(...) + traced(one,two,...) end end diff --git a/tex/context/base/mkiv/cont-log.mkiv b/tex/context/base/mkiv/cont-log.mkiv index 598140d32..b8eb0679f 100644 --- a/tex/context/base/mkiv/cont-log.mkiv +++ b/tex/context/base/mkiv/cont-log.mkiv @@ -30,7 +30,17 @@ X% \endgroup} -\unexpanded\def\ConTeXt{Con\TeX t} +\unexpanded\def\ConTeXt + {\dontleavehmode + \begingroup + Con% + \setbox\scratchboxone\hbox{T\kern\zeropoint e}% + \setbox\scratchboxtwo\hbox{Te}% + \discretionary{-}{}{\kern\dimexpr\wd\scratchboxtwo-\wd\scratchboxone\relax}% + \TeX + t% + \endgroup} + \unexpanded\def\PPCHTeX{ppch\TeX} \unexpanded\def\PRAGMA {Pragma ADE} @@ -59,7 +69,9 @@ \kern-.11\emwidth\TeX} \def\syst_logos_ams_script#1% - {$\cal\ifdim\bodyfontsize>1.1\emwidth\scriptstyle\fi#1$} + {\normalstartimath + \cal\ifdim\bodyfontsize>1.1\emwidth\scriptstyle\fi#1% + \normalstopimath} \unexpanded\def\AmSTeX {\dontleavehmode @@ -93,9 +105,24 @@ \unexpanded\def\Context % wrong usage of \getscaledglyph {\dontleavehmode \begingroup - C\kern -.0667\emwidth\getscaledglyph{.8}\empty{O\kern -.0667\emwidth N\kern - -.0549\emwidth T\doifelseitalic{\kern-.1\emwidth}{\kern-.1667\emwidth}\lower.5\exheight\hbox - {E}\doifelseitalic\empty{\kern-.11em}X\kern-.055\emwidth T}% + C% + \kern -.0667\emwidth + \getscaledglyph{.8}\empty{% + O\kern-.0667\emwidth + N% + \discretionary{-}{}{\kern-.0549\emwidth}% + T% + \doifelseitalic + {\kern-.1\emwidth}% + {\kern-.1667\emwidth}% + \lower.5\exheight\hbox{E}% + \doifelseitalic + \empty + {\kern-.11em}% + X% + \kern-.055\emwidth + T% + }% \endgroup} %D The \METAFONT\ and \METAPOST\ logos adapt themselves to the current fontsize, an diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 5ecf859bd..d4446f1ea 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.02.15 10:26} +\newcontextversion{2016.02.17 11:11} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 4b266fcde..f042da7c5 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.02.15 10:26} +\edef\contextversion{2016.02.17 11:11} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/core-con.lua b/tex/context/base/mkiv/core-con.lua index ca44c53ca..416e7f630 100644 --- a/tex/context/base/mkiv/core-con.lua +++ b/tex/context/base/mkiv/core-con.lua @@ -122,7 +122,7 @@ local counters = allocate { 0x3142, 0x3145, 0x3147, 0x3148, 0x314A, 0x314B, 0x314C, 0x314D, 0x314E }, - ['korean-parent'] = { -- parenthesed + ['korean-parenthesis'] = { -- 0x3200, 0x3201, 0x3202, 0x3203, 0x3204, 0x3205, 0x3206, 0x3207, 0x3208, 0x3209, 0x320A, 0x320B, 0x320C, 0x320D @@ -136,30 +136,30 @@ local counters = allocate { languages.counters = counters -counters['ar'] = counters['arabic'] -counters['gr'] = counters['greek'] -counters['g'] = counters['greek'] -counters['sl'] = counters['slovenian'] -counters['es'] = counters['spanish'] -counters['kr'] = counters['korean'] -counters['kr-p'] = counters['korean-parent'] -counters['kr-c'] = counters['korean-circle'] - -counters['thainumerals'] = counters['thai'] -counters['devanagarinumerals'] = counters['devanagari'] -counters['gurmurkhinumerals'] = counters['gurmurkhi'] -counters['gujaratinumerals'] = counters['gujarati'] -counters['tibetannumerals'] = counters['tibetan'] -counters['greeknumerals'] = counters['greek'] -counters['arabicnumerals'] = counters['arabic'] -counters['persiannumerals'] = counters['persian'] -counters['arabicexnumerals'] = counters['persian'] -counters['koreannumerals'] = counters['korean'] -counters['koreanparentnumerals'] = counters['korean-parent'] -counters['koreancirclenumerals'] = counters['korean-circle'] - -counters['sloveniannumerals'] = counters['slovenian'] -counters['spanishnumerals'] = counters['spanish'] +counters['ar'] = counters['arabic'] +counters['gr'] = counters['greek'] +counters['g'] = counters['greek'] +counters['sl'] = counters['slovenian'] +counters['es'] = counters['spanish'] +counters['kr'] = counters['korean'] +counters['kr-p'] = counters['korean-parenthesis'] +counters['kr-c'] = counters['korean-circle'] + +counters['thainumerals'] = counters['thai'] +counters['devanagarinumerals'] = counters['devanagari'] +counters['gurmurkhinumerals'] = counters['gurmurkhi'] +counters['gujaratinumerals'] = counters['gujarati'] +counters['tibetannumerals'] = counters['tibetan'] +counters['greeknumerals'] = counters['greek'] +counters['arabicnumerals'] = counters['arabic'] +counters['persiannumerals'] = counters['persian'] +counters['arabicexnumerals'] = counters['persian'] +counters['koreannumerals'] = counters['korean'] +counters['koreanparenthesisnumerals'] = counters['korean-parenthesis'] +counters['koreancirclenumerals'] = counters['korean-circle'] + +counters['sloveniannumerals'] = counters['slovenian'] +counters['spanishnumerals'] = counters['spanish'] local decimals = allocate { ['arabic'] = { @@ -582,11 +582,11 @@ function converters.Spanishnumerals(n) return Alphabetic(n,"es") end function converters.sloviannumerals(n) return alphabetic(n,"sl") end function converters.Sloviannumerals(n) return Alphabetic(n,"sl") end -converters['characters:es'] = converters.spanishnumerals -converters['characters:sl'] = converters.sloveniannumerals +converters['alphabetic:es'] = converters.spanishnumerals +converters['alphabetic:sl'] = converters.sloveniannumerals -converters['Characters:es'] = converters.Spanishnumerals -converters['Characters:sl'] = converters.Sloveniannumerals +converters['Alphabetic:es'] = converters.Spanishnumerals +converters['Alphabetic:sl'] = converters.Sloveniannumerals -- bonus diff --git a/tex/context/base/mkiv/core-con.mkiv b/tex/context/base/mkiv/core-con.mkiv index 1ca38ae14..afd3f34c4 100644 --- a/tex/context/base/mkiv/core-con.mkiv +++ b/tex/context/base/mkiv/core-con.mkiv @@ -97,11 +97,12 @@ \let\arabicexnumerals \persiannumerals \def\koreannumerals #1{\clf_alphabetic\numexpr#1\relax{korean}} -\def\koreannumeralsp #1{\clf_alphabetic\numexpr#1\relax{korean-parent}} +\def\koreannumeralsp #1{\clf_alphabetic\numexpr#1\relax{korean-parenthesis}} \def\koreannumeralsc #1{\clf_alphabetic\numexpr#1\relax{korean-circle}} -\let\koreanparentnumerals\koreannumeralsp -\let\koreancirclenumerals\koreannumeralsc +\let\koreanparentnumerals \koreannumeralsp +\let\koreanparenthesisnumerals\koreannumeralsp +\let\koreancirclenumerals \koreannumeralsc \def\chinesenumerals #1{\clf_chinesenumerals\numexpr#1\relax{normal}} \def\chinesecapnumerals#1{\clf_chinesenumerals\numexpr#1\relax{cap}} @@ -640,8 +641,8 @@ \defineconversion [\v!characters] [\characters] \defineconversion [\v!Characters] [\Characters] -\defineconversion [a] [\characters] -\defineconversion [A] [\Characters] +\defineconversion [a] [\alphabeticnumerals] +\defineconversion [A] [\Alphabeticnumerals] \defineconversion [AK] [\smallcappedcharacters] \defineconversion [KA] [\smallcappedcharacters] @@ -704,7 +705,9 @@ \defineconversion [persiandecimals] [\persiandecimals] \defineconversion [koreannumerals] [\koreannumerals] -\defineconversion [koreanparentnumerals] [\koreanparentnumerals] +\defineconversion [koreanparennumerals] [\koreanparenthesisnumerals] % for old times sake (for a while) +\defineconversion [koreanparenthesisnumerals] + [\koreanparenthesisnumerals] \defineconversion [koreancirclenumerals] [\koreancirclenumerals] \defineconversion [kr] [\koreannumerals] @@ -733,20 +736,26 @@ \def\spanishnumerals #1{\clf_alphabetic\numexpr#1\relax{es}} \def\spanishNumerals #1{\clf_Alphabetic\numexpr#1\relax{es}} -\defineconversion [\s!sl] [character] [\sloveniannumerals] -\defineconversion [\s!sl] [Character] [\slovenianNumerals] -\defineconversion [\s!sl] [characters] [\sloveniannumerals] -\defineconversion [\s!sl] [Characters] [\slovenianNumerals] +%defineconversion [\s!sl] [character] [\sloveniannumerals] +%defineconversion [\s!sl] [Character] [\slovenianNumerals] +%defineconversion [\s!sl] [characters] [\sloveniannumerals] +%defineconversion [\s!sl] [Characters] [\slovenianNumerals] + +\defineconversion [\s!sl] [alphabetic] [\sloveniannumerals] +\defineconversion [\s!sl] [Alphabetic] [\slovenianNumerals] \defineconversion [\s!sl] [a] [\sloveniannumerals] \defineconversion [\s!sl] [A] [\slovenianNumerals] \defineconversion [\s!sl] [AK] [\smallcapped\sloveniannumerals] \defineconversion [\s!sl] [KA] [\smallcapped\sloveniannumerals] -\defineconversion [\s!es] [character] [\spanishnumerals] -\defineconversion [\s!es] [Character] [\spanishNumerals] -\defineconversion [\s!es] [characters] [\spanishnumerals] -\defineconversion [\s!es] [Characters] [\spanishNumerals] +%defineconversion [\s!es] [character] [\spanishnumerals] +%defineconversion [\s!es] [Character] [\spanishNumerals] +%defineconversion [\s!es] [characters] [\spanishnumerals] +%defineconversion [\s!es] [Characters] [\spanishNumerals] + +\defineconversion [\s!es] [alphabetic] [\spanishnumerals] +\defineconversion [\s!es] [Alphabetic] [\spanishNumerals] \defineconversion [\s!es] [a] [\spanishnumerals] \defineconversion [\s!es] [A] [\spanishNumerals] diff --git a/tex/context/base/mkiv/font-run.mkiv b/tex/context/base/mkiv/font-run.mkiv index 1b8843b94..9a69b480f 100644 --- a/tex/context/base/mkiv/font-run.mkiv +++ b/tex/context/base/mkiv/font-run.mkiv @@ -61,7 +61,7 @@ \tabskip=\zeropoint\cr \noalign{\hrule} &\multispan{29}{\vrule\hfil\tttf\strut\title\hfil - \llap{\string\mr\hbox to 1em{\hss:\hss}$\mr \languageparameter\c!text$\quad}\vrule}\cr + \llap{\string\mr\hbox to 1em{\hss:\hss}\normalstartimath\mr\languageparameter\c!text\normalstopimath\quad}\vrule}\cr \noalign{\hrule}\next{}{\tt\string}{} \noalign{\hrule}\next{\tt\string\rm}\rm{\languageparameter\c!text} \noalign{\hrule}\next{\tt\string\ss}\ss{\languageparameter\c!text} @@ -338,7 +338,7 @@ \starttabulate[||T|T|T|T|T|T|T|T|T|] \testminimalbaseline{\hbox to 1em{\hss\showstruts\strut\hss}}% \testminimalbaseline{(/)}% - \testminimalbaseline{$\frac{1}{2}x\normalsuperscript2\normalsubscript3$} + \testminimalbaseline{\normalstartimath\frac{1}{2}x\normalsuperscript2\normalsubscript3\normalstopimath} \stoptabulate \fi} diff --git a/tex/context/base/mkiv/grph-fig.mkiv b/tex/context/base/mkiv/grph-fig.mkiv index 3bf91b28c..80b094d83 100644 --- a/tex/context/base/mkiv/grph-fig.mkiv +++ b/tex/context/base/mkiv/grph-fig.mkiv @@ -263,10 +263,10 @@ \let\grph_steps_three_colorbar\grph_steps_one_colorbar \unexpanded\def\grph_steps_four_referring - {\grph_steps_text{$\rightarrow$}} + {\grph_steps_text{\normalstartimath\rightarrow\normalstopimath}} \unexpanded\def\grph_steps_four_marking - {\grph_steps_text{$\leftarrow$}} + {\grph_steps_text{\normalstartimath\leftarrow\normalstopimath}} \let\grph_steps_four_remark \grph_steps_one_remark \let\grph_steps_four_colorbar\grph_steps_one_colorbar diff --git a/tex/context/base/mkiv/grph-rul.mkiv b/tex/context/base/mkiv/grph-rul.mkiv index 8e293e151..98aab3650 100644 --- a/tex/context/base/mkiv/grph-rul.mkiv +++ b/tex/context/base/mkiv/grph-rul.mkiv @@ -33,7 +33,57 @@ % width \overlaywidth % height \overlayheight % line \overlaylinewidth -% radius \framedparameter\c!frameradius % \p_framed_backgroundradius % \framedradius +% radius \overlayradius % \relax] \protect \endinput + +% \starttext +% +% \testfeatureonce{25}{\dontleavehmode +% \ruledhbox\bgroup +% \red \frule width 2cm height 2cm depth 1cm radius 2mm line 2pt type fill\relax +% \hskip-2cm +% \green \frule width 2cm height 2cm depth 1cm radius 2mm line 2pt\relax +% \egroup +% \space} +% +% \blank +% +% \startuseMPgraphic{demoshape:back} +% fill +% unitcircle xysized (RuleWidth,RuleHeight+RuleDepth) +% withcolor RuleColor ; +% \stopuseMPgraphic +% +% \startuseMPgraphic{demoshape:fore} +% draw +% unitcircle xysized (RuleWidth,RuleHeight+RuleDepth) +% withcolor RuleColor +% withpen pencircle scaled RuleThickness ; +% \stopuseMPgraphic +% +% \testfeatureonce{100}{\dontleavehmode +% \ruledhbox\bgroup +% \red \frule width 1cm height 3mm depth 1mm type mp line 2pt data {\includeMPgraphic{demoshape:back}}\relax +% \hskip-1cm +% \green \frule width 1cm height 3mm depth 1mm type mp line 2pt data {\includeMPgraphic{demoshape:fore}}\relax +% \egroup +% \space} +% +% \blank +% +% \dontleavehmode +% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed {test}}} +% \framed {test} +% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=normalframe,frame=off]{test}}} +% \framed[background=normalframe,frame=off]{test} +% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[corner=round] {test}}} +% \framed[corner=round] {test} +% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=ovalframe,frame=off] {test}}} +% \framed[background=ovalframe,frame=off] {test} +% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=ovalframe,frame=on] {test}}} +% \framed[background=ovalframe,frame=on] {test} +% +% \stoptext + diff --git a/tex/context/base/mkiv/lang-mis.mkiv b/tex/context/base/mkiv/lang-mis.mkiv index f442042e2..ada8f81ea 100644 --- a/tex/context/base/mkiv/lang-mis.mkiv +++ b/tex/context/base/mkiv/lang-mis.mkiv @@ -406,7 +406,7 @@ {\prewordbreak\discretionary{-}{}{'}\postwordbreak} \definetextmodediscretionary ^ - {\prewordbreak\discretionary{\hbox{$|$}}{}{\hbox{$|$}}% + {\prewordbreak\discretionary{\hbox{\normalstartimath|\normalstopimath}}{}{\hbox{\normalstartimath|\normalstopimath}}% \allowbreak\postwordbreak} % bugged \definetextmodediscretionary < diff --git a/tex/context/base/mkiv/lxml-aux.lua b/tex/context/base/mkiv/lxml-aux.lua index 01c2a8bfc..f28fd819d 100644 --- a/tex/context/base/mkiv/lxml-aux.lua +++ b/tex/context/base/mkiv/lxml-aux.lua @@ -370,6 +370,8 @@ xml.insertbefore = function(r,p,e) insert_element(r,p,e,true) end xml.injectafter = inject_element xml.injectbefore = function(r,p,e) inject_element(r,p,e,true) end +-- loaddata can restrict loading + local function include(xmldata,pattern,attribute,recursive,loaddata,level) -- attribute = attribute or 'href' pattern = pattern or 'include' @@ -383,56 +385,60 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level) local ek = collected[c] local name = nil local ekdt = ek.dt - local ekat = ek.at - local ekrt = ek.__p__ - local epdt = ekrt.dt - if not attribute or attribute == "" then - name = (type(ekdt) == "table" and ekdt[1]) or ekdt -- check, probably always tab or str - end - if not name then - for a in gmatch(attribute or "href","([^|]+)") do - name = ekat[a] - if name then - break + if ekdt then + local ekat = ek.at + local ekrt = ek.__p__ + if ekrt then + local epdt = ekrt.dt + if not attribute or attribute == "" then + name = (type(ekdt) == "table" and ekdt[1]) or ekdt -- check, probably always tab or str end - end - end - local data = nil - if name and name ~= "" then - data = loaddata(name) or "" - if trace_inclusions then - report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ") - end - end - if not data or data == "" then - epdt[ek.ni] = "" -- xml.empty(d,k) - elseif ekat["parse"] == "text" then - -- for the moment hard coded - epdt[ek.ni] = xml.escaped(data) -- d[k] = xml.escaped(data) - else - local xi = xmlinheritedconvert(data,xmldata) - if not xi then - epdt[ek.ni] = "" -- xml.empty(d,k) - else - if recursive then - include(xi,pattern,attribute,recursive,loaddata,level+1) + if not name then + for a in gmatch(attribute or "href","([^|]+)") do + name = ekat[a] + if name then + break + end + end end - local child = xml.body(xi) -- xml.assign(d,k,xi) - child.__p__ = ekrt - child.__f__ = name -- handy for tracing - epdt[ek.ni] = child - local inclusions = xmldata.settings.inclusions - if inclusions then - inclusions[#inclusions+1] = name - else - xmldata.settings.inclusions = { name } + local data = nil + if name and name ~= "" then + data = loaddata(name) or "" + if trace_inclusions then + report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ") + end end - if child.er then - local badinclusions = xmldata.settings.badinclusions - if badinclusions then - badinclusions[#badinclusions+1] = name + if not data or data == "" then + epdt[ek.ni] = "" -- xml.empty(d,k) + elseif ekat["parse"] == "text" then + -- for the moment hard coded + epdt[ek.ni] = xml.escaped(data) -- d[k] = xml.escaped(data) + else + local xi = xmlinheritedconvert(data,xmldata) + if not xi then + epdt[ek.ni] = "" -- xml.empty(d,k) else - xmldata.settings.badinclusions = { name } + if recursive then + include(xi,pattern,attribute,recursive,loaddata,level+1) + end + local child = xml.body(xi) -- xml.assign(d,k,xi) + child.__p__ = ekrt + child.__f__ = name -- handy for tracing + epdt[ek.ni] = child + local inclusions = xmldata.settings.inclusions + if inclusions then + inclusions[#inclusions+1] = name + else + xmldata.settings.inclusions = { name } + end + if child.er then + local badinclusions = xmldata.settings.badinclusions + if badinclusions then + badinclusions[#badinclusions+1] = name + else + xmldata.settings.badinclusions = { name } + end + end end end end diff --git a/tex/context/base/mkiv/math-ali.mkiv b/tex/context/base/mkiv/math-ali.mkiv index c0f105121..ebb20e33e 100644 --- a/tex/context/base/mkiv/math-ali.mkiv +++ b/tex/context/base/mkiv/math-ali.mkiv @@ -715,10 +715,13 @@ \def\math_matrix_process#1#2% {\dowithnextbox {\scratchdimen\dimexpr(\nextboxdp-\nextboxht)/2 \ifcase#2\or+\mathaxisheight\textfont2\fi\relax - \ifcase#1\relax\or\lower\scratchdimen\or\or\raise\scratchdimen\fi - \hbox{$\mathmatrixparameter\c!left - \vcenter{\unvbox\nextbox}% - \mathmatrixparameter\c!right$}}% + \ifcase#1\relax\or\lower\scratchdimen\or\or\raise\scratchdimen\fi\hbox\bgroup + \normalstartimath + \mathmatrixparameter\c!left + \vcenter{\unvbox\nextbox}% + \mathmatrixparameter\c!right + \normalstopimath + \egroup}% \vbox} \unexpanded\def\installmathmatrixalignmethod#1#2% @@ -936,7 +939,7 @@ \crcr}% \mathsurround\zeropoint \everycr\emptytoks - \halign\bgroup\hfil$\scriptstyle\alignmark\alignmark$\hfil\crcr} + \halign\bgroup\hfil\normalstartimath\scriptstyle\alignmark\alignmark\normalstopimath\hfil\crcr} \def\stopsubstack {\crcr @@ -998,9 +1001,9 @@ {\thinmuskip 0mu \medmuskip -1mu \thickmuskip -1mu - \setbox\scratchbox\hbox{$#1\mathsurround\zeropoint$}% + \setbox\scratchbox\hbox{\normalstartimath#1\mathsurround\zeropoint\normalstopimath}% \kern-\wd\scratchbox - ${}#1{}\mathsurround\zeropoint$}% + \normalstartimath{}#1{}\mathsurround\zeropoint\normalstopimath}% \ifdim\wd\scratchbox<\zeropoint \endgroup \expandafter\mathbin diff --git a/tex/context/base/mkiv/math-arr.mkiv b/tex/context/base/mkiv/math-arr.mkiv index 9056bf5a4..28aad8ada 100644 --- a/tex/context/base/mkiv/math-arr.mkiv +++ b/tex/context/base/mkiv/math-arr.mkiv @@ -76,16 +76,18 @@ \mathsurround\zeropoint \muskip0=\muexpr\m_math_arrows_factor\muexpr\thirdoffourarguments #2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\firstoffourarguments #2\onemuskip\relax \muskip2=\muexpr\m_math_arrows_factor\muexpr\fourthoffourarguments#2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\secondoffourarguments#2\onemuskip\relax - \setbox0\hbox{$\scriptstyle - \mkern\muskip0\relax - #5\relax - \mkern\muskip2\relax - $}% - \setbox2\hbox{$\scriptstyle - \mkern\muskip0\relax - #4\relax - \mkern\muskip2\relax - $}% + \setbox0\hbox{\normalstartimath + \scriptstyle + \mkern\muskip0\relax + #5\relax + \mkern\muskip2\relax + \normalstopimath}% + \setbox2\hbox{\normalstartimath + \scriptstyle + \mkern\muskip0\relax + #4\relax + \mkern\muskip2\relax + \normalstopimath}% \setbox4\hbox{#3\displaystyle}% \dimen0\wd0\relax \ifdim\wd2>\dimen0 @@ -118,11 +120,11 @@ \def\math_arrows_construct_double#1#2#3#4#5#6#7% opt l r sp rs top bot {\mathrel {\scratchdimen.32\exheight\relax % was .22, todo: make configurable - \setbox0\hbox{$\math_arrows_construct{#1}{#2}{#4}{\phantom{#6}}{#7}$}% - \setbox2\hbox{$\math_arrows_construct{#1}{#3}{#5}{#6}{\phantom{#7}}$}% - \raise\scratchdimen\box0 - \kern-\wd2 - \lower\scratchdimen\box2}} + \setbox\scratchboxone\hbox{\normalstartimath\math_arrows_construct{#1}{#2}{#4}{\phantom{#6}}{#7}\normalstopimath}% + \setbox\scratchboxtwo\hbox{\normalstartimath\math_arrows_construct{#1}{#3}{#5}{#6}{\phantom{#7}}\normalstopimath}% + \raise\scratchdimen\box\scratchboxone + \kern-\wd\scratchboxtwo + \lower\scratchdimen\box\scratchboxtwo}} %D \macros{definematharrow} %D @@ -254,12 +256,14 @@ %D different set of values need to be determined. \def\mtharrowfill#1#2#3#4#5#6#7#8% - {$\mathsurround\zeropoint - \thickmuskip\zeromuskip\medmuskip\thickmuskip\thinmuskip\thickmuskip - \relax#8#5% - \mkern-#1\onemuskip - \cleaders\hbox{$#8\mkern-#2\onemuskip#6\mkern-#3\onemuskip$}\hfill - \mkern-#4\onemuskip#7$} + {\normalstartimath + \mathsurround\zeropoint + \thickmuskip\zeromuskip\medmuskip\thickmuskip\thinmuskip\thickmuskip + \relax#8#5% + \mkern-#1\onemuskip + \cleaders\hbox{\normalstartimath#8\mkern-#2\onemuskip#6\mkern-#3\onemuskip\normalstopimath}\hfill + \mkern-#4\onemuskip#7% + \normalstopimath} \def\defaultmtharrowfill{\mtharrowfill 7227} @@ -383,10 +387,17 @@ %D for harpoons. \def\math_arrows_over_handle_indeed#1#2#3#4% - {\vbox{\ialign{##\crcr - #2#3\crcr - \noalign{\kern#1\nointerlineskip}% - $\mathsurround\zeropoint\hfil#3#4\hfil$\crcr}}} + {\vbox{\ialign{% + \alignmark\alignmark + \crcr + #2#3% + \crcr + \noalign{\kern#1\nointerlineskip}% + \normalstartimath + \mathsurround\zeropoint\hfil#3#4\hfil + \normalstopimath + \crcr + }}} %D Now the under arrows @@ -406,10 +417,15 @@ {\mathpalette{\math_arrows_under_handle_indeed{#1}{#2}}} \def\math_arrows_under_handle_indeed#1#2#3#4% - {\vtop{\ialign{##\crcr - $\mathsurround\zeropoint\hfil#3#4\hfil$\crcr - \noalign{\nointerlineskip\kern#1}% - #2#3\crcr}}} + {\vtop{\ialign{% + \alignmark\alignmark + \crcr + \normalstartimath\mathsurround\zeropoint\hfil#3#4\hfil\normalstopimath + \crcr + \noalign{\nointerlineskip\kern#1}% + #2#3% + \crcr + }}} %D Now we define the arrows diff --git a/tex/context/base/mkiv/math-del.mkiv b/tex/context/base/mkiv/math-del.mkiv index 1245d31de..2d57781c8 100644 --- a/tex/context/base/mkiv/math-del.mkiv +++ b/tex/context/base/mkiv/math-del.mkiv @@ -41,7 +41,7 @@ \setbox\scratchbox\hbox\bgroup \let\left \leftfakedelimiter \let\right\rightfakedelimiter - $#1\expandafter$\expandafter + \normalstartimath#1\expandafter\normalstopimath\expandafter \egroup \expandafter\c_math_delimiter_nesting\the\c_math_delimiter_nesting\relax} diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv index a927b7776..2fcfa6037 100644 --- a/tex/context/base/mkiv/math-ini.mkiv +++ b/tex/context/base/mkiv/math-ini.mkiv @@ -14,6 +14,10 @@ \writestatus{loading}{ConTeXt Math Macros / Initializations} % todo: hpack as we skip math anyway +% +% todo: 0x2061 : function application +% todo: 0x2062 : invisible times +% todo: 0x2063 : invisible comma % Todo in luatex maincontrol.w: also accept a number here: % @@ -2196,7 +2200,9 @@ % new: \unexpanded\def\smallmathsymbol#1% - {\mathematics{\mathbin{\normalexpanded{\raise.15\exheight\hbox{$\triggermathstyle{\the\numexpr\normalmathstyle+2\relax}#1$}}}}} + {\mathematics{\mathbin{\normalexpanded{\raise.15\exheight\hbox{\normalstartimath + \triggermathstyle{\the\numexpr\normalmathstyle+2\relax}#1% + \normalstopimath}}}}} % this should be a primitive: @@ -2392,7 +2398,6 @@ \setupmathematics [\s!italics=3] % for the moment only this one makes sense .. still experimental - \protect \endinput % % not used (yet) diff --git a/tex/context/base/mkiv/math-pln.mkiv b/tex/context/base/mkiv/math-pln.mkiv index 5e4c43c81..a5ecdd11d 100644 --- a/tex/context/base/mkiv/math-pln.mkiv +++ b/tex/context/base/mkiv/math-pln.mkiv @@ -24,7 +24,7 @@ % might change \unexpanded\def\hrulefill{\leaders\hrule\hfill} -\unexpanded\def\dotfill {\cleaders\hbox{$\mathsurround\zeropoint\mkern1.5mu.\mkern1.5mu$}\hfill} +\unexpanded\def\dotfill {\cleaders\hbox{\normalstartimath\mathsurround\zeropoint\mkern1.5mu.\mkern1.5mu\normalstopimath}\hfill} % will move @@ -33,7 +33,7 @@ \vtop {\baselineskip\zeroskip \lineskip.25\exheight - \ialign{##\crcr#1\crcr}}} + \ialign{\alignmark\alignmark\crcr#1\crcr}}} \def\ooalign % chars over each other {\lineskiplimit-\maxdimen @@ -71,17 +71,34 @@ \vcenter {\normalbaselines \mathsurround\zeropoint - \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}% + \ialign{% + \normalstartimath\alignmark\alignmark\hfil\normalstopimath + \aligntab + \quad\alignmark\alignmark\hfil + \crcr + #1% + \crcr}}% \right.} \unexpanded\def\matrix#1% {\emptyhbox \mskip\thinmuskip \vcenter - {\normalbaselines\mathsurround\zeropoint - \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr - \mathstrut\crcr\noalign{\kern-\baselineskip} - #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}% + {\normalbaselines + \mathsurround\zeropoint + \ialign{% + \hfil\normalstartimath\alignmark\alignmark\normalstopimath\hfil + \aligntab + \aligntab + \quad\hfil\normalstartimath\alignmark\alignmark\normalstopimath\hfil + \crcr + \mathstrut + \crcr + \noalign{\kern-\baselineskip} + #1\crcr + \mathstrut + \crcr + \noalign{\kern-\baselineskip}}}% \mskip\thinmuskip} \unexpanded\def\pmatrix#1% @@ -117,7 +134,8 @@ {\the\mathdisplayaligntweaks \tabskip\zeroskip \halign - {\hbox to \displaywidth{$\tabskip\zeroskip\everycr\emptytoks\hfil\displaystyle##\hfil$}\crcr - #1\crcr}} + {\hbox to \displaywidth{% + \normalstartimath\tabskip\zeroskip\everycr\emptytoks\hfil\displaystyle\alignmark\alignmark\hfil\normalstopimath}\crcr + #1\crcr}} \protect \endinput diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua index c9bc10260..b82375d0a 100644 --- a/tex/context/base/mkiv/mult-def.lua +++ b/tex/context/base/mkiv/mult-def.lua @@ -13323,6 +13323,46 @@ return { ["pe"]="پنج", ["ro"]="cinci", }, + ["six"]={ + ["cs"]="six", + ["de"]="sechs", + ["en"]="six", + ["fr"]="six", + ["it"]="six", + ["nl"]="zes", + ["pe"]="six", + ["ro"]="six", + }, + ["seven"]={ + ["cs"]="seven", + ["de"]="sieben", + ["en"]="seven", + ["fr"]="seven", + ["it"]="seven", + ["nl"]="zeven", + ["pe"]="seven", + ["ro"]="seven", + }, + ["eight"]={ + ["cs"]="eight", + ["de"]="acht", + ["en"]="eight", + ["fr"]="eight", + ["it"]="eight", + ["nl"]="acht", + ["pe"]="eight", + ["ro"]="eight", + }, + ["nine"]={ + ["cs"]="nine", + ["de"]="neun", + ["en"]="nine", + ["fr"]="nine", + ["it"]="nine", + ["nl"]="negen", + ["pe"]="nine", + ["ro"]="nine", + }, ["fix"]={ ["cs"]="fixuj", ["de"]="stellewiederher", diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index 124a11c4d..f71a8d50f 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -132,7 +132,7 @@ return { "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", -- - "Ux", "eUx", + "Ux", "eUx", "Umathaccents", }, ["helpers"] = { -- @@ -366,6 +366,7 @@ return { -- "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", + "normalsuperscript", "normalsubscript", -- "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", diff --git a/tex/context/base/mkiv/node-bck.mkiv b/tex/context/base/mkiv/node-bck.mkiv index ed927cf0d..58edab668 100644 --- a/tex/context/base/mkiv/node-bck.mkiv +++ b/tex/context/base/mkiv/node-bck.mkiv @@ -16,6 +16,8 @@ %D This is first attempt to replacing backgrounds in a few tables %D mechanisms. When used more frequently, we can store the color %D spec in the attribute. +%D +%D Maybe move some to the bar handler. \unprotect diff --git a/tex/context/base/mkiv/node-rul.mkiv b/tex/context/base/mkiv/node-rul.mkiv index a3df8481f..8706b8ecf 100644 --- a/tex/context/base/mkiv/node-rul.mkiv +++ b/tex/context/base/mkiv/node-rul.mkiv @@ -256,7 +256,15 @@ \unexpanded\def\setupunderbar[#1]% too incompatible for the moment {} -%D Experimental new feature: +%D An experimental new feature: +%D +%D \startbuffer +%D test {\red\underrandoms{test me}} and \underrandom{test} or \underrandom{grep} \blank +%D test {\red\underdashes {test me}} and \underdash {test} or \underdash {grep} \blank +%D test {\red\underdots {test me}} and \underdot {test} or \underdot {grep} \blank +%D \stopbuffer +%D +%D \typebuffer \getbuffer \startuseMPgraphic{rules:under:random} draw @@ -271,7 +279,7 @@ draw ((0,RuleDepth) ... (RuleWidth,RuleDepth)) shifted (0,RuleFactor*RuleOffset) - dashed dashpattern(off 5/RuleFactor on 0 off 5/RuleFactor) + dashed dashpattern(on RuleFactor/2 off RuleFactor/2) withpen pencircle scaled RuleThickness withcolor RuleColor ; setbounds currentpicture to unitsquare xysized(RuleWidth,RuleHeight) ; @@ -281,8 +289,8 @@ draw ((0,RuleDepth) ... (RuleWidth,RuleDepth)) shifted (0,RuleFactor*RuleOffset) - dashed dashpattern(on RuleFactor/2 off RuleFactor/2) - withpen pencircle scaled RuleThickness + dashed dashpattern(off 3/RuleFactor on 0 off 3/RuleFactor) + withpen pencircle scaled 2RuleThickness withcolor RuleColor ; setbounds currentpicture to unitsquare xysized(RuleWidth,RuleHeight) ; \stopuseMPgraphic diff --git a/tex/context/base/mkiv/pack-com.mkiv b/tex/context/base/mkiv/pack-com.mkiv index 623d669e7..c9c3bab4b 100644 --- a/tex/context/base/mkiv/pack-com.mkiv +++ b/tex/context/base/mkiv/pack-com.mkiv @@ -936,10 +936,14 @@ \unexpanded\def\placeontopofeachother{\bgroup\dowithnextboxcs\pack_topofeachother_one\hbox} \unexpanded\def\placesidebyside {\bgroup\dowithnextboxcs\pack_sidebyside_one \hbox} -\def\pack_topofeachother_one{\bgroup\setbox0\box\nextbox\dowithnextboxcs\pack_topofeachother_two\hbox} -\def\pack_sidebyside_one {\bgroup\setbox0\box\nextbox\dowithnextboxcs\pack_sidebyside_two \hbox} - -\def\pack_topofeachother_two{\setbox2\box\nextbox\halign{\hss##\hss\cr\box0\cr\box2\cr}\egroup\egroup} -\def\pack_sidebyside_two {\setbox2\box\nextbox\valign{\vss##\vss\cr\box0\cr\box2\cr}\egroup\egroup} +\def\pack_topofeachother_one{\bgroup\setbox\scratchboxone\box\nextbox\dowithnextboxcs\pack_topofeachother_two\hbox} +\def\pack_sidebyside_one {\bgroup\setbox\scratchboxone\box\nextbox\dowithnextboxcs\pack_sidebyside_two \hbox} + +\def\pack_topofeachother_two{\setbox\scratchboxtwo\box\nextbox + \halign{\hss\alignmark\alignmark\hss\cr\box\scratchboxone\cr\box\scratchboxtwo\cr}% + \egroup\egroup} +\def\pack_sidebyside_two {\setbox\scratchboxtwo\box\nextbox + \valign{\vss\alignmark\alignmark\vss\cr\box\scratchboxone\cr\box\scratchboxtwo\cr}% + \egroup\egroup} \protect \endinput diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv index ef59209e0..2150842aa 100644 --- a/tex/context/base/mkiv/pack-rul.mkiv +++ b/tex/context/base/mkiv/pack-rul.mkiv @@ -435,6 +435,8 @@ \let\overlaycolor \empty \let\overlaylinecolor \empty +\def\overlayradius{\framedparameter\c!frameradius} + \newdimen\d_overlay_width \newdimen\d_overlay_height \newdimen\d_overlay_depth diff --git a/tex/context/base/mkiv/phys-dim.mkiv b/tex/context/base/mkiv/phys-dim.mkiv index fcbb53311..3ea042b05 100644 --- a/tex/context/base/mkiv/phys-dim.mkiv +++ b/tex/context/base/mkiv/phys-dim.mkiv @@ -145,8 +145,8 @@ \fi\fi} \def\phys_digits_normalized_math#1#2% - {\setbox\scratchbox\hbox{$\Ustack{#1}$}% - \hbox to \wd\scratchbox{\hss{$\Ustack{#2}$}\hss}} + {\setbox\scratchbox\hbox{\normalstartimath\Ustack{#1}\normalstopimath}% + \hbox to \wd\scratchbox{\hss{\normalstartimath\Ustack{#2}\normalstopimath}\hss}} \def\phys_digits_normalized_text#1#2% {\setbox\scratchbox\hbox{#1}% diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex 6c8d173f1..1ec0e8310 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 3d6989eb9..7670ca93c 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi index f9700c481..053e35ef6 100644 --- a/tex/context/base/mkiv/strc-itm.mkvi +++ b/tex/context/base/mkiv/strc-itm.mkvi @@ -440,6 +440,10 @@ \setvalue{\??itemgroupkeyword\v!three }{\letitemgroupparameter\c!n\plusthree} \setvalue{\??itemgroupkeyword\v!four }{\letitemgroupparameter\c!n\plusfour} \setvalue{\??itemgroupkeyword\v!five }{\letitemgroupparameter\c!n\plusfive} +\setvalue{\??itemgroupkeyword\v!six }{\letitemgroupparameter\c!n\plussix} +\setvalue{\??itemgroupkeyword\v!seven }{\letitemgroupparameter\c!n\plusseven} +\setvalue{\??itemgroupkeyword\v!eight }{\letitemgroupparameter\c!n\pluseight} +\setvalue{\??itemgroupkeyword\v!nine }{\letitemgroupparameter\c!n\plusnine} \setvalue{\??itemgroupkeyword\v!standard }{\setupcurrentitemgroup [\c!width=1.5em,\c!factor=0,\c!distance=.5em,\c!inner=,\c!factor=0,% \c!beforehead=,\c!afterhead=\blank,% diff --git a/tex/context/base/mkiv/strc-ref.lua b/tex/context/base/mkiv/strc-ref.lua index 0cb9962d3..2d6f3837b 100644 --- a/tex/context/base/mkiv/strc-ref.lua +++ b/tex/context/base/mkiv/strc-ref.lua @@ -1896,7 +1896,7 @@ implement { name = "setinnerreferencemethod", actions = references.setinnermethod, arguments = "string", - onlyonce = true + -- onlyonce = true } function references.getinnermethod() diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv index e36671277..a302076f2 100644 --- a/tex/context/base/mkiv/supp-box.mkiv +++ b/tex/context/base/mkiv/supp-box.mkiv @@ -217,7 +217,7 @@ \unexpanded\def\syst_boxes_math_set_nextbox#1% {\c_boxes_math_style\mathstyle - \setbox\nextbox\hbox{$\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}$}} + \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}} %D \macros %D {smash} @@ -734,9 +734,9 @@ \def\dollap{\begingroup\dowithnextboxcs\dodollap\hbox} \def\doclap{\begingroup\dowithnextboxcs\dodoclap\hbox} -\def\domathclap{\mathpalette\dodomathclap} \def\dodomathclap#1#2{\doclap{$\mathsurround\zeropoint#1#2$}} -\def\domathllap{\mathpalette\dodomathllap} \def\dodomathllap#1#2{\dollap{$\mathsurround\zeropoint#1#2$}} -\def\domathrlap{\mathpalette\dodomathrlap} \def\dodomathrlap#1#2{\dorlap{$\mathsurround\zeropoint#1#2$}} +\def\domathclap{\mathpalette\dodomathclap} \def\dodomathclap#1#2{\doclap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}} +\def\domathllap{\mathpalette\dodomathllap} \def\dodomathllap#1#2{\dollap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}} +\def\domathrlap{\mathpalette\dodomathrlap} \def\dodomathrlap#1#2{\dorlap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}} \unexpanded\def\rlap{\mathortext\domathrlap\dorlap} \unexpanded\def\llap{\mathortext\domathllap\dollap} @@ -2735,7 +2735,7 @@ \dowithnextboxcs\syst_boxes_vcenter_finish\vbox} \def\syst_boxes_vcenter_finish - {\hpack{$\normalvcenter{\box\nextbox}$}% + {\hpack{\normalstartimath\normalvcenter{\box\nextbox}\normalstopimath}% \egroup} % could be \everymathematics diff --git a/tex/context/base/mkiv/supp-mat.mkiv b/tex/context/base/mkiv/supp-mat.mkiv index 925f25cc4..b265a7c5a 100644 --- a/tex/context/base/mkiv/supp-mat.mkiv +++ b/tex/context/base/mkiv/supp-mat.mkiv @@ -44,14 +44,14 @@ %D \def\MyPlus{\mathematics{\,+\,}} %D \stoptyping %D -%D Which is implemented as: - -\let\normalsuperscript \Usuperscript -\let\normalsubscript \Usubscript -\let\normalstartimath \Ustartmath -\let\normalstopimath \Ustopmath -\let\normalstartdmath \Ustartdisplaymath -\let\normalstopdmath \Ustopdisplaymath +%D Which is implemented (in \type{syst-ini.mkiv}) as: + +% \let\normalsuperscript\Usuperscript +% \let\normalsubscript \Usubscript +% \let\normalstartimath \Ustartmath +% \let\normalstopimath \Ustopmath +% \let\normalstartdmath \Ustartdisplaymath +% \let\normalstopdmath \Ustopdisplaymath % \unexpanded\def\Ustartdisplaymath % {\ifinner diff --git a/tex/context/base/mkiv/supp-vis.mkiv b/tex/context/base/mkiv/supp-vis.mkiv index de7c4288d..8b9420162 100644 --- a/tex/context/base/mkiv/supp-vis.mkiv +++ b/tex/context/base/mkiv/supp-vis.mkiv @@ -1415,7 +1415,9 @@ {\dontinterfere \dontcomplain \setbox\boxrulescratchbox\normalhbox - {$\normalmkern\ifnegative-\fi\scratchskip$}% + {\normalstartimath + \normalmkern\ifnegative-\fi\scratchskip + \normalstopimath}% \setbox\boxrulescratchbox\normalhbox to \wd\boxrulescratchbox {\visualvrule \s!height16\testrulewidth diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index f461c0e47..710ba13f9 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -1122,4 +1122,13 @@ \expandafter\edef\csname ??#1\endcsname{\v_interfaces_prefix_template_system}% \fi} +%D It makes more sense to have these here: + +\let\normalsuperscript\Usuperscript +\let\normalsubscript \Usubscript +\let\normalstartimath \Ustartmath +\let\normalstopimath \Ustopmath +\let\normalstartdmath \Ustartdisplaymath +\let\normalstopdmath \Ustopdisplaymath + \protect \endinput diff --git a/tex/context/base/mkiv/tabl-tab.mkiv b/tex/context/base/mkiv/tabl-tab.mkiv index c8ddd131e..2fee8a5ab 100644 --- a/tex/context/base/mkiv/tabl-tab.mkiv +++ b/tex/context/base/mkiv/tabl-tab.mkiv @@ -131,10 +131,13 @@ \def\!tfSetWidth {\ifx\!tfRowOfWidths\empty % true if no prior "w" keys \ifnum\!taColumnNumber>\zerocount % true if "w" key is to right of first "|" - \begingroup % RowOfWidths={&\omit || n copies of &\omit&\omit}, where n = number of column to the left of this one - \scratchcounter\plusone - \aftergroup \edef \aftergroup \!tfRowOfWidths \aftergroup {% - \aftergroup &\aftergroup \omit + \begingroup % RowOfWidths={\aligntab\omit || n copies of \aligntab\omit\aligntab#\omit}, where n = number of column to the left of this one + \scratchcounter\plusone + \aftergroup\edef + \aftergroup\!tfRowOfWidths + \aftergroup{% + \aftergroup\aligntab + \aftergroup\omit \!thLoop \ifnum \scratchcounter<\!taColumnNumber \advance\scratchcounter\plusone @@ -150,7 +153,7 @@ \expandafter\!tfSetWidthValue \fi} -\def\!tfAOAO{&\omit&\omit} +\def\!tfAOAO{\aligntab\omit\aligntab\omit} \def\!tfSetWidthText[#1]% {\def\!tfWidthText{#1}% @@ -201,7 +204,7 @@ \else \!tgValue \fi - ####% + \alignmark\alignmark\alignmark\alignmark \hfil \the\!taRuleColumnTemplate}% \!tfAdjoinPriorColumn} @@ -223,13 +226,13 @@ \!tfUpdateRowOfWidths \fi \!thToksEdef\!taDataColumnTemplate{\the\!taLeftGlue\the\!taDataColumnTemplate\the\!taRightGlue}% - \!thToksEdef\!taPreamble{\the\!taPreamble&\the\!taDataColumnTemplate&\the\!taRuleColumnTemplate}% + \!thToksEdef\!taPreamble{\the\!taPreamble\aligntab\the\!taDataColumnTemplate\aligntab\the\!taRuleColumnTemplate}% \fi \advance \!taColumnNumber \plusone \if!taOnceOnlyTabskip - \!thToksEdef\!taDataColumnTemplate{####\tabskip \the\!taLastRegularTabskip}% + \!thToksEdef\!taDataColumnTemplate{\alignmark\alignmark\alignmark\alignmark\tabskip\the\!taLastRegularTabskip}% \else - \!taDataColumnTemplate{##}% + \!taDataColumnTemplate{\alignmark\alignmark}% \fi \!taRuleColumnTemplate\emptytoks \!taLeftGlue{\hfil}% @@ -245,12 +248,12 @@ \fi \edef\!tfRowOfWidths {\!tfRowOfWidths - &% + \aligntab \omit \ifdim \!taMinimumColumnWidth>\zeropoint \hskip \the\!taMinimumColumnWidth \fi - & + \aligntab \omit}} \def\!tfComputeMinColWidth @@ -261,13 +264,18 @@ \!taMinimumColumnWidth=\wd0 } \def\!tfFinishFormat - {\!thToksEdef\!taPreamble{####\tabskip\tablelefttabskip&\the\!taPreamble \tabskip\tablerighttabskip&####\tabskip\zeropoint\cr} + {\!thToksEdef\!taPreamble{% + \alignmark\alignmark\alignmark\alignmark\tabskip\tablelefttabskip + \aligntab + \the\!taPreamble\tabskip\tablerighttabskip + \aligntab + \alignmark\alignmark\alignmark\alignmark\tabskip\zeropoint\cr} \!taBeginFormatfalse \!ttDoHalign} \def\dotablereformat[#1]% will become local {\omit - \!taDataColumnTemplate{##}% + \!taDataColumnTemplate{\alignmark\alignmark}% \!taLeftGlue\emptytoks \!taRightGlue\emptytoks \begingroup @@ -393,7 +401,7 @@ \fi}% \!ttemp} -\def\newtableformatkey #1{\setvalue{!tk<\string#1>}} +\def\newtableformatkey #1{\setvalue{!tk<\string#1>}} \def\doreadtableformatkeys#1{\getvalue{!tk<\string#1>}} % Key "b": b{TOKENS} adds TOKENS to the left of (before) the template @@ -498,12 +506,12 @@ % Key "m": Math mode. \newtableformatkey m% - {\doreadtableformatkeys b$ a$} + {\doreadtableformatkeys b{\normalstartimath} a{\normalstopimath}} % Key "M": Displaymath mode. \newtableformatkey M% - {\doreadtableformatkeys \{ b{$\displaystyle} a$} + {\doreadtableformatkeys \{ b{\normalstartimath\displaystyle} a{\normalstopimath}} % Key "\m": Template ${}#\hfil$ \newtableformatkey \m% @@ -777,7 +785,7 @@ \!TsFinishEnlarge} \def\!TsEnlargeMath#1#2% - {\setbox\scratchbox\hbox{$\mathsurround\zeropoint#1{#2}$}% + {\setbox\scratchbox\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}% \!TsFinishEnlarge} \def\!TsFinishEnlarge @@ -814,9 +822,12 @@ \else\if#1b% \vbox \else - \def\dotablestandardend{\egroup$\egroup}% - %$\vcenter - \scratchtoks\everymath\everymath\emptytoks$\everymath\scratchtoks\vcenter + \def\dotablestandardend{\egroup\normalstopimath\egroup}% + \scratchtoks\everymath + \everymath\emptytoks + \normalstartimath + \everymath\scratchtoks + \vcenter \fi\fi \bgroup % for the \vtop, \vbox, or \vcenter \fi @@ -903,10 +914,10 @@ \hskip\@VLd} \def\donormaltablesimplebar - {\unskip\!ttRightGlue&&} + {\unskip\!ttRightGlue\aligntab\aligntab} \def\donormaltablecomplexbar - {\unskip\!ttRightGlue&\omit + {\unskip\!ttRightGlue\aligntab\omit \hfil \ifx\tablecurrentvrulecolor\empty\else \switchtocolor[\tablecurrentvrulecolor]% @@ -921,16 +932,16 @@ \fi \global\let\tablecurrentvrulecolor\empty \hfil - &} + \aligntab} \def\donormaltablenobar - {\unskip\!ttRightGlue&\omit&} + {\unskip\!ttRightGlue\aligntab\omit\aligntab} \def\donormaltablesinglerule - {&\donormaltablelongrule&} + {\aligntab\donormaltablelongrule\aligntab} \def\donormaltablemultirule - {&\!ttuse\tabledrulespan\donormaltablelongrule&} + {\aligntab\!ttuse\tabledrulespan\donormaltablelongrule\aligntab} % USE @@ -1039,7 +1050,7 @@ \!thFinishVCS} \def\!thDoMathVCS#1#2% - {\setbox\zerocount\hbox{$\mathsurround\zeropoint#1{#2}$}% + {\setbox\zerocount\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}% \!thFinishVCS} \def\!thFinishVCS @@ -1078,7 +1089,7 @@ \!thFinishRaise} % From Plain TeX: \ht0=0pt \dp0=0pt \box0 \def\!thDoMathRaise#1#2% - {\setbox\zerocount\hbox{\raise \!taDimenA\hbox{$\mathsurround\zeropoint#1{#2}$}}% + {\setbox\zerocount\hbox{\raise \!taDimenA\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}}% \!thFinishRaise} \def\!thFinishRaise diff --git a/tex/context/base/mkiv/tabl-tbl.mkiv b/tex/context/base/mkiv/tabl-tbl.mkiv index f7305b5bb..23d8002d6 100644 --- a/tex/context/base/mkiv/tabl-tbl.mkiv +++ b/tex/context/base/mkiv/tabl-tbl.mkiv @@ -630,10 +630,11 @@ \tabl_tabulate_set_preamble} \installtabulatepreambleoption{R}{\t_tabl_tabulate_font{\rm}% \tabl_tabulate_set_preamble} -\installtabulatepreambleoption{m}{\t_tabl_tabulate_bmath{$}% - \t_tabl_tabulate_emath{$}% +\installtabulatepreambleoption{m}{\t_tabl_tabulate_bmath{\normalstartimath}% + \t_tabl_tabulate_emath{\normalstopimath}% \tabl_tabulate_set_preamble} -\installtabulatepreambleoption{M}{\t_tabl_tabulate_bmath{$\displaystyle}\t_tabl_tabulate_emath{$}% +\installtabulatepreambleoption{M}{\t_tabl_tabulate_bmath{\normalstartimath\displaystyle}% + \t_tabl_tabulate_emath{\normalstopimath}% \tabl_tabulate_set_preamble} \installtabulatepreambleoption{h}{\tabl_tabulate_set_hook} \installtabulatepreambleoption{b}{\tabl_tabulate_set_before} diff --git a/tex/context/base/mkiv/trac-jus.mkiv b/tex/context/base/mkiv/trac-jus.mkiv index d0823d311..71d88b00e 100644 --- a/tex/context/base/mkiv/trac-jus.mkiv +++ b/tex/context/base/mkiv/trac-jus.mkiv @@ -1,6 +1,6 @@ %D \module %D [ file=trac-jus, -%D version=2112.11.27, +%D version=2012.11.27, %D title=\CONTEXT\ Tracing Macros, %D subtitle=Justification, %D author=Hans Hagen, diff --git a/tex/context/interface/common/keys-cs.xml b/tex/context/interface/common/keys-cs.xml index 9cea5865e..03d3d9f7e 100644 --- a/tex/context/interface/common/keys-cs.xml +++ b/tex/context/interface/common/keys-cs.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='kazdy'/> <cd:variable name='edge' value='hrana'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='prazdne'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='dalsilichastranka'/> <cd:variable name='nextpage' value='dalsistranka'/> <cd:variable name='nextsubpage' value='dalsipodstranka'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='ne'/> <cd:variable name='nocheck' value='nocheck'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='semknuto'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='jednostranne'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='sklonene'/> <cd:variable name='slantedbold' value='sklonenetucne'/> <cd:variable name='small' value='male'/> diff --git a/tex/context/interface/common/keys-de.xml b/tex/context/interface/common/keys-de.xml index 83557c175..d78e1cbf0 100644 --- a/tex/context/interface/common/keys-de.xml +++ b/tex/context/interface/common/keys-de.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='jede'/> <cd:variable name='edge' value='kante'/> + <cd:variable name='eight' value='acht'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='leer'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='naechsteungeradeseite'/> <cd:variable name='nextpage' value='folgendeseite'/> <cd:variable name='nextsubpage' value='folgendeunterseite'/> + <cd:variable name='nine' value='neun'/> <cd:variable name='no' value='nein'/> <cd:variable name='nocheck' value='nocheck'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='kleinerabstand'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='sieben'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='einzelseitig'/> + <cd:variable name='six' value='sechs'/> <cd:variable name='slanted' value='geneigt'/> <cd:variable name='slantedbold' value='geneigtfett'/> <cd:variable name='small' value='klein'/> diff --git a/tex/context/interface/common/keys-en.xml b/tex/context/interface/common/keys-en.xml index f9748423d..fae37a36a 100644 --- a/tex/context/interface/common/keys-en.xml +++ b/tex/context/interface/common/keys-en.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='each'/> <cd:variable name='edge' value='edge'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='empty'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='nextoddpage'/> <cd:variable name='nextpage' value='nextpage'/> <cd:variable name='nextsubpage' value='nextsubpage'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='no'/> <cd:variable name='nocheck' value='nocheck'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='serried'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='singlesided'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='slanted'/> <cd:variable name='slantedbold' value='slantedbold'/> <cd:variable name='small' value='small'/> diff --git a/tex/context/interface/common/keys-fr.xml b/tex/context/interface/common/keys-fr.xml index 8d06486a9..337fa4b74 100644 --- a/tex/context/interface/common/keys-fr.xml +++ b/tex/context/interface/common/keys-fr.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='chaque'/> <cd:variable name='edge' value='bord'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='vide'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='pageimpairesuivante'/> <cd:variable name='nextpage' value='pagesuivante'/> <cd:variable name='nextsubpage' value='souspagesuivante'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='non'/> <cd:variable name='nocheck' value='nonverifie'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='serried'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='recto'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='incline'/> <cd:variable name='slantedbold' value='grasincline'/> <cd:variable name='small' value='petit'/> diff --git a/tex/context/interface/common/keys-it.xml b/tex/context/interface/common/keys-it.xml index 2df7c0021..164b46c1d 100644 --- a/tex/context/interface/common/keys-it.xml +++ b/tex/context/interface/common/keys-it.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='ogni'/> <cd:variable name='edge' value='bordo'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='vuoto'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='paginadisparisuccessiva'/> <cd:variable name='nextpage' value='paginasuccessiva'/> <cd:variable name='nextsubpage' value='sottopaginasuccessiva'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='no'/> <cd:variable name='nocheck' value='nocheck'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='vicino'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='facciasingola'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='inclinato'/> <cd:variable name='slantedbold' value='inclinatograssetto'/> <cd:variable name='small' value='piccolo'/> diff --git a/tex/context/interface/common/keys-nl.xml b/tex/context/interface/common/keys-nl.xml index d95a4e107..85d77e419 100644 --- a/tex/context/interface/common/keys-nl.xml +++ b/tex/context/interface/common/keys-nl.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='omlaag'/> <cd:variable name='each' value='elk'/> <cd:variable name='edge' value='rand'/> + <cd:variable name='eight' value='acht'/> <cd:variable name='embed' value='sluitin'/> <cd:variable name='empty' value='leeg'/> <cd:variable name='end' value='eind'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='volgendeonevenpagina'/> <cd:variable name='nextpage' value='volgendepagina'/> <cd:variable name='nextsubpage' value='volgendesubpagina'/> + <cd:variable name='nine' value='negen'/> <cd:variable name='no' value='nee'/> <cd:variable name='nocheck' value='geencontrole'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='aanelkaar'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='zeven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='enkelzijdig'/> + <cd:variable name='six' value='zes'/> <cd:variable name='slanted' value='schuin'/> <cd:variable name='slantedbold' value='schuinvet'/> <cd:variable name='small' value='klein'/> diff --git a/tex/context/interface/common/keys-pe.xml b/tex/context/interface/common/keys-pe.xml index 248cf4db7..3bb8907b3 100644 --- a/tex/context/interface/common/keys-pe.xml +++ b/tex/context/interface/common/keys-pe.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='هر'/> <cd:variable name='edge' value='لبه'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='تهی'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='صفحهفردبعدی'/> <cd:variable name='nextpage' value='صفحهبعدی'/> <cd:variable name='nextsubpage' value='زیرصفحهبعدی'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='نه'/> <cd:variable name='nocheck' value='بدونبررسی'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='تنگهم'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='ورقه'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='یکرو'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='خوابیده'/> <cd:variable name='slantedbold' value='مشکیخوابیده'/> <cd:variable name='small' value='کوچک'/> diff --git a/tex/context/interface/common/keys-ro.xml b/tex/context/interface/common/keys-ro.xml index 232101d71..7ff3494aa 100644 --- a/tex/context/interface/common/keys-ro.xml +++ b/tex/context/interface/common/keys-ro.xml @@ -170,6 +170,7 @@ <cd:variable name='down' value='down'/> <cd:variable name='each' value='fiecare'/> <cd:variable name='edge' value='bordura'/> + <cd:variable name='eight' value='eight'/> <cd:variable name='embed' value='embed'/> <cd:variable name='empty' value='gol'/> <cd:variable name='end' value='end'/> @@ -357,6 +358,7 @@ <cd:variable name='nextoddpage' value='paginaimparaurmatoarea'/> <cd:variable name='nextpage' value='paginaurmatoare'/> <cd:variable name='nextsubpage' value='urmatoareasubpagina'/> + <cd:variable name='nine' value='nine'/> <cd:variable name='no' value='nu'/> <cd:variable name='nocheck' value='nocheck'/> <cd:variable name='nodepth' value='nodepth'/> @@ -473,6 +475,7 @@ <cd:variable name='serifnormal' value='serifnormal'/> <cd:variable name='serried' value='serried'/> <cd:variable name='setups' value='setups'/> + <cd:variable name='seven' value='seven'/> <cd:variable name='sheet' value='sheet'/> <cd:variable name='shiftdown' value='shiftdown'/> <cd:variable name='shiftup' value='shiftup'/> @@ -480,6 +483,7 @@ <cd:variable name='simplefonts' value='simplefonts'/> <cd:variable name='simplelist' value='simplelist'/> <cd:variable name='singlesided' value='ofata'/> + <cd:variable name='six' value='six'/> <cd:variable name='slanted' value='inclinat'/> <cd:variable name='slantedbold' value='inclinataldin'/> <cd:variable name='small' value='mic'/> diff --git a/tex/context/modules/mkiv/m-format.mkiv b/tex/context/modules/mkiv/m-format.mkiv index 7cedd803f..f9dd348a4 100644 --- a/tex/context/modules/mkiv/m-format.mkiv +++ b/tex/context/modules/mkiv/m-format.mkiv @@ -333,8 +333,8 @@ \c!leftoffset=3em, \c!rightoffset=2em, \c!minwidth=5em, - \c!left={$[$\enspace}, - \c!right={\enspace$]$}] + \c!left={\mathematics{[}\enspace}, + \c!right={\enspace\mathematics{]}}] \defineformatline[line] [] diff --git a/tex/context/modules/mkiv/m-units.mkiv b/tex/context/modules/mkiv/m-units.mkiv index b0db8d548..f85a8ba8a 100644 --- a/tex/context/modules/mkiv/m-units.mkiv +++ b/tex/context/modules/mkiv/m-units.mkiv @@ -260,7 +260,9 @@ {\iftextdimensions \tx\thedimensionpower \else - $\scriptstyle\thedimensionpower$% + \normalstartimath + \scriptstyle\thedimensionpower + \normalstopimath \fi}% \ht\scratchbox=\zeropoint \dodimensionpower{\box\scratchbox}% diff --git a/tex/context/modules/mkiv/x-chemml.mkiv b/tex/context/modules/mkiv/x-chemml.mkiv index bb9065921..f0511206e 100644 --- a/tex/context/modules/mkiv/x-chemml.mkiv +++ b/tex/context/modules/mkiv/x-chemml.mkiv @@ -24,14 +24,12 @@ \unprotect \startxmlsetups xml:cml:process - \xmlstrip {#1} {cml:chem|cml:ichem|cml:dchem|cml:reaction|cml:molecule|cml:ion|cml:structure} - - \xmlgrab {#1} {cml:*} {cml:*} - \xmlgrab {#1} {cml:gives|cml:equilibrium|cml:mesomeric} {cml:arrow} - \xmlgrab {#1} {cml:plus|cml:minus|cml:equal} {cml:operator} - \xmlgrab {#1} {cml:bond|cml:singlebond|cml:doublebound|cml:triplebond} {cml:bond} - - \xmlgrab {#1} {pi::chemml} {cml:pi} + \xmlstrip {#1} {cml:chem|cml:ichem|cml:dchem|cml:reaction|cml:molecule|cml:ion|cml:structure} + \xmlsetsetup {#1} {cml:*} {cml:*} + \xmlsetsetup {#1} {cml:gives|cml:equilibrium|cml:mesomeric} {cml:arrow} + \xmlsetsetup {#1} {cml:plus|cml:minus|cml:equal} {cml:operator} + \xmlsetsetup {#1} {cml:bond|cml:singlebond|cml:doublebound|cml:triplebond} {cml:bond} + \xmlsetsetup {#1} {pi::chemml} {cml:pi} \stopxmlsetups \xmlregistersetup{xml:cml:process} @@ -97,15 +95,23 @@ \startxmlsetups cml:atom \doCMLtext { \lohi { - $\tfxx\xmlatt{#1}{protons}$ + \normalstartimath + \tfxx\xmlatt{#1}{protons}% + \normalstopimath } { - $\tfxx\xmlatt{#1}{weight}$ + \normalstartimath + \tfxx\xmlatt{#1}{weight}% + \normalstopimath } \xmlflush{#1} \lohi { - $\tfxx\xmlatt{#1}{n}$ + \normalstartimath + \tfxx\xmlatt{#1}{n}% + \normalstopimath } { - $\tfxx\xmlatt{#1}{charge}$% + \normalstartimath + \tfxx\xmlatt{#1}{charge}% + \normalstopimath } } {\xmlindex{#1}{cml:caption}{2}} @@ -167,7 +173,7 @@ \def\dodoCMLbond#1#2#3% {\begingroup - \setbox\scratchbox\hbox{$M$}% + \setbox\scratchbox\hbox{\normalstartimath M\normalstopimath}% \vbox to \ht\scratchbox {\hsize\wd\scratchbox \vskip.1\wd\scratchbox diff --git a/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua b/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua new file mode 100644 index 000000000..00fc636a1 --- /dev/null +++ b/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua @@ -0,0 +1,76 @@ + +return function(specification) + local t = { } + for k, v in pairs(specification.features.normal) do + local n = tonumber(k) + if n then + t[n] = v + end + end + for k, v in ipairs(t) do + local name, rest = string.match(v,"^(.-){(.*)}$") + if rest then + t[k] = { name = name, list = { } } + for s in string.gmatch(rest,"([^%+]+)") do + local b, e = string.match(s,"^(.-)%-(.*)$") + if b and e then + b = tonumber(b) + e = tonumber(e) + else + b = tonumber(s) + e = b + end + if b and e then + table.insert(t[k].list,{ b = b, e = e }) + end + end + else + t[k] = { name = v } + end + end + local ids = { } + for k, v in ipairs(t) do + local f, id + if tonumber(v.name) then + id = tonumber(v.name) + f = fonts.hashes.identifiers[id] + else + f, id = fonts.constructors.readanddefine(v.name,specification.size) + end + v.f = f + ids[k] = { id = id } + end + local one = t[1].f + if one then + one.properties.name = specification.name + one.properties.virtualized = true + one.fonts = ids + local chr = one.characters + for n, v in ipairs(t) do + if n == 1 then + -- use font 1 as base + elseif v.list and #v.list > 0 then + local chrs = v.f.characters + for k, v in ipairs(v.list) do + for u=v.b,v.e do + local c = chrs[u] + if c then + c.commands = { + { 'slot', n, u }, + } + chr[u] = c + end + end + end + else + for u, c in ipairs(v.f.characters) do + c.commands = { + { 'slot', n, u }, + } + chr[u] = c + end + end + end + end + return one +end diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 85d215e19..f10ab239a 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 02/15/16 10:26:35 +-- merge date : 02/17/16 11:11:24 do -- begin closure to overcome local limits and interference |