diff options
Diffstat (limited to 'language')
-rw-r--r-- | language/korean/pmhanguljamo/README.md | 2 | ||||
-rw-r--r-- | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf | bin | 220713 -> 221035 bytes | |||
-rw-r--r-- | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex | 5 | ||||
-rw-r--r-- | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf | bin | 722621 -> 723606 bytes | |||
-rw-r--r-- | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex | 88 | ||||
-rw-r--r-- | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex | 31 | ||||
-rw-r--r-- | language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty | 4 | ||||
-rw-r--r-- | language/korean/pmhanguljamo/tex/pmhanguljamo.sty | 6 |
8 files changed, 103 insertions, 33 deletions
diff --git a/language/korean/pmhanguljamo/README.md b/language/korean/pmhanguljamo/README.md index 7888ccdbb2..ed0488355d 100644 --- a/language/korean/pmhanguljamo/README.md +++ b/language/korean/pmhanguljamo/README.md @@ -12,7 +12,7 @@ In version 0.3, it provides two kinds of transliteration rules. And in version 0 In version 1.0, we introduced a new rule, so-called _frkim_. Now it has three alternative ways of Hangul input methods. -The current version is 1.0.2 +The current version is 1.1. ## Copyright and License diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf Binary files differindex 87c43670fe..d3d517b240 100644 --- a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf +++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex index 7b119f0267..a00318b5d2 100644 --- a/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex +++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex @@ -45,7 +45,8 @@ %\date{6 Sep 2022\quad version 0.5.1} %\date{7 Sep 2022\quad version 0.5.2} %\date{22 Feb 2023\quad version 1.0.1} -\date{3 Mar 2023\quad version 1.0.2} +%\date{3 Mar 2023\quad version 1.0.2} +\date{10 Jun 2024\quad version 1.1} \maketitle @@ -861,6 +862,8 @@ and \texttt{jamotext} environment can be used with. \item We extended the Old-Hangul feature of this input method. The plural consonants in the leading position were not implemented in the \emph{hangulTeX}, which can be done by dispicting the starting position of the plural leading consonants with \verb|-| (dash). Moreover, in the heading position of a word, this mark can be left out. For example, \verb|\hg{bsumei}| \hg{bsumei}; \verb|\hg{gy-bsgyi'iei}| \hg{gy-bsgyi'iei}. + +\item The command \verb|\AddRule| overrides the previous key-letter assignments. Therefore, the user can define his own key-def's for the Hangul Jamos. Read the Korean manual (\texttt{kdoc}) carefully. \end{enumerate} \subsection{Examples} diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf Binary files differindex 5e9748cd6d..6242727f71 100644 --- a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf +++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex index 1f64941f4e..5aa8178b7f 100644 --- a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex +++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex @@ -16,7 +16,7 @@ \usepackage{kotex-logo} \usepackage{amssymb} -\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo} +\usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo} \usepackage{boxedminipage} \usepackage{tabularray} \usepackage{amsmath,amssymb} @@ -35,9 +35,9 @@ \setsansfont{Noto Sans} %\setmonofont{Droid Sans Mono} \setmonofont{DejaVu Sans Mono} -\setsansfont{Noto Sans KR}%[\fontfeatureoption] -\setkomainfont(Noto Serif KR)(* Bold)(Noto Sans KR Light)%[\fontfeatureoption] -\setkosansfont(Noto Sans KR)(* Bold)%[\fontfeatureoption] +\setsansfont{Noto Sans CJK KR}%[\fontfeatureoption] +\setkomainfont(Noto Serif CJK KR)(* Bold)(Noto Sans CJK KR Light)%[\fontfeatureoption] +\setkosansfont(Noto Sans CJK KR)(* Bold)%[\fontfeatureoption] \setkomonofont(HCR Dotum LVT)[Script=Hangul,Scale=.97] \usepackage{tcolorbox} @@ -115,7 +115,8 @@ %\date{2022/09/07\quad v0.5.2} %\date{2023/02/19\quad v1.0} %\date{2023/02/26\quad v1.0.1a} -\date{2023/03/03\quad v1.0.2} +%\date{2023/03/03\quad v1.0.2} +\date{2024/06/10\quad v1.1} \maketitle @@ -219,7 +220,7 @@ e/nv; na;ri i; do;ra/gar h@i;o;. \documentclass{article} \usepackage{fontspec} -\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo} +\usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo} \begin{document} Jikji (\jamoword{jig/ji/sim/cei/yo/jer}) is the world's oldest @@ -237,7 +238,7 @@ extant book printed with movable metal type. \setmainlanguage{english} \setotherlanguage{korean} \newfontfamily\hangulfont{HCR Batang LVT}[Script=Hangul] -\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo} +\usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo} \begin{document} \begin{korean} @@ -264,7 +265,7 @@ gyeg/bun/si/ki/nvn man/haiq/vr co/rai/ha/yess/v/mye/,} \begin{exampleonly} \documentclass{article} \usepackage{kotex} -\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo} +\usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo} \begin{document} \jamoword{mo/dvn in/ryu gu/seq/uen/vi cen/bu/vi jon/em/seq/goa @@ -413,7 +414,7 @@ sa:r@m/ma:da; h@i:qqye; su:bqi; ni/gye; 은 바탕 \testfont{UnBatang} -본명조 또는 Noto Korean \testfont{Noto Serif KR} +본명조 또는 Noto Korean \testfont{Noto Serif CJK KR} 나눔명조옛한글 \testfont{NanumMyeongjo-YetHangul.ttf} @@ -421,7 +422,7 @@ KoPubWorld 바탕 \testfont{KoPubWorldBatangMedium} 함초롬 돋움 \testfont{HCR Dotum LVT} -본고딕 또는 Noto Sans \testfont{Noto Sans KR} +본고딕 또는 Noto Sans \testfont{Noto Sans CJK KR} 나눔바른고딕옛한글 \testfont{NanumBarunGothic-YetHangul.ttf} @@ -437,7 +438,7 @@ KoPubWorld 돋움 \testfont{KoPubWorldDotumMedium} 옛한글을 무리없이 표현하는 것은 현재 이 정도인 것 같다. 각 폰트는 특정한 문자에 대해서 약간의 차이를 보이기도 한다. 참고로 이 문서에서는 -본문과 옛한글에 Noto Serif KR을 사용하였다. +본문과 옛한글에 Noto Serif CJK KR을 사용하였다. \hologo{LuaTeX}으로 컴파일하는 경우에는 위에 든 폰트들, 즉 \texttt{Script Hangul} 속성을 가진 폰트만 사용 가능하다. \hologo{LuaTeX}과 이 패키지의 관계에 대해서 @@ -527,7 +528,7 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily 만약 \verb|pmfont=| 옵션이 예컨대 다음과 같이 주어졌다고 가정하자. \begin{verbatim} - \usepackage[pmfont={Noto Serif KR}]{pmhanguljamo} + \usepackage[pmfont={Noto Serif CJK KR}]{pmhanguljamo} \end{verbatim} 이 때에는 \cmda{\jamoword}와 \env{jamotext}의 인자 범위에서 pm 자모 입력된 한글 문자에 대해서 지정된 폰트가 (필요한 속성(feature)이 자동으로 주어져서) @@ -571,7 +572,7 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily \cmda{\setpmhangulfont} 명령의 옵션으로 fontfeature를 부여할 수도 있다. \begin{verbatim} - \setpmhangulfont{Noto Serif KR}[FakeStretch=0.9] + \setpmhangulfont{Noto Serif CJK KR}[FakeStretch=0.9] \end{verbatim} 이미 부여한 속성을 기본값으로 되돌리려면 \cmda{\setpmhangulfont}를 옵션 없이 @@ -580,7 +581,7 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily \begin{exampleside} \setpmhangulfont{HCR Batang LVT}[Color=blue,FakeStretch=0.8] \jamoword{moi/koa g@/r@m/sbun is/go}\\ -\setpmhangulfont{Noto Serif KR} +\setpmhangulfont{Noto Serif CJK KR} \jamoword{moi/koa g@/r@m/sbun is/go} \end{exampleside} @@ -1399,7 +1400,7 @@ nog-eumbangcho ugeojyeo geumjandi jwaleuleug sgal-in jye \item [\cs{rq}] right quote를 인쇄하는 명령이다. \cs{hg} 인자 내부에 닫는 따옴표를 쓸 필요가 있으면 이 매크로를 사용한다. \item [\cs{zeroisx}, \cs{zeroisrq}] 초성의 zero 자음을 어떤 부호로 식자할 것인지를 나타낸다. \cs{zeroisrq} 상태가 디폴트이다. \item [\cs{frdash}, \cs{frendash}, \cs{fremdash}] \verb|-|(dash) 부호를 특별하게 처리하기 때문에 이를 대용하기 위하여 마련한 명령이다. -\item [\cs{frkhangulfont}] 자모 한글을 식자하는 폰트이다. Noto Serif KR 폰트가 디폴트이다. +\item [\cs{frkhangulfont}] 자모 한글을 식자하는 폰트이다. Noto Serif CJK KR 폰트가 디폴트이다. \item [\cs{frkhangulfontfeature}] \cs{hg} 명령의 인자로 주어지는 한글을 식자하기 위한 \cs{frkhangulfont}에 부여되는 font feature이다. ``{\ttfamily Script=Hangul,Renderer=OpenType,Ligatures=TeX}''이 디폴트로 선언되어 있다. \end{description} @@ -1481,7 +1482,7 @@ zero 자음 \texttt{ㅇ}을 넣는 규칙 때문이다. \marginpar{\fbox{\footnotesize 1.0.1}}% \texttt{[method=pm]}의 경우와 달리 \texttt{frkim}에서는 유니코드 한글 자모 전부를 부호화해두지 않았다. 패키지가 너무 무거워지는 것을 방지하고자 함이었는데 그 결과 일부 옛한글이 나타나지 않는 경우가 생길 것이다. -사용자는 자신에게 꼭 필요하지만 \texttt{frkim} 규칙에 정의되지 않은 유니코드 한글 자모의 정의를 추가할 수 있다. 다음과 같은 방식으로 사용한다. +사용자는 자신에게 꼭 필요하지만 \texttt{frkim} 규칙에 정의되지 않은 유니코드 한글 자모의 정의를 추가할 수 있다. 다음과 같은 방식으로 사용한다. \cs{AddRule}에 의한 입력 키의 할당은 \emph{local}이다. \begin{verbatim} \AddRule{<cho|jung|jong>}{<key=value>,<key=value>,...} @@ -1505,6 +1506,59 @@ zero 자음 \texttt{ㅇ}을 넣는 규칙 때문이다. \jamoword{bstoiairmh} \end{exampleside} +\subsection{사용자 입력 규칙} + +frkim 방식이 제공하는 \cs{AddRule}을 이용하여, +만약 필요하다면 사용자 자신이 입력 규칙을 새로 설계할 수 있다. 왜냐하면 +\cs{AddRule}이 기존 키 정의를 덮어쓰기 때문이다. + +예를 들어서, 초성과 종성의 ㄱ을 현재의 \texttt{g} 대신 \texttt{q}로 하고, +그 대신 초성과 종성의 ㅇ을 \texttt{g}로 입력하고 싶다고 하자.\footnote{이런 +제안을 해주신 분이 계시다. 창의적인 제안에 감사드린다.} + +\begin{exampleonly} +\AddRule{cho}{g=110B,G=114C,q=1100,Q=1101} +\AddRule{jong}{g=11BC,G=11F0,q=11A8,Q=11A9} +\end{exampleonly} + +이제 이후로 ㄱ과 ㅇ이 서로 바뀌어서 출력될 것이다. + +이 방식을 사용할 때, 모음의 입력 키를 사용자가 설정하려 한다면 어떤 문자를 모음에 할당하는지 +알려주어야 한다. 이를 위한 명령으로 \cs{RenewVowels} 명령을 정의하였다. \verb|@|를 제외한 중성의 시작 문자를 \dotemph{모두} 인자로 전달해주어야 한다. 두 문자 이상으로 표현하는 모음은 그 시작 문자를 알려주면 된다. +이전에 쓰던 것과 같은 키를 쓰더라도 이 명령에 다시 열거해주어야 한다는 점을 주의하자. (그리고 \verb|@|은 바꿀 수 없다.) + +예를 들어, ㅡ 모음을 입력하는 데 \verb|y|가 너무 불편하니, \verb|v|로 바꾸려 한다고 하자. +(\verb|v|에 할당되어 있던 부호는 무시한다.) + +\begin{exampleonly} +\RenewVowels{a,e,i,o,u,y,v} +\AddRule{jung}{v=1173,vi=1174} +\end{exampleonly} + +이와 같은 두 줄이 필요하다. 다음 예를 보라. (\cs{begingroup}과 \cs{endgroup}은 +이 변경의 효과가 국지적으로만 나타나게 하기 위하여 부가한 것이다.) + +\begin{examplebelow} +\begingroup +\RenewVowels{a,e,i,o,u,y,v} +\AddRule{cho}{g=110B,G=114C,q=1100,Q=1101} +\AddRule{jung}{v=1173,vi=1174} +\AddRule{jong}{g=11BC,G=11F0,q=11A8,Q=11A9} +\hg{maqcanvn jomcerem oji anh'aSda.} +\hg{daihabsir baQ'einvn bamsai sog'inun'i Sah'iqo} +\endgroup +\end{examplebelow} + +만약 초성 ㅇ의 할당 값을 바꾸는 경우라면, \cs{AddRule}에 의한 것 이외에 다음 한 줄을 +더 추가하여야 한다. 소리나지 않는 초성 ㅇ을 특별히 취급하고 있기 때문이다. +\begin{exampleonly} +\RenewLeadingZero{L} +\end{exampleonly} +위의 예는 초성 ㅇ을 \verb|L|로 식자하려 하는 경우이다. + +이 방법을 잘 이용하면 (상당히 극단적인 예가 되겠지만) 예컨대 한글 두벌식 입력의 +입력열을 한글로 출력하도록 할 수도 있을 것이다. + \section{용례} \paragraph{현대 한글} 현대 한글의 입출력 예를 보인다. @@ -2071,4 +2125,4 @@ GSUB/GPOS라는 트루타입 오픈의 속성을 이용하여 %\printindex -\end{document}
\ No newline at end of file +\end{document} diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex index cd005323bf..ede63f2136 100644 --- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex +++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.code.tex @@ -1,11 +1,13 @@ %% code part of frkim +%% v1.1 (\AddRule extended, \RenewVowels added) %% v1.0.2 (\frkhangulfont, \bf) %% v1.0.1 (\AddRule) -%% v1.1 (\jamoul) +%% v1.1 (\jamoul) %% \char_set_catcode_other:N \@ \clist_const:Nn \c_hgvow_clist { a, e, o, u, y, i, @, * } +\tl_set:Nn \zero_const { x } \tl_new:N \g_cho_tl \tl_new:N \g_jun_tl @@ -175,7 +177,7 @@ { 0 } {%%% 직전이 0이면 초성 확정 \tl_if_empty:NT \l_currtk_tl %%% 어두에 모음 => 초성을 'ㅇ'으로 { - \tl_set:Nn \l_currtk_tl { x } + \tl_set:No \l_currtk_tl { \zero_const } } \tl_gset:NV \g_cho_tl \l_currtk_tl @@ -390,32 +392,33 @@ { \bool_if:NF \opt_zeroisx_bool { - \regex_replace_all:nnN { ' } { x } \g_cho_tl + \exp_args:Nno + \regex_replace_all:nnN { ' } { \zero_const } \g_cho_tl } \tl_if_empty:NF \g_cho_tl { - \prop_get:NVNTF \c_frkcho_prop \g_cho_tl \l_tmpone_tl + \prop_get:NVNTF \l_usercho_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 + \prop_get:NVNT \c_frkcho_prop \g_cho_tl \l_tmpone_tl { \tl_use:N \l_tmpone_tl } } } \tl_if_empty:NF \g_jun_tl { - \prop_get:NVNTF \c_frkjung_prop \g_jun_tl \l_tmptwo_tl + \prop_get:NVNTF \l_userjung_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 + \prop_get:NVNT \c_frkjung_prop \g_jun_tl \l_tmptwo_tl { \tl_use:N \l_tmptwo_tl } } } \tl_if_empty:NF \g_jon_tl { - \prop_get:NVNTF \c_frkjong_prop \g_jon_tl \l_tmpthr_tl + \prop_get:NVNTF \l_userjong_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 + \prop_get:NVNT \c_frkjong_prop \g_jon_tl \l_tmpthr_tl { \tl_use:N \l_tmpthr_tl } } } @@ -594,4 +597,14 @@ { \par } } +\NewDocumentCommand \RenewVowels { m } +{ + \clist_set:Nn \c_hgvow_clist { @, *, #1 } +} + +\NewDocumentCommand \RenewLeadingZero { m } +{ + \tl_set:Nn \zero_const { #1 } +} + \endinput diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty index 527577d42f..eb0e3207ea 100644 --- a/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty +++ b/language/korean/pmhanguljamo/tex/pmhanguljamo-frkim.sty @@ -7,8 +7,8 @@ %% \ProvidesExplPackage {pmhanguljamo-frkim} - {2023/03/01} - {v0.6.1} + {2024/06/10} + {v0.7} {Korean ROMAJI Input Method: Fukui Rei's HangulTeX} \RequirePackage{l3keys2e} diff --git a/language/korean/pmhanguljamo/tex/pmhanguljamo.sty b/language/korean/pmhanguljamo/tex/pmhanguljamo.sty index 2fb9addc25..1ba19fb85d 100644 --- a/language/korean/pmhanguljamo/tex/pmhanguljamo.sty +++ b/language/korean/pmhanguljamo/tex/pmhanguljamo.sty @@ -2,7 +2,7 @@ %% %% Poorman's Hangul Jamo Input Method. %% -%% (C) 2020-2023 Kangsoo Kim +%% (C) 2020-2024 Kangsoo Kim %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -23,8 +23,8 @@ \RequirePackage{xparse} \ProvidesExplPackage {pmhanguljamo} - {2023/03/03} - {v1.0.2} + {2024/06/10} + {v1.1} {Poorman's Hangul Jamo Input Method} \RequirePackage{l3keys2e} |