summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def
diff options
context:
space:
mode:
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.def76
1 files changed, 70 insertions, 6 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 75208abd224..5d0e587c18d 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 4819efe 2020-05-16 21:20:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: ctex.dtx 76d4e94 2020-06-06 23:22:18 +0800 Qing Lee <sobenlee@gmail.com> $
{LuaLaTeX adapter (CTEX)}
\ProvidesExplFile{ctex-engine-luatex.def}
- {\ExplFileDate}{2.5.2}{\ExplFileDescription}
+ {\ExplFileDate}{2.5.3}{\ExplFileDescription}
\msg_new:nnn { ctex } { luatexja-loaded }
{
Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\
@@ -62,7 +62,7 @@
"A960-"A97F, "AC00-"D7FF}
\ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7}
\ltjdefcharrange{9}{%
- "2018, "2019, "201C, "201D, "2013, "2014, "2025, "2026, "2027, "2E3A}
+ "00B7, "2018, "2019, "201C, "201D, "2013, "2014, "2025, "2026, "2027, "2E3A}
\ltjsetparameter{jacharrange={-1, -2, -3, -4, -5, +6, +7, -8, +9}}
\directlua{for x=128,255 do luatexja.math.is_math_letters[x] = true end}
\directlua{
@@ -76,9 +76,8 @@
jcharwidowpenalty=500, differentjfm=paverage
}
\ExplSyntaxOn
-\RequirePackage { xunicode-addon }
-\AtBeginUTFCommand { \CTEX@beginallalchar }
-\AtEndUTFCommand { \CTEX@endallalchar }
+\cs_new_protected:Npn \CTEX@alchar #1
+ { \CTEX@beginallalchar #1 \CTEX@endallalchar }
\cs_new_protected:Npn \CTEX@beginallalchar
{
\group_begin:
@@ -87,6 +86,71 @@
}
\cs_new_protected:Npn \CTEX@endallalchar
{ \group_end: }
+\cs_new_protected:Npn \CTEX@chardef@text@cmd #1
+ {
+ \cs_set_eq:NN \@ifdefinable \@@ifdefinable
+ \tl_set:Nn \l__ctex_ltj_cmd_tl {#1}
+ \tex_afterassignment:D \__ctex_ltj_chardef_text_cmd:
+ \tex_chardef:D #1
+ }
+\tl_new:N \l__ctex_ltj_cmd_tl
+\cs_new_protected:Npn \__ctex_ltj_chardef_text_cmd:
+ { \exp_after:wN \__ctex_ltj_chardef_text_cmd_aux:N \l__ctex_ltj_cmd_tl }
+\cs_new_protected:Npn \__ctex_ltj_chardef_text_cmd_aux:N #1
+ {
+ \int_compare:nNnF {#1} < { "80 }
+ { \cs_set_protected:Npx #1 { \CTEX@alchar { \tex_Uchar:D #1 } } }
+ }
+\cs_new_protected:Npn \CTEX@text@composite@x #1#2
+ {
+ \CTEX@beginallalchar
+ \cs_if_exist_use:NF #1 {#2}
+ \CTEX@endallalchar
+ }
+\cs_new_protected:Npx \CTEX@add@unicode@accent #1#2
+ {
+ \CTEX@beginallalchar
+ \exp_not:N \tl_if_blank:nTF {#2} { \tex_Uchar:D "A0 ~ } {#2}
+ \exp_not:N \tex_Uchar:D \tex_numexpr:D #1 \scan_stop:
+ \CTEX@endallalchar
+ }
+\cs_new_protected:Npn \CTEX@patch@text@cmd #1
+ {
+ \exp_args:NNc \__ctex_ltj_patch_text_cmd:NN #1
+ { \UnicodeEncodingName \token_to_str:N #1 }
+ }
+\cs_new_protected:Npn \__ctex_ltj_patch_text_cmd:NN #1#2
+ {
+ \cs_set_eq:NN \CTEX@textcmd #2
+ \ctex_preto_cmd:NnnTF \CTEX@textcmd
+ { \ExplSyntaxOff \makeatletter }
+ { \CTEX@beginallalchar }
+ {
+ \ctex_appto_cmd:NnnTF \CTEX@textcmd
+ { \ExplSyntaxOff \makeatletter }
+ { \CTEX@endallalchar }
+ { \cs_set_eq:NN #2 \CTEX@textcmd }
+ { \ctex_patch_failure:N #1 }
+ }
+ { \ctex_patch_failure:N #1 }
+ }
+\cs_new_protected:Npn \CTEX@patch@tunec
+ {
+ \cs_set_eq:NN \chardef@text@cmd \CTEX@chardef@text@cmd
+ \ctex_file_input:n { tuenc.def }
+ \cs_set_eq:NN \@text@composite@x \CTEX@text@composite@x
+ \cs_set_eq:NN \add@unicode@accent \CTEX@add@unicode@accent
+ \CTEX@patch@text@cmd \textasteriskcentered
+ }
+\@ifpackageloaded { xunicode }
+ { }
+ { \CTEX@patch@tunec }
+\ctex_at_end_package:nn { xunicode }
+ {
+ \RequirePackage { xunicode-addon }
+ \AtBeginUTFCommand { \CTEX@beginallalchar }
+ \AtEndUTFCommand { \CTEX@endallalchar }
+ }
\ctex_at_end_package:nn { listings }
{ \RequirePackage { lltjp-listings } }
\group_begin: