diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/zitie/zitie.xetex.def')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/zitie/zitie.xetex.def | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/zitie/zitie.xetex.def b/Master/texmf-dist/tex/xelatex/zitie/zitie.xetex.def new file mode 100644 index 00000000000..fcb7dfa69b0 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/zitie/zitie.xetex.def @@ -0,0 +1,52 @@ +\RequirePackage { xeCJK } +\bool_lazy_and:nnT { \sys_if_platform_windows_p: } + { \tl_if_eq_p:NN \CJK@family \c_empty_tl } + { \setCJKmainfont {SimSun} } +\cs_new:Npn \zitie_stroke_chars:nn #1#2 % operator, chars + { \special { pdf:code ~ q ~ #1 } #2 \special { pdf:code ~ Q } } +\cs_new:Npn \zitiestrokechars { \zitie_stroke_chars:nn } + +\cs_set_eq:NN \__zitie_check_num_range:nnNN \__xeCJK_check_num_range:nnNN +\cs_set_eq:NN \__zitie_int_until_do:nn \xeCJK_int_until_do:nn +\cs_set_eq:NN \zitierawCJKfamily \CJKfamily +\prg_set_eq_conditional:NNn \zitie_family_if_exist:n \xeCJK_family_if_exist:n { T, F, TF } +\prg_set_eq_conditional:NNn \zitie_glyph_if_exist:N \xeCJK_glyph_if_exist:N { p, T, F, TF } +\cs_new_nopar:Npn \__zitie_font_select:nN #1 + { + \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #1 } + { \zitierawCJKfamily+ { \c_zitie_font_name_prefix_tl #1 } } + { \zitierawCJKfamily+ {#1} } + } +\NewDocumentCommand \zitieCJKfamily { t+ t- m } + { + \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #3 } + { \xeCJK_family:NNx #1 #2 { \c_zitie_font_name_prefix_tl #3 } } + { \xeCJK_family:NNx #1 #2 {#3} } + \tex_ignorespaces:D + } +\cs_new:Npn \__zitie_new_font_family:nnn #1#2#3 % family name, font name, feature + { \__xeCJK_pass_args:nnnn { \xeCJK_set_family:nnn { \c_zitie_font_name_prefix_tl #1 } } {#3} {#2} { } } +\cs_new:Npn \__zitie_new_font_family_validate:nnn #1#2#3 + { + \zitie_font_if_exist:nTF {#2} { \__zitie_new_font_family:nnn {#1} {#2} {#3} } + { \msg_warning:nnn { zitie } { font-exist } {#2} } + } +\cs_new:Npn \zitie_token_class_dispatch:Nnnnn #1 + { + \if_case:w \xeCJK_token_value_class:N #1 \exp_stop_f: + \exp_after:wN \use_none:nnn % other + \or: \exp_after:wN \use_i:nnnn % CJK + \or: \exp_after:wN \use_ii:nnnn % FullLeft + \or: \exp_after:wN \use_iii:nnnn % FullRight + \else: \exp_after:wN \use_none:nnn % other + \fi: + } +\prg_new_conditional:Npnn \zitie_token_if_punctuation:N #1 { p, T, F, TF } + { + \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } > 1 + { + \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } < 6 + { \prg_return_true: } { \prg_return_false: } + } + { \prg_return_false: } + }
\ No newline at end of file |