/usr/share/texlive/texmf-dist/scripts/luaotfload/mkluatexfontdb.lua is in texlive-luatex 2012.20120611-5.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | #!/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")
require("otfl-font-nms")
require("alt_getopt")
local name = 'mkluatexfontdb'
local version = '1.07' -- same version number as luaotfload
local names = fonts.names
local function help_msg()
texio.write(string.format([[
Usage: %s [OPTION]...
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-fonts.lua and is placed under:
%s"
]], 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)
|