diff options
author | Philipp Gesang <phg@phi-gamma.net> | 2016-07-14 07:36:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-14 07:36:01 +0200 |
commit | 8bb332a20022d100dcbd64fc416a35673a0ba879 (patch) | |
tree | f972c96ccf326053729544d32fda11fc14de2115 /src/fontloader/misc/fontloader-font-one.lua | |
parent | 2b26f1507fb78927be50bea4ff5b13c5d897cc53 (diff) | |
parent | 6ae6f2dec61a216b584e59b6953f0576f51c3902 (diff) | |
download | luaotfload-8bb332a20022d100dcbd64fc416a35673a0ba879.tar.gz |
Merge pull request #369 from phi-gamma/master
New TFM code
Diffstat (limited to 'src/fontloader/misc/fontloader-font-one.lua')
-rw-r--r-- | src/fontloader/misc/fontloader-font-one.lua | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/fontloader/misc/fontloader-font-one.lua b/src/fontloader/misc/fontloader-font-one.lua index a6f47e8..8629850 100644 --- a/src/fontloader/misc/fontloader-font-one.lua +++ b/src/fontloader/misc/fontloader-font-one.lua @@ -86,7 +86,8 @@ local steps = { "add ligatures", "add extra kerns", "normalize features", - "fix names", + "check extra features", + "fix names", -- what a hack ... -- "add tounicode data", } @@ -318,6 +319,8 @@ enhancers["normalize features"] = function(data) data.resources.sequences = sequences end +enhancers["check extra features"] = otf.enhancers.enhance + enhancers["fix names"] = function(data) for k, v in next, data.descriptions do local n = v.name @@ -752,18 +755,12 @@ end <p>We have the usual two modes and related features initializers and processors.</p> --ldx]]-- -local function setmode(tfmdata,value) - if value then - tfmdata.properties.mode = lower(value) - end -end - registerafmfeature { name = "mode", description = "mode", initializers = { - base = setmode, - node = setmode, + base = otf.modeinitializer, + node = otf.modeinitializer, } } @@ -782,8 +779,6 @@ registerafmfeature { -- readers -local check_tfm = readers.check_tfm - fonts.formats.afm = "type1" fonts.formats.pfb = "type1" @@ -820,7 +815,8 @@ function readers.afm(specification,method) tfmdata = check_afm(specification,specification.name .. "." .. forced) end if not tfmdata then - method = method or definers.method or "afm or tfm" + local check_tfm = readers.check_tfm + method = (check_tfm and (method or definers.method or "afm or tfm")) or "afm" if method == "tfm" then tfmdata = check_tfm(specification,specification.name) elseif method == "afm" then |