summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-08-07 21:08:29 +0000
committerKarl Berry <karl@freefriends.org>2017-08-07 21:08:29 +0000
commit3789b48e375fa4cf571aba22961afe3feee202ef (patch)
tree7a81f5312e24846127baef0d81bd31b711556f9b /Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def
parent7861a6fb7a7b64db8e54f302f3e5b6eda299e177 (diff)
ctex (7aug17)
git-svn-id: svn://tug.org/texlive/trunk@44974 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def')
-rw-r--r--Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def48
1 files changed, 39 insertions, 9 deletions
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 4e12ae932c8..4bc477718ac 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
@@ -26,10 +26,10 @@
%%
%% ------------------------------------------------------------------------------
%%
-\GetIdInfo$Id: ctex.dtx c498d8c 2017-04-01 21:33:50 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: ctex.dtx e177d82 2017-08-07 16:58:14 +0800 Qing Lee <sobenlee@gmail.com> $
{LuaLaTeX adapter (CTEX)}
\ProvidesExplFile{ctex-engine-luatex.def}
- {\ExplFileDate}{2.4.9}{\ExplFileDescription}
+ {\ExplFileDate}{2.4.10}{\ExplFileDescription}
\msg_new:nnn { ctex } { luatexja-loaded }
{
Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\
@@ -84,9 +84,11 @@
\AtEndUTFCommand { \group_end: }
\cs_set_protected:Npn \fontspec_visible_space:
{
- \font_glyph_if_exist:NnTF \font { "2423 }
- { \ltjalchar "2423 \exp_stop_f: }
- { \fontspec_visible_space_fallback: }
+ \etex_iffontchar:D \tex_font:D "2423 \exp_stop_f:
+ \ltjalchar "2423 \exp_stop_f:
+ \else:
+ \fontspec_visible_space_fallback:
+ \fi:
}
\ctex_at_end_package:nn { listings }
{
@@ -415,7 +417,7 @@
{ \ctex_ltj_switch_family:x {#1} \tex_ignorespaces:D }
\cs_new_protected_nopar:Npn \ctex_ltj_switch_family:n #1
{
- \ctex_ltj_family_if_exist:xNTF {#1} \CJK@family
+ \ctex_ltj_family_if_exist:nNTF {#1} \CJK@family
{
\tl_set:Nn \l_ctex_ltj_family_tl {#1}
\selectfont
@@ -424,9 +426,9 @@
}
\tl_new:N \l_ctex_ltj_family_tl
\cs_generate_variant:Nn \ctex_ltj_switch_family:n { x }
-\prg_new_protected_conditional:Npnn \ctex_ltj_family_if_exist:xN #1#2 { T , F , TF }
+\prg_new_protected_conditional:Npnn \ctex_ltj_family_if_exist:nN #1#2 { T , F , TF }
{
- \prop_get:NxNTF \g__ctex_ltj_family_name_prop {#1} #2
+ \prop_get:NnNTF \g__ctex_ltj_family_name_prop {#1} #2
{ \prg_return_true: }
{
\cs_if_exist_use:cTF { \__ctex_ltj_family_csname:n {#1} }
@@ -437,7 +439,9 @@
{ \prg_return_false: }
}
}
-\cs_generate_variant:Nn \prop_get:NnNTF { Nx }
+\cs_generate_variant:Nn \ctex_ltj_family_if_exist:nNT { x }
+\cs_generate_variant:Nn \ctex_ltj_family_if_exist:nNF { x }
+\cs_generate_variant:Nn \ctex_ltj_family_if_exist:nNTF { x }
\cs_new_protected_nopar:Npn \__ctex_ltj_family_unknown_warning:n #1
{
\prop_if_empty:NF \g__ctex_ltj_family_font_name_prop
@@ -1110,6 +1114,32 @@
\skip_set:Nn \l__ctex_xkanjiskip_skip
{ \ltjgetparameter { xkanjiskip } }
\ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: }
+\dim_new:N \cht
+\dim_new:N \cdp
+\dim_new:N \cwd
+\newluafunction \g__ctex_kanjisize_func
+\group_begin:
+\char_set_catcode_space:n { 32 }
+\lua_now_x:n
+ {
+ local nulltable = { }
+ local t = lua.get_functions_table()
+ local fmt = luatexja.jfont.font_metric_table
+ local getattribute = tex.getattribute
+ local setdimen = tex.setdimen
+ t[\int_use:N \g__ctex_kanjisize_func] = 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
+ }
+\group_end:
+\cs_new_protected_nopar:Npn \ctex_update_kanjisize:
+ { \luatex_luafunction:D \g__ctex_kanjisize_func }
+\ctex_add_to_selectfont:n { \ctex_update_kanjisize: }
\keys_define:nn { ctex }
{
space .code:n =