summaryrefslogtreecommitdiff
path: root/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex')
-rw-r--r--language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex97
1 files changed, 51 insertions, 46 deletions
diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
index 9b3283659f..cd005323bf 100644
--- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
+++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex
@@ -1,5 +1,7 @@
%% code part of frkim
+%% v1.0.2 (\frkhangulfont, \bf)
%% v1.0.1 (\AddRule)
+%% v1.1 (\jamoul)
%%
\char_set_catcode_other:N \@
@@ -34,13 +36,26 @@
\symbol{"0027}
}
-%\NewDocumentCommand \frkhangulfont {} {
-% Noto~Serif~KR
-%}
-%
-%\NewDocumentCommand \frkhangulfontfeature {} {
-% Script=Hangul, Renderer=OpenType, Ligatures=TeX
-%}
+%%% jamoul cmd
+\tl_new:N \l_frkjamoulcmd_tl
+
+\tl_set:Nn \frk_space_here { \exp_args:No \use:c { \l_frkjamoulcmd_tl } { \c_space_token } }
+\tl_set:Nn \l_frkjamoulcmd_tl {}
+
+\NewDocumentCommand \jamoul { m m }
+{
+ \group_begin:
+ \bool_if:NTF \opt_luatexko_loaded
+ {
+ \use:c { #1 } { \hg { #2 } }
+ }
+ {
+ \tl_set:Nn \l_frkjamoulcmd_tl { #1 }
+ \hg { #2 }
+ }
+ \group_end:
+}
+
\DeclareDocumentCommand \setpmhangulfont { o m o }
{
\IfValueTF { #1 }
@@ -62,17 +77,7 @@
}
\NewDocumentCommand \hg { m }
-{
- \group_begin:
-
- \cs_if_exist:NTF \hangulfontspec
- {
- \exp_last_unbraced:NNf \hangulfontspec [ \frkhangulfontfeature ] { \frkhangulfont }
- }
- {
- \exp_last_unbraced:NNf \fontspec [ \frkhangulfontfeature ] { \frkhangulfont }
- }
-
+{
\regex_split:nnN { \s } { #1 } \l_tmpa_seq
\seq_map_indexed_inline:Nn \l_tmpa_seq
@@ -80,11 +85,9 @@
\_process_word:n { ##2 }
\int_compare:nT { ##1 < \seq_count:N \l_tmpa_seq }
- { {}~ }
+ { \frk_space_here }
}
- \group_end:
-
}
\cs_new:Npn \_process_word:n #1
@@ -359,6 +362,32 @@
\cs_new:Nn \build_syl:
{
+ \group_begin:
+ \cs_if_exist:NTF \hangulfontspec
+ {
+ \exp_last_unbraced:NNf \hangulfontspec [ \frkhangulfontfeature ] { \frkhangulfont }
+ }
+ {
+ \exp_last_unbraced:NNf \fontspec [ \frkhangulfontfeature ] { \frkhangulfont }
+ }
+
+ \tl_if_empty:NTF \l_frkjamoulcmd_tl
+ {
+ \build_syl_main:
+ }
+ {
+ \sys_if_engine_xetex:T { \allowbreak }
+ \exp_args:No \use:c { \l_frkjamoulcmd_tl } {
+ \build_syl_main:
+ }
+ }
+ \group_end:
+
+ \tl_clear:N \l_delayedtoken_tl
+}
+
+\cs_new:Nn \build_syl_main:
+{
\bool_if:NF \opt_zeroisx_bool
{
\regex_replace_all:nnN { ' } { x } \g_cho_tl
@@ -391,16 +420,12 @@
}
}
-%%%%>>>>
-%%% [\g_cho_tl|\g_jun_tl|\g_jon_tl]
-
\tl_gclear:N \g_jun_tl
\tl_gclear:N \g_jon_tl
\tl_if_empty:NF \l_delayedtoken_tl
{
\l_delayedtoken_tl
- \tl_clear:N \l_delayedtoken_tl
}
}
@@ -532,13 +557,6 @@
{
\seq_set_split:Nnn \l_inputpar_seq { \par } { #1 }
\seq_map_indexed_function:NN \l_inputpar_seq \jamo_word:nn
-% \seq_set_split:Nnn \l_inputword_seq { ~ } { #1 }
-% \seq_map_indexed_inline:Nn \l_inputword_seq
-% {
-% \jamotextcmd { ##2 }
-% \int_compare:nT { ##1 < \seq_count:N \l_inputword_seq }
-% { \space }
-% }
}{}
\cs_new:Npn \jamo_word:nn #1 #2
@@ -569,24 +587,11 @@
}
\int_compare:nT { ##1 < \seq_count:N \l_inparpar_seq }
- { \space }
+ { \frk_space_here }
}
\int_compare:nT { #1 < \seq_count:N \l_inputpar_seq }
{ \par }
}
-%
-%\NewDocumentEnvironment { jamotext } { +b }
-%{
-% \seq_set_split:Nnn \l_tmpa_seq { \par } { #1 }
-% \seq_map_indexed_inline:Nn \l_tmpa_seq
-% {
-% \hg{ ##2 }
-% \int_compare:nT { ##1 < \seq_count:N \l_tmpa_seq }
-% { \par }
-% }
-%}{}
-
-
\endinput