diff options
Diffstat (limited to 'Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua')
-rwxr-xr-x | Master/texmf-dist/source/ptex-fontmaps/tools/mkmap-sc.lua | 150 |
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 |