summaryrefslogtreecommitdiff
path: root/tex/context/base/font-afm.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/font-afm.lua')
-rw-r--r--tex/context/base/font-afm.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/tex/context/base/font-afm.lua b/tex/context/base/font-afm.lua
index cb0c2438f..adb4281b2 100644
--- a/tex/context/base/font-afm.lua
+++ b/tex/context/base/font-afm.lua
@@ -54,6 +54,8 @@ afm.addligatures = true -- best leave this set to true
afm.addtexligatures = true -- best leave this set to true
afm.addkerns = true -- best leave this set to true
+local applyruntimefixes = fonts.treatments and fonts.treatments.applyfixes
+
local function setmode(tfmdata,value)
if value then
tfmdata.properties.mode = lower(value)
@@ -309,7 +311,7 @@ local addkerns, addligatures, addtexligatures, unify, normalize -- we will imple
function afm.load(filename)
-- hm, for some reasons not resolved yet
filename = resolvers.findfile(filename,'afm') or ""
- if filename ~= "" then
+ if filename ~= "" and not fonts.names.ignoredfile(filename) then
local name = file.removesuffix(file.basename(filename))
local data = containers.read(afm.cache,name)
local attr = lfs.attributes(filename)
@@ -360,6 +362,9 @@ function afm.load(filename)
data = containers.write(afm.cache, name, data)
data = containers.read(afm.cache,name)
end
+ if applyruntimefixes and data then
+ applyruntimefixes(filename,data)
+ end
end
return data
else
@@ -637,10 +642,10 @@ local function copytotfm(data)
parameters.x_height = 400
parameters.quad = 1000
--
- if italicangle then
+ if italicangle and italicangle ~= 0 then
parameters.italicangle = italicangle
parameters.italicfactor = math.cos(math.rad(90+italicangle))
- parameters.slant = - math.round(math.tan(italicangle*math.pi/180))
+ parameters.slant = - math.tan(italicangle*math.pi/180)
end
if monospaced then
parameters.space_stretch = 0