diff options
author | Karl Berry <karl@freefriends.org> | 2017-05-19 22:21:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-05-19 22:21:26 +0000 |
commit | 02d80ea895335df75e00859242939f1c46ef738b (patch) | |
tree | 321adf01c66b8d2925b191e5f710a4a97e980122 /Master/texmf-dist/tex | |
parent | 2f05e748b4a6adff09c1139331b4012419c52152 (diff) |
context/current (May 16 10:25)
git-svn-id: svn://tug.org/texlive/trunk@44436 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
25 files changed, 3472 insertions, 100 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii b/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii index 847856cb974..b23a010d939 100644 --- a/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii +++ b/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2017.05.12 22:40} +\newcontextversion{2017.05.15 21:48} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/Master/texmf-dist/tex/context/base/mkii/context.mkii b/Master/texmf-dist/tex/context/base/mkii/context.mkii index 725f87c00a2..9b79652fee0 100644 --- a/Master/texmf-dist/tex/context/base/mkii/context.mkii +++ b/Master/texmf-dist/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2017.05.12 22:40} +\edef\contextversion{2017.05.15 21:48} %D For those who want to use this: diff --git a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv index 3aacc978cd6..cad08c512ea 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv +++ b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2017.05.12 22:40} +\newcontextversion{2017.05.15 21:48} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv index 6d946e0bc63..509077bc95f 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv +++ b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2017.05.12 22:40} +\edef\contextversion{2017.05.15 21:48} \edef\contextkind {beta} %D For those who want to use this: diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi b/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi index 88a3ff9412d..b13047e5091 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi +++ b/Master/texmf-dist/tex/context/base/mkiv/font-col.mkvi @@ -100,7 +100,7 @@ {\doifelsenothing{#3}% {\definedfont[#2 at #4sp]}% {\definedfont[#2*#3\space at #4\scaledpoint]}% - \ctxlua{mathematics.registerfallbackid(#1,\fontid\font)}} + \clf_registerfontfallbackid#1\space\fontid\font\space{#2}} % \def\font_fallbacks_finish_math % {\ctxlua{mathematics.finishfallbacks()}} diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-ext.lua b/Master/texmf-dist/tex/context/base/mkiv/font-ext.lua index 6edfe702542..965b6e6dc26 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-ext.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-ext.lua @@ -1296,3 +1296,52 @@ do -- another hack for a crappy font } end + +do + + local tounicode = fonts.mappings.tounicode + + local function check(tfmdata,key,value) + if value == "ligatures" then + local private = fonts.constructors and fonts.constructors.privateoffset or 0xF0000 + local collected = fonts.handlers.otf.readers.getcomponents(tfmdata.shared.rawdata) + if collected and next(collected)then + for unicode, char in next, tfmdata.characters do + if true then -- if unicode >= private or (unicode >= 0xE000 and unicode <= 0xF8FF) then + local u = collected[unicode] + if u then + local n = #u + for i=1,n do + if u[i] > private then + n = 0 + break + end + end + if n > 0 then + if n == 1 then + u = u[1] + end + char.unicode = u + char.tounicode = tounicode(u) + end + end + end + end + end + end + end + + -- forceunicodes=ligatures : aggressive lig resolving (e.g. for emoji) + -- + -- kind of like: \enabletrackers[fonts.mapping.forceligatures] + + registerotffeature { + name = "forceunicodes", + description = "forceunicodes", + manipulators = { + base = check, + node = check, + } + } + +end diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-map.lua b/Master/texmf-dist/tex/context/base/mkiv/font-map.lua index cf369708c62..706c5b70923 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-map.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-map.lua @@ -19,9 +19,9 @@ local trace_mapping = false trackers.register("fonts.mapping", function(v) trac local report_fonts = logs.reporter("fonts","loading") -- not otf only --- force_ligatures is true per 2017-04-20 so that these emoji's with bad names work too +-- force_ligatures was true for a while so that these emoji's with bad names work too -local force_ligatures = true directives.register("fonts.mapping.forceligatures",function(v) force_ligatures = v end) +local force_ligatures = false directives.register("fonts.mapping.forceligatures",function(v) force_ligatures = v end) local fonts = fonts or { } local mappings = fonts.mappings or { } @@ -279,6 +279,9 @@ do ffl = { name = "f_f_l", unicode = { 0x66, 0x66, 0x6C }, mess = 0xFB04 }, fj = { name = "f_j", unicode = { 0x66, 0x6A } }, fk = { name = "f_k", unicode = { 0x66, 0x6B } }, + + -- endash = { name = "endash", unicode = 0x2013, mess = 0x2013 }, + -- emdash = { name = "emdash", unicode = 0x2014, mess = 0x2014 }, } local o = { } @@ -299,7 +302,7 @@ do end -function mappings.addtounicode(data,filename,checklookups) +function mappings.addtounicode(data,filename,checklookups,forceligatures) local resources = data.resources local unicodes = resources.unicodes if not unicodes then @@ -517,22 +520,26 @@ function mappings.addtounicode(data,filename,checklookups) if not collected then -- move on - elseif force_ligatures then + elseif forceligatures or force_ligatures then for i=1,#dlist do local du = dlist[i] - local u = collected[du] -- always tables - if u then - resolve(descriptions[du],u) + if du >= private or (du >= 0xE000 and du <= 0xF8FF) then + local u = collected[du] -- always tables + if u then + resolve(descriptions[du],u) + end end end else for i=1,#dlist do - local du = dlist[i] - local glyph = descriptions[du] - if glyph.class == "ligature" and not glyph.unicode then - local u = collected[du] -- always tables - if u then - resolve(glyph,u) + local du = dlist[i] + if du >= private or (du >= 0xE000 and du <= 0xF8FF) then + local glyph = descriptions[du] + if glyph.class == "ligature" and not glyph.unicode then + local u = collected[du] -- always tables + if u then + resolve(glyph,u) + end end end end diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-ocl.lua b/Master/texmf-dist/tex/context/base/mkiv/font-ocl.lua index c166f5ce4fe..2ecf1ba4242 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-ocl.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-ocl.lua @@ -40,7 +40,7 @@ else function otf.getactualtext(s) return - "/Span << /ActualText <feff" .. n .. "> >> BDC", + "/Span << /ActualText <feff" .. s .. "> >> BDC", "EMC" end diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-otj.lua b/Master/texmf-dist/tex/context/base/mkiv/font-otj.lua index 634f8a83c05..2c79500e741 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-otj.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-otj.lua @@ -1434,6 +1434,35 @@ function injections.isspace(n,threshold,id) end end +-- We have a plugin so that Kai can use the next in plain. Such a plugin is rather application +-- specific. +-- +-- local getboth = nodes.direct.getboth +-- local getid = nodes.direct.getid +-- local getprev = nodes.direct.getprev +-- local getnext = nodes.direct.getnext +-- +-- local whatsit_code = nodes.nodecodes.whatsit +-- local glyph_code = nodes.nodecodes.glyph +-- +-- local function getspaceboth(n) -- fragile: what it prev/next has no width field +-- local prev, next = getboth(n) +-- while prev and (getid(prev) == whatsit_code or (getwidth(prev) == 0 and getid(prev) ~= glyph_code)) do +-- prev = getprev(prev) +-- end +-- while next and (getid(next) == whatsit_code or (getwidth(next) == 0 and getid(next) ~= glyph_code)) do +-- next = getnext(next) +-- end +-- end +-- +-- injections.installgetspaceboth(getspaceboth) + +local getspaceboth = getboth + +function injections.installgetspaceboth(gb) + getspaceboth = gb or getboth +end + local function injectspaces(head) if not triggers then @@ -1458,9 +1487,9 @@ local function injectspaces(head) end for n in traverse_id(glue_code,tonut(head)) do - local prev, next = getboth(n) - local prevchar = ischar(prev) - local nextchar = ischar(next) + local prev, next = getspaceboth(n) + local prevchar = prev and ischar(prev) + local nextchar = next and ischar(next) if nextchar then local font = getfont(next) local trig = triggers[font] diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua b/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua index 3addf332493..4f93c5579ce 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua @@ -1130,9 +1130,10 @@ readers.hmtx = function(f,fontdata,specification) if width ~= 0 then glyph.width = width end - -- if leftsidebearing ~= 0 then - -- glyph.lsb = leftsidebearing - -- end +-- for now +-- if leftsidebearing ~= 0 then +-- glyph.lsb = leftsidebearing +-- end end -- The next can happen in for instance a monospace font or in a cjk font -- with fixed widths. diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-ots.lua b/Master/texmf-dist/tex/context/base/mkiv/font-ots.lua index 16c2ce73581..04ecaa92341 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-ots.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-ots.lua @@ -4289,9 +4289,9 @@ local function spaceinitializer(tfmdata,value) -- attr if type(kern) ~= "table" then left[k] = kern elseif single then - left[k] = v[3] + left[k] = kern[3] else - local one = v[1] + local one = kern[1] if one then left[k] = one[3] end diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-ttf.lua b/Master/texmf-dist/tex/context/base/mkiv/font-ttf.lua index 37b30f31448..339764d4a0d 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/font-ttf.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/font-ttf.lua @@ -160,11 +160,12 @@ local function applyaxis(glyph,shape,deltas,dowidth) local points = shape.points if points then local nofpoints = #points - local h = nofpoints + 1 -- weird, the example font seems to have left first - ----- l = nofpoints + 2 + local h = nofpoints + 2 -- weird, the example font seems to have left first + local l = nofpoints + 1 ----- v = nofpoints + 3 ----- t = nofpoints + 4 - local width = dowidth and glyph.width -- what if hvar + local dw = 0 + local dl = 0 for i=1,#deltas do local deltaset = deltas[i] local xvalues = deltaset.xvalues @@ -190,10 +191,22 @@ local function applyaxis(glyph,shape,deltas,dowidth) p[2] = p[2] + factor * y end end - elseif width then -- and p == h then - local x = xvalues[d+1] - if x then - width = width + factor * x + elseif dowidth then + -- we've now ran into phantom points which is a bit fuzzy because: + -- are there gaps in there? + -- + -- todo: move this outside the loop (when we can be sure of all 4 being there) + if d == h then + -- we have a phantom point hadvance + local x = xvalues[i] + if x then + dw = dw + factor * x + end + elseif d == l then + local x = xvalues[i] + if x then + dl = dl + factor * x + end end end end @@ -213,10 +226,14 @@ local function applyaxis(glyph,shape,deltas,dowidth) end end end - if width then + if dowidth then local x = xvalues[h] if x then - width = width + factor * x + dw = dw + factor * x + end + local x = xvalues[l] + if x then + dl = dl + factor * x end end end @@ -226,8 +243,10 @@ local function applyaxis(glyph,shape,deltas,dowidth) -- p[1] = round(p[1]) -- p[2] = round(p[2]) -- end - if width then - glyph.width = width + if dowidth then + local width = glyph.width or 0 + -- local lsb = glyph.lsb or 0 + glyph.width = width + dw - dl end else report("no points for glyph %a",glyph.name) @@ -1066,7 +1085,7 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) local data = { } local tuples = { } local glyphdata = fontdata.glyphs - local dowidth = fontdata.variabledata.hvarwidths + local dowidth = not fontdata.variabledata.hvarwidths -- there is one more offset (so that one can calculate the size i suppose) -- so we could test for overflows but we simply assume sane font files if bittest(flags,0x0001) then diff --git a/Master/texmf-dist/tex/context/base/mkiv/math-act.lua b/Master/texmf-dist/tex/context/base/mkiv/math-act.lua index 4fcac17d8a5..ddc7510b1d7 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/math-act.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/math-act.lua @@ -28,6 +28,7 @@ local appendgroup = sequencers.appendgroup local appendaction = sequencers.appendaction local fontchars = fonts.hashes.characters +local fontproperties = fonts.hashes.properties local mathfontparameteractions = sequencers.new { name = "mathparameters", @@ -664,10 +665,20 @@ blocks["uppercasedoublestruck"].gaps = { local stack = { } -function mathematics.registerfallbackid(n,id) +function mathematics.registerfallbackid(n,id,name) + if trace_collecting then + report_math("resolved fallback font %i, name %a, id %a, used %a", + n,name,id,fontproperties[id].fontname) + end stack[#stack][n] = id end +interfaces.implement { -- will be shared with text + name = "registerfontfallbackid", + arguments = { "integer", "integer", "string" }, + actions = mathematics.registerfallbackid, +} + function mathematics.resolvefallbacks(target,specification,fallbacks) local definitions = fonts.collections.definitions[fallbacks] if definitions then @@ -733,8 +744,8 @@ function mathematics.finishfallbacks(target,specification,fallbacks) end if force or (not done[unic] and not characters[unic]) then if trace_collecting then - report_math("replacing math character %C by %C using vector %a and font %a named %a%s%s", - unic,unicode,fallbacks,id,name,check and ", checked",gap and ", gap plugged") + report_math("replacing math character %C by %C using vector %a and font id %a for %a%s%s", + unic,unicode,fallbacks,id,fontproperties[id].fontname,check and ", checked",gap and ", gap plugged") end characters[unic] = copiedglyph(target,characters,chars,unicode,index) done[unic] = true diff --git a/Master/texmf-dist/tex/context/base/mkiv/node-nut.lua b/Master/texmf-dist/tex/context/base/mkiv/node-nut.lua index b23709ff000..7e5c3438bda 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/node-nut.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/node-nut.lua @@ -205,7 +205,9 @@ end if LUATEXVERSION < 1.005 then local getfield = direct.getfield - function direct.getsup(n) return getfield(n,"sup") end + function direct.getnucleus(n) return getfield(n,"nucleus") end + function direct.getsub (n) return getfield(n,"sub") end + function direct.getsup (n) return getfield(n,"sup") end end -- if LUATEXVERSION < 1.004 then diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf Binary files differindex ac51837836f..56ab3aa69cb 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf +++ b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf Binary files differindex 7e492a7e75b..85a976f7938 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf +++ b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf Binary files differindex 304cdbe33f4..9d3fa3314db 100644 --- a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf +++ b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 9c05491bc1e..daf6f6248b2 100644 --- a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf +++ b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf diff --git a/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.lua b/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.lua index 2b2aa1dfc35..43f5f0d3d04 100644 --- a/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.lua +++ b/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.lua @@ -18,6 +18,9 @@ local context = context local NC, NR, HL, ML = context.NC, context.NR, context.HL, context.ML local bold, monobold, mono, formattedmono = context.bold, context.monobold, context.mono, context.formatted.mono +local show_glyphs = false trackers.register("modules.fonts.variables.glyphs", function(v) show_glyphs = v end) +local show_kerns = false trackers.register("modules.fonts.variables.kerns", function(v) show_kerns = v end) + function moduledata.fonts.variable.showvariations(specification) specification = interfaces.checkedspecification(specification) @@ -237,11 +240,21 @@ end context.startsubject { title = instance } context.start() context.definedfont { "name:" .. instance .. "*default" } + context.start() + if show_glyphs then + context.showglyphs() + end + if show_kerns then + context.showfontkerns() + end if sample and sample ~= "" then context(sample) else context.input("zapf.tex") end + context.stop() + context.blank { "big,samepage"} + context.showfontspacing() context.par() context.stop() context.stopsubject() diff --git a/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.mkiv b/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.mkiv index 6b84c2ebb33..64348b3245b 100644 --- a/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.mkiv +++ b/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.mkiv @@ -26,6 +26,18 @@ \installmodulecommandluasingle \showfontvariations {moduledata.fonts.variable.showvariations} +\unexpanded\def\showfontspacing + {\begingroup + \scratchskip \interwordspace plus \interwordstretch minus \interwordshrink + \normalexpanded{\hpack\bgroup + \tttf + sp: \the\scratchskip \hskip\emwidth + es: \the\extraspace\hskip\emwidth + ex: \the\exheight \hskip\emwidth + em: \the\emwidth \hskip\emwidth + \egroup}% + \endgroup} + \stopmodule \continueifinputfile{s-fonts-variable.mkiv} @@ -34,6 +46,9 @@ \setuphead[section][before={\testpage[5]\blank[2*big]}] +\enabletrackers[modules.fonts.variables.glyphs] +\enabletrackers[modules.fonts.variables.kerns] + \starttext \startbuffer[zycon] @@ -57,8 +72,9 @@ \char983040\relax\par \stopbuffer -% \showfontkerns -% \showglyphs +% \showfontvariations +% [font=file:VotoSerifGX.ttf, +% max=6] \showfontvariations [font=file:adobevfprototype.otf] diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-chr.lua b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-chr.lua index 4329256f2d8..75dffd192c4 100644 --- a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-chr.lua +++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-chr.lua @@ -9,6 +9,174 @@ characters.blockrange = { } -- classifiers needed for analysis characters.classifiers={ + [768]=5, + [769]=5, + [770]=5, + [771]=5, + [772]=5, + [773]=5, + [774]=5, + [775]=5, + [776]=5, + [777]=5, + [778]=5, + [779]=5, + [780]=5, + [781]=5, + [782]=5, + [783]=5, + [784]=5, + [785]=5, + [786]=5, + [787]=5, + [788]=5, + [789]=5, + [790]=5, + [791]=5, + [792]=5, + [793]=5, + [794]=5, + [795]=5, + [796]=5, + [797]=5, + [798]=5, + [799]=5, + [800]=5, + [801]=5, + [802]=5, + [803]=5, + [804]=5, + [805]=5, + [806]=5, + [807]=5, + [808]=5, + [809]=5, + [810]=5, + [811]=5, + [812]=5, + [813]=5, + [814]=5, + [815]=5, + [816]=5, + [817]=5, + [818]=5, + [819]=5, + [820]=5, + [821]=5, + [822]=5, + [823]=5, + [824]=5, + [825]=5, + [826]=5, + [827]=5, + [828]=5, + [829]=5, + [830]=5, + [831]=5, + [832]=5, + [833]=5, + [834]=5, + [835]=5, + [836]=5, + [837]=5, + [838]=5, + [839]=5, + [840]=5, + [841]=5, + [842]=5, + [843]=5, + [844]=5, + [845]=5, + [846]=5, + [847]=5, + [848]=5, + [849]=5, + [850]=5, + [851]=5, + [852]=5, + [853]=5, + [854]=5, + [855]=5, + [856]=5, + [857]=5, + [858]=5, + [859]=5, + [860]=5, + [861]=5, + [862]=5, + [863]=5, + [864]=5, + [865]=5, + [866]=5, + [867]=5, + [868]=5, + [869]=5, + [870]=5, + [871]=5, + [872]=5, + [873]=5, + [874]=5, + [875]=5, + [876]=5, + [877]=5, + [878]=5, + [879]=5, + [1155]=5, + [1156]=5, + [1157]=5, + [1158]=5, + [1159]=5, + [1425]=5, + [1426]=5, + [1427]=5, + [1428]=5, + [1429]=5, + [1430]=5, + [1431]=5, + [1432]=5, + [1433]=5, + [1434]=5, + [1435]=5, + [1436]=5, + [1437]=5, + [1438]=5, + [1439]=5, + [1440]=5, + [1441]=5, + [1442]=5, + [1443]=5, + [1444]=5, + [1445]=5, + [1446]=5, + [1447]=5, + [1448]=5, + [1449]=5, + [1450]=5, + [1451]=5, + [1452]=5, + [1453]=5, + [1454]=5, + [1455]=5, + [1456]=5, + [1457]=5, + [1458]=5, + [1459]=5, + [1460]=5, + [1461]=5, + [1462]=5, + [1463]=5, + [1464]=5, + [1465]=5, + [1466]=5, + [1467]=5, + [1468]=5, + [1469]=5, + [1471]=5, + [1473]=5, + [1474]=5, + [1476]=5, + [1477]=5, + [1479]=5, [1536]=4, [1537]=4, [1538]=4, @@ -389,6 +557,17 @@ characters.classifiers={ [1917]=2, [1918]=2, [1919]=2, + [1958]=5, + [1959]=5, + [1960]=5, + [1961]=5, + [1962]=5, + [1963]=5, + [1964]=5, + [1965]=5, + [1966]=5, + [1967]=5, + [1968]=5, [1984]=6, [1985]=6, [1986]=6, @@ -448,6 +627,27 @@ characters.classifiers={ [2040]=6, [2041]=6, [2042]=2, + [2070]=5, + [2071]=5, + [2072]=5, + [2073]=5, + [2075]=5, + [2076]=5, + [2077]=5, + [2078]=5, + [2079]=5, + [2080]=5, + [2081]=5, + [2082]=5, + [2083]=5, + [2085]=5, + [2086]=5, + [2087]=5, + [2089]=5, + [2090]=5, + [2091]=5, + [2092]=5, + [2093]=5, [2112]=3, [2113]=2, [2114]=2, @@ -473,6 +673,9 @@ characters.classifiers={ [2134]=4, [2135]=4, [2136]=4, + [2137]=5, + [2138]=5, + [2139]=5, [2208]=2, [2209]=2, [2210]=2, @@ -494,9 +697,339 @@ characters.classifiers={ [2226]=3, [2227]=2, [2228]=2, + [2230]=2, + [2231]=2, + [2232]=2, + [2233]=3, + [2234]=2, + [2235]=2, + [2236]=2, + [2237]=2, + [2260]=5, + [2261]=5, + [2262]=5, + [2263]=5, + [2264]=5, + [2265]=5, + [2266]=5, + [2267]=5, + [2268]=5, + [2269]=5, + [2270]=5, + [2271]=5, + [2272]=5, + [2273]=5, + [2274]=4, + [2275]=5, + [2276]=5, + [2277]=5, + [2278]=5, + [2279]=5, + [2280]=5, + [2281]=5, + [2282]=5, + [2283]=5, + [2284]=5, + [2285]=5, + [2286]=5, + [2287]=5, + [2288]=5, + [2289]=5, + [2290]=5, + [2291]=5, + [2292]=5, + [2293]=5, + [2294]=5, + [2295]=5, + [2296]=5, + [2297]=5, + [2298]=5, + [2299]=5, + [2300]=5, + [2301]=5, + [2302]=5, + [2303]=5, + [2304]=5, + [2305]=5, + [2306]=5, + [2362]=5, + [2364]=5, + [2369]=5, + [2370]=5, + [2371]=5, + [2372]=5, + [2373]=5, + [2374]=5, + [2375]=5, + [2376]=5, + [2381]=5, + [2385]=5, + [2386]=5, + [2387]=5, + [2388]=5, + [2389]=5, + [2390]=5, + [2391]=5, + [2402]=5, + [2403]=5, + [2433]=5, + [2492]=5, + [2497]=5, + [2498]=5, + [2499]=5, + [2500]=5, + [2509]=5, + [2530]=5, + [2531]=5, + [2561]=5, + [2562]=5, + [2620]=5, + [2625]=5, + [2626]=5, + [2631]=5, + [2632]=5, + [2635]=5, + [2636]=5, + [2637]=5, + [2641]=5, + [2672]=5, + [2673]=5, + [2677]=5, + [2689]=5, + [2690]=5, + [2748]=5, + [2753]=5, + [2754]=5, + [2755]=5, + [2756]=5, + [2757]=5, + [2759]=5, + [2760]=5, + [2765]=5, + [2786]=5, + [2787]=5, + [2817]=5, + [2876]=5, + [2879]=5, + [2881]=5, + [2882]=5, + [2883]=5, + [2884]=5, + [2893]=5, + [2902]=5, + [2914]=5, + [2915]=5, + [2946]=5, + [3008]=5, + [3021]=5, + [3072]=5, + [3134]=5, + [3135]=5, + [3136]=5, + [3142]=5, + [3143]=5, + [3144]=5, + [3146]=5, + [3147]=5, + [3148]=5, + [3149]=5, + [3157]=5, + [3158]=5, + [3170]=5, + [3171]=5, + [3201]=5, + [3260]=5, + [3263]=5, + [3270]=5, + [3276]=5, + [3277]=5, + [3298]=5, + [3299]=5, + [3329]=5, + [3393]=5, + [3394]=5, + [3395]=5, + [3396]=5, + [3405]=5, + [3426]=5, + [3427]=5, + [3530]=5, + [3538]=5, + [3539]=5, + [3540]=5, + [3542]=5, + [3633]=5, + [3636]=5, + [3637]=5, + [3638]=5, + [3639]=5, + [3640]=5, + [3641]=5, + [3642]=5, + [3655]=5, + [3656]=5, + [3657]=5, + [3658]=5, + [3659]=5, + [3660]=5, + [3661]=5, + [3662]=5, + [3761]=5, + [3764]=5, + [3765]=5, + [3766]=5, + [3767]=5, + [3768]=5, + [3769]=5, + [3771]=5, + [3772]=5, + [3784]=5, + [3785]=5, + [3786]=5, + [3787]=5, + [3788]=5, + [3789]=5, + [3864]=5, + [3865]=5, + [3893]=5, + [3895]=5, + [3897]=5, + [3953]=5, + [3954]=5, + [3955]=5, + [3956]=5, + [3957]=5, + [3958]=5, + [3959]=5, + [3960]=5, + [3961]=5, + [3962]=5, + [3963]=5, + [3964]=5, + [3965]=5, + [3966]=5, + [3968]=5, + [3969]=5, + [3970]=5, + [3971]=5, + [3972]=5, + [3974]=5, + [3975]=5, + [3981]=5, + [3982]=5, + [3983]=5, + [3984]=5, + [3985]=5, + [3986]=5, + [3987]=5, + [3988]=5, + [3989]=5, + [3990]=5, + [3991]=5, + [3993]=5, + [3994]=5, + [3995]=5, + [3996]=5, + [3997]=5, + [3998]=5, + [3999]=5, + [4000]=5, + [4001]=5, + [4002]=5, + [4003]=5, + [4004]=5, + [4005]=5, + [4006]=5, + [4007]=5, + [4008]=5, + [4009]=5, + [4010]=5, + [4011]=5, + [4012]=5, + [4013]=5, + [4014]=5, + [4015]=5, + [4016]=5, + [4017]=5, + [4018]=5, + [4019]=5, + [4020]=5, + [4021]=5, + [4022]=5, + [4023]=5, + [4024]=5, + [4025]=5, + [4026]=5, + [4027]=5, + [4028]=5, + [4038]=5, + [4141]=5, + [4142]=5, + [4143]=5, + [4144]=5, + [4146]=5, + [4147]=5, + [4148]=5, + [4149]=5, + [4150]=5, + [4151]=5, + [4153]=5, + [4154]=5, + [4157]=5, + [4158]=5, + [4184]=5, + [4185]=5, + [4190]=5, + [4191]=5, + [4192]=5, + [4209]=5, + [4210]=5, + [4211]=5, + [4212]=5, + [4226]=5, + [4229]=5, + [4230]=5, + [4237]=5, + [4253]=5, + [4957]=5, + [4958]=5, + [4959]=5, + [5906]=5, + [5907]=5, + [5908]=5, + [5938]=5, + [5939]=5, + [5940]=5, + [5970]=5, + [5971]=5, + [6002]=5, + [6003]=5, + [6071]=5, + [6072]=5, + [6073]=5, + [6074]=5, + [6075]=5, + [6076]=5, + [6077]=5, + [6086]=5, + [6089]=5, + [6090]=5, + [6091]=5, + [6092]=5, + [6093]=5, + [6094]=5, + [6095]=5, + [6096]=5, + [6097]=5, + [6098]=5, + [6099]=5, + [6109]=5, [6150]=4, [6151]=2, [6154]=2, + [6155]=5, + [6156]=5, + [6157]=5, [6158]=4, [6176]=2, [6177]=2, @@ -591,8 +1124,6 @@ characters.classifiers={ [6274]=4, [6275]=4, [6276]=4, - [6277]=4, - [6278]=4, [6279]=2, [6280]=2, [6281]=2, @@ -627,13 +1158,291 @@ characters.classifiers={ [6310]=2, [6311]=2, [6312]=2, + [6313]=5, [6314]=2, + [6432]=5, + [6433]=5, + [6434]=5, + [6439]=5, + [6440]=5, + [6450]=5, + [6457]=5, + [6458]=5, + [6459]=5, + [6679]=5, + [6680]=5, + [6742]=5, + [6744]=5, + [6745]=5, + [6746]=5, + [6747]=5, + [6748]=5, + [6749]=5, + [6750]=5, + [6752]=5, + [6754]=5, + [6757]=5, + [6758]=5, + [6759]=5, + [6760]=5, + [6761]=5, + [6762]=5, + [6763]=5, + [6764]=5, + [6771]=5, + [6772]=5, + [6773]=5, + [6774]=5, + [6775]=5, + [6776]=5, + [6777]=5, + [6778]=5, + [6779]=5, + [6780]=5, + [6783]=5, + [6832]=5, + [6833]=5, + [6834]=5, + [6835]=5, + [6836]=5, + [6837]=5, + [6838]=5, + [6839]=5, + [6840]=5, + [6841]=5, + [6842]=5, + [6843]=5, + [6844]=5, + [6845]=5, + [6912]=5, + [6913]=5, + [6914]=5, + [6915]=5, + [6964]=5, + [6966]=5, + [6967]=5, + [6968]=5, + [6969]=5, + [6970]=5, + [6972]=5, + [6978]=5, + [7019]=5, + [7020]=5, + [7021]=5, + [7022]=5, + [7023]=5, + [7024]=5, + [7025]=5, + [7026]=5, + [7027]=5, + [7040]=5, + [7041]=5, + [7074]=5, + [7075]=5, + [7076]=5, + [7077]=5, + [7080]=5, + [7081]=5, + [7083]=5, + [7142]=5, + [7144]=5, + [7145]=5, + [7149]=5, + [7151]=5, + [7152]=5, + [7153]=5, + [7212]=5, + [7213]=5, + [7214]=5, + [7215]=5, + [7216]=5, + [7217]=5, + [7218]=5, + [7219]=5, + [7222]=5, + [7223]=5, + [7376]=5, + [7377]=5, + [7378]=5, + [7380]=5, + [7381]=5, + [7382]=5, + [7383]=5, + [7384]=5, + [7385]=5, + [7386]=5, + [7387]=5, + [7388]=5, + [7389]=5, + [7390]=5, + [7391]=5, + [7392]=5, + [7394]=5, + [7395]=5, + [7396]=5, + [7397]=5, + [7398]=5, + [7399]=5, + [7400]=5, + [7405]=5, + [7412]=5, + [7416]=5, + [7417]=5, + [7616]=5, + [7617]=5, + [7618]=5, + [7619]=5, + [7620]=5, + [7621]=5, + [7622]=5, + [7623]=5, + [7624]=5, + [7625]=5, + [7626]=5, + [7627]=5, + [7628]=5, + [7629]=5, + [7630]=5, + [7631]=5, + [7632]=5, + [7633]=5, + [7634]=5, + [7635]=5, + [7636]=5, + [7637]=5, + [7638]=5, + [7639]=5, + [7640]=5, + [7641]=5, + [7642]=5, + [7643]=5, + [7644]=5, + [7645]=5, + [7646]=5, + [7647]=5, + [7648]=5, + [7649]=5, + [7650]=5, + [7651]=5, + [7652]=5, + [7653]=5, + [7654]=5, + [7655]=5, + [7656]=5, + [7657]=5, + [7658]=5, + [7659]=5, + [7660]=5, + [7661]=5, + [7662]=5, + [7663]=5, + [7664]=5, + [7665]=5, + [7666]=5, + [7667]=5, + [7668]=5, + [7669]=5, + [7675]=5, + [7676]=5, + [7677]=5, + [7678]=5, + [7679]=5, [8204]=4, [8205]=2, + [8239]=4, [8294]=4, [8295]=4, [8296]=4, [8297]=4, + [8400]=5, + [8401]=5, + [8402]=5, + [8403]=5, + [8404]=5, + [8405]=5, + [8406]=5, + [8407]=5, + [8408]=5, + [8409]=5, + [8410]=5, + [8411]=5, + [8412]=5, + [8417]=5, + [8421]=5, + [8422]=5, + [8423]=5, + [8424]=5, + [8425]=5, + [8426]=5, + [8427]=5, + [8428]=5, + [8429]=5, + [8430]=5, + [8431]=5, + [8432]=5, + [11503]=5, + [11504]=5, + [11505]=5, + [11647]=5, + [11744]=5, + [11745]=5, + [11746]=5, + [11747]=5, + [11748]=5, + [11749]=5, + [11750]=5, + [11751]=5, + [11752]=5, + [11753]=5, + [11754]=5, + [11755]=5, + [11756]=5, + [11757]=5, + [11758]=5, + [11759]=5, + [11760]=5, + [11761]=5, + [11762]=5, + [11763]=5, + [11764]=5, + [11765]=5, + [11766]=5, + [11767]=5, + [11768]=5, + [11769]=5, + [11770]=5, + [11771]=5, + [11772]=5, + [11773]=5, + [11774]=5, + [11775]=5, + [12330]=5, + [12331]=5, + [12332]=5, + [12333]=5, + [12334]=5, + [12335]=5, + [12441]=5, + [12442]=5, + [42607]=5, + [42612]=5, + [42613]=5, + [42614]=5, + [42615]=5, + [42616]=5, + [42617]=5, + [42618]=5, + [42619]=5, + [42620]=5, + [42621]=5, + [42654]=5, + [42655]=5, + [42736]=5, + [42737]=5, + [43014]=5, + [43019]=5, + [43045]=5, + [43046]=5, [43072]=2, [43073]=2, [43074]=2, @@ -686,6 +1495,120 @@ characters.classifiers={ [43121]=2, [43122]=1, [43123]=4, + [43204]=5, + [43205]=5, + [43232]=5, + [43233]=5, + [43234]=5, + [43235]=5, + [43236]=5, + [43237]=5, + [43238]=5, + [43239]=5, + [43240]=5, + [43241]=5, + [43242]=5, + [43243]=5, + [43244]=5, + [43245]=5, + [43246]=5, + [43247]=5, + [43248]=5, + [43249]=5, + [43302]=5, + [43303]=5, + [43304]=5, + [43305]=5, + [43306]=5, + [43307]=5, + [43308]=5, + [43309]=5, + [43335]=5, + [43336]=5, + [43337]=5, + [43338]=5, + [43339]=5, + [43340]=5, + [43341]=5, + [43342]=5, + [43343]=5, + [43344]=5, + [43345]=5, + [43392]=5, + [43393]=5, + [43394]=5, + [43443]=5, + [43446]=5, + [43447]=5, + [43448]=5, + [43449]=5, + [43452]=5, + [43493]=5, + [43561]=5, + [43562]=5, + [43563]=5, + [43564]=5, + [43565]=5, + [43566]=5, + [43569]=5, + [43570]=5, + [43573]=5, + [43574]=5, + [43587]=5, + [43596]=5, + [43644]=5, + [43696]=5, + [43698]=5, + [43699]=5, + [43700]=5, + [43703]=5, + [43704]=5, + [43710]=5, + [43711]=5, + [43713]=5, + [43756]=5, + [43757]=5, + [43766]=5, + [44005]=5, + [44008]=5, + [44013]=5, + [64286]=5, + [65056]=5, + [65057]=5, + [65058]=5, + [65059]=5, + [65060]=5, + [65061]=5, + [65062]=5, + [65063]=5, + [65064]=5, + [65065]=5, + [65066]=5, + [65067]=5, + [65068]=5, + [65069]=5, + [65070]=5, + [65071]=5, + [66045]=5, + [66272]=5, + [66422]=5, + [66423]=5, + [66424]=5, + [66425]=5, + [66426]=5, + [68097]=5, + [68098]=5, + [68099]=5, + [68101]=5, + [68102]=5, + [68108]=5, + [68109]=5, + [68110]=5, + [68111]=5, + [68152]=5, + [68153]=5, + [68154]=5, + [68159]=5, [68288]=2, [68289]=2, [68290]=2, @@ -723,6 +1646,8 @@ characters.classifiers={ [68322]=4, [68323]=4, [68324]=3, + [68325]=5, + [68326]=5, [68331]=2, [68332]=2, [68333]=2, @@ -753,6 +1678,497 @@ characters.classifiers={ [68525]=2, [68526]=2, [68527]=4, + [69633]=5, + [69688]=5, + [69689]=5, + [69690]=5, + [69691]=5, + [69692]=5, + [69693]=5, + [69694]=5, + [69695]=5, + [69696]=5, + [69697]=5, + [69698]=5, + [69699]=5, + [69700]=5, + [69701]=5, + [69702]=5, + [69759]=5, + [69760]=5, + [69761]=5, + [69811]=5, + [69812]=5, + [69813]=5, + [69814]=5, + [69817]=5, + [69818]=5, + [69888]=5, + [69889]=5, + [69890]=5, + [69927]=5, + [69928]=5, + [69929]=5, + [69930]=5, + [69931]=5, + [69933]=5, + [69934]=5, + [69935]=5, + [69936]=5, + [69937]=5, + [69938]=5, + [69939]=5, + [69940]=5, + [70003]=5, + [70016]=5, + [70017]=5, + [70070]=5, + [70071]=5, + [70072]=5, + [70073]=5, + [70074]=5, + [70075]=5, + [70076]=5, + [70077]=5, + [70078]=5, + [70090]=5, + [70091]=5, + [70092]=5, + [70191]=5, + [70192]=5, + [70193]=5, + [70196]=5, + [70198]=5, + [70199]=5, + [70206]=5, + [70367]=5, + [70371]=5, + [70372]=5, + [70373]=5, + [70374]=5, + [70375]=5, + [70376]=5, + [70377]=5, + [70378]=5, + [70400]=5, + [70401]=5, + [70460]=5, + [70464]=5, + [70502]=5, + [70503]=5, + [70504]=5, + [70505]=5, + [70506]=5, + [70507]=5, + [70508]=5, + [70512]=5, + [70513]=5, + [70514]=5, + [70515]=5, + [70516]=5, + [70712]=5, + [70713]=5, + [70714]=5, + [70715]=5, + [70716]=5, + [70717]=5, + [70718]=5, + [70719]=5, + [70722]=5, + [70723]=5, + [70724]=5, + [70726]=5, + [70835]=5, + [70836]=5, + [70837]=5, + [70838]=5, + [70839]=5, + [70840]=5, + [70842]=5, + [70847]=5, + [70848]=5, + [70850]=5, + [70851]=5, + [71090]=5, + [71091]=5, + [71092]=5, + [71093]=5, + [71100]=5, + [71101]=5, + [71103]=5, + [71104]=5, + [71132]=5, + [71133]=5, + [71219]=5, + [71220]=5, + [71221]=5, + [71222]=5, + [71223]=5, + [71224]=5, + [71225]=5, + [71226]=5, + [71229]=5, + [71231]=5, + [71232]=5, + [71339]=5, + [71341]=5, + [71344]=5, + [71345]=5, + [71346]=5, + [71347]=5, + [71348]=5, + [71349]=5, + [71351]=5, + [71453]=5, + [71454]=5, + [71455]=5, + [71458]=5, + [71459]=5, + [71460]=5, + [71461]=5, + [71463]=5, + [71464]=5, + [71465]=5, + [71466]=5, + [71467]=5, + [72752]=5, + [72753]=5, + [72754]=5, + [72755]=5, + [72756]=5, + [72757]=5, + [72758]=5, + [72760]=5, + [72761]=5, + [72762]=5, + [72763]=5, + [72764]=5, + [72765]=5, + [72767]=5, + [72850]=5, + [72851]=5, + [72852]=5, + [72853]=5, + [72854]=5, + [72855]=5, + [72856]=5, + [72857]=5, + [72858]=5, + [72859]=5, + [72860]=5, + [72861]=5, + [72862]=5, + [72863]=5, + [72864]=5, + [72865]=5, + [72866]=5, + [72867]=5, + [72868]=5, + [72869]=5, + [72870]=5, + [72871]=5, + [72874]=5, + [72875]=5, + [72876]=5, + [72877]=5, + [72878]=5, + [72879]=5, + [72880]=5, + [72882]=5, + [72883]=5, + [72885]=5, + [72886]=5, + [92912]=5, + [92913]=5, + [92914]=5, + [92915]=5, + [92916]=5, + [92976]=5, + [92977]=5, + [92978]=5, + [92979]=5, + [92980]=5, + [92981]=5, + [92982]=5, + [94095]=5, + [94096]=5, + [94097]=5, + [94098]=5, + [113821]=5, + [113822]=5, + [119143]=5, + [119144]=5, + [119145]=5, + [119163]=5, + [119164]=5, + [119165]=5, + [119166]=5, + [119167]=5, + [119168]=5, + [119169]=5, + [119170]=5, + [119173]=5, + [119174]=5, + [119175]=5, + [119176]=5, + [119177]=5, + [119178]=5, + [119179]=5, + [119210]=5, + [119211]=5, + [119212]=5, + [119213]=5, + [119362]=5, + [119363]=5, + [119364]=5, + [121344]=5, + [121345]=5, + [121346]=5, + [121347]=5, + [121348]=5, + [121349]=5, + [121350]=5, + [121351]=5, + [121352]=5, + [121353]=5, + [121354]=5, + [121355]=5, + [121356]=5, + [121357]=5, + [121358]=5, + [121359]=5, + [121360]=5, + [121361]=5, + [121362]=5, + [121363]=5, + [121364]=5, + [121365]=5, + [121366]=5, + [121367]=5, + [121368]=5, + [121369]=5, + [121370]=5, + [121371]=5, + [121372]=5, + [121373]=5, + [121374]=5, + [121375]=5, + [121376]=5, + [121377]=5, + [121378]=5, + [121379]=5, + [121380]=5, + [121381]=5, + [121382]=5, + [121383]=5, + [121384]=5, + [121385]=5, + [121386]=5, + [121387]=5, + [121388]=5, + [121389]=5, + [121390]=5, + [121391]=5, + [121392]=5, + [121393]=5, + [121394]=5, + [121395]=5, + [121396]=5, + [121397]=5, + [121398]=5, + [121403]=5, + [121404]=5, + [121405]=5, + [121406]=5, + [121407]=5, + [121408]=5, + [121409]=5, + [121410]=5, + [121411]=5, + [121412]=5, + [121413]=5, + [121414]=5, + [121415]=5, + [121416]=5, + [121417]=5, + [121418]=5, + [121419]=5, + [121420]=5, + [121421]=5, + [121422]=5, + [121423]=5, + [121424]=5, + [121425]=5, + [121426]=5, + [121427]=5, + [121428]=5, + [121429]=5, + [121430]=5, + [121431]=5, + [121432]=5, + [121433]=5, + [121434]=5, + [121435]=5, + [121436]=5, + [121437]=5, + [121438]=5, + [121439]=5, + [121440]=5, + [121441]=5, + [121442]=5, + [121443]=5, + [121444]=5, + [121445]=5, + [121446]=5, + [121447]=5, + [121448]=5, + [121449]=5, + [121450]=5, + [121451]=5, + [121452]=5, + [121461]=5, + [121476]=5, + [121499]=5, + [121500]=5, + [121501]=5, + [121502]=5, + [121503]=5, + [121505]=5, + [121506]=5, + [121507]=5, + [121508]=5, + [121509]=5, + [121510]=5, + [121511]=5, + [121512]=5, + [121513]=5, + [121514]=5, + [121515]=5, + [121516]=5, + [121517]=5, + [121518]=5, + [121519]=5, + [122880]=5, + [122881]=5, + [122882]=5, + [122883]=5, + [122884]=5, + [122885]=5, + [122886]=5, + [122888]=5, + [122889]=5, + [122890]=5, + [122891]=5, + [122892]=5, + [122893]=5, + [122894]=5, + [122895]=5, + [122896]=5, + [122897]=5, + [122898]=5, + [122899]=5, + [122900]=5, + [122901]=5, + [122902]=5, + [122903]=5, + [122904]=5, + [122907]=5, + [122908]=5, + [122909]=5, + [122910]=5, + [122911]=5, + [122912]=5, + [122913]=5, + [122915]=5, + [122916]=5, + [122918]=5, + [122919]=5, + [122920]=5, + [122921]=5, + [122922]=5, + [125136]=5, + [125137]=5, + [125138]=5, + [125139]=5, + [125140]=5, + [125141]=5, + [125142]=5, + [125184]=2, + [125185]=2, + [125186]=2, + [125187]=2, + [125188]=2, + [125189]=2, + [125190]=2, + [125191]=2, + [125192]=2, + [125193]=2, + [125194]=2, + [125195]=2, + [125196]=2, + [125197]=2, + [125198]=2, + [125199]=2, + [125200]=2, + [125201]=2, + [125202]=2, + [125203]=2, + [125204]=2, + [125205]=2, + [125206]=2, + [125207]=2, + [125208]=2, + [125209]=2, + [125210]=2, + [125211]=2, + [125212]=2, + [125213]=2, + [125214]=2, + [125215]=2, + [125216]=2, + [125217]=2, + [125218]=2, + [125219]=2, + [125220]=2, + [125221]=2, + [125222]=2, + [125223]=2, + [125224]=2, + [125225]=2, + [125226]=2, + [125227]=2, + [125228]=2, + [125229]=2, + [125230]=2, + [125231]=2, + [125232]=2, + [125233]=2, + [125234]=2, + [125235]=2, + [125236]=2, + [125237]=2, + [125238]=2, + [125239]=2, + [125240]=2, + [125241]=2, + [125242]=2, + [125243]=2, + [125244]=2, + [125245]=2, + [125246]=2, + [125247]=2, + [125248]=2, + [125249]=2, + [125250]=2, + [125251]=2, + [125252]=5, + [125253]=5, + [125254]=5, + [125255]=5, + [125256]=5, + [125257]=5, + [125258]=5, + [1042752]=5, } -- done diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-nod.lua b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-nod.lua index 5571a82bad6..f9a59734bde 100644 --- a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-nod.lua +++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-nod.lua @@ -228,8 +228,8 @@ nuts.getcomponents = direct.getcomponents or function(n) return getfield(n,"co nuts.setcomponents = direct.setcomponents or function(n,c) setfield(n,"components",c) end nuts.getkern = direct.getkern or function(n) return getfield(n,"kern") end nuts.setkern = direct.setkern or function(n,k) setfield(n,"kern",k) end -nuts.getdir = direct.getkern or function(n) return getfield(n,"dir") end -nuts.setdir = direct.setkern or function(n,d) setfield(n,"dir",d) end +nuts.getdir = direct.getdir or function(n) return getfield(n,"dir") end +nuts.setdir = direct.setdir or function(n,d) setfield(n,"dir",d) end nuts.getwidth = direct.getwidth or function(n) return getfield(n,"width") end nuts.setwidth = direct.setwidth or function(n,w) return setfield(n,"width",w) end nuts.getheight = direct.getheight or function(n) return getfield(n,"height") end diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-prepare.tex b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-prepare.tex index 105226440ad..76a35cc948c 100644 --- a/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-prepare.tex +++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-basics-prepare.tex @@ -58,6 +58,8 @@ for k, c in next, chardata do else classifiers[k] = s_rest end + elseif c.category == "mn" then + classifiers[k] = s_mark end end end diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua b/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua index cc8c27bcf64..cc9ce7b5f57 100644 --- a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/Master/texmf-dist/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 : 05/12/17 22:40:43 +-- merge date : 05/15/17 21:48:19 do -- begin closure to overcome local limits and interference @@ -5105,8 +5105,8 @@ nuts.getcomponents=direct.getcomponents or function(n) return getfield(n,"compo nuts.setcomponents=direct.setcomponents or function(n,c) setfield(n,"components",c) end nuts.getkern=direct.getkern or function(n) return getfield(n,"kern") end nuts.setkern=direct.setkern or function(n,k) setfield(n,"kern",k) end -nuts.getdir=direct.getkern or function(n) return getfield(n,"dir") end -nuts.setdir=direct.setkern or function(n,d) setfield(n,"dir",d) end +nuts.getdir=direct.getdir or function(n) return getfield(n,"dir") end +nuts.setdir=direct.setdir or function(n,d) setfield(n,"dir",d) end nuts.getwidth=direct.getwidth or function(n) return getfield(n,"width") end nuts.setwidth=direct.setwidth or function(n,w) return setfield(n,"width",w) end nuts.getheight=direct.getheight or function(n) return getfield(n,"height") end @@ -5319,6 +5319,174 @@ do -- begin closure to overcome local limits and interference characters=characters or {} characters.blockrange={} characters.classifiers={ + [768]=5, + [769]=5, + [770]=5, + [771]=5, + [772]=5, + [773]=5, + [774]=5, + [775]=5, + [776]=5, + [777]=5, + [778]=5, + [779]=5, + [780]=5, + [781]=5, + [782]=5, + [783]=5, + [784]=5, + [785]=5, + [786]=5, + [787]=5, + [788]=5, + [789]=5, + [790]=5, + [791]=5, + [792]=5, + [793]=5, + [794]=5, + [795]=5, + [796]=5, + [797]=5, + [798]=5, + [799]=5, + [800]=5, + [801]=5, + [802]=5, + [803]=5, + [804]=5, + [805]=5, + [806]=5, + [807]=5, + [808]=5, + [809]=5, + [810]=5, + [811]=5, + [812]=5, + [813]=5, + [814]=5, + [815]=5, + [816]=5, + [817]=5, + [818]=5, + [819]=5, + [820]=5, + [821]=5, + [822]=5, + [823]=5, + [824]=5, + [825]=5, + [826]=5, + [827]=5, + [828]=5, + [829]=5, + [830]=5, + [831]=5, + [832]=5, + [833]=5, + [834]=5, + [835]=5, + [836]=5, + [837]=5, + [838]=5, + [839]=5, + [840]=5, + [841]=5, + [842]=5, + [843]=5, + [844]=5, + [845]=5, + [846]=5, + [847]=5, + [848]=5, + [849]=5, + [850]=5, + [851]=5, + [852]=5, + [853]=5, + [854]=5, + [855]=5, + [856]=5, + [857]=5, + [858]=5, + [859]=5, + [860]=5, + [861]=5, + [862]=5, + [863]=5, + [864]=5, + [865]=5, + [866]=5, + [867]=5, + [868]=5, + [869]=5, + [870]=5, + [871]=5, + [872]=5, + [873]=5, + [874]=5, + [875]=5, + [876]=5, + [877]=5, + [878]=5, + [879]=5, + [1155]=5, + [1156]=5, + [1157]=5, + [1158]=5, + [1159]=5, + [1425]=5, + [1426]=5, + [1427]=5, + [1428]=5, + [1429]=5, + [1430]=5, + [1431]=5, + [1432]=5, + [1433]=5, + [1434]=5, + [1435]=5, + [1436]=5, + [1437]=5, + [1438]=5, + [1439]=5, + [1440]=5, + [1441]=5, + [1442]=5, + [1443]=5, + [1444]=5, + [1445]=5, + [1446]=5, + [1447]=5, + [1448]=5, + [1449]=5, + [1450]=5, + [1451]=5, + [1452]=5, + [1453]=5, + [1454]=5, + [1455]=5, + [1456]=5, + [1457]=5, + [1458]=5, + [1459]=5, + [1460]=5, + [1461]=5, + [1462]=5, + [1463]=5, + [1464]=5, + [1465]=5, + [1466]=5, + [1467]=5, + [1468]=5, + [1469]=5, + [1471]=5, + [1473]=5, + [1474]=5, + [1476]=5, + [1477]=5, + [1479]=5, [1536]=4, [1537]=4, [1538]=4, @@ -5699,6 +5867,17 @@ characters.classifiers={ [1917]=2, [1918]=2, [1919]=2, + [1958]=5, + [1959]=5, + [1960]=5, + [1961]=5, + [1962]=5, + [1963]=5, + [1964]=5, + [1965]=5, + [1966]=5, + [1967]=5, + [1968]=5, [1984]=6, [1985]=6, [1986]=6, @@ -5758,6 +5937,27 @@ characters.classifiers={ [2040]=6, [2041]=6, [2042]=2, + [2070]=5, + [2071]=5, + [2072]=5, + [2073]=5, + [2075]=5, + [2076]=5, + [2077]=5, + [2078]=5, + [2079]=5, + [2080]=5, + [2081]=5, + [2082]=5, + [2083]=5, + [2085]=5, + [2086]=5, + [2087]=5, + [2089]=5, + [2090]=5, + [2091]=5, + [2092]=5, + [2093]=5, [2112]=3, [2113]=2, [2114]=2, @@ -5783,6 +5983,9 @@ characters.classifiers={ [2134]=4, [2135]=4, [2136]=4, + [2137]=5, + [2138]=5, + [2139]=5, [2208]=2, [2209]=2, [2210]=2, @@ -5804,9 +6007,339 @@ characters.classifiers={ [2226]=3, [2227]=2, [2228]=2, + [2230]=2, + [2231]=2, + [2232]=2, + [2233]=3, + [2234]=2, + [2235]=2, + [2236]=2, + [2237]=2, + [2260]=5, + [2261]=5, + [2262]=5, + [2263]=5, + [2264]=5, + [2265]=5, + [2266]=5, + [2267]=5, + [2268]=5, + [2269]=5, + [2270]=5, + [2271]=5, + [2272]=5, + [2273]=5, + [2274]=4, + [2275]=5, + [2276]=5, + [2277]=5, + [2278]=5, + [2279]=5, + [2280]=5, + [2281]=5, + [2282]=5, + [2283]=5, + [2284]=5, + [2285]=5, + [2286]=5, + [2287]=5, + [2288]=5, + [2289]=5, + [2290]=5, + [2291]=5, + [2292]=5, + [2293]=5, + [2294]=5, + [2295]=5, + [2296]=5, + [2297]=5, + [2298]=5, + [2299]=5, + [2300]=5, + [2301]=5, + [2302]=5, + [2303]=5, + [2304]=5, + [2305]=5, + [2306]=5, + [2362]=5, + [2364]=5, + [2369]=5, + [2370]=5, + [2371]=5, + [2372]=5, + [2373]=5, + [2374]=5, + [2375]=5, + [2376]=5, + [2381]=5, + [2385]=5, + [2386]=5, + [2387]=5, + [2388]=5, + [2389]=5, + [2390]=5, + [2391]=5, + [2402]=5, + [2403]=5, + [2433]=5, + [2492]=5, + [2497]=5, + [2498]=5, + [2499]=5, + [2500]=5, + [2509]=5, + [2530]=5, + [2531]=5, + [2561]=5, + [2562]=5, + [2620]=5, + [2625]=5, + [2626]=5, + [2631]=5, + [2632]=5, + [2635]=5, + [2636]=5, + [2637]=5, + [2641]=5, + [2672]=5, + [2673]=5, + [2677]=5, + [2689]=5, + [2690]=5, + [2748]=5, + [2753]=5, + [2754]=5, + [2755]=5, + [2756]=5, + [2757]=5, + [2759]=5, + [2760]=5, + [2765]=5, + [2786]=5, + [2787]=5, + [2817]=5, + [2876]=5, + [2879]=5, + [2881]=5, + [2882]=5, + [2883]=5, + [2884]=5, + [2893]=5, + [2902]=5, + [2914]=5, + [2915]=5, + [2946]=5, + [3008]=5, + [3021]=5, + [3072]=5, + [3134]=5, + [3135]=5, + [3136]=5, + [3142]=5, + [3143]=5, + [3144]=5, + [3146]=5, + [3147]=5, + [3148]=5, + [3149]=5, + [3157]=5, + [3158]=5, + [3170]=5, + [3171]=5, + [3201]=5, + [3260]=5, + [3263]=5, + [3270]=5, + [3276]=5, + [3277]=5, + [3298]=5, + [3299]=5, + [3329]=5, + [3393]=5, + [3394]=5, + [3395]=5, + [3396]=5, + [3405]=5, + [3426]=5, + [3427]=5, + [3530]=5, + [3538]=5, + [3539]=5, + [3540]=5, + [3542]=5, + [3633]=5, + [3636]=5, + [3637]=5, + [3638]=5, + [3639]=5, + [3640]=5, + [3641]=5, + [3642]=5, + [3655]=5, + [3656]=5, + [3657]=5, + [3658]=5, + [3659]=5, + [3660]=5, + [3661]=5, + [3662]=5, + [3761]=5, + [3764]=5, + [3765]=5, + [3766]=5, + [3767]=5, + [3768]=5, + [3769]=5, + [3771]=5, + [3772]=5, + [3784]=5, + [3785]=5, + [3786]=5, + [3787]=5, + [3788]=5, + [3789]=5, + [3864]=5, + [3865]=5, + [3893]=5, + [3895]=5, + [3897]=5, + [3953]=5, + [3954]=5, + [3955]=5, + [3956]=5, + [3957]=5, + [3958]=5, + [3959]=5, + [3960]=5, + [3961]=5, + [3962]=5, + [3963]=5, + [3964]=5, + [3965]=5, + [3966]=5, + [3968]=5, + [3969]=5, + [3970]=5, + [3971]=5, + [3972]=5, + [3974]=5, + [3975]=5, + [3981]=5, + [3982]=5, + [3983]=5, + [3984]=5, + [3985]=5, + [3986]=5, + [3987]=5, + [3988]=5, + [3989]=5, + [3990]=5, + [3991]=5, + [3993]=5, + [3994]=5, + [3995]=5, + [3996]=5, + [3997]=5, + [3998]=5, + [3999]=5, + [4000]=5, + [4001]=5, + [4002]=5, + [4003]=5, + [4004]=5, + [4005]=5, + [4006]=5, + [4007]=5, + [4008]=5, + [4009]=5, + [4010]=5, + [4011]=5, + [4012]=5, + [4013]=5, + [4014]=5, + [4015]=5, + [4016]=5, + [4017]=5, + [4018]=5, + [4019]=5, + [4020]=5, + [4021]=5, + [4022]=5, + [4023]=5, + [4024]=5, + [4025]=5, + [4026]=5, + [4027]=5, + [4028]=5, + [4038]=5, + [4141]=5, + [4142]=5, + [4143]=5, + [4144]=5, + [4146]=5, + [4147]=5, + [4148]=5, + [4149]=5, + [4150]=5, + [4151]=5, + [4153]=5, + [4154]=5, + [4157]=5, + [4158]=5, + [4184]=5, + [4185]=5, + [4190]=5, + [4191]=5, + [4192]=5, + [4209]=5, + [4210]=5, + [4211]=5, + [4212]=5, + [4226]=5, + [4229]=5, + [4230]=5, + [4237]=5, + [4253]=5, + [4957]=5, + [4958]=5, + [4959]=5, + [5906]=5, + [5907]=5, + [5908]=5, + [5938]=5, + [5939]=5, + [5940]=5, + [5970]=5, + [5971]=5, + [6002]=5, + [6003]=5, + [6071]=5, + [6072]=5, + [6073]=5, + [6074]=5, + [6075]=5, + [6076]=5, + [6077]=5, + [6086]=5, + [6089]=5, + [6090]=5, + [6091]=5, + [6092]=5, + [6093]=5, + [6094]=5, + [6095]=5, + [6096]=5, + [6097]=5, + [6098]=5, + [6099]=5, + [6109]=5, [6150]=4, [6151]=2, [6154]=2, + [6155]=5, + [6156]=5, + [6157]=5, [6158]=4, [6176]=2, [6177]=2, @@ -5901,8 +6434,6 @@ characters.classifiers={ [6274]=4, [6275]=4, [6276]=4, - [6277]=4, - [6278]=4, [6279]=2, [6280]=2, [6281]=2, @@ -5937,13 +6468,291 @@ characters.classifiers={ [6310]=2, [6311]=2, [6312]=2, + [6313]=5, [6314]=2, + [6432]=5, + [6433]=5, + [6434]=5, + [6439]=5, + [6440]=5, + [6450]=5, + [6457]=5, + [6458]=5, + [6459]=5, + [6679]=5, + [6680]=5, + [6742]=5, + [6744]=5, + [6745]=5, + [6746]=5, + [6747]=5, + [6748]=5, + [6749]=5, + [6750]=5, + [6752]=5, + [6754]=5, + [6757]=5, + [6758]=5, + [6759]=5, + [6760]=5, + [6761]=5, + [6762]=5, + [6763]=5, + [6764]=5, + [6771]=5, + [6772]=5, + [6773]=5, + [6774]=5, + [6775]=5, + [6776]=5, + [6777]=5, + [6778]=5, + [6779]=5, + [6780]=5, + [6783]=5, + [6832]=5, + [6833]=5, + [6834]=5, + [6835]=5, + [6836]=5, + [6837]=5, + [6838]=5, + [6839]=5, + [6840]=5, + [6841]=5, + [6842]=5, + [6843]=5, + [6844]=5, + [6845]=5, + [6912]=5, + [6913]=5, + [6914]=5, + [6915]=5, + [6964]=5, + [6966]=5, + [6967]=5, + [6968]=5, + [6969]=5, + [6970]=5, + [6972]=5, + [6978]=5, + [7019]=5, + [7020]=5, + [7021]=5, + [7022]=5, + [7023]=5, + [7024]=5, + [7025]=5, + [7026]=5, + [7027]=5, + [7040]=5, + [7041]=5, + [7074]=5, + [7075]=5, + [7076]=5, + [7077]=5, + [7080]=5, + [7081]=5, + [7083]=5, + [7142]=5, + [7144]=5, + [7145]=5, + [7149]=5, + [7151]=5, + [7152]=5, + [7153]=5, + [7212]=5, + [7213]=5, + [7214]=5, + [7215]=5, + [7216]=5, + [7217]=5, + [7218]=5, + [7219]=5, + [7222]=5, + [7223]=5, + [7376]=5, + [7377]=5, + [7378]=5, + [7380]=5, + [7381]=5, + [7382]=5, + [7383]=5, + [7384]=5, + [7385]=5, + [7386]=5, + [7387]=5, + [7388]=5, + [7389]=5, + [7390]=5, + [7391]=5, + [7392]=5, + [7394]=5, + [7395]=5, + [7396]=5, + [7397]=5, + [7398]=5, + [7399]=5, + [7400]=5, + [7405]=5, + [7412]=5, + [7416]=5, + [7417]=5, + [7616]=5, + [7617]=5, + [7618]=5, + [7619]=5, + [7620]=5, + [7621]=5, + [7622]=5, + [7623]=5, + [7624]=5, + [7625]=5, + [7626]=5, + [7627]=5, + [7628]=5, + [7629]=5, + [7630]=5, + [7631]=5, + [7632]=5, + [7633]=5, + [7634]=5, + [7635]=5, + [7636]=5, + [7637]=5, + [7638]=5, + [7639]=5, + [7640]=5, + [7641]=5, + [7642]=5, + [7643]=5, + [7644]=5, + [7645]=5, + [7646]=5, + [7647]=5, + [7648]=5, + [7649]=5, + [7650]=5, + [7651]=5, + [7652]=5, + [7653]=5, + [7654]=5, + [7655]=5, + [7656]=5, + [7657]=5, + [7658]=5, + [7659]=5, + [7660]=5, + [7661]=5, + [7662]=5, + [7663]=5, + [7664]=5, + [7665]=5, + [7666]=5, + [7667]=5, + [7668]=5, + [7669]=5, + [7675]=5, + [7676]=5, + [7677]=5, + [7678]=5, + [7679]=5, [8204]=4, [8205]=2, + [8239]=4, [8294]=4, [8295]=4, [8296]=4, [8297]=4, + [8400]=5, + [8401]=5, + [8402]=5, + [8403]=5, + [8404]=5, + [8405]=5, + [8406]=5, + [8407]=5, + [8408]=5, + [8409]=5, + [8410]=5, + [8411]=5, + [8412]=5, + [8417]=5, + [8421]=5, + [8422]=5, + [8423]=5, + [8424]=5, + [8425]=5, + [8426]=5, + [8427]=5, + [8428]=5, + [8429]=5, + [8430]=5, + [8431]=5, + [8432]=5, + [11503]=5, + [11504]=5, + [11505]=5, + [11647]=5, + [11744]=5, + [11745]=5, + [11746]=5, + [11747]=5, + [11748]=5, + [11749]=5, + [11750]=5, + [11751]=5, + [11752]=5, + [11753]=5, + [11754]=5, + [11755]=5, + [11756]=5, + [11757]=5, + [11758]=5, + [11759]=5, + [11760]=5, + [11761]=5, + [11762]=5, + [11763]=5, + [11764]=5, + [11765]=5, + [11766]=5, + [11767]=5, + [11768]=5, + [11769]=5, + [11770]=5, + [11771]=5, + [11772]=5, + [11773]=5, + [11774]=5, + [11775]=5, + [12330]=5, + [12331]=5, + [12332]=5, + [12333]=5, + [12334]=5, + [12335]=5, + [12441]=5, + [12442]=5, + [42607]=5, + [42612]=5, + [42613]=5, + [42614]=5, + [42615]=5, + [42616]=5, + [42617]=5, + [42618]=5, + [42619]=5, + [42620]=5, + [42621]=5, + [42654]=5, + [42655]=5, + [42736]=5, + [42737]=5, + [43014]=5, + [43019]=5, + [43045]=5, + [43046]=5, [43072]=2, [43073]=2, [43074]=2, @@ -5996,6 +6805,120 @@ characters.classifiers={ [43121]=2, [43122]=1, [43123]=4, + [43204]=5, + [43205]=5, + [43232]=5, + [43233]=5, + [43234]=5, + [43235]=5, + [43236]=5, + [43237]=5, + [43238]=5, + [43239]=5, + [43240]=5, + [43241]=5, + [43242]=5, + [43243]=5, + [43244]=5, + [43245]=5, + [43246]=5, + [43247]=5, + [43248]=5, + [43249]=5, + [43302]=5, + [43303]=5, + [43304]=5, + [43305]=5, + [43306]=5, + [43307]=5, + [43308]=5, + [43309]=5, + [43335]=5, + [43336]=5, + [43337]=5, + [43338]=5, + [43339]=5, + [43340]=5, + [43341]=5, + [43342]=5, + [43343]=5, + [43344]=5, + [43345]=5, + [43392]=5, + [43393]=5, + [43394]=5, + [43443]=5, + [43446]=5, + [43447]=5, + [43448]=5, + [43449]=5, + [43452]=5, + [43493]=5, + [43561]=5, + [43562]=5, + [43563]=5, + [43564]=5, + [43565]=5, + [43566]=5, + [43569]=5, + [43570]=5, + [43573]=5, + [43574]=5, + [43587]=5, + [43596]=5, + [43644]=5, + [43696]=5, + [43698]=5, + [43699]=5, + [43700]=5, + [43703]=5, + [43704]=5, + [43710]=5, + [43711]=5, + [43713]=5, + [43756]=5, + [43757]=5, + [43766]=5, + [44005]=5, + [44008]=5, + [44013]=5, + [64286]=5, + [65056]=5, + [65057]=5, + [65058]=5, + [65059]=5, + [65060]=5, + [65061]=5, + [65062]=5, + [65063]=5, + [65064]=5, + [65065]=5, + [65066]=5, + [65067]=5, + [65068]=5, + [65069]=5, + [65070]=5, + [65071]=5, + [66045]=5, + [66272]=5, + [66422]=5, + [66423]=5, + [66424]=5, + [66425]=5, + [66426]=5, + [68097]=5, + [68098]=5, + [68099]=5, + [68101]=5, + [68102]=5, + [68108]=5, + [68109]=5, + [68110]=5, + [68111]=5, + [68152]=5, + [68153]=5, + [68154]=5, + [68159]=5, [68288]=2, [68289]=2, [68290]=2, @@ -6033,6 +6956,8 @@ characters.classifiers={ [68322]=4, [68323]=4, [68324]=3, + [68325]=5, + [68326]=5, [68331]=2, [68332]=2, [68333]=2, @@ -6063,6 +6988,497 @@ characters.classifiers={ [68525]=2, [68526]=2, [68527]=4, + [69633]=5, + [69688]=5, + [69689]=5, + [69690]=5, + [69691]=5, + [69692]=5, + [69693]=5, + [69694]=5, + [69695]=5, + [69696]=5, + [69697]=5, + [69698]=5, + [69699]=5, + [69700]=5, + [69701]=5, + [69702]=5, + [69759]=5, + [69760]=5, + [69761]=5, + [69811]=5, + [69812]=5, + [69813]=5, + [69814]=5, + [69817]=5, + [69818]=5, + [69888]=5, + [69889]=5, + [69890]=5, + [69927]=5, + [69928]=5, + [69929]=5, + [69930]=5, + [69931]=5, + [69933]=5, + [69934]=5, + [69935]=5, + [69936]=5, + [69937]=5, + [69938]=5, + [69939]=5, + [69940]=5, + [70003]=5, + [70016]=5, + [70017]=5, + [70070]=5, + [70071]=5, + [70072]=5, + [70073]=5, + [70074]=5, + [70075]=5, + [70076]=5, + [70077]=5, + [70078]=5, + [70090]=5, + [70091]=5, + [70092]=5, + [70191]=5, + [70192]=5, + [70193]=5, + [70196]=5, + [70198]=5, + [70199]=5, + [70206]=5, + [70367]=5, + [70371]=5, + [70372]=5, + [70373]=5, + [70374]=5, + [70375]=5, + [70376]=5, + [70377]=5, + [70378]=5, + [70400]=5, + [70401]=5, + [70460]=5, + [70464]=5, + [70502]=5, + [70503]=5, + [70504]=5, + [70505]=5, + [70506]=5, + [70507]=5, + [70508]=5, + [70512]=5, + [70513]=5, + [70514]=5, + [70515]=5, + [70516]=5, + [70712]=5, + [70713]=5, + [70714]=5, + [70715]=5, + [70716]=5, + [70717]=5, + [70718]=5, + [70719]=5, + [70722]=5, + [70723]=5, + [70724]=5, + [70726]=5, + [70835]=5, + [70836]=5, + [70837]=5, + [70838]=5, + [70839]=5, + [70840]=5, + [70842]=5, + [70847]=5, + [70848]=5, + [70850]=5, + [70851]=5, + [71090]=5, + [71091]=5, + [71092]=5, + [71093]=5, + [71100]=5, + [71101]=5, + [71103]=5, + [71104]=5, + [71132]=5, + [71133]=5, + [71219]=5, + [71220]=5, + [71221]=5, + [71222]=5, + [71223]=5, + [71224]=5, + [71225]=5, + [71226]=5, + [71229]=5, + [71231]=5, + [71232]=5, + [71339]=5, + [71341]=5, + [71344]=5, + [71345]=5, + [71346]=5, + [71347]=5, + [71348]=5, + [71349]=5, + [71351]=5, + [71453]=5, + [71454]=5, + [71455]=5, + [71458]=5, + [71459]=5, + [71460]=5, + [71461]=5, + [71463]=5, + [71464]=5, + [71465]=5, + [71466]=5, + [71467]=5, + [72752]=5, + [72753]=5, + [72754]=5, + [72755]=5, + [72756]=5, + [72757]=5, + [72758]=5, + [72760]=5, + [72761]=5, + [72762]=5, + [72763]=5, + [72764]=5, + [72765]=5, + [72767]=5, + [72850]=5, + [72851]=5, + [72852]=5, + [72853]=5, + [72854]=5, + [72855]=5, + [72856]=5, + [72857]=5, + [72858]=5, + [72859]=5, + [72860]=5, + [72861]=5, + [72862]=5, + [72863]=5, + [72864]=5, + [72865]=5, + [72866]=5, + [72867]=5, + [72868]=5, + [72869]=5, + [72870]=5, + [72871]=5, + [72874]=5, + [72875]=5, + [72876]=5, + [72877]=5, + [72878]=5, + [72879]=5, + [72880]=5, + [72882]=5, + [72883]=5, + [72885]=5, + [72886]=5, + [92912]=5, + [92913]=5, + [92914]=5, + [92915]=5, + [92916]=5, + [92976]=5, + [92977]=5, + [92978]=5, + [92979]=5, + [92980]=5, + [92981]=5, + [92982]=5, + [94095]=5, + [94096]=5, + [94097]=5, + [94098]=5, + [113821]=5, + [113822]=5, + [119143]=5, + [119144]=5, + [119145]=5, + [119163]=5, + [119164]=5, + [119165]=5, + [119166]=5, + [119167]=5, + [119168]=5, + [119169]=5, + [119170]=5, + [119173]=5, + [119174]=5, + [119175]=5, + [119176]=5, + [119177]=5, + [119178]=5, + [119179]=5, + [119210]=5, + [119211]=5, + [119212]=5, + [119213]=5, + [119362]=5, + [119363]=5, + [119364]=5, + [121344]=5, + [121345]=5, + [121346]=5, + [121347]=5, + [121348]=5, + [121349]=5, + [121350]=5, + [121351]=5, + [121352]=5, + [121353]=5, + [121354]=5, + [121355]=5, + [121356]=5, + [121357]=5, + [121358]=5, + [121359]=5, + [121360]=5, + [121361]=5, + [121362]=5, + [121363]=5, + [121364]=5, + [121365]=5, + [121366]=5, + [121367]=5, + [121368]=5, + [121369]=5, + [121370]=5, + [121371]=5, + [121372]=5, + [121373]=5, + [121374]=5, + [121375]=5, + [121376]=5, + [121377]=5, + [121378]=5, + [121379]=5, + [121380]=5, + [121381]=5, + [121382]=5, + [121383]=5, + [121384]=5, + [121385]=5, + [121386]=5, + [121387]=5, + [121388]=5, + [121389]=5, + [121390]=5, + [121391]=5, + [121392]=5, + [121393]=5, + [121394]=5, + [121395]=5, + [121396]=5, + [121397]=5, + [121398]=5, + [121403]=5, + [121404]=5, + [121405]=5, + [121406]=5, + [121407]=5, + [121408]=5, + [121409]=5, + [121410]=5, + [121411]=5, + [121412]=5, + [121413]=5, + [121414]=5, + [121415]=5, + [121416]=5, + [121417]=5, + [121418]=5, + [121419]=5, + [121420]=5, + [121421]=5, + [121422]=5, + [121423]=5, + [121424]=5, + [121425]=5, + [121426]=5, + [121427]=5, + [121428]=5, + [121429]=5, + [121430]=5, + [121431]=5, + [121432]=5, + [121433]=5, + [121434]=5, + [121435]=5, + [121436]=5, + [121437]=5, + [121438]=5, + [121439]=5, + [121440]=5, + [121441]=5, + [121442]=5, + [121443]=5, + [121444]=5, + [121445]=5, + [121446]=5, + [121447]=5, + [121448]=5, + [121449]=5, + [121450]=5, + [121451]=5, + [121452]=5, + [121461]=5, + [121476]=5, + [121499]=5, + [121500]=5, + [121501]=5, + [121502]=5, + [121503]=5, + [121505]=5, + [121506]=5, + [121507]=5, + [121508]=5, + [121509]=5, + [121510]=5, + [121511]=5, + [121512]=5, + [121513]=5, + [121514]=5, + [121515]=5, + [121516]=5, + [121517]=5, + [121518]=5, + [121519]=5, + [122880]=5, + [122881]=5, + [122882]=5, + [122883]=5, + [122884]=5, + [122885]=5, + [122886]=5, + [122888]=5, + [122889]=5, + [122890]=5, + [122891]=5, + [122892]=5, + [122893]=5, + [122894]=5, + [122895]=5, + [122896]=5, + [122897]=5, + [122898]=5, + [122899]=5, + [122900]=5, + [122901]=5, + [122902]=5, + [122903]=5, + [122904]=5, + [122907]=5, + [122908]=5, + [122909]=5, + [122910]=5, + [122911]=5, + [122912]=5, + [122913]=5, + [122915]=5, + [122916]=5, + [122918]=5, + [122919]=5, + [122920]=5, + [122921]=5, + [122922]=5, + [125136]=5, + [125137]=5, + [125138]=5, + [125139]=5, + [125140]=5, + [125141]=5, + [125142]=5, + [125184]=2, + [125185]=2, + [125186]=2, + [125187]=2, + [125188]=2, + [125189]=2, + [125190]=2, + [125191]=2, + [125192]=2, + [125193]=2, + [125194]=2, + [125195]=2, + [125196]=2, + [125197]=2, + [125198]=2, + [125199]=2, + [125200]=2, + [125201]=2, + [125202]=2, + [125203]=2, + [125204]=2, + [125205]=2, + [125206]=2, + [125207]=2, + [125208]=2, + [125209]=2, + [125210]=2, + [125211]=2, + [125212]=2, + [125213]=2, + [125214]=2, + [125215]=2, + [125216]=2, + [125217]=2, + [125218]=2, + [125219]=2, + [125220]=2, + [125221]=2, + [125222]=2, + [125223]=2, + [125224]=2, + [125225]=2, + [125226]=2, + [125227]=2, + [125228]=2, + [125229]=2, + [125230]=2, + [125231]=2, + [125232]=2, + [125233]=2, + [125234]=2, + [125235]=2, + [125236]=2, + [125237]=2, + [125238]=2, + [125239]=2, + [125240]=2, + [125241]=2, + [125242]=2, + [125243]=2, + [125244]=2, + [125245]=2, + [125246]=2, + [125247]=2, + [125248]=2, + [125249]=2, + [125250]=2, + [125251]=2, + [125252]=5, + [125253]=5, + [125254]=5, + [125255]=5, + [125256]=5, + [125257]=5, + [125258]=5, + [1042752]=5, } end -- closure @@ -7548,7 +8964,7 @@ local sortedhash,sortedkeys=table.sortedhash,table.sortedkeys local trace_loading=false trackers.register("fonts.loading",function(v) trace_loading=v end) local trace_mapping=false trackers.register("fonts.mapping",function(v) trace_mapping=v end) local report_fonts=logs.reporter("fonts","loading") -local force_ligatures=true directives.register("fonts.mapping.forceligatures",function(v) force_ligatures=v end) +local force_ligatures=false directives.register("fonts.mapping.forceligatures",function(v) force_ligatures=v end) local fonts=fonts or {} local mappings=fonts.mappings or {} fonts.mappings=mappings @@ -7662,7 +9078,7 @@ do end mappings.overloads=o end -function mappings.addtounicode(data,filename,checklookups) +function mappings.addtounicode(data,filename,checklookups,forceligatures) local resources=data.resources local unicodes=resources.unicodes if not unicodes then @@ -7851,22 +9267,26 @@ function mappings.addtounicode(data,filename,checklookups) end end if not collected then - elseif force_ligatures then + elseif forceligatures or force_ligatures then for i=1,#dlist do local du=dlist[i] - local u=collected[du] - if u then - resolve(descriptions[du],u) + if du>=private or (du>=0xE000 and du<=0xF8FF) then + local u=collected[du] + if u then + resolve(descriptions[du],u) + end end end else for i=1,#dlist do local du=dlist[i] - local glyph=descriptions[du] - if glyph.class=="ligature" and not glyph.unicode then - local u=collected[du] - if u then - resolve(glyph,u) + if du>=private or (du>=0xE000 and du<=0xF8FF) then + local glyph=descriptions[du] + if glyph.class=="ligature" and not glyph.unicode then + local u=collected[du] + if u then + resolve(glyph,u) + end end end end @@ -11857,8 +13277,10 @@ local function applyaxis(glyph,shape,deltas,dowidth) local points=shape.points if points then local nofpoints=#points - local h=nofpoints+1 - local width=dowidth and glyph.width + local h=nofpoints+2 + local l=nofpoints+1 + local dw=0 + local dl=0 for i=1,#deltas do local deltaset=deltas[i] local xvalues=deltaset.xvalues @@ -11883,10 +13305,17 @@ local function applyaxis(glyph,shape,deltas,dowidth) p[2]=p[2]+factor*y end end - elseif width then - local x=xvalues[d+1] - if x then - width=width+factor*x + elseif dowidth then + if d==h then + local x=xvalues[i] + if x then + dw=dw+factor*x + end + elseif d==l then + local x=xvalues[i] + if x then + dl=dl+factor*x + end end end end @@ -11906,16 +13335,21 @@ local function applyaxis(glyph,shape,deltas,dowidth) end end end - if width then + if dowidth then local x=xvalues[h] if x then - width=width+factor*x + dw=dw+factor*x + end + local x=xvalues[l] + if x then + dl=dl+factor*x end end end end - if width then - glyph.width=width + if dowidth then + local width=glyph.width or 0 + glyph.width=width+dw-dl end else report("no points for glyph %a",glyph.name) @@ -12668,7 +14102,7 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) local data={} local tuples={} local glyphdata=fontdata.glyphs - local dowidth=fontdata.variabledata.hvarwidths + local dowidth=not fontdata.variabledata.hvarwidths if bittest(flags,0x0001) then for i=1,nofglyphs+1 do data[i]=dataoffset+readulong(f) @@ -20191,6 +21625,10 @@ function injections.isspace(n,threshold,id) end end end +local getspaceboth=getboth +function injections.installgetspaceboth(gb) + getspaceboth=gb or getboth +end local function injectspaces(head) if not triggers then return head,false @@ -20211,9 +21649,9 @@ local function injectspaces(head) factor=getthreshold(font) end for n in traverse_id(glue_code,tonut(head)) do - local prev,next=getboth(n) - local prevchar=ischar(prev) - local nextchar=ischar(next) + local prev,next=getspaceboth(n) + local prevchar=prev and ischar(prev) + local nextchar=next and ischar(next) if nextchar then local font=getfont(next) local trig=triggers[font] @@ -24021,9 +25459,9 @@ local function spaceinitializer(tfmdata,value) if type(kern)~="table" then left[k]=kern elseif single then - left[k]=v[3] + left[k]=kern[3] else - local one=v[1] + local one=kern[1] if one then left[k]=one[3] end @@ -26079,7 +27517,7 @@ else local tounicode=fonts.mappings.tounicode16 function otf.getactualtext(s) return - "/Span << /ActualText <feff"..n.."> >> BDC", + "/Span << /ActualText <feff"..s.."> >> BDC", "EMC" end end diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-math.tex b/Master/texmf-dist/tex/generic/context/luatex/luatex-math.tex index a66aa7d7dfa..6edc6f74b18 100644 --- a/Master/texmf-dist/tex/generic/context/luatex/luatex-math.tex +++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-math.tex @@ -13,6 +13,9 @@ %D approach (and thereby far from the \CONTEXT\ way). This file is mainly meant for %D Boguslaw Jackowski. +%D In the perspective of the TUG Lucida Opentype project Bruno Voisin checked the code +%D and definitions below and suggested some improvements. + % we provide a remap feature \ifdefined\directlua @@ -42,6 +45,10 @@ \font\tenbf = file:lmroman10-bold.otf:+liga;+kern;+tlig;+trep at 10pt \font\tenbi = file:lmroman10-bolditalic.otf:+liga;+kern;+tlig;+trep at 10pt % + \font\tenos = file:lmroman10-regular.otf:+onum;+liga;+kern;+tlig;+trep at 10pt + \font\sevenos = file:lmroman7-regular.otf:+onum;+liga;+kern;+tlig;+trep at 7pt + \font\fiveos = file:lmroman5-regular.otf:+onum;+liga;+kern;+tlig;+trep at 5pt + % \font\mathfonttextupright = file:latinmodern-math.otf:script=math;ssty=0;mathsize=yes at 10pt \font\mathfontscriptupright = file:latinmodern-math.otf:script=math;ssty=1;mathsize=yes at 7pt \font\mathfontscriptscriptupright = file:latinmodern-math.otf:script=math;ssty=2;mathsize=yes at 5pt @@ -50,6 +57,10 @@ \scriptfont 0 = \mathfontscriptupright \scriptscriptfont 0 = \mathfontscriptscriptupright % + \textfont 1 = \tenos + \scriptfont 1 = \sevenos + \scriptscriptfont 1 = \fiveos + % \tenrm} \def\lucidabright @@ -57,11 +68,15 @@ \font\sevenrm = file:lucidabrightot.otf:+liga;+kern;+tlig;+trep at 7pt \font\fiverm = file:lucidabrightot.otf:+liga;+kern;+tlig;+trep at 5pt % - \font\tentt = file:lucidasanstypewriterot.otf at 10pt - \font\tensl = file:lucidabrightot.otf:slant=0.2;+liga;+kern;+tlig;+trep at 10pt - \font\tenit = file:lucidabrightot-italic.otf:+liga;+kern;+tlig;+trep at 10pt - \font\tenbf = file:lucidabrightot-demi.otf:+liga;+kern;+tlig;+trep at 10pt - \font\tenbi = file:lucidabrightot-demiitalic.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tentt = file:lucidasanstypewriterot.otf at 10pt + \font\tensl = file:lucidabrightot.otf:slant=0.167;+liga;+kern;+tlig;+trep at 10pt + \font\tenit = file:lucidabrightot-italic.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tenbf = file:lucidabrightot-demi.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tenbi = file:lucidabrightot-demiitalic.otf:+liga;+kern;+tlig;+trep at 10pt + % + \font\tenos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 10pt + \font\sevenos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 7pt + \font\fiveos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 5pt % \font\mathfonttextupright = file:lucidabrightmathot.otf:script=math;ssty=0;mathsize=yes at 10pt \font\mathfontscriptupright = file:lucidabrightmathot.otf:script=math;ssty=1;mathsize=yes at 7pt @@ -71,6 +86,10 @@ \scriptfont 0 = \mathfontscriptupright \scriptscriptfont 0 = \mathfontscriptscriptupright % + \textfont 1 = \tenos + \scriptfont 1 = \sevenos + \scriptscriptfont 1 = \fiveos + % \tenrm} \ifdefined\directlua @@ -84,7 +103,6 @@ \fi \newtoks\everymathrm -\newtoks\everymathmit \newtoks\everymathcal \newtoks\everymathit \newtoks\everymathsl @@ -92,6 +110,8 @@ \newtoks\everymathbi \newtoks\everymathtt +% the following commands switch text as well as math + \def\rm{\fam0\relax\the\everymathrm\relax\tenrm\relax} \def\it{\fam0\relax\the\everymathit\relax\tenit\relax} \def\sl{\fam0\relax\the\everymathsl\relax\tensl\relax} @@ -99,13 +119,10 @@ \def\bi{\fam0\relax\the\everymathbi\relax\tenbi\relax} \def\tt{\fam0\relax\the\everymathtt\relax\tentt\relax} -\let\mit \relax % use names or \Uchar or define a vector -\let\cal \relax % idem, i'm not in the mood for this now -\let\oldstyle\relax % no longer misuse of math mode - % tex is fast enough for this kind of assignments: \everymathrm {% + % codes \Umathcode"0041="0"0"0041% \Umathcode"0042="0"0"0042% \Umathcode"0043="0"0"0043% @@ -216,18 +233,69 @@ \Umathcode"03F5="0"0"03F5% \Umathcode"2202="0"0"2202% \Umathcode"2207="0"0"2207% + % commands + \Umathchardef\Alpha "0"0"000391% + \Umathchardef\Beta "0"0"000392% + \Umathchardef\Gamma "0"0"000393% + \Umathchardef\Delta "0"0"000394% + \Umathchardef\Epsilon "0"0"000395% + \Umathchardef\Zeta "0"0"000396% + \Umathchardef\Eta "0"0"000397% + \Umathchardef\Theta "0"0"000398% + \Umathchardef\Iota "0"0"000399% + \Umathchardef\Kappa "0"0"00039A% + \Umathchardef\Lambda "0"0"00039B% + \Umathchardef\Mu "0"0"00039C% + \Umathchardef\Nu "0"0"00039D% + \Umathchardef\Xi "0"0"00039E% + \Umathchardef\Omicron "0"0"00039F% + \Umathchardef\Pi "0"0"0003A0% + \Umathchardef\Rho "0"0"0003A1% + \Umathchardef\Sigma "0"0"0003A3% + \Umathchardef\Tau "0"0"0003A4% + \Umathchardef\Upsilon "0"0"0003A5% + \Umathchardef\Phi "0"0"0003A6% + \Umathchardef\Chi "0"0"0003A7% + \Umathchardef\Psi "0"0"0003A8% + \Umathchardef\Omega "0"0"0003A9% + \Umathchardef\alpha "0"0"0003B1% + \Umathchardef\beta "0"0"0003B2% + \Umathchardef\gamma "0"0"0003B3% + \Umathchardef\delta "0"0"0003B4% + \Umathchardef\varepsilon"0"0"0003B5% + \Umathchardef\zeta "0"0"0003B6% + \Umathchardef\eta "0"0"0003B7% + \Umathchardef\theta "0"0"0003B8% + \Umathchardef\iota "0"0"0003B9% + \Umathchardef\kappa "0"0"0003BA% + \Umathchardef\lambda "0"0"0003BB% + \Umathchardef\mu "0"0"0003BC% + \Umathchardef\nu "0"0"0003BD% + \Umathchardef\xi "0"0"0003BE% + \Umathchardef\omicron "0"0"0003BF% + \Umathchardef\pi "0"0"0003C0% + \Umathchardef\rho "0"0"0003C1% + \Umathchardef\varsigma "0"0"0003C2% + \Umathchardef\sigma "0"0"0003C3% + \Umathchardef\tau "0"0"0003C4% + \Umathchardef\upsilon "0"0"0003C5% + \Umathchardef\varphi "0"0"0003C6% + \Umathchardef\chi "0"0"0003C7% + \Umathchardef\psi "0"0"0003C8% + \Umathchardef\omega "0"0"0003C9% + \Umathchardef\vartheta "0"0"0003D1% + \Umathchardef\phi "0"0"0003D5% + \Umathchardef\varpi "0"0"0003D6% + \Umathchardef\varkappa "0"0"0003F0% + \Umathchardef\varrho "0"0"0003F1% + \Umathchardef\epsilon "0"0"0003F5% + \Umathchardef\varTheta "0"0"0003F4% + \Umathchardef\digamma "0"0"0003DC% \relax } -\everymathmit {% - % not done -} - -\everymathcal {% - % not done -} - \everymathit {% + % codes \Umathcode"0041="0"0"1D434% \Umathcode"0042="0"0"1D435% \Umathcode"0043="0"0"1D436% @@ -338,6 +406,64 @@ \Umathcode"03F5="0"0"1D716% \Umathcode"2202="0"0"1D715% \Umathcode"2207="0"0"1D6FB% + % commands + \Umathchardef\Alpha "0"0"01D6E2% + \Umathchardef\Beta "0"0"01D6E3% + \Umathchardef\Gamma "0"0"01D6E4% + \Umathchardef\Delta "0"0"01D6E5% + \Umathchardef\Epsilon "0"0"01D6E6% + \Umathchardef\Zeta "0"0"01D6E7% + \Umathchardef\Eta "0"0"01D6E8% + \Umathchardef\Theta "0"0"01D6E9% + \Umathchardef\Iota "0"0"01D6EA% + \Umathchardef\Kappa "0"0"01D6EB% + \Umathchardef\Lambda "0"0"01D6EC% + \Umathchardef\Mu "0"0"01D6ED% + \Umathchardef\Nu "0"0"01D6EE% + \Umathchardef\Xi "0"0"01D6EF% + \Umathchardef\Omicron "0"0"01D6F0% + \Umathchardef\Pi "0"0"01D6F1% + \Umathchardef\Rho "0"0"01D6F2% + \Umathchardef\Sigma "0"0"01D6F4% + \Umathchardef\Tau "0"0"01D6F5% + \Umathchardef\Upsilon "0"0"01D6F6% + \Umathchardef\Phi "0"0"01D6F7% + \Umathchardef\Chi "0"0"01D6F8% + \Umathchardef\Psi "0"0"01D6F9% + \Umathchardef\Omega "0"0"01D6FA% + \Umathchardef\alpha "0"0"01D6FC% + \Umathchardef\beta "0"0"01D6FD% + \Umathchardef\gamma "0"0"01D6FE% + \Umathchardef\delta "0"0"01D6FF% + \Umathchardef\varepsilon"0"0"01D700% + \Umathchardef\zeta "0"0"01D701% + \Umathchardef\eta "0"0"01D702% + \Umathchardef\theta "0"0"01D703% + \Umathchardef\iota "0"0"01D704% + \Umathchardef\kappa "0"0"01D705% + \Umathchardef\lambda "0"0"01D706% + \Umathchardef\mu "0"0"01D707% + \Umathchardef\nu "0"0"01D708% + \Umathchardef\xi "0"0"01D709% + \Umathchardef\omicron "0"0"01D70A% + \Umathchardef\pi "0"0"01D70B% + \Umathchardef\rho "0"0"01D70C% + \Umathchardef\varsigma "0"0"01D70D% + \Umathchardef\sigma "0"0"01D70E% + \Umathchardef\tau "0"0"01D70F% + \Umathchardef\upsilon "0"0"01D710% + \Umathchardef\varphi "0"0"01D711% + \Umathchardef\chi "0"0"01D712% + \Umathchardef\psi "0"0"01D713% + \Umathchardef\omega "0"0"01D714% + \Umathchardef\epsilon "0"0"01D716% + \Umathchardef\vartheta "0"0"01D717% + \Umathchardef\varkappa "0"0"01D718% + \Umathchardef\phi "0"0"01D719% + \Umathchardef\varrho "0"0"01D71A% + \Umathchardef\varpi "0"0"01D71B% + \Umathchardef\varTheta "0"0"01D6F3% + \Umathchardef\digamma "0"0"0003DC% \relax } @@ -346,6 +472,7 @@ } \everymathbf {% + % codes \Umathcode"0030="0"0"1D7CE% \Umathcode"0031="0"0"1D7CF% \Umathcode"0032="0"0"1D7D0% @@ -466,10 +593,69 @@ \Umathcode"03F5="0"0"1D6DC% \Umathcode"2202="0"0"1D6DB% \Umathcode"2207="0"0"1D6C1% + % commands + \Umathchardef\Alpha "0"0"01D6A8% + \Umathchardef\Beta "0"0"01D6A9% + \Umathchardef\Gamma "0"0"01D6AA% + \Umathchardef\Delta "0"0"01D6AB% + \Umathchardef\Epsilon "0"0"01D6AC% + \Umathchardef\Zeta "0"0"01D6AD% + \Umathchardef\Eta "0"0"01D6AE% + \Umathchardef\Theta "0"0"01D6AF% + \Umathchardef\Iota "0"0"01D6B0% + \Umathchardef\Kappa "0"0"01D6B1% + \Umathchardef\Lambda "0"0"01D6B2% + \Umathchardef\Mu "0"0"01D6B3% + \Umathchardef\Nu "0"0"01D6B4% + \Umathchardef\Xi "0"0"01D6B5% + \Umathchardef\Omicron "0"0"01D6B6% + \Umathchardef\Pi "0"0"01D6B7% + \Umathchardef\Rho "0"0"01D6B8% + \Umathchardef\Sigma "0"0"01D6BA% + \Umathchardef\Tau "0"0"01D6BB% + \Umathchardef\Upsilon "0"0"01D6BC% + \Umathchardef\Phi "0"0"01D6BD% + \Umathchardef\Chi "0"0"01D6BE% + \Umathchardef\Psi "0"0"01D6BF% + \Umathchardef\Omega "0"0"01D6C0% + \Umathchardef\alpha "0"0"01D6C2% + \Umathchardef\beta "0"0"01D6C3% + \Umathchardef\gamma "0"0"01D6C4% + \Umathchardef\delta "0"0"01D6C5% + \Umathchardef\varepsilon"0"0"01D6C6% + \Umathchardef\zeta "0"0"01D6C7% + \Umathchardef\eta "0"0"01D6C8% + \Umathchardef\theta "0"0"01D6C9% + \Umathchardef\iota "0"0"01D6CA% + \Umathchardef\kappa "0"0"01D6CB% + \Umathchardef\lambda "0"0"01D6CC% + \Umathchardef\mu "0"0"01D6CD% + \Umathchardef\nu "0"0"01D6CE% + \Umathchardef\xi "0"0"01D6CF% + \Umathchardef\omicron "0"0"01D6D0% + \Umathchardef\pi "0"0"01D6D1% + \Umathchardef\rho "0"0"01D6D2% + \Umathchardef\varsigma "0"0"01D6D3% + \Umathchardef\sigma "0"0"01D6D4% + \Umathchardef\tau "0"0"01D6D5% + \Umathchardef\upsilon "0"0"01D6D6% + \Umathchardef\varphi "0"0"01D6D7% + \Umathchardef\chi "0"0"01D6D8% + \Umathchardef\psi "0"0"01D6D9% + \Umathchardef\omega "0"0"01D6DA% + \Umathchardef\epsilon "0"0"01D6DC% + \Umathchardef\vartheta "0"0"01D6DD% + \Umathchardef\varkappa "0"0"01D6DE% + \Umathchardef\phi "0"0"01D6DF% + \Umathchardef\varrho "0"0"01D6E0% + \Umathchardef\varpi "0"0"01D6E1% + \Umathchardef\varTheta "0"0"01D6B9% + \Umathchardef\digamma "0"0"01D7CA% \relax } \everymathbi {% + % codes \Umathcode"0030="0"0"1D7CE% \Umathcode"0031="0"0"1D7CF% \Umathcode"0032="0"0"1D7D0% @@ -590,6 +776,64 @@ \Umathcode"03F5="0"0"1D750% \Umathcode"2202="0"0"1D74F% \Umathcode"2207="0"0"1D735% + % commands + \Umathchardef\Alpha "0"0"01D71C% + \Umathchardef\Beta "0"0"01D71D% + \Umathchardef\Gamma "0"0"01D71E% + \Umathchardef\Delta "0"0"01D71F% + \Umathchardef\Epsilon "0"0"01D720% + \Umathchardef\Zeta "0"0"01D721% + \Umathchardef\Eta "0"0"01D722% + \Umathchardef\Theta "0"0"01D723% + \Umathchardef\Iota "0"0"01D724% + \Umathchardef\Kappa "0"0"01D725% + \Umathchardef\Lambda "0"0"01D726% + \Umathchardef\Mu "0"0"01D727% + \Umathchardef\Nu "0"0"01D728% + \Umathchardef\Xi "0"0"01D729% + \Umathchardef\Omicron "0"0"01D72A% + \Umathchardef\Pi "0"0"01D72B% + \Umathchardef\Rho "0"0"01D72C% + \Umathchardef\Sigma "0"0"01D72E% + \Umathchardef\Tau "0"0"01D72F% + \Umathchardef\Upsilon "0"0"01D730% + \Umathchardef\Phi "0"0"01D731% + \Umathchardef\Chi "0"0"01D732% + \Umathchardef\Psi "0"0"01D733% + \Umathchardef\Omega "0"0"01D734% + \Umathchardef\alpha "0"0"01D736% + \Umathchardef\beta "0"0"01D737% + \Umathchardef\gamma "0"0"01D738% + \Umathchardef\delta "0"0"01D739% + \Umathchardef\varepsilon"0"0"01D73A% + \Umathchardef\zeta "0"0"01D73B% + \Umathchardef\eta "0"0"01D73C% + \Umathchardef\theta "0"0"01D73D% + \Umathchardef\iota "0"0"01D73E% + \Umathchardef\kappa "0"0"01D73F% + \Umathchardef\lambda "0"0"01D740% + \Umathchardef\mu "0"0"01D741% + \Umathchardef\nu "0"0"01D742% + \Umathchardef\xi "0"0"01D743% + \Umathchardef\omicron "0"0"01D744% + \Umathchardef\pi "0"0"01D745% + \Umathchardef\rho "0"0"01D746% + \Umathchardef\varsigma "0"0"01D747% + \Umathchardef\sigma "0"0"01D748% + \Umathchardef\tau "0"0"01D749% + \Umathchardef\upsilon "0"0"01D74A% + \Umathchardef\varphi "0"0"01D74B% + \Umathchardef\chi "0"0"01D74C% + \Umathchardef\psi "0"0"01D74D% + \Umathchardef\omega "0"0"01D74E% + \Umathchardef\epsilon "0"0"01D750% + \Umathchardef\vartheta "0"0"01D751% + \Umathchardef\varkappa "0"0"01D752% + \Umathchardef\phi "0"0"01D753% + \Umathchardef\varrho "0"0"01D754% + \Umathchardef\varpi "0"0"01D755% + \Umathchardef\varTheta "0"0"01D72D% + \Umathchardef\digamma "0"0"01D7CA% \relax } @@ -597,6 +841,75 @@ % not done } +% Nothing special here: + +\let\mit\it + +% We use a special family for this, not that oldstyle in math makes +% much sense, it's more that in good old tex oldstyle was taken from +% math fonts. So, just something compatible: + +\def\oldstyle{\fam1\relax\tenos\relax} + +% Again a text and math one and it had better be used grouped. + +\def\cal{\fam0\relax\the\everymathcal\relax\tenit\relax} + +\everymathcal {% + \Umathcode"0041="0"0"1D49C% A + \Umathcode"0042="0"0"0212C% B + \Umathcode"0043="0"0"1D49E% C + \Umathcode"0044="0"0"1D49F% D + \Umathcode"0045="0"0"02130% E + \Umathcode"0046="0"0"02131% F + \Umathcode"0047="0"0"1D4A2% G + \Umathcode"0048="0"0"0210B% H + \Umathcode"0049="0"0"02110% I + \Umathcode"004A="0"0"1D4A5% J + \Umathcode"004B="0"0"1D4A6% K + \Umathcode"004C="0"0"02112% L + \Umathcode"004D="0"0"02133% M + \Umathcode"004E="0"0"1D4A9% N + \Umathcode"004F="0"0"1D4AA% O + \Umathcode"0050="0"0"1D4AB% P + \Umathcode"0051="0"0"1D4AC% Q + \Umathcode"0052="0"0"0211B% R + \Umathcode"0053="0"0"1D4AE% S + \Umathcode"0054="0"0"1D4AF% T + \Umathcode"0055="0"0"1D4B0% U + \Umathcode"0056="0"0"1D4B1% V + \Umathcode"0057="0"0"1D4B2% W + \Umathcode"0058="0"0"1D4B3% X + \Umathcode"0059="0"0"1D4B4% Y + \Umathcode"005A="0"0"1D4B5% Z + \Umathcode"0061="0"0"1D4B6% a + \Umathcode"0062="0"0"1D4B7% b + \Umathcode"0063="0"0"1D4B8% c + \Umathcode"0064="0"0"1D4B9% d + \Umathcode"0065="0"0"0212F% e + \Umathcode"0066="0"0"1D4BB% f + \Umathcode"0067="0"0"0210A% g + \Umathcode"0068="0"0"1D4BD% h + \Umathcode"0069="0"0"1D4BE% i + \Umathcode"006A="0"0"1D4BF% j + \Umathcode"006B="0"0"1D4C0% k + \Umathcode"006C="0"0"1D4C1% l + \Umathcode"006D="0"0"1D4C2% m + \Umathcode"006E="0"0"1D4C3% n + \Umathcode"006F="0"0"02134% o + \Umathcode"0070="0"0"1D4C5% p + \Umathcode"0071="0"0"1D4C6% q + \Umathcode"0072="0"0"1D4C7% r + \Umathcode"0073="0"0"1D4C8% s + \Umathcode"0074="0"0"1D4C9% t + \Umathcode"0075="0"0"1D4CA% u + \Umathcode"0076="0"0"1D4CB% v + \Umathcode"0077="0"0"1D4CC% w + \Umathcode"0078="0"0"1D4CD% x + \Umathcode"0079="0"0"1D4CE% y + \Umathcode"007A="0"0"1D4CF% z +} + \Udelcode "00021 = "0 "00021 \Udelcode "00028 = "0 "00028 \Udelcode "00028 = "0 "00028 @@ -1831,6 +2144,44 @@ \def\Zeta {\Umathchar "0"0"000396 } \def\zeta {\Umathchar "0"0"0003B6 } +%D The following are suggested by Bruno. As I don't use plain and as the above are +%D taken from text unicode greek I suppose his list is better: + +\def\alpha {\Umathchar "0"0"01D6FC } +\def\beta {\Umathchar "0"0"01D6FD } +\def\chi {\Umathchar "0"0"01D712 } +\def\delta {\Umathchar "0"0"01D6FF } +\def\digamma {\Umathchar "0"0"0003DC } +\def\epsilon {\Umathchar "0"0"01D716 } +\def\eta {\Umathchar "0"0"01D702 } +\def\gamma {\Umathchar "0"0"01D6FE } +\def\iota {\Umathchar "0"0"01D704 } +\def\kappa {\Umathchar "0"0"01D705 } +\def\lambda {\Umathchar "0"0"01D706 } +\def\mu {\Umathchar "0"0"01D707 } +\def\nu {\Umathchar "0"0"01D708 } +\def\omega {\Umathchar "0"0"01D714 } +\def\omicron {\Umathchar "0"0"01D70A } +\def\phi {\Umathchar "0"0"01D719 } +\def\pi {\Umathchar "0"0"01D70B } +\def\psi {\Umathchar "0"0"01D713 } +\def\rho {\Umathchar "0"0"01D70C } +\def\sigma {\Umathchar "0"0"01D70E } +\def\tau {\Umathchar "0"0"01D70F } +\def\theta {\Umathchar "0"0"01D703 } +\def\upsilon {\Umathchar "0"0"01D710 } +\def\varepsilon {\Umathchar "0"0"01D700 } +\def\varkappa {\Umathchar "0"0"01D718 } +\def\varphi {\Umathchar "0"0"01D711 } +\def\varpi {\Umathchar "0"0"01D71B } +\def\varrho {\Umathchar "0"0"01D71A } +\def\varsigma {\Umathchar "0"0"01D70D } +\def\vartheta {\Umathchar "0"0"01D717 } +\def\xi {\Umathchar "0"0"01D709 } +\def\zeta {\Umathchar "0"0"01D701 } + +\def\varTheta {\Umathchar "0"0"0003F4 } + % a few definitions: \def\sqrt {\Uroot "0 "221A{}} @@ -1883,4 +2234,22 @@ \def\k#1{#1^^^^0328} % not in plain \def\b#1{#1^^^^0331} +% for Bruno, when he tests this file with xetex: + +\ifdefined\directlua \else + + \catcode`@=11 + + \def\sqrt{\Uradical "0 "221A } + + \def\root#1\of + {\setbox\rootbox\hbox\bgroup + $\m@th\scriptscriptstyle{#1}$% + \egroup + \mathpalette\r@@t} + + \catcode`@=12 + +\fi + \endinput |