summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua')
-rwxr-xr-xMaster/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua150
1 files changed, 0 insertions, 150 deletions
diff --git a/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua b/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua
deleted file mode 100755
index 7a4190c5553..00000000000
--- a/Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua
+++ /dev/null
@@ -1,150 +0,0 @@
-#! /usr/bin/env texlua
-
--- '?' は 'Pro' 等に置換される(今のところ sc では不使用)
-local foundry = {
- ['noEmbed'] = {
- mr='!STSong-Light',
- gr='!STHeiti-Regular',
- {'n'},
- },
- ['adobe'] = {
- noncid = false,
- mr='AdobeSongStd-Light.otf',
- gr='AdobeHeitiStd-Regular.otf',
- {''},
- },
- ['arphic'] = { -- gr がサンセリフになっていない
- noncid = true,
- mr='gbsn00lp.ttf %!PS BousungEG-Light-GB',
- gr='gkai00mp.ttf %!PS GBZenKai-Medium',
- {''},
- },
- ['cjkunifonts'] = { -- gr がサンセリフになっていない
- noncid = true,
- mr=':0:uming.ttc %!PS UMingCN',
- gr=':0:ukai.ttc %!PS UKaiCN',
- {''},
- },
- ['cjkunifonts-ttf'] = { -- gr がサンセリフになっていない
- noncid = true,
- mr='uming.ttf %!PS ShanHeiSun-Uni', -- (-Adobe-GB1)
- gr='ukai.ttf %!PS ZenKai-Uni', -- (-Adobe-GB1)
- {''},
- },
- ['fandol'] = {
- noncid = false,
- mr='FandolSong-Regular.otf',
- gr='FandolHei-Regular.otf',
- {''},
- },
- ['founder'] = {
- noncid = true,
- mr='FZSSK.TTF %!PS FZSSK--GBK1-0',
- gr='FZHTK.TTF %!PS FZHTK--GBK1-0',
- {''},
- },
- ['ms'] = {
- noncid = true,
- mr=':0:simsun.ttc %!PS SimSun',
- gr='simhei.ttf %!PS SimHei',
- {''},
- },
--- ['sinotype'] = { -- Adobe-GB1 cmap unavailable
--- noncid = true,
--- mr='STSong.ttf',
--- gr='STHeiti.ttf',
--- {''},
--- },
-}
-
-local suffix = {
- -- { '?' 置換, scEmbed 接尾辞, (ttc index mov)}
- [''] = {'', ''}, -- 非 CID フォント用ダミー
- ['n'] = {'!', ''}, -- 非埋め込みに使用
- ['4'] = {'Pro', ''},
- ['6'] = {'Pr6', '-pr6'},
-}
-
--- '#' は 'h', 'v' に置換される
--- '@' は scEmbed の値に置換される
-local maps = {
- ['uptex-sc-@'] = {
- {'upstsl-#', 'UniGB-UTF16-#', 'mr'},
- {'upstht-#', 'UniGB-UTF16-#', 'gr'},
- },
- ['otf-sc-@'] = {
- '% CID',
- {'otf-ccmr-#', 'Identity-#', 'mr'},
- {'otf-ccgr-#', 'Identity-#', 'gr'},
- '% Unicode',
- {'otf-ucmr-#', 'UniGB-UCS2-#', 'mr'},
- {'otf-ucgr-#', 'UniGB-UCS2-#', 'gr'},
- },
-}
-
-local jis2004_flag = 'n'
-local gsub = string.gsub
-
-function string.explode(s, sep)
- local t = {}
- sep = sep or '\n'
- string.gsub(s, "([^"..sep.."]*)"..sep, function(c) t[#t+1]=c end)
- return t
-end
-
-local function ret_suffix(fd, s, fa)
- return suffix[s][1]
-end
-
-local function replace_index(line, s)
- local ttc_mov = suffix[s][3]
- if ttc_mov then
- local ttc_index, ttc_dir = line:match('#(%d)(.)')
- if tonumber(ttc_index) then
- return line:gsub('#..', ':' .. tostring(tonumber(ttc_index)+tonumber(ttc_dir .. ttc_mov)) .. ':')
- end
- end
- return line
-end
-
-local function make_one_line(o, fd, s)
- if type(o) == 'string' then
- return '\n' .. o .. '\n'
- else
- local fx = foundry[fd]
- local fn = replace_index(gsub(fx[o[3]], '?', ret_suffix(fd,s,o[3])), s)
- if fx.noncid and string.match(o[2],'Identity') then
- if string.match(fn, '%!PS') then
- fn = gsub(fn, ' %%!PS', '/AG14 %%!PS')
- else
- fn = fn .. '/AG14'
- end
- end
- if string.match(o[1], '#') then -- 'H', 'V' 一括出力
- return gsub(o[1], '#', 'h') .. '\t' .. gsub(o[2], '#', 'H') .. '\t' .. fn .. '\n'
- .. gsub(o[1], '#', 'v') .. '\t' .. gsub(o[2], '#', 'V') .. '\t' .. fn .. '\n'
- else
- return o[1] .. '\t' .. o[2] .. '\t' .. fn .. '\n'
- end
- end
-end
-
-for fd, v1 in pairs(foundry) do
- for _,s in pairs(v1[1]) do
- local dirname = fd .. suffix[s][2]
- print('scEmbed: ' .. dirname)
- -- Linux しか想定していない
- os.execute('mkdir ' .. dirname .. ' &>/dev/null')
- for mnx, mcont in pairs(maps) do
- --if not string.match(mnx, '-04') or string.match(s, jis2004_flag) then
- if not string.match(mnx, '-04') or not foundry[fd].noncid then
- local mapbase = gsub(mnx, '@', dirname)
- local f = io.open(dirname .. '/' .. mapbase .. '.map', 'w+')
- for _,x in ipairs(mcont) do
- f:write(make_one_line(x, fd, s))
- end
- f:close()
- end
- end
- end
-end