summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/texlive/linked_scripts/Makefile.am1
-rw-r--r--Build/source/texk/texlive/linked_scripts/Makefile.in1
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/luaotfload/mkluatexfontdb.lua181
l---------Master/bin/alpha-linux/mkluatexfontdb1
l---------Master/bin/amd64-freebsd/mkluatexfontdb1
l---------Master/bin/amd64-kfreebsd/mkluatexfontdb1
l---------Master/bin/i386-cygwin/mkluatexfontdb1
l---------Master/bin/i386-freebsd/mkluatexfontdb1
l---------Master/bin/i386-kfreebsd/mkluatexfontdb1
l---------Master/bin/i386-linux/mkluatexfontdb1
l---------Master/bin/i386-netbsd/mkluatexfontdb1
l---------Master/bin/i386-solaris/mkluatexfontdb1
l---------Master/bin/mips-irix/mkluatexfontdb1
l---------Master/bin/powerpc-aix/mkluatexfontdb1
l---------Master/bin/powerpc-linux/mkluatexfontdb1
l---------Master/bin/sparc-linux/mkluatexfontdb1
l---------Master/bin/sparc-solaris/mkluatexfontdb1
l---------Master/bin/universal-darwin/mkluatexfontdb1
-rwxr-xr-xMaster/bin/win32/mkluatexfontdb.exebin0 -> 1536 bytes
l---------Master/bin/x86_64-darwin/mkluatexfontdb1
l---------Master/bin/x86_64-linux/mkluatexfontdb1
l---------Master/bin/x86_64-solaris/mkluatexfontdb1
22 files changed, 201 insertions, 0 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am
index 518fa019e07..2d11b346a00 100644
--- a/Build/source/texk/texlive/linked_scripts/Makefile.am
+++ b/Build/source/texk/texlive/linked_scripts/Makefile.am
@@ -62,6 +62,7 @@ nobase_dist_script_SCRIPTS = \
latexdiff/latexdiff-vc.pl \
latexdiff/latexrevise.pl \
latexmk/latexmk.pl \
+ luaotfload/mkluatexfontdb.lua \
listings-ext/listings-ext.sh \
mkjobtexmf/mkjobtexmf.pl \
mkgrkindex/mkgrkindex \
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in
index dbdd5630800..b3d014e2e55 100644
--- a/Build/source/texk/texlive/linked_scripts/Makefile.in
+++ b/Build/source/texk/texlive/linked_scripts/Makefile.in
@@ -211,6 +211,7 @@ nobase_dist_script_SCRIPTS = \
latexdiff/latexdiff-vc.pl \
latexdiff/latexrevise.pl \
latexmk/latexmk.pl \
+ luaotfload/mkluatexfontdb.lua \
listings-ext/listings-ext.sh \
mkjobtexmf/mkjobtexmf.pl \
mkgrkindex/mkgrkindex \
diff --git a/Build/source/texk/texlive/linked_scripts/luaotfload/mkluatexfontdb.lua b/Build/source/texk/texlive/linked_scripts/luaotfload/mkluatexfontdb.lua
new file mode 100755
index 00000000000..5eac9ae06af
--- /dev/null
+++ b/Build/source/texk/texlive/linked_scripts/luaotfload/mkluatexfontdb.lua
@@ -0,0 +1,181 @@
+#!/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
+
+-- the directory in which the database will be saved, can be overwritten
+local output_directory = names.path.localdir
+
+local log = logs.report
+
+local function help_msg()
+ texio.write(string.format([[
+Usage: %s [OPTION]...
+
+Rebuild the LuaTeX font database.
+
+Valid options:
+ -d --database-dir=DIRECTORY install the database in the specified directory
+ -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
+ --fc-cache run fc-cache before updating database
+ --sys install the database system-wide
+ (default is only for the current user)
+ -V --version print version and exit
+ -h --help print this message
+
+Fonts are found on Windows or Linux with fontconfig (i.e., using fc-list).
+
+On Mac OS X, only fonts located in the following standard font locations are
+included in the font database:
+ ~/Library/Fonts /Library/Fonts
+ /System/Library/Fonts /Network/Library/Fonts
+In particular, fonts installed in other locations with "Font Book" will not
+be available.
+
+Rather than using fontconfig or, in Mac OS X, searching the default font
+locations, you may specify where fonts are located by setting the OSFONTDIR
+environment variable. Doing so will override the use of fontconfig or
+scanning the system font locations. If you wish to continue to include them
+while also including other font locations, simply include them in the list.
+For example (using a bash shell),
+
+ export OSFONTDIR='/path/to/other/fonts:/Users/will/Library/Fonts:...'
+
+The output database file is named otfl-fonts.lua. By default it is placed
+in $TEXMFVAR/luatex/generic/luaotfload/names.
+]], name))
+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 = {
+ ['database-dir'] = "d",
+ force = "f",
+ quiet = "q",
+ help = "h",
+ ['fc-cache'] = 0 ,
+ sys = 0 ,
+ verbose = 1 ,
+ version = "V",
+}
+
+local short_opts = "d:fqpvVh"
+
+local function do_run_fc_cache(c)
+ --[[
+ Function running fc-cache if needed.
+ The argument is nil for default, 0 for no fc-cache and 1 for fc-cache.
+ Default behaviour is to run fc-cache if available.
+ --]]
+ if c == 0 then return end
+ if not c then
+ -- TODO: detect if fc-cache is available
+ end
+ local toexec = 'fc-cache'
+ if os.type == 'windows' then
+ toexec = 'fc-cache.exe' -- TODO: to test on a non-cygwin Windows
+ end
+ log('executing %s...\n', toexec)
+ os.execute(toexec)
+end
+
+-- a temporary variable, containing the command line option concerning fc-cache
+local run_fc_cache = 0
+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 == "d" then
+ output_directory = optarg [i]
+ elseif v == "f" then
+ force_reload = 1
+ elseif v == "fc-cache" then
+ run_fc_cache = 1
+ elseif v == "sys" then
+ output_directory = names.path.systemdir
+ end
+ end
+ if string.match(arg[0], '-sys') then
+ output_directory = names.path.systemdir
+ end
+ output_directory = fonts.path_normalize(output_directory)
+ names.set_log_level(log_level)
+end
+
+process_cmdline()
+do_run_fc_cache(run_fc_cache)
+
+local function generate(force)
+ log("generating font names database.")
+ local savepath = output_directory
+ if not lfs.isdir(savepath) then
+ log("creating directory %s", savepath)
+ dir.mkdirs(savepath)
+ if not lfs.isdir(savepath) then
+ texio.write_nl(string.format("Error: cannot create directory '%s', exiting.\n", savepath))
+ os.exit(1)
+ end
+ end
+ savepath = savepath .. '/' .. names.path.basename
+ local fh = io.open(savepath, 'a+')
+ if not fh then
+ texio.write_nl(string.format("Error: cannot write file '%s', exiting.\n", savepath))
+ os.exit(1)
+ end
+ fh:close()
+ local fontnames
+ if not force_reload and file.isreadable(savepath) then
+ fontnames = dofile(savepath)
+ else
+ fontnames = nil
+ end
+ fontnames = names.update(fontnames, force)
+ log("%s fonts in the database", #fontnames.mappings)
+ io.savedata(savepath, table.serialize(fontnames, true))
+ log("saved font names database in %s\n", savepath)
+end
+
+generate(force_reload)
diff --git a/Master/bin/alpha-linux/mkluatexfontdb b/Master/bin/alpha-linux/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/alpha-linux/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/amd64-freebsd/mkluatexfontdb b/Master/bin/amd64-freebsd/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/amd64-freebsd/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/amd64-kfreebsd/mkluatexfontdb b/Master/bin/amd64-kfreebsd/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/amd64-kfreebsd/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-cygwin/mkluatexfontdb b/Master/bin/i386-cygwin/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-cygwin/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-freebsd/mkluatexfontdb b/Master/bin/i386-freebsd/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-freebsd/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-kfreebsd/mkluatexfontdb b/Master/bin/i386-kfreebsd/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-kfreebsd/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-linux/mkluatexfontdb b/Master/bin/i386-linux/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-linux/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-netbsd/mkluatexfontdb b/Master/bin/i386-netbsd/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-netbsd/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/i386-solaris/mkluatexfontdb b/Master/bin/i386-solaris/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/i386-solaris/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/mips-irix/mkluatexfontdb b/Master/bin/mips-irix/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/mips-irix/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/mkluatexfontdb b/Master/bin/powerpc-aix/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/powerpc-aix/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/powerpc-linux/mkluatexfontdb b/Master/bin/powerpc-linux/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/powerpc-linux/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/sparc-linux/mkluatexfontdb b/Master/bin/sparc-linux/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/sparc-linux/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/mkluatexfontdb b/Master/bin/sparc-solaris/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/sparc-solaris/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/universal-darwin/mkluatexfontdb b/Master/bin/universal-darwin/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/universal-darwin/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/win32/mkluatexfontdb.exe b/Master/bin/win32/mkluatexfontdb.exe
new file mode 100755
index 00000000000..5777d90a17a
--- /dev/null
+++ b/Master/bin/win32/mkluatexfontdb.exe
Binary files differ
diff --git a/Master/bin/x86_64-darwin/mkluatexfontdb b/Master/bin/x86_64-darwin/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/x86_64-darwin/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-linux/mkluatexfontdb b/Master/bin/x86_64-linux/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/x86_64-linux/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file
diff --git a/Master/bin/x86_64-solaris/mkluatexfontdb b/Master/bin/x86_64-solaris/mkluatexfontdb
new file mode 120000
index 00000000000..b88abe80837
--- /dev/null
+++ b/Master/bin/x86_64-solaris/mkluatexfontdb
@@ -0,0 +1 @@
+../../texmf-dist/scripts/luaotfload/mkluatexfontdb.lua \ No newline at end of file