summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua41
1 files changed, 30 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
index 5de964d3fc4..999bc22d36c 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
@@ -20,6 +20,7 @@ config.luaotfload = config.luaotfload or { }
local aux = luaotfload.aux
local log = luaotfload.log
+local warning = luaotfload.log
local identifiers = fonts.hashes.identifiers
local fontid = font.id
@@ -30,6 +31,7 @@ local stringlower = string.lower
local stringformat = string.format
local stringgsub = string.gsub
local stringbyte = string.byte
+local stringfind = string.find
-----------------------------------------------------------------------
--- font patches
@@ -60,28 +62,45 @@ local add_fontdata_fallbacks = function (fontdata)
--- bother to do any checks, will access
--- fontdata.shared no matter what ...
fontdata.units = fontdata.units_per_em
+
else --- otf
- metadata = fontdata.shared.rawdata.metadata
- fontdata.units = fontparameters.units
+ metadata = fontdata.shared.rawdata.metadata
+ fontdata.name = metadata.origname or fontdata.name
+ fontdata.units = fontdata.units_per_em
+ fontdata.size = fontdata.size or fontparameters.size
local resources = fontdata.resources
- fontdata.size = fontparameters.size
--- for legacy fontspec.lua and unicode-math.lua
- fontdata.shared.otfdata = metadata
- fontdata.shared.otfdata.metadata = metadata --- brr, that’s meta indeed
- --- for microtype.lua
+ fontdata.shared.otfdata = {
+ pfminfo = { os2_capheight = metadata.pfminfo.os2_capheight },
+ metadata = { ascent = metadata.ascent },
+ }
+ --- for microtype and fontspec
+ local fake_features = { } -- wrong: table.copy(resources.features)
+ setmetatable(fake_features, { __index = function (tab, idx)
+ warning("some package (probably fontspec) is outdated")
+ warning(
+ "attempt to index " ..
+ "tfmdata.shared.otfdata.luatex.features (%s)",
+ idx)
+ --os.exit(1)
+ return nil --- empty anyways
+ end})
fontdata.shared.otfdata.luatex = {
unicodes = resources.unicodes,
- features = resources.features,
+ features = fake_features,
}
end
end
return fontdata
end
-luatexbase.add_to_callback(
- "luaotfload.patch_font",
- add_fontdata_fallbacks,
- "luaotfload.fontdata_fallbacks")
+--if config.luaotfload.compatibility == true then
+if true then
+ luatexbase.add_to_callback(
+ "luaotfload.patch_font",
+ add_fontdata_fallbacks,
+ "luaotfload.fontdata_fallbacks")
+end
--[[doc--