From 2c3ed275186c5db671434968f4ef93cc08fb6318 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 8 Jul 2019 21:27:59 +0000 Subject: luatexja (8jul19) git-svn-id: svn://tug.org/texlive/trunk@51584 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/luatex/luatexja/tool/function_uax50.lua | 2 +- .../source/luatex/luatexja/tool/ivslist.tex | 49 ++++++---------------- 2 files changed, 14 insertions(+), 37 deletions(-) (limited to 'Master/texmf-dist/source/luatex') diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/function_uax50.lua b/Master/texmf-dist/source/luatex/luatexja/tool/function_uax50.lua index 90d16f8ccc6..d345284535b 100644 --- a/Master/texmf-dist/source/luatex/luatexja/tool/function_uax50.lua +++ b/Master/texmf-dist/source/luatex/luatexja/tool/function_uax50.lua @@ -3,7 +3,7 @@ dofile(kpse.find_file('lualibs.lua')) local function toX(a) return string.format('0x%X',a) end -local uax_revision = '10.0.0' +local uax_revision = '12.1.0' print(' -- UAX#50 for Unicode ' .. uax_revision) local fh = io.open('VerticalOrientation-' .. uax_revision .. '.txt') local t = {} diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/ivslist.tex b/Master/texmf-dist/source/luatex/luatexja/tool/ivslist.tex index 3788bf27191..0e0a7124615 100644 --- a/Master/texmf-dist/source/luatex/luatexja/tool/ivslist.tex +++ b/Master/texmf-dist/source/luatex/luatexja/tool/ivslist.tex @@ -29,52 +29,29 @@ \baselineskip18pt \begin{luacode} -local fl = fontloader.open(ident.filename) -local ft = fontloader.to_table(fl) - +local t = ident.shared.rawdata +t = t and t.resources +t = t and t.variants local ivs, ivsi = {}, {} -local uniq_flag -local function add_ivs_table(tg) - for gu, gv in pairs(tg) do - local ga = gv.altuni - if ga then - for _,at in pairs(ga) do - local bu, vs = at.unicode, (at.variant or 0)-0xE0100 - if vs>=0 and vs<0xF0 then - if not ivs[bu] then ivs[bu] = {}; ivsi[1+#ivsi]=bu end - uniq_flag = true - for _,v in pairs(ivs[bu]) do - if v[1]==vs then uniq_flag = false; break end - end - if uniq_flag then ivs[bu][1+#(ivs[bu])] = { vs, gv.name } end - end - end - end - end -end - -add_ivs_table(ft.glyphs) -if ft.subfonts then - for _,v in pairs(ft.subfonts) do - add_ivs_table(v.glyphs) - end +for i,v in pairs(t) do + if i>=0xE0100 then + for j,w in pairs(v) do + if not ivs[j] then table.insert(ivsi,j); ivs[j]=ivs[j] or {}; end + table.insert(ivs[j],{i-0xE0100,w}) + end + end end -fontloader.close(fl) - -local unicodes = ident.resources.unicodes local sort = table.sort local sortfn = function (a,b) return a[1]