diff options
author | Karl Berry <karl@freefriends.org> | 2021-12-12 22:29:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-12-12 22:29:51 +0000 |
commit | 66b9b693db7f4cf04485426bc74dd2e4ae31a1d9 (patch) | |
tree | e5647b45f30860b20f2554764f14aaa0177235a8 /Master/texmf-dist/tex/latex/ctex/engine | |
parent | 44348e1db56f09b2409c6372d5b8f53b0b9f1962 (diff) |
ctex (12dec21)
git-svn-id: svn://tug.org/texlive/trunk@61285 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/engine')
5 files changed, 54 insertions, 66 deletions
diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def index aba9f456e22..874557d73a4 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def @@ -24,10 +24,10 @@ %% %% --------------------------------------------------------------------- %% -\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx fcbe2c0 2021-12-12 18:20:54 +0800 Qing Lee <sobenlee@gmail.com> $ {Asian pTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-aptex.def} - {\ExplFileDate}{2.5.7}{\ExplFileDescription} + {\ExplFileDate}{2.5.8}{\ExplFileDescription} \cs_new_protected:Npn \ctex_set_zhmap:n { \tl_gput_right:Nx \g__ctex_zhmap_tl } \cs_new_protected:Npn \ctex_use_zhmap: diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def index 997f4f93986..1c47572caf8 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def @@ -24,10 +24,10 @@ %% %% --------------------------------------------------------------------- %% -\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx fcbe2c0 2021-12-12 18:20:54 +0800 Qing Lee <sobenlee@gmail.com> $ {LuaLaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-luatex.def} - {\ExplFileDate}{2.5.7}{\ExplFileDescription} + {\ExplFileDate}{2.5.8}{\ExplFileDescription} \msg_new:nnn { ctex } { luatexja-loaded } { Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\ @@ -168,20 +168,30 @@ \char_set_catcode_space:n { 32 } \lua_now:e { - local func = lua.get_functions_table() + ctex = ctex or { } + local ctex = ctex + local functions = lua.get_functions_table() + local new_luafunction = luatexbase.new_luafunction + local create, set_lua = token.create, token.set_lua + local lua_cmds = { + lua_call = true , + lua_expandable_call = true , + } + local newluacmd = function (name, func, ...) + local tok = create(name) + local id = lua_cmds[tok.cmdname] and tok.index + local id = id or new_luafunction(name) + set_lua(name, id, ...) + functions[id] = func + end + ctex.newluacmd = newluacmd local ltjfont = luatexja.jfont local getattribute = tex.getattribute - local set_lua = token.set_lua + local tex_set, sprint = tex.set, tex.sprint local scan_int, scan_arg = token.scan_int, token.scan_argument - local new_luafunction = luatexbase.new_luafunction - local id = new_luafunction("ctex") - func[id] = ltjfont.add_kyenc_list - set_lua("ctex_ltj_add_kyenc:n", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = ltjfont.is_kenc - set_lua("ctex_ltj_is_kenc:n", id, "global") - local id = new_luafunction("ctex") - func[id] = function () + newluacmd("ctex_ltj_add_kyenc:n", ltjfont.add_kyenc_list, "global", "protected") + newluacmd("ctex_ltj_is_kenc:n", ltjfont.is_kenc, "global") + newluacmd("ctex_ltj_patch_external_font:n", function () local s = scan_arg() local is_braced, is_quoted if s:sub(1,1) == '{' and s:sub(-1)=='}' then @@ -194,57 +204,37 @@ if is_braced then s = '{'..s..'}' elseif is_quoted then s = '"'..s..'"' end - tex.sprint(-2, s) - end - set_lua("ctex_ltj_patch_external_font:n", id, "global") - local id = new_luafunction("ctex") - func[id] = function () + sprint(-2, s) + end, "global") + newluacmd("ctex_ltj_use_jfont:", function () font.current(getattribute("ltj@curjfnt")) - end - set_lua("ctex_ltj_use_jfont:", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = function () + end, "global", "protected") + newluacmd("ctex_ltj_set_alt_font:nnnn", function () local b = tonumber(scan_arg()) local e = tonumber(scan_arg()) local alt = scan_arg() local base = scan_arg() ltjfont.set_alt_font_latex(b, e, alt, base) - end - set_lua("ctex_ltj_set_alt_font:nnnn", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = function () + end, "global", "protected") + newluacmd("ctex_ltj_clear_alt_font:n", function () local base = scan_arg() ltjfont.clear_alt_font_latex(base) - end - set_lua("ctex_ltj_clear_alt_font:n", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = function () + end, "global", "protected") + newluacmd("ctex_ltj_pickup_alt_font:nn", function () local base = scan_arg() local size = scan_arg() ltjfont.output_alt_font_cmd("y", base) ltjfont.pickup_alt_font_a(size) - end - set_lua("ctex_ltj_pickup_alt_font:nn", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = function () + end, "global", "protected") + newluacmd("__ctex_ltj_pickup_alt_font:Nn", function () local num = scan_int() local base = scan_arg() ltjfont.pickup_alt_font_b(num, base) - end - set_lua("__ctex_ltj_pickup_alt_font:Nn", id, "global", "protected") - local id = new_luafunction("ctex") - func[id] = \LuaTeXjaversion > 20200412.0 - and ltjfont.does_alt_set - or function () - local base = scan_arg() - ltjfont.does_alt_set(base) - end - set_lua("__ctex_ltj_if_alt_set:nT", id, "global") - local id = new_luafunction("ctex") - func[id] = function () - tex.set("globaldefs", 0) - end - set_lua("ctex_ltj_zero_globaldefs:", id, "global", "protected") + end, "global", "protected") + newluacmd("__ctex_ltj_if_alt_set:nT", ltjfont.does_alt_set, "global") + newluacmd("ctex_ltj_zero_globaldefs:", function () + tex_set("globaldefs", 0) + end, "global", "protected") } \group_end: \cs_new_protected:Npn \ctex_ltj_select_font: @@ -262,7 +252,8 @@ \group_begin: \tl_set_eq:NN \f@encoding \CJK@encoding \tl_set_eq:NN \f@family \CJK@family - \__ctex_ltj_push_fontname:n { \use:c { \curr@fontshape / \f@size } } + \cs_set_eq:NN \pickup@font \ctex_ltj_pickup_font: + \__ctex_ltj_push_fontname:n { \curr@fontshape / \f@size } \ctex_ltj_pickup_font: \group_end: \font@name @@ -273,12 +264,12 @@ \cs_new_protected:Npn \__ctex_ltj_push_fontname:n #1 { \seq_gpush:No \g__ctex_ltj_fontname_seq { \font@name } - \cs_gset_nopar:Npx \font@name {#1} + \tl_gset:Nx \font@name { \exp_not:c {#1} } } \cs_new_protected:Npn \__ctex_ltj_pop_fontname: { \seq_gpop:NNT \g__ctex_ltj_fontname_seq \l__ctex_ltj_tmp_tl - { \cs_gset_eq:NN \font@name \l__ctex_ltj_tmp_tl } + { \tl_gset_eq:NN \font@name \l__ctex_ltj_tmp_tl } } \seq_new:N \g__ctex_ltj_fontname_seq \cs_new_protected:Npn \ctex_ltj_pickup_font: @@ -351,7 +342,7 @@ { \group_begin: \use:e { \exp_not:N \split@name #1 / \f@size } \@nil - \__ctex_ltj_push_fontname:n { \use:c { \curr@fontshape / \f@size } } + \__ctex_ltj_push_fontname:n { \curr@fontshape / \f@size } \ctex_ltj_pickup_font: \group_end: \__ctex_ltj_pop_fontname: @@ -1247,17 +1238,14 @@ local fmt = luatexja.jfont.font_metric_table local getattribute = tex.getattribute local setdimen = tex.setdimen - local func = lua.get_functions_table() - local id = luatexbase.new_luafunction("ctex") - func[id] = function () + ctex.newluacmd("ctex_update_kanjisize:", function () local ft = fmt[getattribute("ltj@curjfnt")] or nulltable local ft = ft and ft.char_type or nulltable local fk = ft and ft[0] or nulltable setdimen("cht", fk.height or 0) setdimen("cdp", fk.depth or 0) setdimen("cwd", fk.width or ft.zw or 0) - end - token.set_lua("ctex_update_kanjisize:", id, "global", "protected") + end, "global", "protected") } \group_end: \ctex_add_to_selectfont:n { \ctex_update_kanjisize: } diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def index 3f197ac4d8d..1c5d069f921 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def @@ -24,10 +24,10 @@ %% %% --------------------------------------------------------------------- %% -\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx fcbe2c0 2021-12-12 18:20:54 +0800 Qing Lee <sobenlee@gmail.com> $ {(pdf)LaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-pdftex.def} - {\ExplFileDate}{2.5.7}{\ExplFileDescription} + {\ExplFileDate}{2.5.8}{\ExplFileDescription} \cs_new_protected:Npn \ctex_set_zhmap:n { \tl_gput_right:Nx \g__ctex_zhmap_tl } \cs_new_protected:Npn \ctex_use_zhmap: diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def index 5c5402024d2..a0eaf7e07a9 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def @@ -24,10 +24,10 @@ %% %% --------------------------------------------------------------------- %% -\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx fcbe2c0 2021-12-12 18:20:54 +0800 Qing Lee <sobenlee@gmail.com> $ {upTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-uptex.def} - {\ExplFileDate}{2.5.7}{\ExplFileDescription} + {\ExplFileDate}{2.5.8}{\ExplFileDescription} \cs_new_protected:Npn \ctex_set_zhmap:n { \tl_gput_right:Nx \g__ctex_zhmap_tl } \cs_new_protected:Npn \ctex_use_zhmap: diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def index f8807ceb56f..2d5bec4098b 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def @@ -24,10 +24,10 @@ %% %% --------------------------------------------------------------------- %% -\GetIdInfo$Id: ctex.dtx 6604451 2021-06-20 17:08:49 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: ctex.dtx fcbe2c0 2021-12-12 18:20:54 +0800 Qing Lee <sobenlee@gmail.com> $ {XeLaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-xetex.def} - {\ExplFileDate}{2.5.7}{\ExplFileDescription} + {\ExplFileDate}{2.5.8}{\ExplFileDescription} \RequirePackage { xeCJK } \exp_args:Nx \xeCJKsetup { |