diff options
Diffstat (limited to 'otfl-math-ext.lua')
-rw-r--r-- | otfl-math-ext.lua | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/otfl-math-ext.lua b/otfl-math-ext.lua deleted file mode 100644 index fd65592..0000000 --- a/otfl-math-ext.lua +++ /dev/null @@ -1,155 +0,0 @@ -if not modules then modules = { } end modules ['math-ext'] = { - version = 1.001, - comment = "companion to math-ini.mkiv", - author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", - copyright = "PRAGMA ADE / ConTeXt Development Team", - license = "see context related readme files" -} - -local trace_virtual = false trackers.register("math.virtual", function(v) trace_virtual = v end) - -mathematics = mathematics or { } -characters = characters or { } - -mathematics.extras = mathematics.extras or { } -characters.math = characters.math or { } - -local chardata = characters.data -local mathdata = characters.math - -function mathematics.extras.add(unicode,t) - local min, max = mathematics.extrabase, mathematics.privatebase - 1 - if unicode >= min and unicode <= max then - mathdata[unicode], chardata[unicode] = t, t - else - logs.report("math extra","extra U+%04X should be in range U+%04X - U+%04X",unicode,min,max) - end -end - -function mathematics.extras.copy(tfmdata) - local math_parameters = tfmdata.math_parameters - local MathConstants = tfmdata.MathConstants - if (math_parameters and next(math_parameters)) or (MathConstants and next(MathConstants)) then - local characters = tfmdata.characters - for unicode, extradesc in next, mathdata do - -- always, because in an intermediate step we can have a non math font - local extrachar = characters[unicode] - local nextinsize = extradesc.nextinsize - if nextinsize then - for i=1,#nextinsize do - local nextslot = nextinsize[i] - local nextbase = characters[nextslot] - if nextbase then - local nextnext = nextbase and nextbase.next - if nextnext then - local nextchar = characters[nextnext] - if nextchar then - if trace_virtual then - logs.report("math extra","extra U+%04X in %s at %s maps on U+%04X (class: %s, name: %s)",unicode,file.basename(tfmdata.fullname),tfmdata.size,nextslot,extradesc.mathclass or "?",extradesc.mathname or "?") - end - characters[unicode] = nextchar - break - end - end - end - end - if not characters[unicode] then - for i=1,#nextinsize do - local nextbase = characters[nextinsize[i]] - if nextbase then - characters[unicode] = nextchar - break - end - end - end - end - end - else - -- let's not waste time on non-math - end -end - -table.insert(fonts.tfm.mathactions,mathematics.extras.copy) - --- 0xFE302 -- 0xFE320 for accents - -mathematics.extras.add(0xFE302, { - category="mn", - description="WIDE MATHEMATICAL HAT", - direction="nsm", - linebreak="cm", - mathclass="accent", - mathname="widehat", - mathstretch="h", - unicodeslot=0xFE302, - nextinsize={ 0x00302, 0x0005E }, -} ) - -mathematics.extras.add(0xFE303, { - category="mn", - cjkwd="a", - description="WIDE MATHEMATICAL TILDE", - direction="nsm", - linebreak="cm", - mathclass="accent", - mathname="widetilde", - mathstretch="h", - unicodeslot=0xFE303, - nextinsize={ 0x00303, 0x0007E }, -} ) - --- 0xFE321 -- 0xFE340 for missing characters - -mathematics.extras.add(0xFE321, { - category="sm", - description="MATHEMATICAL SHORT BAR", --- direction="on", --- linebreak="nu", - mathclass="relation", - mathname="mapstochar", - unicodeslot=0xFE321, -} ) - -mathematics.extras.add(0xFE322, { - category="sm", - description="MATHEMATICAL LEFT HOOK", - mathclass="relation", - mathname="lhook", - unicodeslot=0xFE322, -} ) - -mathematics.extras.add(0xFE323, { - category="sm", - description="MATHEMATICAL RIGHT HOOK", - mathclass="relation", - mathname="rhook", - unicodeslot=0xFE323, -} ) - ---~ mathematics.extras.add(0xFE304, { ---~ category="sm", ---~ description="TOP AND BOTTOM PARENTHESES", ---~ direction="on", ---~ linebreak="al", ---~ mathclass="doubleaccent", ---~ mathname="doubleparent", ---~ unicodeslot=0xFE304, ---~ accents={ 0x023DC, 0x023DD }, ---~ } ) - ---~ mathematics.extras.add(0xFE305, { ---~ category="sm", ---~ description="TOP AND BOTTOM BRACES", ---~ direction="on", ---~ linebreak="al", ---~ mathclass="doubleaccent", ---~ mathname="doublebrace", ---~ unicodeslot=0xFE305, ---~ accents={ 0x023DE, 0x023DF }, ---~ } ) - ---~ \Umathchardef\braceld="0 "1 "FF07A ---~ \Umathchardef\bracerd="0 "1 "FF07B ---~ \Umathchardef\bracelu="0 "1 "FF07C ---~ \Umathchardef\braceru="0 "1 "FF07D - |