summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorReinhard Kotucha <reinhard.kotucha@web.de>2015-05-07 21:50:05 +0000
committerReinhard Kotucha <reinhard.kotucha@web.de>2015-05-07 21:50:05 +0000
commit1497bc0e358dd9d1d44f27d65991179dc05ea55e (patch)
tree3fa5878302182d7b3486064b52387ec9d68e558e /Master
parentc7cdcc353bff5813a3854fb7e74a571bdf4da367 (diff)
install-xpdf-data: new file
git-svn-id: svn://tug.org/texlive/trunk@37260 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/texmf-dist/doc/support/wintools/install-xpdf-data179
1 files changed, 179 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/support/wintools/install-xpdf-data b/Master/texmf-dist/doc/support/wintools/install-xpdf-data
new file mode 100755
index 00000000000..c71fcb32bde
--- /dev/null
+++ b/Master/texmf-dist/doc/support/wintools/install-xpdf-data
@@ -0,0 +1,179 @@
+#!/usr/bin/env texlua
+--*-Lua-*-
+-- $Id$
+
+-- Copyright (C) 2015 Reinhard Kotucha.
+-- You may freely use, modify and/or distribute this file.
+
+kpse.set_program_name('texlua')
+
+
+local function qquote (s)
+ -- doublequote string
+ return '"'..s..'"'
+end
+
+
+local function action (s)
+ -- print message and return string with padding
+ local msg=s..' ...'
+ local done='[done]'
+ io.write(msg)
+ local padding=string.rep(' ', 77-string.len(msg)-string.len(done))
+ return string.format('%s%s', padding, done)
+end
+
+
+local function get_path (envvar)
+ -- get environment variable
+ local path=os.getenv(envvar)
+ if not path then
+ error('Environment Variable '..envvar..' not set.')
+ end
+ -- we can't use backslashes in the config file
+ path=path:gsub('\\', '/')
+ -- remove trailing slash if present
+ if path:match('/$') then path=path:gsub('/$', '') end
+ --check path
+ if not lfs.isdir(path) then
+ error('Path '..qquote(path)..' doesn\'t esist.')
+ end
+ return path
+end
+
+
+local function find_datafile (file)
+ -- locate data file
+ local format='TeX system documentation'
+ local datafile=kpse.find_file(file, format)
+ -- check
+ if not datafile then
+ error('File '..file..' not found. Did you run mktexlsr?')
+ end
+ return datafile
+end
+
+
+local function install_data (source, targetdir)
+ -- create target directory and extract zip file
+ if not lfs.isdir (targetdir) then
+ assert(lfs.mkdir(targetdir),
+ "Can't create directory "..targetdir..': Permission denied.')
+ end
+ -- os.execute() doesn't quote arguments automatically
+ local cmd='unzip -q -o -d "'..targetdir..'" "'..source..'"'
+ local retval=os.execute(cmd)
+ if retval ~= 0 then
+ error('unzip.exe returned error code '..retval..'.')
+ end
+end
+
+
+local function write_xpdfrc (FILE, datadir, xpdfrc_raw)
+ local xpdfrc=xpdfrc_raw:explode('\n')
+ for _,line in ipairs (xpdfrc) do
+ line=line:gsub('%s+', ' ')
+ line=line:gsub('@XPDF%-DATA%-DIR@', datadir)
+ FILE:write(line..'\n')
+ end
+end
+
+
+local xpdfrc=[===[
+# xpdfrc (for xpdf utilities)
+#
+# This file was created by install-xpdf-data. Don't edit
+#
+#----- begin Arabic support package (2011-sep-02)
+unicodeMap ISO-8859-6 @XPDF-DATA-DIR@/arabic/ISO-8859-6.unicodeMap
+#----- end Arabic support package
+#----- begin Chinese Simplified support package (2011-sep-02)
+cidToUnicode Adobe-GB1 @XPDF-DATA-DIR@/chinese-simplified/Adobe-GB1.cidToUnicode
+unicodeMap ISO-2022-CN @XPDF-DATA-DIR@/chinese-simplified/ISO-2022-CN.unicodeMap
+unicodeMap EUC-CN @XPDF-DATA-DIR@/chinese-simplified/EUC-CN.unicodeMap
+unicodeMap GBK @XPDF-DATA-DIR@/chinese-simplified/GBK.unicodeMap
+cMapDir Adobe-GB1 @XPDF-DATA-DIR@/chinese-simplified/CMap
+toUnicodeDir @XPDF-DATA-DIR@/chinese-simplified/CMap
+#fontFileCC Adobe-GB1 c:/windows/fonts/gkai00mp.ttf
+#----- end Chinese Simplified support package
+#----- begin Chinese Traditional support package (2011-sep-02)
+cidToUnicode Adobe-CNS1 @XPDF-DATA-DIR@/chinese-traditional/Adobe-CNS1.cidToUnicode
+unicodeMap Big5 @XPDF-DATA-DIR@/chinese-traditional/Big5.unicodeMap
+unicodeMap Big5ascii @XPDF-DATA-DIR@/chinese-traditional/Big5ascii.unicodeMap
+cMapDir Adobe-CNS1 @XPDF-DATA-DIR@/chinese-traditional/CMap
+toUnicodeDir @XPDF-DATA-DIR@/chinese-traditional/CMap
+#fontFileCC Adobe-CNS1 c:/windows/fonts/bkai00mp.ttf
+#----- end Chinese Traditional support package
+#----- begin Cyrillic support package (2011-aug-15)
+nameToUnicode @XPDF-DATA-DIR@/cyrillic/Bulgarian.nameToUnicode
+unicodeMap KOI8-R @XPDF-DATA-DIR@/cyrillic/KOI8-R.unicodeMap
+#----- end Cyrillic support package
+#----- begin Greek support package (2011-aug-15)
+nameToUnicode @XPDF-DATA-DIR@/greek/Greek.nameToUnicode
+unicodeMap ISO-8859-7 @XPDF-DATA-DIR@/greek/ISO-8859-7.unicodeMap
+#----- end Greek support package
+#----- begin Hebrew support package (2011-aug-15)
+unicodeMap ISO-8859-8 @XPDF-DATA-DIR@/hebrew/ISO-8859-8.unicodeMap
+unicodeMap Windows-1255 @XPDF-DATA-DIR@/hebrew/Windows-1255.unicodeMap
+#----- end Hebrew support package
+#----- begin Japanese support package (2011-sep-02)
+cidToUnicode Adobe-Japan1 @XPDF-DATA-DIR@/japanese/Adobe-Japan1.cidToUnicode
+unicodeMap ISO-2022-JP @XPDF-DATA-DIR@/japanese/ISO-2022-JP.unicodeMap
+unicodeMap EUC-JP @XPDF-DATA-DIR@/japanese/EUC-JP.unicodeMap
+unicodeMap Shift-JIS @XPDF-DATA-DIR@/japanese/Shift-JIS.unicodeMap
+cMapDir Adobe-Japan1 @XPDF-DATA-DIR@/japanese/CMap
+toUnicodeDir @XPDF-DATA-DIR@/japanese/CMap
+#fontFileCC Adobe-Japan1 c:/windows/fonts/msmincho.ttf
+#----- end Japanese support package
+#----- begin Korean support package (2011-sep-02)
+cidToUnicode Adobe-Korea1 @XPDF-DATA-DIR@/korean/Adobe-Korea1.cidToUnicode
+unicodeMap ISO-2022-KR @XPDF-DATA-DIR@/korean/ISO-2022-KR.unicodeMap
+cMapDir Adobe-Korea1 @XPDF-DATA-DIR@/korean/CMap
+toUnicodeDir @XPDF-DATA-DIR@/korean/CMap
+#fontFileCC Adobe-Korea1 c:/windows/fonts/batang.ttf
+#fontFileCC Unidocs-Korea1 c:/windows/fonts/batang.ttf
+#----- end Korean support package
+#----- begin Latin2 support package (2011-aug-15)
+unicodeMap Latin2 @XPDF-DATA-DIR@/latin2/Latin2.unicodeMap
+#----- end Latin2 support package
+#----- begin Thai support package (2011-aug-15)
+nameToUnicode @XPDF-DATA-DIR@/thai/Thai.nameToUnicode
+unicodeMap TIS-620 @XPDF-DATA-DIR@/thai/TIS-620.unicodeMap
+#----- end Thai support package
+#----- begin Turkish support package (2011-aug-15)
+unicodeMap ISO-8859-9 @XPDF-DATA-DIR@/turkish/ISO-8859-9.unicodeMap
+#----- end Turkish support package
+]===]
+
+-- main --
+
+local datafile=find_datafile('xpdfutil-supp.zip')
+local xpdf_datadir=get_path('APPDATA')..'/xpdfutil'
+local xpdf_config =get_path('USERPROFILE')..'/xpdfrc'
+
+print('Source: '..qquote(datafile))
+print('Directory for Data Files: '..qquote(xpdf_datadir))
+print('Config File: '..qquote(xpdf_config))
+print()
+
+local done=action('Extracting Data Files')
+install_data(datafile, xpdf_datadir)
+print(done)
+
+local done=action('Installing Config File')
+local CONF=assert(io.open(xpdf_config, 'wb'),
+ "Can't open file "..qquote(xpdf_config))
+write_xpdfrc(CONF, xpdf_datadir, xpdfrc)
+io.close(CONF)
+print(done)
+
+print('Done.')
+
+
+-- Local Variables:
+-- lua-indent-level: 2
+-- tab-width: 2
+-- indent-tabs-mode: nil
+-- End:
+-- vim:set tabstop=2 expandtab: #
+