diff options
Diffstat (limited to 'language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty')
-rw-r--r-- | language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty | 63 |
1 files changed, 53 insertions, 10 deletions
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty b/language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty index a86c54051c..40df178d30 100644 --- a/language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty +++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty @@ -1,31 +1,73 @@ % % subroutines of pmhanguljamo.sty -%. v0.3.2 (2020/02/05) -%. v0.3.3 (2020/03/09) -%. v0.3.4 (2020/03/15) -% v0.4 (2021/11/28) +% v0.3.2 (2020/02/05) +% v0.3.3 (2020/03/09) +% v0.3.4 (2020/03/15) +% v0.4 (2021/11/28) +% v0.5 (2022/09/02) % \seq_new:N \l_textjm_seq \NewDocumentEnvironment { jamotext } { +b } { \seq_set_split:Nnn \l_textjm_seq {\par} { #1 } - \seq_indexed_map_inline:Nn \l_textjm_seq + \seq_map_indexed_function:NN \l_textjm_seq \jamo_word_rrk:nn +% \seq_map_indexed_inline:Nn \l_textjm_seq +% { +% \jamoword { ##2 } +% \int_compare:nT { ##1 < \seq_count:N \l_textjm_seq } +% { +% \par +% } +% } +}{} + +\cs_new:Npn \jamo_word_rrk:nn #1 #2 +{ +% \jamoword { #2 } + \seq_set_split:Nnn \l_inparpar_seq { ~ } { #2 } + + \seq_map_indexed_inline:Nn \l_inparpar_seq { - \jamoword { ##2 } - \int_compare:nT { ##1 < \seq_count:N \l_textjm_seq } + \regex_match:nnTF { ^\!\{ } { ##2 } + { + \tl_set:Nn \l_tmpa_tl { ##2 } + \regex_match:nnTF { ^\!\{(.+?)\}$ } { ##2 } + { + \regex_replace_once:nnN { ^\!\{(.+?)\}$ } { \1 } \l_tmpa_tl + \l_tmpa_tl + } + { + \tl_set_eq:NN \l_tmpb_tl \l_tmpa_tl + \regex_replace_once:nnN { ^\!\{(.+?)\}(.*)$ } { \1 } \l_tmpa_tl + \l_tmpa_tl + \regex_replace_once:nnN { ^\!\{(.+?)\}(.*)$ } { \2 } \l_tmpb_tl + \exp_args:No \jamoword { \l_tmpb_tl } + } + } { - \par + \jamoword{ ##2 } } + + \int_compare:nT { ##1 < \seq_count:N \l_inparpar_seq } + { \space } } -}{} + + \int_compare:nT { #1 < \seq_count:N \l_textjm_seq } + { \par } +} + \tl_new:N \l_tmpz_tl \NewDocumentCommand \jamoword { m } { + \group_begin: + \bool_if:NT \opt_usepmfont_bool + { \pm_hangulfontspec[Script=Hangul,Renderer=OpenType] {\opt_pmfont_tl } } + \seq_set_split:Nnn \l_tmpa_seq { ~ } { #1 } - \seq_indexed_map_inline:Nn \l_tmpa_seq + \seq_map_indexed_inline:Nn \l_tmpa_seq { \tl_set:Nn \l_tmpz_tl { ##2 } \exp_args:No \str_if_in:nnT { \l_tmpz_tl } { - } @@ -70,6 +112,7 @@ \space } } + \group_end: } \cs_new:Npn \rrk_fn_outer:n #1 |