diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua | 41 |
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-- |