diff options
| author | Khaled Hosny <khaledhosny@eglug.org> | 2011-10-04 01:40:52 +0200 | 
|---|---|---|
| committer | Khaled Hosny <khaledhosny@eglug.org> | 2011-10-04 01:41:00 +0200 | 
| commit | d924d8b463f4f177a0e767f7eb80c443ce55582d (patch) | |
| tree | 8aaaaee5e96a179d5155f3ced51df9ab364f6f36 | |
| parent | 560adec29f2a0619545984f274220757b3e4ebb0 (diff) | |
| download | luaotfload-d924d8b463f4f177a0e767f7eb80c443ce55582d.tar.gz | |
Add otfl-fonts-syn.lua for simplicity
It is almost useless for us, we override its main function in in
otfl-font-nms.lua.
| -rw-r--r-- | luaotfload.dtx | 1 | ||||
| -rw-r--r-- | otfl-fonts-syn.lua | 83 | 
2 files changed, 84 insertions, 0 deletions
diff --git a/luaotfload.dtx b/luaotfload.dtx index 5cbabc3..24e82c3 100644 --- a/luaotfload.dtx +++ b/luaotfload.dtx @@ -582,6 +582,7 @@ luaotfload.loadmodule('font-con.lua')  luaotfload.loadmodule('fonts-enc.lua') -- will load font-age on demand  luaotfload.loadmodule('font-cid.lua')  luaotfload.loadmodule('font-map.lua')         -- for loading lum file (will be stripped) +luaotfload.loadmodule('fonts-syn.lua')  luaotfload.loadmodule('font-nms.lua')  luaotfload.loadmodule('fonts-tfm.lua')  luaotfload.loadmodule('font-oti.lua') diff --git a/otfl-fonts-syn.lua b/otfl-fonts-syn.lua new file mode 100644 index 0000000..36a74d0 --- /dev/null +++ b/otfl-fonts-syn.lua @@ -0,0 +1,83 @@ +if not modules then modules = { } end modules ['luatex-fonts-syn'] = { +    version   = 1.001, +    comment   = "companion to luatex-*.tex", +    author    = "Hans Hagen, PRAGMA-ADE, Hasselt NL", +    copyright = "PRAGMA ADE / ConTeXt Development Team", +    license   = "see context related readme files" +} + +if context then +    texio.write_nl("fatal error: this module is not for context") +    os.exit() +end + +-- Generic font names support. +-- +-- Watch out, the version number is the same as the one used in +-- the mtx-fonts.lua function scripts.fonts.names as we use a +-- simplified font database in the plain solution and by using +-- a different number we're less dependent on context. +-- +-- mtxrun --script font --reload --simple +-- +-- The format of the file is as follows: +-- +-- return { +--     ["version"]  = 1.001, +--     ["mappings"] = { +--         ["somettcfontone"] = { "Some TTC Font One", "SomeFontA.ttc", 1 }, +--         ["somettcfonttwo"] = { "Some TTC Font Two", "SomeFontA.ttc", 2 }, +--         ["somettffont"]    = { "Some TTF Font",     "SomeFontB.ttf"    }, +--         ["someotffont"]    = { "Some OTF Font",     "SomeFontC.otf"    }, +--     }, +-- } + +local fonts = fonts +fonts.names = fonts.names or { } + +fonts.names.version    = 1.001 -- not the same as in context +fonts.names.basename   = "luatex-fonts-names.lua" +fonts.names.new_to_old = { } +fonts.names.old_to_new = { } + +local data, loaded = nil, false + +local fileformats = { "lua", "tex", "other text files" } + +function fonts.names.resolve(name,sub) +    if not loaded then +        local basename = fonts.names.basename +        if basename and basename ~= "" then +            for i=1,#fileformats do +                local format = fileformats[i] +                local foundname = resolvers.findfile(basename,format) or "" +                if foundname ~= "" then +                    data = dofile(foundname) +                    texio.write("<font database loaded: ",foundname,">") +                    break +                end +            end +        end +        loaded = true +    end +    if type(data) == "table" and data.version == fonts.names.version then +        local condensed = string.gsub(string.lower(name),"[^%a%d]","") +        local found = data.mappings and data.mappings[condensed] +        if found then +            local fontname, filename, subfont = found[1], found[2], found[3] +            if subfont then +                return filename, fontname +            else +                return filename, false +            end +        else +            return name, false -- fallback to filename +        end +    end +end + +fonts.names.resolvespec = fonts.names.resolve -- only supported in mkiv + +function fonts.names.getfilename(askedname,suffix)  -- only supported in mkiv +    return "" +end  | 
