diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty index 7dd73f7c36a..33482536cb4 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty @@ -15,14 +15,59 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -\LWR@ProvidesPackagePass{xpinyin}[2018/01/28] -\RenewDocumentEnvironment{pinyinscope}{O{}}{}{} - -\RenewDocumentCommand{\xpinyin}{s O{} m}{% - \IfBooleanTF{#1}{#3}{\@firstoftwo#3}% +\LWR@ProvidesPackagePass{xpinyin}[2019-04-07] +\ExplSyntaxOn +\cs_new_protected_nopar:Npn \LWR@HTML@__xpinyin_make_pinyin_box:nnn #1#2#3 +{ + \color_group_begin: \color_ensure_current: + \l__xpinyin_pinyin_box_hook_tl + \renewcommand*{\l__xpinyin_ratio_tl}{1}% for pdftotext + \__xpinyin_select_font: + \clist_if_exist:cTF { c__xpinyin_multiple_ #1 _clist } + { \l__xpinyin_multiple_tl \l__xpinyin_format_tl } + { \l__xpinyin_format_tl } + \ifdefempty{\l__xpinyin_format_tl} + {#3} + {\LWR@textcurrentcolor{#3}} + \color_group_end: } +\LWR@formatted{__xpinyin_make_pinyin_box:nnn} + +\cs_new_protected_nopar:Npn \LWR@HTML@__xpinyin_CJKsymbol:nn #1#2 + { + \__xpinyin_leavevmode: + \LWR@htmltagc{ruby} + \LWR@htmltagc{rb} + \__xpinyin_save_CJKsymbol:n {#2}\null% \null removes extra space + \LWR@htmltagc{/rb\space} + \LWR@htmltagc{rp}(\LWR@htmltagc{/rp\space} + \LWR@htmltagc{rt} + \__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } } + \LWR@htmltagc{/rt\space} + \LWR@htmltagc{rp})\LWR@htmltagc{/rp\space} + \LWR@htmltagc{/ruby\space}\null + } +\LWR@formatted{__xpinyin_CJKsymbol:nn} + +\cs_new_protected_nopar:Npn \LWR@HTML@__xpinyin_single_CJKsymbol:nn #1#2 + { + \__xpinyin_leavevmode: + \LWR@htmltagc{ruby} + \LWR@htmltagc{rb} + \__xpinyin_save_CJKsymbol:n {#1}\null% \null removes extra space + \LWR@htmltagc{/rb\space} + \LWR@htmltagc{rp}(\LWR@htmltagc{/rp\space} + \LWR@htmltagc{rt} + \__xpinyin_make_pinyin_box:xnn + { \__xpinyin_to_unicode:n {#1} } {#1} { \__xpinyin_pinyin:n {#2} } + \LWR@htmltagc{/rt\space} + \LWR@htmltagc{rp})\LWR@htmltagc{/rp\space} + \LWR@htmltagc{/ruby\space}\null + } +\LWR@formatted{__xpinyin_single_CJKsymbol:nn} -\RenewDocumentCommand{\enablepinyin}{}{} +\ExplSyntaxOff +\renewcommand*{\LWR@disablepinyin}{\disablepinyin} \endinput %% %% End of file `lwarp-xpinyin.sty'. |