diff options
Diffstat (limited to 'tex/generic')
-rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 62c427592..2bac536cd 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 : 08/24/16 15:36:43 +-- merge date : 08/24/16 21:16:06 do -- begin closure to overcome local limits and interference @@ -10381,7 +10381,7 @@ do strings=data.strings globals=data.routines or {} locals=dictionary.subroutines or {} - globalbias,localbias=setbias(globals,locals,version) + globalbias,localbias=setbias(globals,locals) local nominalwidth=private.data.nominalwidthx or 0 local defaultwidth=private.data.defaultwidthx or 0 for i=1,#charstrings do @@ -10439,13 +10439,14 @@ do end return glyphs end - parsecharstring=function(data,dictionary,tab,glyphs,index,doshapes,version) + parsecharstring=function(data,dictionary,tab,glyphs,index,doshapes,tversion) local private=dictionary.private keepcurve=doshapes + version=tversion strings=data.strings locals=dictionary.subroutines or {} globals=data.routines or {} - globalbias=setbias(globals,locals) + globalbias,localbias=setbias(globals,locals) local nominalwidth=private and private.data.nominalwidthx or 0 local defaultwidth=private and private.data.defaultwidthx or 0 if type(tab)=="string" then @@ -15321,7 +15322,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_de local report_otf=logs.reporter("fonts","otf loading") local fonts=fonts local otf=fonts.handlers.otf -otf.version=3.025 +otf.version=3.026 otf.cache=containers.define("fonts","otl",otf.version,true) otf.svgcache=containers.define("fonts","svg",otf.version,true) otf.pdfcache=containers.define("fonts","pdf",otf.version,true) @@ -21132,30 +21133,38 @@ local function spaceinitializer(tfmdata,value) for i=1,#steps do local step=steps[i] local coverage=step.coverage - if coverage then + local rules=step.rules + local format=step.format + if rules then + elseif coverage then + local single=format==gpos_single local kerns=coverage[32] if kerns then for k,v in next,kerns do - if type(v)=="table" then + if type(v)~="table" then + right[k]=v + elseif single then + right[k]=v[3] + else local one=v[1] if one then right[k]=one[3] end - else - right[k]=v end end end for k,v in next,coverage do local kern=v[32] if kern then - if type(kern)=="table" then + if type(kern)~="table" then + left[k]=kern + elseif single then + left[k]=v[3] + else local one=v[1] if one then left[k]=one[3] end - else - left[k]=kern end end end |