summaryrefslogtreecommitdiff
path: root/language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty')
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty63
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