diff options
author | Marius <mariausol@gmail.com> | 2011-01-31 18:40:12 +0200 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2011-01-31 18:40:12 +0200 |
commit | 8f0a9674137499392552a70d470f614f0eb98b6c (patch) | |
tree | 6d67600678dc90e269c2800f9609e78f307254a1 /tex/context/base/font-afm.lua | |
parent | cf65f174d2b790545f27134a5d41d39c942a1d5b (diff) | |
download | context-8f0a9674137499392552a70d470f614f0eb98b6c.tar.gz |
beta 2011.01.31 16:59
Diffstat (limited to 'tex/context/base/font-afm.lua')
-rw-r--r-- | tex/context/base/font-afm.lua | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/tex/context/base/font-afm.lua b/tex/context/base/font-afm.lua index ff2078e73..635780ac9 100644 --- a/tex/context/base/font-afm.lua +++ b/tex/context/base/font-afm.lua @@ -179,7 +179,7 @@ local function get_variables(data,fontmetrics) end local function get_indexes(data,pfbname) - data.luatex.filename = pfbname + data.luatex.filename = resolvers.unresolve(pfbname) -- no shortcut local pfbblob = fontloader.open(pfbname) if pfbblob then local characters = data.characters @@ -330,15 +330,19 @@ function afm.load(filename) end end +local uparser = fonts.map.makenameparser() + unify = function(data, filename) - local unicodevector = fonts.enc.load('unicode').hash + -- local unicodevector = fonts.enc.load('unicode').hash + local unicodevector = fonts.enc.agl.unicodes local glyphs, indices, unicodes, names = { }, { }, { }, { } local verbose, private = fonts.verbose, fonts.privateoffset for name, blob in next, data.characters do local code = unicodevector[name] -- or characters.name_to_unicode[name] if not code then - local u = match(name,"^uni(%x+)$") - code = u and tonumber(u,16) + -- local u = match(name,"^uni(%x+)$") + -- code = u and tonumber(u,16) + code = lpegmatch(uparser,name) if not code then code = private private = private + 1 @@ -367,7 +371,8 @@ unify = function(data, filename) data.glyphs = glyphs data.characters = nil local luatex = data.luatex - luatex.filename = luatex.filename or file.removesuffix(file.basename(filename)) + local filename = luatex.filename or file.removesuffix(file.basename(filename)) + luatex.filename = resolvers.unresolve(filename) -- no shortcut luatex.unicodes = unicodes -- name to unicode luatex.indices = indices -- unicode to index luatex.marks = { } -- todo |