diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2010-01-19 13:19:49 +0200 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2010-01-19 13:26:25 +0200 |
commit | 762cbf30d44d19b780275eeb54dc15fd2d1f7fee (patch) | |
tree | cf0c3d5506686ce852ae914f47e50f6e9a37cf64 | |
parent | aa5432bf7c1f4e6fd3381e9a76d6f258231cd1ae (diff) | |
download | luaotfload-762cbf30d44d19b780275eeb54dc15fd2d1f7fee.tar.gz |
Allow arbitrary font styles
If the font option isn't a known option, we assume it is a font style
and pass it as is, this allows for definitions like:
\font\dejavuextralight={DejaVu Sans/Extralight:+liga} at 10pt
-rw-r--r-- | otfl-font-dum.lua | 14 | ||||
-rw-r--r-- | otfl-font-xtx.lua | 2 |
2 files changed, 10 insertions, 6 deletions
diff --git a/otfl-font-dum.lua b/otfl-font-dum.lua index 0859f6d..d1d1b0a 100644 --- a/otfl-font-dum.lua +++ b/otfl-font-dum.lua @@ -77,12 +77,14 @@ function fonts.names.resolve(name,sub,style) local psname = psnames and psnames[condensed] if family then local style = style or "regular" - family = family[style] - local fontname, filename, subfont = family, family[1], family[2] - if subfont then - return filename, subfont - else - return filename, false + local found = family[style] + if found then + local fontname, filename, subfont = found, found[1], found[2] + if subfont then + return filename, subfont + else + return filename, false + end end elseif psname then local fontname, filename, subfont = psname, psname[1], psname[2] diff --git a/otfl-font-xtx.lua b/otfl-font-xtx.lua index b285d0b..502163c 100644 --- a/otfl-font-xtx.lua +++ b/otfl-font-xtx.lua @@ -74,6 +74,8 @@ local function isstyle(s) elseif v:find("^s=") then list.optsize = v:split("=")[2] elseif v == "aat" or v == "icu" then + else + list.style = v:gsub("[^%a%d]", "") end end end |