summaryrefslogtreecommitdiff
path: root/support/tex4ebook/list-fonts.lua
diff options
context:
space:
mode:
Diffstat (limited to 'support/tex4ebook/list-fonts.lua')
-rw-r--r--support/tex4ebook/list-fonts.lua145
1 files changed, 0 insertions, 145 deletions
diff --git a/support/tex4ebook/list-fonts.lua b/support/tex4ebook/list-fonts.lua
deleted file mode 100644
index 9acd1665f6..0000000000
--- a/support/tex4ebook/list-fonts.lua
+++ /dev/null
@@ -1,145 +0,0 @@
-kpse.set_program_name("luatex")
-local function exists(fn)
- local f = io.open(fn,"r")
- if f~=nil then io.close(f) return true else return false end
-end
-local function load_fontbase(pathtable)
- -- path should point to possible location of luaotfload font database
- -- pathtable should be array of strings
- -- each path should not end with lua
-
- local path = pathtable
- if type(pathtable) =="string" then path = {pathtable} end
- if #path == 0 then return nil end
- local currentpath = table.remove(path,1)
- if exists(currentpath ..".lua") then return require(currentpath)
- else return load_fontbase(path) end
-end
-
---local fontbase = require(kpse.expand_var("$TEXMFSYSVAR") .. "/luatex-cache/generic/names/luaotfload-names.lua")
-local sysvar = kpse.expand_var("$TEXMFSYSVAR")
-local var = kpse.expand_var("$TEXMFVAR")
-local namespath = "/luatex-cache/generic/names/"
-local oldnames = "otfl-names"
-local newnames = "luaotfload-names"
-local compose_path = function(path, name) return path .. namespath .. name end
-local fontbase_path = {
- compose_path(sysvar, newnames),
- compose_path(var, newnames),
- compose_path(sysvar, oldnames),
- compose_path(var,oldnames)
-}
-
-local fontbase = load_fontbase(fontbase_path) or {}
-fontbase.mappings = fontbase.mappings or {}
--- assert(fontbase, "Cannot load font names")
-
-
--- [[
--- This is code for querying the database
---
-local search = arg[1] or ""
-search = unicode.utf8.lower(search)
---]]
-local fonts = {}
-for _,record in pairs(fontbase.mappings) do
- local familyname = record.familyname
- local styles = fonts[familyname] or {}
- local sanitized = record.sanitized or record.names
- local subfamily = sanitized.subfamily --record.sanitized.subfamily or record.names.subfamily
- styles[subfamily] = record -- We add subfamily as key to prevent duplicates
- fonts[familyname] = styles
-end
-
-local FontLoader = {}
-
-FontLoader.__index = FontLoader
-
-FontLoader.load_family = function(familyname)
- local self = setmetatable({},FontLoader)
- local family = fonts[familyname]
- --[[ for _, record in pairs(fontbase.mappings) do
- if record.familyname == familyname then
- local style = record.sanitized.subfamily
- family[style] = record
- end
- end
- --]]
- self.family = family
- return self
-end
-FontLoader.get_path =function(self,style)
- local rec = self.family[style]
- local filename = rec.filename
- if type(filename) == "table" then
- filename = filename[1]
- end
- return kpse.find_file(filename,'opentype fonts') or kpse.find_file(filename,'truetype fonts')
-end
-
-
-FontLoader.list = function(self)
- for style,rec in pairs(self.family) do
- print(style, self:get_path(style))
- end
-end
-
-
-local FontNames = {}
-FontNames.__index = FontNames
-
-FontNames.new = function()
- self = setmetatable({},FontNames)
- self.names = {}
- return self
-end
-
-FontNames.add_family = function(self,properties)
- local properties = properties or {}
- return function(names)
- local names = names or {}
- for _,n in pairs(names) do
- self.names[n] = properties
- end
- end
-end
-
-FontNames.list = function(self)
- for name,prop in pairs(self.names) do
- local p = {}
- for k,v in pairs(prop) do
- table.insert(p,k..'='..v)
- end
- print(name, table.concat(p))
- end
-end
-
---[[
-local fontnames = {}
-for fontname,_ in pairs(fonts) do
- local lowername = unicode.utf8.lower(fontname)
- if lowername:find(search) then
- table.insert(fontnames, fontname)
- end
-end
-
-table.sort(fontnames)
---for fontname, styles in pairs (fonts) do
-for _, name in pairs(fontnames) do
- local fontname = name
- local styles = fonts[fontname]
- local t = {}
- for n,_ in pairs(styles) do table.insert(t,n) end
- print(fontname, table.concat(t,', '))
-end
---]]
-
-local testfont = FontLoader.load_family("math")
---testfont:list()
-
-local n= FontNames.new()
-n:add_family {type = "serif", name = "LMMono10"} {"cmr"}
-n:add_family {type = "serif", name = "TeXGyreTermes"} {"ts1-qtmr", "ec-qtmr","ec-qtmri"}
---n:list()
-
-return {FontLoader = FontLoader, FontNames = n}