summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty')
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-xpinyin.sty57
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'.