summaryrefslogtreecommitdiff
path: root/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-02-26 03:02:12 +0000
committerNorbert Preining <norbert@preining.info>2023-02-26 03:02:12 +0000
commite7ae872926eddb0de09ecfe1c578e0680033955a (patch)
tree01717465b5b26d3b2ccaea9889c720a840e0a16c /language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
parent81a9d839224eef4c2bd9bf68410b4049c61cdb14 (diff)
CTAN sync 202302260302
Diffstat (limited to 'language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex')
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex46
1 files changed, 42 insertions, 4 deletions
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
index 4896ee994f..9b3283659f 100644
--- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
+++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
@@ -1,5 +1,6 @@
%% code part of frkim
-%% v0.6
+%% v1.0.1 (\AddRule)
+%%
\char_set_catcode_other:N \@
\clist_const:Nn \c_hgvow_clist { a, e, o, u, y, i, @, * }
@@ -89,6 +90,10 @@
\cs_new:Npn \_process_word:n #1
{
\tl_set:Nn \l_aword_tl { #1 }
+ \bool_if:NT \opt_zeroisx_bool
+ {
+ \regex_replace_all:nnN { ' } { \c{rq} } \l_aword_tl
+ }
\clear_all_var:
\tl_map_function:NN \l_aword_tl \_main_fn:n
%%% 마지막에 끝난 조건에 따라
@@ -229,6 +234,7 @@
s = \char"1109,
S = \char"110A,
x = \char"110B,
+ q = \char"110B,
j = \char"110C,
J = \char"110D,
c = \char"110E,
@@ -331,6 +337,26 @@
sb = \char"11EA,
}
+\prop_new:N \l_usercho_prop
+\prop_new:N \l_userjung_prop
+\prop_new:N \l_userjong_prop
+
+\NewDocumentCommand \AddRule { m m }
+{
+ \clist_set:Nn \l_tmpa_clist { #2 }
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \_split_userrule_keyval:w ##1 \q_stop
+ \prop_put:cVx { l_user #1 _prop } \l_tmpkey_tl {\exp_not:N \char"\l_tmpval_tl}
+ }
+}
+
+\cs_new:Npn \_split_userrule_keyval:w #1 = #2 \q_stop
+{
+ \tl_set:Nn \l_tmpkey_tl { #1 }
+ \tl_set:Nn \l_tmpval_tl { #2 }
+}
+
\cs_new:Nn \build_syl:
{
\bool_if:NF \opt_zeroisx_bool
@@ -339,18 +365,30 @@
}
\tl_if_empty:NF \g_cho_tl
{
- \prop_get:NVNT \c_frkcho_prop \g_cho_tl \l_tmpone_tl
+ \prop_get:NVNTF \c_frkcho_prop \g_cho_tl \l_tmpone_tl
{ \tl_use:N \l_tmpone_tl }
+ {
+ \prop_get:NVNT \l_usercho_prop \g_cho_tl \l_tmpone_tl
+ { \tl_use:N \l_tmpone_tl }
+ }
}
\tl_if_empty:NF \g_jun_tl
{
- \prop_get:NVNT \c_frkjung_prop \g_jun_tl \l_tmptwo_tl
+ \prop_get:NVNTF \c_frkjung_prop \g_jun_tl \l_tmptwo_tl
{ \tl_use:N \l_tmptwo_tl }
+ {
+ \prop_get:NVNT \l_userjung_prop \g_jun_tl \l_tmptwo_tl
+ { \tl_use:N \l_tmptwo_tl }
+ }
}
\tl_if_empty:NF \g_jon_tl
{
- \prop_get:NVNT \c_frkjong_prop \g_jon_tl \l_tmpthr_tl
+ \prop_get:NVNTF \c_frkjong_prop \g_jon_tl \l_tmpthr_tl
{ \tl_use:N \l_tmpthr_tl }
+ {
+ \prop_get:NVNT \l_userjong_prop \g_jon_tl \l_tmpthr_tl
+ { \tl_use:N \l_tmpthr_tl }
+ }
}
%%%%>>>>