diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty b/Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty index f9de62c3e1e..fb2aa7d7d61 100644 --- a/Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty +++ b/Master/texmf-dist/tex/latex/xpinyin/xpinyin.sty @@ -6,7 +6,7 @@ %% %% xpinyin.dtx (with options: `package') %% -%% Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> +%% Copyright (C) 2012-2020 by Qing Lee <sobenlee@gmail.com> %% -------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the @@ -19,7 +19,7 @@ %% 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 Maintainer of this work is Qing Lee. %% @@ -27,10 +27,10 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xpinyin.dtx 81bb941 2019-04-07 23:27:58 +0800 Qing Lee <sobenlee@gmail.com> $ +\GetIdInfo$Id: xpinyin.dtx 789567a 2020-05-01 21:10:07 +0800 Qing Lee <sobenlee@gmail.com> $ {Automatically add pinyin to Chinese characters} \ProvidesExplPackage{\ExplFileName} - {\ExplFileDate}{2.7}{\ExplFileDescription} + {\ExplFileDate}{2.8}{\ExplFileDescription} \msg_new:nnn { xpinyin } { l3-too-old } { Support~package~'expl3'~too~old. \\\\ @@ -80,19 +80,19 @@ { ǚ } = { \v { \" u } } , { ǜ } = { \@tabacckludge` { \" u } } } -\cs_new_protected_nopar:Npn \__xpinyin_UTF_char:nn #1#2 +\cs_new_protected:Npn \__xpinyin_UTF_char:nn #1#2 { \cs_if_exist:cF { u8:#1 } { \tl_const:cn { u8:#1 } {#2} } } -\cs_new_protected_nopar:Npn \__xpinyin_GBK_char:nn #1#2 +\cs_new_protected:Npn \__xpinyin_GBK_char:nn #1#2 { \__xpinyin_UTF_char:nn {#1} {#2} \exp_args:Nx \__xpinyin_GBK_char_aux:nn { \tl_head:n {#1} } {#1} } -\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_aux:nn #1#2 +\cs_new_protected:Npn \__xpinyin_GBK_char_aux:nn #1#2 { \exp_args:Nf \__xpinyin_GBK_char_aux:nnn { \int_eval:n { `#1 } } {#1} {#2} } -\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_aux:nnn #1#2#3 +\cs_new_protected:Npn \__xpinyin_GBK_char_aux:nnn #1#2#3 { \cs_if_exist:cF { __xpinyin_UTF_ #1 :w } { @@ -112,15 +112,15 @@ \char_set_catcode_active:n {#1} } } -\cs_new_protected_nopar:Npn \__xpinyin_GBK_char_def:nnn #1#2#3 +\cs_new_protected:Npn \__xpinyin_GBK_char_def:nnn #1#2#3 { - \cs_new_protected_nopar:cpn { __xpinyin_UTF_ #2 :w } #1 + \cs_new_protected:cpn { __xpinyin_UTF_ #2 :w } #1 { \use:c { u8: \tl_to_str:n { #3#1 } } } } \tl_new:N \c__xpinyin_reset_UTF_catcode_tl \group_begin: \char_set_catcode_active:n { 126 } -\cs_new_protected_nopar:Npn \__xpinyin_save_UTF_cs:Nn #1#2 +\cs_new_protected:Npn \__xpinyin_save_UTF_cs:Nn #1#2 { \group_begin: \char_set_lccode:nn { 126 } {#2} @@ -176,7 +176,7 @@ \hbox_set:Nn \l__xpinyin_tmpa_box {#2} #1 = \box_wd:N \l__xpinyin_tmpa_box } -\cs_new_protected_nopar:Npn \__xpinyin_make_pinyin_box:nnn #1#2#3 +\cs_new_protected:Npn \__xpinyin_make_pinyin_box:nnn #1#2#3 { \__xpinyin_leavevmode: \hbox_overlap_right:n @@ -216,9 +216,9 @@ { \cs_set_eq:NN \CJK@plane \tex_undefined:D } } \cs_generate_variant:Nn \__xpinyin_make_pinyin_box:nnn { x } -\cs_new_protected_nopar:Npn \__xpinyin_CJKsymbol:n #1 +\cs_new_protected:Npn \__xpinyin_CJKsymbol:n #1 { \__xpinyin_CJKsymbol:xn { \__xpinyin_to_unicode:n {#1} } {#1} } -\cs_new_protected_nopar:Npn \__xpinyin_CJKsymbol:nn #1#2 +\cs_new_protected:Npn \__xpinyin_CJKsymbol:nn #1#2 { \__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } } \__xpinyin_save_CJKsymbol:n {#2} @@ -250,7 +250,7 @@ } } \bool_new:N \l__xpinyin_enable_bool -\cs_new_protected_nopar:Npn \__xpinyin_CJKglue: +\cs_new_protected:Npn \__xpinyin_CJKglue: { \skip_horizontal:n { \l__xpinyin_hsep_tl } } \NewDocumentCommand \enablepinyin { } { @@ -277,7 +277,7 @@ \bool_set_false:N \l__xpinyin_enable_bool } } -\cs_new_protected_nopar:Npn \__xpinyin_restore_footnote: +\cs_new_protected:Npn \__xpinyin_restore_footnote: { \bool_if:NF \l__xpinyin_footnote_bool { \tl_put_left:Nn \@parboxrestore { \l__xpinyin_restore_footnote_tl } } @@ -289,32 +289,32 @@ { \disablepinyin } } \dim_new:N \l__xpinyin_CJKglue_dim -\cs_new_protected_nopar:Npn \__xpinyin_single_aux:nn #1#2 +\cs_new_protected:Npn \__xpinyin_single_aux:nn #1#2 { \__xpinyin_replace_CJKsymbol_single:n {#2} #1 \group_end: } -\cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_single_aux:n #1 +\cs_new_protected:Npn \__xpinyin_replace_CJKsymbol_single_aux:n #1 { \bool_if:NF \l__xpinyin_enable_bool { \__xpinyin_replace_CJKsymbol: } - \cs_set_protected_nopar:Npn \CJKsymbol ##1 + \cs_set_protected:Npn \CJKsymbol ##1 { \__xpinyin_single_CJKsymbol:nn {##1} {#1} } } -\cs_new_protected_nopar:Npn \__xpinyin_single_CJKsymbol:nn #1#2 +\cs_new_protected:Npn \__xpinyin_single_CJKsymbol:nn #1#2 { \__xpinyin_make_pinyin_box:xnn { \__xpinyin_to_unicode:n {#1} } {#1} { \__xpinyin_pinyin:n {#2} } \__xpinyin_save_CJKsymbol:n {#1} } -\cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_aux: +\cs_new_protected:Npn \__xpinyin_replace_CJKsymbol_aux: { \cs_set_eq:NN \__xpinyin_save_CJKsymbol:n \CJKsymbol \cs_set_eq:NN \CJKsymbol \__xpinyin_CJKsymbol:n } -\cs_new_protected_nopar:Npn \__xpinyin_restore_CJKsymbol_aux: +\cs_new_protected:Npn \__xpinyin_restore_CJKsymbol_aux: { \cs_set_eq:NN \CJKsymbol \__xpinyin_save_CJKsymbol:n } -\cs_new_protected_nopar:Npn \__xpinyin_select_font_xetex: +\cs_new_protected:Npn \__xpinyin_select_font_xetex: { \cs_if_exist_use:cF { \l__xpinyin_coor_tl } { @@ -327,7 +327,7 @@ } } } -\cs_new_protected_nopar:Npn \__xpinyin_select_font_aux: +\cs_new_protected:Npn \__xpinyin_select_font_aux: { \fontsize { \l__xpinyin_ratio_tl \tex_dimexpr:D \f@size pt \scan_stop: } @@ -336,26 +336,26 @@ \l__xpinyin_font_tl \selectfont } -\cs_new_nopar:Npn \__xpinyin_to_unicode_xetex:n #1 +\cs_new:Npn \__xpinyin_to_unicode_xetex:n #1 { \int_to_arabic:n { `#1 } } -\cs_new_nopar:Npn \__xpinyin_UTF_to_unicode:n #1 +\cs_new:Npn \__xpinyin_UTF_to_unicode:n #1 { \int_to_arabic:n { \exp_args:No \int_from_hex:n { \CJK@plane } * "100 + #1 } } -\cs_new_nopar:Npn \__xpinyin_UTFchar_to_unicode:n #1 +\cs_new:Npn \__xpinyin_UTFchar_to_unicode:n #1 { \int_to_arabic:n { \__xpinyin_UTF_viii_to_unicode:NNNw #1 \q_stop } } -\cs_new_nopar:Npn \__xpinyin_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop +\cs_new:Npn \__xpinyin_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop { \tl_if_empty:nTF {#4} { ( `#1 - "E0 ) * "1000 + ( `#2 - "80 ) * "40 + ( `#3 - "80 ) } { ( `#1 - "F0 ) * "4000 + ( `#2 - "80 ) * "1000 + ( `#3 - "80 ) * "40 + ( `#4 - "80 ) } } -\cs_new_nopar:Npn \__xpinyin_GBK_to_unicode:n #1 - { \int_to_arabic:n { " \CJKtu_sfd_map:nn { \CJK@plane } {#1} } } -\cs_new_nopar:Npn \__xpinyin_GBKchar_to_unicode:n #1 - { \int_to_arabic:n { " \CJKchartouni {#1} } } -\cs_new_protected_nopar:Npn \__xpinyin_adjust_xeCJK_hook: +\cs_new:Npn \__xpinyin_GBK_to_unicode:n + { \CJKtu_sfd_map:nn { \CJK@plane } } +\cs_new:Npn \__xpinyin_GBKchar_to_unicode:n + { \CJKtu_char_to_unicode:n } +\cs_new_protected:Npn \__xpinyin_adjust_xeCJK_hook: { \cs_new_eq:NN \__xpinyin_select_font: \__xpinyin_select_font_xetex: \cs_new_eq:NN \__xpinyin_to_unicode:n \__xpinyin_to_unicode_xetex:n @@ -380,14 +380,14 @@ } } \cs_new_eq:NN \__xpinyin_leavevmode: \prg_do_nothing: - \cs_new_protected_nopar:Npx \__xpinyin_CJKsymbol_hook: + \cs_new_protected:Npx \__xpinyin_CJKsymbol_hook: { \exp_not:N \makexeCJKinactive \cs_if_exist_use:NF \xeCJK_select_font: { \exp_not:N \xeCJK@setfont } } } -\cs_new_protected_nopar:Npn \__xpinyin_adjust_CJK_hook: +\cs_new_protected:Npn \__xpinyin_adjust_CJK_hook: { \bool_if:NTF \g__xpinyin_GBK_bool { @@ -420,15 +420,15 @@ } } } -\cs_new_protected_nopar:Npn \__xpinyin_adjust_CJKpunct_hook: +\cs_new_protected:Npn \__xpinyin_adjust_CJKpunct_hook: { - \cs_new_protected_nopar:Npn \__xpinyin_restore_CJKsymbol: + \cs_new_protected:Npn \__xpinyin_restore_CJKsymbol: { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \__xpinyin_restore_CJKsymbol_aux: } { \cs_set_eq:NN \CJKosymbol \__xpinyin_save_CJKsymbol:n } } - \cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol: + \cs_new_protected:Npn \__xpinyin_replace_CJKsymbol: { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \__xpinyin_replace_CJKsymbol_aux: } @@ -437,14 +437,14 @@ \cs_set_eq:NN \CJKosymbol \__xpinyin_CJKsymbol:n } } - \cs_new_protected_nopar:Npn \__xpinyin_replace_CJKsymbol_single:n ##1 + \cs_new_protected:Npn \__xpinyin_replace_CJKsymbol_single:n ##1 { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \__xpinyin_replace_CJKsymbol_single_aux:n { ##1 } } { \bool_if:NF \l__xpinyin_enable_bool { \cs_set_eq:NN \__xpinyin_save_CJKsymbol:n \CJKosymbol } - \cs_set_protected_nopar:Npn \CJKosymbol ####1 + \cs_set_protected:Npn \CJKosymbol ####1 { \__xpinyin_single_CJKsymbol:nn { ####1 } { ##1 } } } } @@ -460,14 +460,14 @@ \__xpinyin_pinyin:n {#2} \group_end: } -\cs_new_protected_nopar:Npn \__xpinyin_pinyin:n #1 +\cs_new_protected:Npn \__xpinyin_pinyin:n #1 { \__xpinyin_pinyin_init: \bool_set_true:N \l__xpinyin_first_bool \tl_set:Nn \l__xpinyin_save_tl {#1} \__xpinyin_pinyin_aux:n #1 \q_recursion_tail \q_recursion_stop } -\cs_new_protected_nopar:Npn \__xpinyin_pinyin_aux:n #1 +\cs_new_protected:Npn \__xpinyin_pinyin_aux:n #1 { \quark_if_recursion_tail_stop_do:nn {#1} { @@ -498,10 +498,10 @@ } \__xpinyin_pinyin_aux:n } -\cs_new_protected_nopar:Npn \__xpinyin_tone:nn #1#2 +\cs_new_protected:Npn \__xpinyin_tone:nn #1#2 { \use:c { __xpinyin_num_to_tone_ #1 :Nn } {#1} {#2} } \cs_generate_variant:Nn \__xpinyin_tone:nn { V } -\cs_new_nopar:Npn \__xpinyin_replace_v:n #1 +\cs_new:Npn \__xpinyin_replace_v:n #1 { \str_if_eq:nnTF {#1} { v } { @@ -511,7 +511,7 @@ } { \exp_not:n {#1} } } -\cs_new_nopar:Npn \__xpinyin_pinyin_init: +\cs_new:Npn \__xpinyin_pinyin_init: { \tl_clear:N \l__xpinyin_pre_tl \tl_clear:N \l__xpinyin_post_tl \tl_clear:N \l__xpinyin_item_tl \tl_clear:N \l__xpinyin_tone_tl @@ -528,19 +528,19 @@ \tl_const:Nn \c__xpinyin_i_tl { 1 } \tl_const:Nn \c__xpinyin_u_tl { 1 } \tl_const:Nn \c__xpinyin_v_tl { 1 } -\cs_new_protected_nopar:Npn \__xpinyin_num_to_tone:Nn #1#2 +\cs_new_protected:Npn \__xpinyin_num_to_tone:Nn #1#2 { \if_case:w \int_eval:n { #2 - 1 } \exp_stop_f: \= {#1} \or: \'{#1} \or: \v {#1} \or: \` {#1} \else: #1 \fi: } \tl_map_inline:nn { a o e u } { \cs_new_eq:cN { __xpinyin_num_to_tone_ #1 :Nn } \__xpinyin_num_to_tone:Nn } -\cs_new_nopar:Npn \__xpinyin_num_to_tone_i:Nn #1#2 +\cs_new:Npn \__xpinyin_num_to_tone_i:Nn #1#2 { \if_case:w \int_eval:n { #2 - 1 } \exp_stop_f: ī \or: í \or: ǐ \or: ì \else: i \fi: } -\cs_new_protected_nopar:Npn \__xpinyin_num_to_tone_v:Nn #1#2 +\cs_new_protected:Npn \__xpinyin_num_to_tone_v:Nn #1#2 { \str_case:onTF { \l__xpinyin_pre_tl } { { l } { } { n } { } { L } { } { N } { } } @@ -563,10 +563,10 @@ pysep = \c_space_tl , font = \normalfont , } -\cs_new_protected_nopar:Npn \xpinyin_customary:nnn #1#2#3 - { \cs_gset_nopar:cpn { c__xpinyin_ #2 _tl } {#3} } -\cs_new_protected_nopar:Npn \xpinyin_multiple:nnn #1#2#3 - { \cs_gset_nopar:cpn { c__xpinyin_multiple_ #2 _clist } {#3} } +\cs_new_protected:Npn \xpinyin_customary:nnn #1#2 + { \cs_gset_nopar:cpn { c__xpinyin_ #2 _tl } } +\cs_new_protected:Npn \xpinyin_multiple:nnn #1#2 + { \cs_gset_nopar:cpn { c__xpinyin_multiple_ #2 _clist } } \group_begin: \cs_set_eq:NN \XPYU \xpinyin_customary:nnn \cs_set_eq:NN \XPYUM \xpinyin_multiple:nnn |