summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-02 22:24:14 +0000
committerKarl Berry <karl@freefriends.org>2020-05-02 22:24:14 +0000
commit15f0c94913f0d5cb24dd909c5358b3a997994dd7 (patch)
tree9043df32cd0199835f5b3f9804ad132907857139 /Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def
parent151fbc4b66cb3705f6ce20368a2c6f7c06b8d57d (diff)
ctex (2may20)
git-svn-id: svn://tug.org/texlive/trunk@54976 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def')
-rw-r--r--Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def189
1 files changed, 84 insertions, 105 deletions
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 0ef4edfae63..7f24ee2da25 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
@@ -6,9 +6,9 @@
%%
%% ctex.dtx (with options: `uptex')
%%
-%% Copyright (C) 2003--2019
+%% Copyright (C) 2003--2020
%% CTEX.ORG and any individual authors listed in the documentation.
-%% ------------------------------------------------------------------------------
+%% ---------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -20,57 +20,42 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
-%% This work has the LPPL maintenance status `maintained'.
+%% This work has the LPPL maintenance status "maintained".
%%
-%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang.
+%% ---------------------------------------------------------------------
%%
-%% ------------------------------------------------------------------------------
-%%
-\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee <sobenlee@gmail.com> $
{upTeX adapter (CTEX)}
\ProvidesExplFile{ctex-engine-uptex.def}
- {\ExplFileDate}{2.4.16}{\ExplFileDescription}
-\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1
- {
- \AtBeginDvi {#1}
- \ctex_at_end_package:nn { atbegshi }
- { \AtBeginShipoutFirst {#1} }
- }
+ {\ExplFileDate}{2.5.1}{\ExplFileDescription}
+\cs_new_protected:Npn \ctex_set_zhmap:n
+ { \tl_gput_right:Nx \g__ctex_zhmap_tl }
+\cs_new_protected:Npn \ctex_use_zhmap:
+ { \tl_use:N \g__ctex_zhmap_tl }
+\cs_new_protected:Npn \ctex_add_dvi_zhmap:
+ { \AtBeginDvi { \ctex_use_zhmap: } }
+\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: }
+\ctex_at_end_package:nn { atbegshi }
+ {
+ \AtBeginShipoutFirst { \ctex_use_zhmap: }
+ \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing:
+ }
+\tl_new:N \g__ctex_zhmap_tl
\@onlypreamble \ctex_set_zhmap:n
-\tl_set:Nn \CJKrmdefault { zhrm }
-\tl_set:Nn \CJKsfdefault { zhsf }
-\tl_set:Nn \CJKttdefault { zhtt }
-\tl_set:Nn \CJKfamilydefault { \CJKrmdefault }
+\tl_if_exist:NF \CJKfamilydefault
+ { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } }
+\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } }
+\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } }
+\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } }
\tl_set:Nn \kanjifamilydefault { \CJKfamilydefault }
-\RenewDocumentCommand \rmfamily { }
- {
- \not@math@alphabet \rmfamily \mathrm
- \romanfamily \rmdefault
- \kanjifamily \CJKrmdefault
- \selectfont
- }
-\RenewDocumentCommand \sffamily { }
- {
- \not@math@alphabet \sffamily \mathsf
- \romanfamily \sfdefault
- \kanjifamily \CJKsfdefault
- \selectfont
- }
-\RenewDocumentCommand \ttfamily { }
- {
- \not@math@alphabet \ttfamily \mathtt
- \romanfamily \ttdefault
- \kanjifamily \CJKttdefault
- \selectfont
- }
+\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } }
+\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } }
+\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } }
\NewDocumentCommand \CJKfamily { m }
- {
- \kanjifamily {#1}
- \selectfont
- }
-\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10}
-\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n}
-\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n}
+ { \kanjifamily {#1} \selectfont }
+\DeclareErrorKanjiFont {JY2}{zhrm}{m}{n}{10}
+\DeclareKanjiSubstitution {JY2}{zhrm}{m}{n}
+\DeclareKanjiSubstitution {JT2}{zhrm}{m}{n}
\DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n}
\SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n}
\jfam \symmincho
@@ -87,43 +72,59 @@
{ \eminnershape \else \itshape }
}
\cs_set_nopar:Npn \eminnershape { \upshape }
-\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3
+\cs_new_protected:Npn \ctex_set_upfamily:nnn #1#2#3
{
\DeclareKanjiFamily{JY2}{#1}{}
\DeclareKanjiFamily{JT2}{#1}{}
\DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{}
\DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{}
- \tl_if_empty:nF { #3 }
+ \tl_if_empty:nF {#3}
{
+ \DeclareFontShape{JY2}{#1}{b}{n}{<->~ #3-h}{}
+ \DeclareFontShape{JT2}{#1}{b}{n}{<->~ #3-v}{}
\DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{}
\DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{}
}
}
-\@onlypreamble \ctex_set_upfamily:nnn
-\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3
+\cs_new_protected:Npn \ctex_set_upmap:nnn #1#2#3
{
\ctex_set_zhmap:n
{
- \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 }
- \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 }
- \tl_if_empty:nF { #3 }
+ \special { pdf:mapline~#1-h~UniGB-UTF16-H~#2 }
+ \special { pdf:mapline~#1-v~UniGB-UTF16-V~#2 }
+ \tl_if_empty:nF {#3}
{
- \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 }
- \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 }
+ \special { pdf:mapline~#1b-h~UniGB-UTF16-H~#3 }
+ \special { pdf:mapline~#1b-v~UniGB-UTF16-V~#3 }
}
}
}
-\@onlypreamble \ctex_set_upmap:nnn
-\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6
+\cs_new_protected:Npn \ctex_set_upmap_unicode:nnn #1#2#3
+ {
+ \ctex_set_zhmap:n
+ {
+ \special { pdf:mapline~#1-h~unicode~#2 }
+ \special { pdf:mapline~#1-v~unicode~#2 }
+ \tl_if_empty:nF {#3}
+ {
+ \special { pdf:mapline~#1b-h~unicode~#3 }
+ \special { pdf:mapline~#1b-v~unicode~#3 }
+ }
+ }
+ }
+\cs_new_protected:Npn \ctex_set_upfonts:nnnnnn #1#2#3#4#5#6
{
- \ctex_set_upmap:nnn { upserif } { #1 } { #2 }
- \ctex_set_upmap:nnn { upserifit } { #3 } {}
- \ctex_set_upmap:nnn { upsans } { #4 } { #5 }
- \ctex_set_upmap:nnn { upmono } { #6 } {}
+ \ctex_set_upmap:nnn { upserif } {#1} {#2}
+ \ctex_set_upmap:nnn { upserifit } {#3} {}
+ \ctex_set_upmap:nnn { upsans } {#4} {#5}
+ \ctex_set_upmap:nnn { upmono } {#6} {}
}
+\@onlypreamble \ctex_set_upfamily:nnn
+\@onlypreamble \ctex_set_upmap:nnn
+\@onlypreamble \ctex_set_upmap_unicode:nnn
\@onlypreamble \ctex_set_upfonts:nnnnnn
\RequirePackage { pxeverysel }
-\cs_new_protected_nopar:Npn \ctex_update_default_family:
+\cs_new_protected:Npn \ctex_update_default_family:
{
\tl_if_eq:NNT \CJKfamilydefault \l__ctex_family_default_init_tl
{
@@ -150,44 +151,13 @@
{ \exp_not:o { \CJKfamilydefault } }
}
\tl_gset_eq:NN \CJKfamilydefault \l__ctex_family_default_init_tl
-\cs_new_protected_nopar:Npn \ctex_detected_platform:
- {
- \file_if_exist:nTF { /dev/null }
- {
- \file_if_exist:nTF { nul: }
- {
- \file_if_exist:nTF { \c__ctex_upper_case_file_str }
- { \ctex_if_macosx:TF { mac } { windows } }
- { \ctex_if_macosx:TF { mac } { fandol } }
- }
- { \ctex_if_macosx:TF { mac } { fandol } }
- }
- { \tl_gset:Nn \g__ctex_fontset_tl { windows } }
- }
-\str_const:Nx \c__ctex_upper_case_file_str
- { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } }
-\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2
- {
- \file_if_exist:nTF { \c__ctex_macosx_file_str }
- { \tl_gset:Nn \g__ctex_fontset_tl {#1} }
- { \tl_gset:Nn \g__ctex_fontset_tl {#2} }
- }
-\str_const:Nn \c__ctex_macosx_file_str { /Library/Fonts/Songti.ttc }
\ctex_hypersetup:n { driverfallback = dvipdfmx }
\ctex_at_end_package:nn { hyperref }
- { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } }
-\msg_new:nnn { ctex } { fntef-not-available }
- { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ upLaTeX. }
-\msg_warning:nn { ctex } { fntef-not-available }
-\clist_map_inline:nn
- { underdot , underline , underdblline , underwave , sout , xout }
- { \cs_new_eq:cN { CTEX#1 } \use:n }
-\cs_new_eq:NN \CTEXfilltwosides \use_none:n
-\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing:
-\cs_new_protected_nopar:Npn \ctex_update_ccwd:
+ { \AtBeginShipoutFirst { \special { pdf:tounicode~UTF8-UTF16 } } }
+\cs_new_protected:Npn \ctex_update_ccwd:
{ \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } }
\dim_new:N \ccwd
-\cs_new_protected_nopar:Npn \ctex_update_ccglue:
+\cs_new_protected:Npn \ctex_update_ccglue:
{ \skip_set_eq:NN \tex_kanjiskip:D \l__ctex_ccglue_skip }
\skip_new:N \l__ctex_ccglue_skip
\prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF }
@@ -195,11 +165,11 @@
\skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \tex_kanjiskip:D }
{ \prg_return_false: } { \prg_return_true: }
}
-\cs_new_protected_nopar:Npn \ctex_update_em_unit:
+\cs_new_protected:Npn \ctex_update_em_unit:
{ \dim_set:Nn \ccwd { 1zw } }
\cs_new_protected:Npn \ctex_add_to_selectfont:n #1
{
- \cs_set_protected_nopar:Npx \CTEX@selectfont@hook
+ \cs_set_protected:Npx \CTEX@selectfont@hook
{ \exp_not:o { \CTEX@selectfont@hook #1 } }
}
\cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing:
@@ -209,10 +179,20 @@
{
\tl_set:Nn \l__ctex_tmp_tl {#1}
\cs_new_eq:NN \CTEX@selectfont@save #1
- \cs_new_protected_nopar:Npn \__ctex_restore_selectfont:
+ \cs_new_protected:Npn \__ctex_restore_selectfont:
{
+ \cs_if_free:NF \scr@new@selectfont
+ {
+ \cs_if_free:NF \par@update
+ {
+ \tl_put_right:Nn \@EverySelectfont@Init
+ { \tl_put_right:Nn #1 { \par@update } }
+ }
+ \cs_set_eq:NN \scr@new@selectfont #1
+ \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont
+ }
\tl_put_left:Nn \@EverySelectfont@Init
- { \let #1 \CTEX@selectfont@save }
+ { \cs_set_eq:NN #1 \CTEX@selectfont@save }
\cs_undefine:N \__ctex_restore_selectfont:
}
}
@@ -226,7 +206,7 @@
{ \ctex_patch_failure:N \selectfont }
\fi:
\EverySelectfont { \CTEX@selectfont@hook }
-\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip:
+\cs_new_protected:Npn \ctex_update_xkanjiskip:
{
\skip_if_eq:nnT
{ \tex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip }
@@ -242,21 +222,20 @@
\skip_set:Nn \l__ctex_xkanjiskip_skip
{ \tex_xkanjiskip:D }
\ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: }
-\keys_define:nn { ctex }
+\ctex_define:n
{
space .code:n =
{ \msg_warning:nn { ctex } { invalid-option } }
}
-\keys_define:nn { ctex }
+\ctex_define:n
{
punct .code:n =
{
- \tl_set:Nx \l__ctex_punct_tl { #1 }
+ \tl_set:Nx \l__ctex_punct_tl {#1}
\msg_warning:nn { ctex } { invalid-option }
} ,
punct .default:n = { quanjiao } ,
}
-\tl_set:Nn \l__ctex_encoding_tl { UTF8 }
%%
%%
%% End of file `ctex-engine-uptex.def'.