diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua index cf32261805d..2b5b2e58758 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-rmlgbm.lua @@ -5,12 +5,12 @@ luatexja.load_module('base'); local ltjb = luatexja.base local cidfont_data = {} local cache_chars = {} -local cache_ver = 7 +local cache_ver = 8 local identifiers = fonts.hashes.identifiers local cid_reg, cid_order, cid_supp, cid_name local cid_replace = { - ["Adobe-Japan1"] = {"UniJIS2004-UTF32", 23057, 6, + ["Adobe-Japan1"] = {"UniJIS2004-UTF32", 23059, 7, function (i) if (231<=i and i<=632) or (8718<=i and i<=8719) or (12063<=i and i<=12087) then @@ -35,12 +35,22 @@ local cid_replace = { return 327680 -- 655360/2 end end}, - ["Adobe-CNS1"] = {"UniCNS-UTF32", 19155, 6, + ["Adobe-CNS1"] = {"UniCNS-UTF32", 19178, 7, function (i) if (13648<=i and i<=13742) or (i==17603) then return 327680 -- 655360/2 end end}, + ["Adobe-KR"] = {"UniAKR-UTF32", 22896, 9, + function (i) + if i==3057 then + return 655360*2 + elseif i==3058 then + return 655360*3 + elseif i==12235 or i==12236 then + return 163840 -- 655360/4 + end + end}, } -- reading CID maps @@ -88,18 +98,21 @@ do end local function open_cmap_file(name, inc, cid_dec, mke) - fh = io.open(kpse.find_file(name, 'cmap files'), "r") - line = fh:read("*l") - while line do - if string.find(line, "%x+%s+begin...?char") then - load_cid_char(cid_dec, mke) - elseif string.find(line, "%x+%s+begin...?range") then - load_cid_range(inc, cid_dec, mke) - else - line = fh:read("*l") + local fn = kpse.find_file(name, 'cmap files') + if fn then + local fh = io.open(fn, "r") + line = fh:read("*l") + while line do + if string.find(line, "%x+%s+begin...?char") then + load_cid_char(cid_dec, mke) + elseif string.find(line, "%x+%s+begin...?range") then + load_cid_range(inc, cid_dec, mke) + else + line = fh:read("*l") + end end + fh:close(); end - fh:close(); end local function increment(a) return a+1 end @@ -352,7 +365,7 @@ local function font_callback(name, size, id, fallback) if name:sub(1,1)=="{" and name:sub(-1)=="}" then name = name:sub(2,-2) end local p = name:find(":") or 0 if name:sub(1, p-1) == 'psft' then - local s = "Adobe-Japan1-6" + local s = "Adobe-Japan1-7" local basename = name:sub(p+1) local p = basename:find(":") local q = basename:find("/[BI][BI]?") |