summaryrefslogtreecommitdiff
path: root/src/luaotfload-auxiliary.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <phg42.2a@gmail.com>2014-12-14 21:28:56 +0100
committerPhilipp Gesang <phg42.2a@gmail.com>2014-12-14 21:28:56 +0100
commit747e6fb2c41045add6a799498026ff0d2ddf115b (patch)
treee07b58121d10fe123fc2b31d9a75d47dd347a17d /src/luaotfload-auxiliary.lua
parentc029158f450cd96f71db2f2a4da72a5c946089c0 (diff)
parentd2a1af0a62a2540c8b88345b8d1e84ba61a8a49f (diff)
downloadluaotfload-747e6fb2c41045add6a799498026ff0d2ddf115b.tar.gz
Merge pull request #261 from phi-gamma/master
[main, aux] add a callback that installs a .resources table in fonts tha...
Diffstat (limited to 'src/luaotfload-auxiliary.lua')
-rw-r--r--src/luaotfload-auxiliary.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/luaotfload-auxiliary.lua b/src/luaotfload-auxiliary.lua
index 7ea747e..b3fa795 100644
--- a/src/luaotfload-auxiliary.lua
+++ b/src/luaotfload-auxiliary.lua
@@ -129,6 +129,35 @@ luatexbase.add_to_callback(
"luaotfload.patch_font",
patch_cambria_domh,
"luaotfload.aux.patch_cambria_domh")
+
+
+--[[doc--
+
+ Add missing field to fonts that lack it. Addresses issue
+ https://github.com/lualatex/luaotfload/issues/253
+
+ This is considered a hack, especially since importing the
+ unicode-math package fixes the problem quite nicely.
+
+--doc]]--
+
+--- fontobj -> unit
+local fixup_fontdata = function (data)
+
+ local t = type (data)
+ --- Some OT fonts like Libertine R lack the resources table, causing
+ --- the fontloader to nil-index.
+ if t == "table" then
+ if data and not data.resources then data.resources = { } end
+ end
+
+end
+
+luatexbase.add_to_callback(
+ "luaotfload.patch_font_unsafe",
+ fixup_fontdata,
+ "luaotfload.aux.fixup_fontdata")
+
--[[doc--