diff options
author | Hans Hagen <pragma@wxs.nl> | 2014-07-14 12:38:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2014-07-14 12:38:00 +0200 |
commit | 9db977edc178a6f9503a8864c75b1a8c0a18887b (patch) | |
tree | 1bf66ada62acafb9153861e220d4aa07688c233f /tex/generic | |
parent | 5b62616c1e2fd2af67f62f9b4c4fcf1190470845 (diff) | |
download | context-9db977edc178a6f9503a8864c75b1a8c0a18887b.tar.gz |
beta 2014.07.14 12:38
Diffstat (limited to 'tex/generic')
-rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 99a0d35ab..3faa9ff54 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 07/11/14 12:20:35 +-- merge date : 07/14/14 12:38:06 do -- begin closure to overcome local limits and interference @@ -6681,7 +6681,7 @@ local report_otf=logs.reporter("fonts","otf loading") local fonts=fonts local otf=fonts.handlers.otf otf.glists={ "gsub","gpos" } -otf.version=2.756 +otf.version=2.757 otf.cache=containers.define("fonts","otf",otf.version,true) local fontdata=fonts.hashes.identifiers local chardata=characters and characters.data @@ -7241,7 +7241,7 @@ end end if not unicode or unicode==-1 then if not name then - name=format("u%06X",private) + name=format("u%06X.ctx",private) end unicode=private unicodes[name]=private @@ -7252,7 +7252,7 @@ end nofnames=nofnames+1 else if not name then - name=format("u%06X",unicode) + name=format("u%06X.ctx",unicode) end unicodes[name]=unicode nofunicodes=nofunicodes+1 @@ -7294,11 +7294,20 @@ end private=private+1 else unicodes[name]=unicode + if unicode>criterium then + local taken=descriptions[unicode] + if taken then + private=private+1 + descriptions[private]=taken + unicodes[taken.name]=private + indices[taken.index]=private + if trace_private then + report_otf("slot %U is moved to %U due to private in font",unicode) + end + end + end end indices[index]=unicode - if not name then - name=format("u%06X",unicode) - end descriptions[unicode]={ boundingbox=glyph.boundingbox, name=name, @@ -7909,7 +7918,9 @@ local function check_variants(unicode,the_variants,splitter,unicodes) for i=1,#glyphs do local g=glyphs[i] if done[g] then - report_otf("skipping cyclic reference %U in math variant %U",g,unicode) + if i>1 then + report_otf("skipping cyclic reference %U in math variant %U",g,unicode) + end else if n==0 then n=1 |