diff options
Diffstat (limited to 'src/luaotfload-tool.lua')
| -rwxr-xr-x | src/luaotfload-tool.lua | 38 | 
1 files changed, 15 insertions, 23 deletions
| diff --git a/src/luaotfload-tool.lua b/src/luaotfload-tool.lua index fee5980..e7df3ce 100755 --- a/src/luaotfload-tool.lua +++ b/src/luaotfload-tool.lua @@ -2,7 +2,7 @@  -----------------------------------------------------------------------  --         FILE:  luaotfload-tool.lua  --  DESCRIPTION:  database functionality --- REQUIREMENTS:  luaotfload 2.7 +-- REQUIREMENTS:  luaotfload 2.8  --       AUTHOR:  Khaled Hosny, Élie Roux, Philipp Gesang  --      LICENSE:  GPL v2.0  ----------------------------------------------------------------------- @@ -10,7 +10,7 @@  luaotfload                     = luaotfload or { }  local version                  = "2.8"  luaotfload.version             = version -luaotfload.min_luatex_version  = { 0, 95, 0 }   --- i. e. 0.95.0 +luaotfload.min_luatex_version  = { 0, 95, 0 }  luaotfload.self                = "luaotfload-tool"  --[[doc-- @@ -64,8 +64,9 @@ do          actual         = { major, minor, revno or 0 }      end -    if actual [1] < minimum [1] or actual [2] < minimum [2] -    or actual [3] < minimum [3] +    if actual [1] < minimum [1] +    or actual == minimum and actual [2] < minimum [2] +    or actual == minimum and actual [2] == minimum [2] and actual [3] < minimum [3]      then          texio.write_nl ("term and log",                          string.format ("\tFATAL ERROR\n\z @@ -152,20 +153,8 @@ require "fontloader-font-cff"  require "fontloader-font-ttf"  require "fontloader-font-dsp"  require "fontloader-font-oup" -require "fontloader-font-otl" -require "fontloader-font-oto" -------- "fontloader-font-otj" -------- "fontloader-font-ota" -------- "fontloader-font-ots" -------- "fontloader-font-osd"  require "fontloader-font-onr" -require "fontloader-font-one" -require "fontloader-font-afk" -require "fontloader-font-tfm" -require "fontloader-font-lua"  require "fontloader-font-def" -require "fontloader-fonts-ext" -------- "fontloader-font-gbn"  fonts = fonts or { }  local fontsnames = fonts.names or { } @@ -192,7 +181,7 @@ end  require "alt_getopt" -loadmodule "log.lua"       --- this populates the luaotfload.log.* namespace +loadmodule "log"           --- this populates the luaotfload.log.* namespace  loadmodule "parsers"       --- fonts.conf, configuration, and request syntax  loadmodule "configuration" --- configuration file handling  loadmodule "database" @@ -666,7 +655,7 @@ subfont_by_name = function (lst, askedname, n)          if fonts.names.sanitize_fontname (font.fullname) == askedname then              return font          end -        return subfont_by_name (lst, askedname, n) +        return subfont_by_name (lst, askedname, n + 1)      end      return false  end @@ -679,7 +668,7 @@ The font info knows two levels of detail:          returned by readers.loadfont().  --doc]]-- -local show_font_info = function (basename, askedname, detail) +local show_font_info = function (basename, askedname, detail, subfont)      local filenames = fonts.names.data().files      local index     = filenames.base[basename]      local fullname  = filenames.full[index] @@ -689,7 +678,7 @@ local show_font_info = function (basename, askedname, detail)      end      if fullname then          local shortinfo = fonts.handlers.otf.readers.getinfo (fullname, { -                            subfont        = nil, +                            subfont        = subfont,                              platformnames  = true,                              rawfamilynames = true,                          }) @@ -712,7 +701,8 @@ local show_font_info = function (basename, askedname, detail)                             [[%s is a font collection]], basename)                  for subfont = 1, nfonts do                      logreport (true, 1, "resolve", -                               [[Showing info for font no. %d]], n) +                               [[Showing info for font no. %d]], +                               subfont)                      show_info_items(shortinfo[subfont])                      if detail == true then                          show_full_info(fullname, subfont) @@ -1184,7 +1174,8 @@ actions.query = function (job)              needle = tmpspec.resolved or tmpspec.name          end      elseif tmpspec.lookup == "file" then -        needle = tmpspec.name +        needle  = tmpspec.name +        subfont = tmpspec.sub      end      if needle then @@ -1202,7 +1193,8 @@ actions.query = function (job)                         "Resolved file name %q", foundname)          end          if job.show_info then -            show_font_info (foundname, query, job.full_info) +            logreport (false, 3, "resolve", "Dump extra info.") +            show_font_info (foundname, query, job.full_info, subfont)              iowrite "\n"          end      else | 
