diff options
Diffstat (limited to 'luaotfload-legacy-tool.lua')
-rwxr-xr-x | luaotfload-legacy-tool.lua | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/luaotfload-legacy-tool.lua b/luaotfload-legacy-tool.lua new file mode 100755 index 0000000..30ab13b --- /dev/null +++ b/luaotfload-legacy-tool.lua @@ -0,0 +1,105 @@ +#!/usr/bin/env texlua +--[[ +This file is copyright 2010 Elie Roux and Khaled Hosny and is under CC0 +license (see http://creativecommons.org/publicdomain/zero/1.0/legalcode). + +This file is a wrapper for the luaotfload's font names module. It is part of the +luaotfload bundle, please see the luaotfload documentation for more info. +--]] + +kpse.set_program_name("luatex") + +require("lualibs") ---> current +require("luaotfload-legacy-database") ---> old +require("alt_getopt") ---> ? + +local name = "mkluatexfontdb" +local version = "1.31 (legacy)" + +local names = fonts.names + +local function help_msg() + texio.write(string.format([[ +Usage: %s [OPTION]... + +================================================================================ + please update your luatex binary + this version is unsupported and likely to break things +================================================================================ + +Rebuild the LuaTeX font database. + +Valid options: + -f --force force re-indexing all fonts + -q --quiet don't output anything + -v --verbose=LEVEL be more verbose (print the searched directories) + -vv print the loaded fonts + -vvv print all steps of directory searching + -V --version print version and exit + -h --help print this message + +The output database file is named otfl-names.lua and is placed under: + + %s + +contact: https://github.com/lualatex/luaotfload + +]], name, names.path.localdir)) +end + +local function version_msg() + texio.write(string.format( + "%s version %s, database version %s.\n", name, version, names.version)) +end + +--[[ +Command-line processing. +Here we fill cmdargs with the good values, and then analyze it. +--]] + +local long_opts = { + force = "f", + quiet = "q", + help = "h", + verbose = 1 , + version = "V", +} + +local short_opts = "fqpvVh" + +local force_reload = nil + +local function process_cmdline() + local opts, optind, optarg = alt_getopt.get_ordered_opts (arg, short_opts, long_opts) + local log_level = 1 + for i,v in ipairs(opts) do + if v == "q" then + log_level = 0 + elseif v == "v" then + if log_level > 0 then + log_level = log_level + 1 + else + log_level = 2 + end + elseif v == "V" then + version_msg() + os.exit(0) + elseif v == "h" then + help_msg() + os.exit(0) + elseif v == "f" then + force_reload = 1 + end + end + names.set_log_level(log_level) +end + +local function generate(force) + local fontnames, saved + fontnames = names.update(fontnames, force) + logs.report("%s fonts in the database", #fontnames.mappings) + saved = names.save(fontnames) +end + +process_cmdline() +generate(force_reload) |