diff options
| author | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-06 18:31:07 +0100 | 
|---|---|---|
| committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-11-06 18:31:07 +0100 | 
| commit | 19d57e135e09d9311d0e17c6f7c375a161b8c37f (patch) | |
| tree | 93fd2a149fbaf64938513d4e991414eeb4c3bd80 | |
| parent | 42c1d7b1c4285516575d38bc780e70e368b7beae (diff) | |
| download | luaotfload-19d57e135e09d9311d0e17c6f7c375a161b8c37f.tar.gz | |
[db] do not add metafamilies to the family table
| -rw-r--r-- | luaotfload-database.lua | 26 | 
1 files changed, 23 insertions, 3 deletions
diff --git a/luaotfload-database.lua b/luaotfload-database.lua index c5b156c..d8d4a6f 100644 --- a/luaotfload-database.lua +++ b/luaotfload-database.lua @@ -2734,9 +2734,29 @@ local collect_families = function (mappings)          if modifier then              add_family (familyname, subtable, modifier, entry) -            if metafamily ~= nil then -                add_family (metafamily, subtable, modifier, entry) -            end +            --- registering the metafamilies is unreliable within the +            --- same table as identifiers might interfere with an +            --- unmarked style that lacks a metafamily, e.g. +            --- +            ---         iwona condensed regular -> +            ---                     family:     iwonacond +            ---                     metafamily: iwona +            ---         iwona regular -> +            ---                     family:     iwona +            ---                     metafamily: ø +            --- +            --- Both would be registered as under the same family, +            --- i.e. “iwona”, and depending on the loading order +            --- the query “name:iwona” can resolve to the condensed +            --- version instead of the actual unmarked one. The only +            --- way around this would be to introduce a separate +            --- table for metafamilies and do fallback queries on it. +            --- At the moment this is not pressing enough to justify +            --- further increasing the index size, maybe if need +            --- arises from the user side. +--            if metafamily and metafamily ~= familyname then +--                add_family (metafamily, subtable, modifier, entry) +--            end          end      end  | 
