texlive[64313] Master/texmf-dist: pmhanguljamo (7sep22)

commits+karl at tug.org commits+karl at tug.org
Wed Sep 7 22:43:55 CEST 2022


Revision: 64313
          http://tug.org/svn/texlive?view=revision&revision=64313
Author:   karl
Date:     2022-09-07 22:43:54 +0200 (Wed, 07 Sep 2022)
Log Message:
-----------
pmhanguljamo (7sep22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/pmhanguljamo/README.md
    trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.pdf
    trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.tex
    trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.pdf
    trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.tex
    trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-rrk.sty
    trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty

Modified: trunk/Master/texmf-dist/doc/latex/pmhanguljamo/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pmhanguljamo/README.md	2022-09-07 20:43:40 UTC (rev 64312)
+++ trunk/Master/texmf-dist/doc/latex/pmhanguljamo/README.md	2022-09-07 20:43:54 UTC (rev 64313)
@@ -1,4 +1,4 @@
-# pmhanguljamo
+#  pmhanguljamo
 
 ## About
 
@@ -10,7 +10,7 @@
 
 In version 0.3, it provides two kinds of transliteration rules. The default way is this package's unique method. The alternative one is a more familiar *Korean Romanization Rule*. With the latter only Modern Hangul can be typeset.
 
-In version 0.5, it is possible to specify proper font for typesetting Jamo Hangul.
+In version 0.5, it is possible to specify proper font for typesetting Jamo Hangul. And in version 0.5.1, a few bugs were fixed and providing font feature to the very font was enabled.
 
 
 ## Copyright and License

Modified: trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.tex	2022-09-07 20:43:40 UTC (rev 64312)
+++ trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-doc.tex	2022-09-07 20:43:54 UTC (rev 64313)
@@ -40,7 +40,7 @@
 \author{Kangsoo Kim}
 %\date{10 Mar 2021\quad version 0.3.5}
 %\date{20 Sep 2021\quad version 0.3.6}
-\date{2 Sep 2022\quad version 0.5}
+\date{6 Sep 2022\quad version 0.5.1}
 
 \maketitle
 
@@ -83,6 +83,9 @@
 \item \texttt{pmfont=<fontname>}. The font that is used to typeset Hangul 
 characters in the scope of \verb|\jamoword| or \texttt{jamotext}. If this option missing, the Jamo-Hangul font is to be same as the \textit{main font} of 
 the document.
+
+\item \texttt{pmfontfeature=<fontfeature>}. It is possible to provide \emph{font features} to
+the font selected as \texttt{pmfont}.
 \end{enumerate}
 
 \subsection{Commands and Environment Provided}
@@ -91,8 +94,8 @@
 
 \begin{quote}
 Input:
-\verb|\jamoword{myec dan/e/ga or su iss/svb/ni/da/.}|\\
-Result: \textkorean{\jamoword{myec dan/e/ga or su iss/svb/ni/da/.}}
+\verb|\jamoword{han/gvr/vi yeis i/rvm/vn hun/min/jex/vm/i/da/.}|\\
+Result: \textkorean{\jamoword{han/gvr/vi yeis i/rvm/vn hun/min/jex/vm/i/da/.}}
 \end{quote}
 
 The argument of the command consists of roman alphabets 
@@ -164,7 +167,7 @@
 The \verb|!{| mark must be located in the head of a word.
 To remove the preceding space of a word, \verb|\unskip| is
 used in the example. This trick will be useful when using
-math equations, \LaTeX\ macros, or English words with long Jamo Hangul
+math equations, \LaTeX\ macros, or English words along with long Jamo Hangul
 texts.
 
 
@@ -176,6 +179,7 @@
 \begin{externalDocument}[ 
 	compiler=xelatex,
 	code,
+	lstOptions={basicstyle=\ttfamily},
 	cleanup]{testa}
 \documentclass{standalone}
 %StartVisiblePreamble
@@ -193,6 +197,7 @@
 \begin{externalDocument}[ 
 	compiler=xelatex,
 	code,
+	lstOptions={basicstyle=\ttfamily},
 	cleanup]{testa}
 \documentclass{standalone}
 %StartVisiblePreamble
@@ -219,6 +224,7 @@
 \begin{externalDocument}[ 
 	compiler=xelatex,
 	code,
+	lstOptions={basicstyle=\ttfamily},
 	cleanup]{testa}
 \documentclass{standalone}
 %StartVisiblePreamble
@@ -245,6 +251,7 @@
 \begin{externalDocument}[ 
 	compiler=xelatex,
 	code,
+	lstOptions={basicstyle=\ttfamily},
 	cleanup]{testa}
 \documentclass{standalone}
 %StartVisiblePreamble

Modified: trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.tex	2022-09-07 20:43:40 UTC (rev 64312)
+++ trunk/Master/texmf-dist/doc/latex/pmhanguljamo/pmhanguljamo-kdoc.tex	2022-09-07 20:43:54 UTC (rev 64313)
@@ -16,12 +16,15 @@
 
 \usepackage{kotex-logo}
 \usepackage{amssymb}
-\usepackage{pmhanguljamo}
+\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo}
 \usepackage{boxedminipage}
 \usepackage{tabularray}
 
+\usepackage{oblivoir-misc}
+
 \ifXeTeX
 \def\fontfeatureoption{Script=Hangul}
+\usepackage[normalem]{ulem}
 \else\ifLuaTeX
 \def\fontfeatureoption{Script=Hangul,RawFeature={mode=harf}}
 \fi\fi
@@ -30,9 +33,9 @@
 \setmainfont{Noto Serif}
 \setsansfont{Noto Sans}
 \setmonofont{Noto 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 KR}%[\fontfeatureoption]
+\setkomainfont(Noto Serif KR)(* Bold)(Noto Sans KR Light)%[\fontfeatureoption]
+\setkosansfont(Noto Sans KR)(* Bold)%[\fontfeatureoption]
 \setkomonofont(Noto Sans Mono CJK KR)
 
 \usepackage{tcolorbox}
@@ -39,7 +42,7 @@
 \tcbuselibrary{listings,breakable}
 \tcbset{listing engine=listings,colframe=gray,colback=white,size=normal}
 \NewDocumentEnvironment {exampleside} {}
-  { \tcblisting{listing side text,righthand width=.38\textwidth} }
+  { \tcblisting{listing side text,righthand width=.37\textwidth} }
   { \endtcblisting }
 
 \newcommand\pkg[1]{%
@@ -71,19 +74,22 @@
 %\date{2020/03/10\quad v0.3.5}
 %\date{2021/09/20\quad v0.3.6}
 %\date{2021/11/28\quad v0.4}
-\date{2022/09/02\quad v0.5}
+%\date{2022/09/02\quad v0.5}
+\date{2022/09/06\quad v0.5.1}
 
 \maketitle
 
 \begin{exampleside}
 \begin{jamotext}
-g@/r@/mi p@/r@/ni sai de/ug h at i/o/,\\
-moy/hi pe/re/h@/ni gos bi/ci bvr bvd/n at n d at s/do/da/.\\
-ors bo/mi bon/d at in sdo di/na/ga/n@/ni \\
-e/nv na/ri i do/ra/gar h at i/o/.
+g@/r@;mi p@/r@:ni sai; de/ug; h at i;o/,\\
+moy:hi pe/re/h@/ni; gos/bi;ci bvr; bvd/n at n d at s;do/da/.\\
+ors/bo;mi bon:d at in sdo; di:na/ga;n@/ni;\\
+e/nv; na;ri i; do;ra/gar h at i;o;.
 \end{jamotext}
 \end{exampleside}
 
+\vspace{-.5\baselineskip}
+
 \tableofcontents*
 
 \section{목적}
@@ -127,7 +133,7 @@
 
 preamble에 위의 문장을 둔다. 
 
-옵션은 다음 두 가지가 있다.
+옵션은 다음과 같다.
 \begin{enumerate}[1.]
 \item \verb|rrk| 또는 \verb|RRK|. 
 입력 방식이 ``표준 전자법''으로 현대 한글을 입력하는 방식으로 바뀐다. 이에 대해서는 
@@ -134,8 +140,9 @@
 \ref{sec:rrk}절을 보라. 옵션을 주지 않으면 \ref{sec:pmrule}절에서 설명하는 pm 입력 방식을 따른다.
 \item \verb|pmfont={<fontname>}|.
 식자할 폰트를 지정한다. 이 옵션이 주어지지 않으면 문서의 mainfont (\koTeX\ 패키지의
-경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를
-보라.
+경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를, 이 옵션에 대한 설명은 \ref{font:set}\를 보라.
+\item \verb|pmfontfeagure=<fontfeature>|.
+pmfont 옵션으로 지정하는 폰트에 추가 속성을 부여하려 할 때. \ref{font:set}\을 보라.
 \end{enumerate}
 
 \subsection{명령과 환경}
@@ -252,6 +259,50 @@
 \jmcc{BSG} \jmcc{@} \jmcc{UEY} \jmcc{@@}
 \end{exampleside}
 
+\subsection{밑줄 긋기}
+
+\leavevmode\marginpar{\fbox{\footnotesize v0.5.1}}%
+밑줄을 긋는 명령 \cmda{\underline}의 인자로 \cs{jamoword}가 오는 것은 문제가 없다.
+
+\begin{exampleside}
+\underline{\jamoword{mit/jur/gvs/gi}}
+\end{exampleside}
+
+그러나 이 명령은 행자르기가 이루어지지 않는다. \textsf{ulem} 패키지의 \cs{uline}을
+쓰면 이 문제를 해결할 수 있으나,
+이 패키지의 현재 버전(0.5.1)은 \textsf{ulem} 패키지와 충돌이 있다. \XeLaTeX 으로
+\koTeX 패키지를 활용하는 상황에서 \textsf{ulem}은 오류를 보이거나 의도하지 않은 결과를
+산출할 것이다. (RRK 입력 방법에서도 동일하다.)
+
+Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없이도 ulem 명령들,
+\verb|\uline| 등을 사용할 수 있으며 이 경우에는 에러 없이 잘 동작한다. 그러므로
+\cs{uline}과 같은 ulem 명령을 사용하여야 한다면 Lua\LaTeX 으로 컴파일하는 것이 좋다.
+
+그러나 부득이하여 \XeLaTeX 으로 컴파일하여야 하는 경우이고 밑줄 등을 구현하여야 하는 때라면
+\cmda{\jamoul} 명령을 이용할 수 있다. 물론 \textsf{ulem} 패키지 등은 preamble에서
+선언되어 있어야 한다.\footnote{Lua\LaTeX 과 \koTeX 을 쓸 때는 \textsf{ulem} 패키지를
+별도로 로드하지 않는다.}
+
+\begin{boxedverbatim}
+   \jamoul{<ulem command name>}{jamo text}
+\end{boxedverbatim}
+
+\texttt{<ulem command name>}은 ulem 명령의 이름을 백슬래시 없이 지정한다는 뜻이다.
+다음 예를 보라.
+
+\begin{exampleside}
+\jamoul{uline}{ye/hvi/ye/syu/mvr svr/ho/ni sai}
+\jamoul{uwave}{m@/@/m at r}
+\jamoword{nor/rai/no/ra}
+\end{exampleside}
+
+%\textsf{oblivoir-misc}의 \cmda{\texthl}도 같은 방법으로 할 수 있다:
+%\verb|\jamoul{texthl}{nuns/mvr/r at r sbv/ri/gey/ko}|
+%\jamoul{texthl}{nuns/mvr/r at r sbv/ri/gey/ko}
+
+\cs{jamoul}을 이용하여 밑줄을 긋는 기능은 RRK 입력방법에서는 구현되지 않았다.
+이 때에는 \textsf{luatexko}의 ulem 명령을 사용하여야 할 것이다.
+
 \section{轉字 규칙} \label{sec:pmrule}
 
 이 패키지는 아래에서 설명하는 바 독특한 입력 문자 대응 규칙을 정의하여 쓴다. 이 방법을
@@ -284,8 +335,8 @@
 
 \medskip
 \begin{exampleside}
-\jamoword{naix:jyuq/ G/ so/ri;n at n;}\\
-\jamoword{naix:jyuq G so/ri;n at n;}
+\jamoword{moi/koa/ g@/r at m/sbun/ is/go/}\\
+\jamoword{moi/koa g@/r at m/sbun is/go}
 \end{exampleside}
 
 스페이스 앞에서 \verb|/|를 생략할 수 있음과 관련하여 스페이스가 아니라면 생략할 수 없음에 주의하라. 예컨대 마침표와 같은 문장부호가 올 때는 그 문장부호 앞에서 \verb|/|를 생략할 수 없다.
@@ -447,6 +498,7 @@
 
 자모 조합 한글을 구현할 수 있는 몇몇 글꼴을 테스트해보겠다. 
 
+\unusepmfont
 \begin{boxedverbatim}
 sa:r at m/ma:da; h at i:xxye; su:bxi; ni/gye;
 \end{boxedverbatim}
@@ -466,7 +518,7 @@
 
 은 바탕 \testfont{UnBatang}
 
-본명조 또는 Noto Serif \testfont{Noto Serif KR}
+본명조 또는 Noto Korean \testfont{Noto Serif KR}
 
 나눔명조옛한글 \testfont{NanumMyeongjo-YetHangul.ttf}
 
@@ -543,8 +595,10 @@
 
 \fi
 
-\subsection{폰트의 지정}
+\usepmfont
 
+\subsection{폰트의 지정}\label{font:set}
+
 \paragraph{Script Hangul Option}
 
 \cmda{\jamoword}와 \env{jamotext} 인자 범위 내에서 한글을 식자하려 할 때에는
@@ -590,8 +644,45 @@
 옵션 \verb|pmfont={HCR Batang LVT}|는 이 두 매크로를 문서의 맨처음부터
 설정하는 것과 동일하다.
 
-\subsection{활용 방법}
+거의 쓸 일이 있을 것으로 생각하지 않지만 자모 한글을 식자할 때 pmfont에 의하지
+않고 본문 기본 한글 글꼴(이 때 한글 글꼴에는 반드시 \texttt{Script=Hangul}이
+주어져 있어야 한다)로 식자하도록 되돌리려 할 때
+\begin{verbatim}
+  \unusepmfont
+\end{verbatim}
+를 선언할 수 있다. 본문 글꼴에 \texttt{Script=Hangul} 옵션이
+주어져 있지 않으면 다음과 같은 결과를 얻게 될 것이다.
+\unusepmfont
+\jamoword{na/ras;mar:ss@/mi;}
+\usepmfont
 
+\paragraph{패키지 옵션 pmfontfeature} \marginpar{\fbox{\footnotesize{v0.5.1}}}
+자모 한글을 식자하는 폰트(pmfont)에 추가적인 fontfeature를 부여하려면 이 옵션을
+쓸 수 있다. 다음은 \koTeX\ 한글 폰트 속성 FakeStretch를 부여한 예이다.
+
+\begin{verbatim}
+  \usepackage[pmfont={HCR Batang LVT},pmfontfeature={FakeStretch=0.9}]
+  {pmhanguljamo}
+\end{verbatim}
+
+\cmda{\setpmhangulfont} 명령의 옵션으로 fontfeature를 부여할 수도 있다.
+
+\begin{verbatim}
+  \setpmhangulfont{Noto Serif KR}[FakeStretch=0.9]
+\end{verbatim}
+
+이미 부여한 속성을 기본값으로 되돌리려면 \cmda{\setpmhangulfont}를 옵션 없이
+선언하여야 한다.
+
+\begin{exampleside}
+\setpmhangulfont{HCR Batang LVT}[Color=blue,FakeStretch=0.8]
+\jamoword{moi/koa g@/r at m/sbun is/go}\\
+\setpmhangulfont{Noto Serif KR}
+\jamoword{moi/koa g@/r at m/sbun is/go}
+\end{exampleside}
+
+\subsection{활용}
+
 특정 언어 패키지나 입력기의 제약 없이 한글 글꼴을 지정하는 것만으로
 현대 한글과 옛한글을 모두 표현할 수 있다는 것이 \pkg{pmhanguljamo}의 장점이다.
 
@@ -737,7 +828,6 @@
 \end{jamotext}
 \end{quote}
 
-
 \section{표준 로마자 표기법 전자법 입력}\label{sec:rrk}
 
 \let\Ajamoword\jamoword
@@ -834,7 +924,7 @@
 \begin{boxedverbatim}
 \begin{verse}
 \begin{jamotext}
-nae saranghali siwol-ui gangmul-eul \\
+nae salanghali siwol-ui gangmul-eul \\
 seog-yang-i jit-eoganeun puleun molaetob \\
 jinan nal gajyeossdeon seulpeun yeojeongdeul-eul, adeughan gidaeleul \\
 ijeneun hollo nam-a ttatteus-i gidalili.
@@ -844,7 +934,7 @@
 
 \begin{verse}
 \begin{jamotext}
-nae saranghali siwol-ui gangmul-eul \\
+nae salanghali siwol-ui gangmul-eul \\
 seog-yang-i jit-eoganeun puleun molaetob \\
 jinan nal gajyeossdeon seulpeun yeojeongdeul-eul, adeughan gidaeleul \\
 ijeneun hollo nam-a ttatteus-i gidalili.
@@ -959,10 +1049,12 @@
 QT에서 뭔가 이상하게 동작하거나 아예 한글 입력이 안 되거나\ldots\ldots.
 \LaTeX\ 문서인데 굳이 입력기가 필요한가 생각이 들어 간단히 로마자 대응 입력(transliteration)으로 한글과 옛한글을
 입력하도록 하면 이 문제로 시간낭비하지 않아도 되지 않을까 싶어 시작하게 된 일이었다.
-(그리고 입력기 설치보다 더 많은 시간과 \jamotextcmd{ke}\jamotextcmd{xpi}--\footnote{이 표기를
-이태준 (1940), \ccnm{文章講話} (경성 종로, 文章社), p.~23에서 보았다. `\jamotextcmd{pxi}'가
-아니라 `\jamotextcmd{xpi}'이다. 부록의 \fref{fig:mun} 참조.
-인쇄 상태로 미루어보면 `\jamotextcmd{xpi}'자 활자가 있었던 것 같지는 않고 `피'를 식자한 후에 왼편에
+(그리고 입력기 설치보다 더 많은 시간과 {\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{ke}\jamotextcmd{xpi}}--\footnote{이 표기를
+이태준 (1940), \ccnm{文章講話} (경성 종로, 文章社), p.~23에서 보았다. `{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{pxi}}'가
+아니라 
+`{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{xpi}}'이다. 부록의 \fref{fig:mun} 참조.
+인쇄 상태로 미루어보면 
+`{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{xpi}}'자 활자가 있었던 것 같지는 않고 `피'를 식자한 후에 왼편에
 조그마한 고리를 달아 인쇄한 것으로 보인다.
 한편, 정약용의 원본에 지석영이 영어 단어와 음을 붙여 발행했다고 하는  \ccnm{아학편} (1909)에서도 이와 같은 표기법이 쓰이고 있다.}%
 를 소비하였다.)
@@ -1030,6 +1122,8 @@
 
 \textbullet\ v0.5 (2022/09/02): 패키지 옵션 \texttt{pmfont} 추가. jamotext 환경 
 내에서 아스키 에스케이핑.
+
+\textbullet\ v0.5.1 (2022/09/06): 버그 수정 및 ulem. 패키지 옵션 \texttt{pmfontfeature}.
 %%% APPENDICES
 \ExplSyntaxOn
 \int_new:N \l_appsec_int
@@ -1046,7 +1140,7 @@
 \newpage
 
 \section*{부록 \appsec. 이 문서 컴파일에 필요한 폰트}
-\addcontentsline{toc}{section}{\string\hspace{1.8em}부록}
+\addcontentsline{toc}{section}{\protect\numberline{}부록}
 
 이 문서의 한글과 한자 부분에 다음과 같은 폰트를 사용하였다.
 모두 설치되어 있어야 컴파일할 수 있다.

Modified: trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-rrk.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-rrk.sty	2022-09-07 20:43:40 UTC (rev 64312)
+++ trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo-rrk.sty	2022-09-07 20:43:54 UTC (rev 64313)
@@ -5,6 +5,7 @@
 %  v0.3.4 (2020/03/15)
 %  v0.4   (2021/11/28)
 %  v0.5   (2022/09/02)
+%  v0.5.1 (2022/09/06)
 %
 \seq_new:N \l_textjm_seq
 
@@ -64,7 +65,7 @@
 {
   \group_begin:
   \bool_if:NT \opt_usepmfont_bool
-  { \pm_hangulfontspec[Script=Hangul,Renderer=OpenType] {\opt_pmfont_tl } }
+  { \pm_hangulfontspec [\opt_pmfontfeature_tl] {\opt_pmfont_tl } }
   
 	\seq_set_split:Nnn \l_tmpa_seq { ~ } { #1 }
 	\seq_map_indexed_inline:Nn \l_tmpa_seq

Modified: trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty	2022-09-07 20:43:40 UTC (rev 64312)
+++ trunk/Master/texmf-dist/tex/latex/pmhanguljamo/pmhanguljamo.sty	2022-09-07 20:43:54 UTC (rev 64313)
@@ -22,8 +22,8 @@
 \RequirePackage{xparse}
 \ProvidesExplPackage
 	{pmhanguljamo}
-	{2022/09/02}
-	{v0.5}
+	{2022/09/06}
+	{v0.5.1}
 	{Poorman's Hangul Jamo Input Method}
 
 \RequirePackage{l3keys2e}
@@ -30,6 +30,7 @@
 
 \bool_new:N \opt_usepmfont_bool
 \tl_new:N \opt_pmfont_tl
+\tl_new:N \opt_pmfontfeature_tl
 
 \keys_define:nn { pmhanguljamo }
 {
@@ -38,7 +39,8 @@
 	pmfont	.code:n = {
 		\bool_gset_true:N \opt_usepmfont_bool
 		\tl_gset:Nn \opt_pmfont_tl { #1 }
-	}
+	},
+	pmfontfeature	.tl_set:N = \opt_pmfontfeature_tl
 }
 
 \ProcessKeysOptions { pmhanguljamo }
@@ -179,11 +181,31 @@
 	\bool_gset_true:N \opt_usepmfont_bool
 }
 
-\NewDocumentCommand \setpmhangulfont { m }
+\NewDocumentCommand \unusepmfont { }
 {
-	\tl_gset:Nn \opt_pmfont_tl { #1 }
+	\bool_gset_false:N \opt_usepmfont_bool
 }
 
+\NewDocumentCommand \setpmhangulfont { o m o }
+{
+	\tl_gset:Nn \opt_pmfont_tl { #2 }
+	\IfValueTF { #3 } { \tl_gset:Nn \opt_pmfontfeature_tl { #3, Script=Hangul, Renderer=OpenType } }
+	{
+		\IfValueTF { #1 } { \tl_gset:Nn \opt_pmfontfeature_tl { #1, Script=Hangul, Renderer=OpenType } }
+		{ \tl_gset:Nn \opt_pmfontfeature_tl { Script=Hangul, Renderer=OpenType } }
+	}
+}
+
+\AtBeginDocument{
+	\tl_if_empty:NTF \opt_pmfontfeature_tl
+	{
+		\tl_gset:Nn \opt_pmfontfeature_tl { Script=Hangul, Renderer=OpenType }
+	}
+	{
+		\tl_gput_right:Nn \opt_pmfontfeature_tl { , Script=Hangul, Renderer=OpenType }
+	}
+}
+
 %%%% if RRK is given, then input pmhanguljamo-rrk.sty
 %%%% and stop.
 
@@ -270,7 +292,12 @@
 	\seq_map_indexed_inline:Nn \l_inputword_seq
 	{
 		\bool_if:NTF \opt_usepmfont_bool
-		{ {\pm_hangulfontspec[Script=Hangul,Renderer=OpenType]{\opt_pmfont_tl} \jamotextcmd{ ##2 } } }
+		{
+			{
+				\pm_hangulfontspec [\opt_pmfontfeature_tl] {\opt_pmfont_tl} 
+				\jamotextcmd{ ##2 } 
+			} 
+		}
 		{ \jamotextcmd { ##2 } }
 		\int_compare:nT { ##1 < \seq_count:N \l_inputword_seq }
 		{ \space }
@@ -374,6 +401,7 @@
 \NewDocumentCommand \ColonMark {} { : }
 \NewDocumentCommand \SemiColonMark {} { ; }
 \NewDocumentCommand \SlashMark {} { / }
+\NewDocumentCommand \CntrdotMark {} { · }
 
 %%%%%%%%% DICTIONARIES
 \prop_const_from_keyval:Nn \c_cho_prop
@@ -794,5 +822,29 @@
 	|	= {}
 }
 
+%%%% underline
+\NewDocumentCommand \jamoul { m m }
+{
+	\tl_set:Nn \l_pmulcmdnm_tl { #1 }
+	\seq_set_split:Nnn \l_pmlli_seq { ~ } { #2 }
+	\seq_map_indexed_function:NN \l_pmlli_seq \_tr_ulfn:nn
+}
+
+\cs_new:Npn \_tr_ulfn:nn #1 #2
+{
+	\tl_set:Nn \l_tmpz_tl { #2 }
+	\regex_replace_all:nnN { \: } { \:\/ } \l_tmpz_tl
+	\regex_replace_all:nnN { \; } { \;\/ } \l_tmpz_tl
+	\seq_set_split:NnV \l_pmnni_seq { / } \l_tmpz_tl
+	\seq_map_inline:Nn \l_pmnni_seq
+	{
+		\exp_args:No \use:c { \l_pmulcmdnm_tl } { \jamoword { ##1 } }
+	}
+	\int_compare:nT { #1 < \seq_count:N \l_pmlli_seq }
+	{
+		\exp_args:No \use:c { \l_pmulcmdnm_tl } {\space}
+	}
+}
+
 \endinput
 



More information about the tex-live-commits mailing list.