From dbe92b0e0e771352c4307ff3eb8f04f9cfd8ec02 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Sat, 22 Jun 2013 12:38:04 +0200 Subject: add unsafe fallback to character data lookup --- luaotfload-auxiliary.lua | 2 +- luaotfload-extralibs.lua | 12 +++++++++--- mkcharacters | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/luaotfload-auxiliary.lua b/luaotfload-auxiliary.lua index 0dfabe6..8fc8477 100644 --- a/luaotfload-auxiliary.lua +++ b/luaotfload-auxiliary.lua @@ -358,7 +358,7 @@ do local index = function (t, k) if chardata == nil then log("Loading character metadata from %s.", chardef) - chardata = dofile(kpse.find_file("luaotfload-characters.lua", "lua")) + chardata = dofile(kpse.find_file(chardef, "lua")) if chardata == nil then warning("Could not load %s; continuing with empty character table.", chardef) diff --git a/luaotfload-extralibs.lua b/luaotfload-extralibs.lua index 90dbf09..3204229 100644 --- a/luaotfload-extralibs.lua +++ b/luaotfload-extralibs.lua @@ -176,9 +176,15 @@ if not chardata then if k == true then return chardata[currentfont()] else - local characters = identifiers[k].characters - t[k] = characters - return characters + local tfmdata = identifiers[k] + if not tfmdata then --- unsafe + tfmdata = font.fonts[k] + end + if tfmdata then + local characters = tfmdata.characters + t[k] = characters + return characters + end end end) fonthashes.characters = chardata diff --git a/mkcharacters b/mkcharacters index a627ea9..a1c4204 100755 --- a/mkcharacters +++ b/mkcharacters @@ -5,7 +5,7 @@ -- DESCRIPTION: import parts of char-def.lua -- REQUIREMENTS: lua, ConTeXt, the lualibs package -- AUTHOR: Philipp Gesang (Phg), --- VERSION: 1.0 +-- VERSION: 1.1 -- CREATED: 2013-05-17 12:41:39+0200 ----------------------------------------------------------------------- -- we create a stripped-down version of char-def.lua @@ -16,7 +16,10 @@ ----------------------------------------------------------------------- local charfile = "./luaotfload-characters.lua" local chardef = "~phg/base/char-def.lua" -local import = { "direction", "mirror", } --> πολυγλωσσία/uax9 +local import = { + "direction", "mirror", --> πολυγλωσσία/uax9 + "category", --> https://gist.github.com/phi-gamma/5812290 +} ----------------------------------------------------------------------- -- includes -- cgit v1.2.3