#!/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)