summaryrefslogtreecommitdiff
path: root/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex')
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex89
1 files changed, 64 insertions, 25 deletions
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
index 7faa9e3822..ae98aa0847 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 KR},pmfontfeature={Ligatures=TeX}]{pmhanguljamo}
\usepackage{boxedminipage}
\usepackage{tabularray}
@@ -32,18 +32,21 @@
%%% [Script=Hangul] is needed to typeset YETHANGUL
\setmainfont{Noto Serif}
\setsansfont{Noto Sans}
-\setmonofont{Noto Sans Mono}
+\setmonofont{Droid Sans Mono}
\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}
-\tcbuselibrary{listings,breakable}
-\tcbset{listing engine=listings,colframe=gray,colback=white,size=normal}
+\tcbuselibrary{minted,breakable}
+\tcbset{listing engine=minted,colframe=gray,colback=white,size=normal}
\NewDocumentEnvironment {exampleside} {}
{ \tcblisting{listing side text,righthand width=.37\textwidth} }
{ \endtcblisting }
+\NewDocumentEnvironment {exampleonly} {}
+ { \tcblisting{listing only} }
+ { \endtcblisting }
\newcommand\pkg[1]{%
\textsf{#1}\index{#1}\index{패키지!#1}%
@@ -75,7 +78,7 @@
%\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/06\quad v0.5.1}
+\date{2022/09/07\quad v0.5.2}
\maketitle
@@ -106,7 +109,7 @@ e/nv; na;ri i; do;ra/gar h@i;o;.
\section{사용법 요약}\label{sec:summary}
-\begin{boxedverbatim}
+\begin{exampleonly}
\documentclass{article}
\usepackage{kotex}
\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo}
@@ -121,7 +124,7 @@ in/guen/ei dai/han mu/si/oa gyex/myer/i in/ryu/vi yax/sim/vr
gyeg/bun/si/ki/nvn man/haix/vr co/rai/ha/yess/v/mye/,
\end{jamotext}
\end{document}
-\end{boxedverbatim}
+\end{exampleonly}
\section{사용법}
@@ -290,12 +293,21 @@ Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없
\texttt{<ulem command name>}은 ulem 명령의 이름을 백슬래시 없이 지정한다는 뜻이다.
다음 예를 보라.
+\ifxetex
\begin{exampleside}
+\jamoword{go/ji nuns/mv/rvr sbv/ri/gey/ko}
\jamoul{uline}{ye/hvi/ye/syu/mvr svr/ho/ni sai}
\jamoul{uwave}{m@/@/m@r}
\jamoword{nor/rai/no/ra}
\end{exampleside}
-
+\else\ifluatex
+\begin{exampleside}
+\jamoword{go/ji nuns/mv/rvr sbv/ri/gey/ko}
+\uline{\jamoword{ye/hvi/ye/syu/mvr svr/ho/ni sai}}
+\uwave{\jamoword{m@/@/m@r}}
+\jamoword{nor/rai/no/ra}
+\end{exampleside}
+\fi\fi
%\textsf{oblivoir-misc}의 \cmda{\texthl}도 같은 방법으로 할 수 있다:
%\verb|\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}|
%\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}
@@ -378,7 +390,7 @@ Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없
\item `\jmcc{Q}'(옛이응)을 \verb|q|로 한 것은 역시 \pkg{frktex}에서 온 것인데 ``꼭지 달린 이응''이라는 글자 모양이 \verb|q|를 연상시킨다''는 이유였다고 한다. 그럴 법도 하다.
\item `\jmcc{Z}'(반시옷)을 \verb|z|로 한 것은 납득할 수 있다고 본다. z가 s의 유성음에 대응하기 때문에.
\item 가장 곤란했던 것은 \jmcc{F}(여린히읗)이었다. 사용되지 않은 자판 가운데서 선택할 수밖에 없는데 \texttt{l}, \texttt{v}, \texttt{w}, \texttt{f} 정도가 선택 가능한 범위였다. 알파벳이 아닌 부호문자 중에서 선택하는 것도 생각해보았으나 역시 자판의 윗줄로 올라가는 것은 꺼려져서 \verb|f|로 선택하였다. 순전히 편의에 의한 대응이다.
-\item `\jamotextcmd{sl@}'나 `\jamotextcmd{slr@}'와 같은 특별한 글자, `\jamotextcmd{jl*/cl*/jjl*/sl*/ss*}, \jamotextcmd{jlr*/clr*/jjlr*/slr*/sslr*}'의 초성 글자들, 즉 훈민정음 언해의 ``\jamoword{dyuq/guyg;so/ri;yeys; ni;sso/ri;}'' 표기에서 쓰이는 齒頭\cntrdot 正齒音을 구분하기 위한 글자들은 \texttt{s}, \texttt{j}, \texttt{c}에 \texttt{l}, \texttt{lr}을 붙여서 표기한다. \verb|l|이 왼쪽(치두음), \verb|lr|이 오른쪽(정치음)이 더 길어지는 글자가 된다.
+\item `\jamoword{sl@}'나 `\jamoword{slr@}'와 같은 특별한 글자, `\jamoword{jl*/cl*/jjl*/sl*/ss*}, \jamoword{jlr*/clr*/jjlr*/slr*/sslr*}'의 초성 글자들, 즉 훈민정음 언해의 ``\jamoword{dyuq/guyg;so/ri;yeys; ni;sso/ri;}'' 표기에서 쓰이는 齒頭\cntrdot 正齒音을 구분하기 위한 글자들은 \texttt{s}, \texttt{j}, \texttt{c}에 \texttt{l}, \texttt{lr}을 붙여서 표기한다. \verb|l|이 왼쪽(치두음), \verb|lr|이 오른쪽(정치음)이 더 길어지는 글자가 된다.
\item `\jmcc{BX}', `\jmcc{BBX}', `\jmcc{MX}', `\jmcc{PX}'와 같은 ``\jamoword{ib/si/ur;ga/b@i;ya/bx@n; so/ri;}'' 표기는 \verb|x|를 이어써서 표기한다. 각각, \texttt{bx}, \texttt{bbx}, \texttt{mx}, \texttt{px}.
\item 겹자음\cntrdot 복자음은 이어쓴다. \texttt{gg} \jmcc{GG}, \texttt{bsg} \jmcc{BSG}, \texttt{bsd} \jmcc{BSD}, \texttt{rf} \jmcc{RF}.
\item `제로자음'인 초성 이응은 생략할 수 있다. 모음으로 시작하면 초성 이응을 식자해준다. \verb|\jamoword{an}| \jamoword{an}.
@@ -455,15 +467,18 @@ Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없
\item \texttt{;}, \texttt{:}, \texttt{/} --- 이 세 개의 부호는 성조표지, 음절완성을 표시하기 위하여 예약되어 있다.
\item \texttt{|} --- 이 한 개의 부호문자는 내부적으로 사용하도록 예약되어 있다.
\end{itemize}
-이를 제외한 문자는 입력한 대로 찍힌다. 즉 한글 완성형 음절 문자나 한자 및 숫자와 문장부호가 모두 그대로 출력된다. 예: \verb|\jamoword{``/u/ri/na/ra/"}| \jamoword{``/u/ri/na/ra/"}. 모든 문장 부호는 모두 음절 분리 부호에 의하여 분리되어 있어야 한다는 점에 주의하라.
+이를 제외한 문자는 입력한 대로 찍힌다. 즉 한글 완성형 음절 문자나 한자 및 숫자와 문장부호가 모두 그대로 출력된다. 예: \verb|\jamoword{``/u/ri/na/ra/"}| \jamoword{``/u/ri/na/ra/''}.\footnote{%
+ 여기서 \texttt{`}\texttt{`} 입력이 여는 따옴표로 나오는 이유는 \texttt{pmfont}로
+ 지정하는 폰트에 기본적으로 \texttt{Ligatures=TeX} feature 옵션이 주어지기 때문이다.
+ \texttt{pmfont} 옵션에 의하지 않고 별도로 폰트를 설정할 때 이 점을 알아두어야 한다.}
+모든 문장 부호는 모두 음절 분리 부호에 의하여 분리되어 있어야 한다는 점에 주의하라.
-콜론, 세미콜론, 슬래시는 각각 \cmda{\ColonMark}, \cmda{\SemiColonMark}, \cmda{\SlashMark} 명령을 사용할 수 있게 해두었다.
+콜론, 세미콜론, 슬래시는 각각 \cmda{\ColonMark}, \cmda{\SemiColonMark}, \cmda{\SlashMark} 명령을 사용할 수 있게 해두었다. 이밖에 \cmda{\CntrdotMark}는 가운뎃점을 식자한다.
매크로를 쓸 수 없는 것이 원칙이기는 하나,
protect된 단일 매크로는 그대로 출력된다. 그러나 인자를 취하는 매크로는 오류가 발생할 것이므로
인자 범위 밖에 두도록 하라.
-\medskip
\begin{exampleside}
\jamoword{15 세기 표기\ColonMark{} 國之語音, 우리나라의 말이
$\Rightarrow$ na/ras/mar/ss@/mi}
@@ -485,9 +500,29 @@ $\Rightarrow$ na/ras/mar/ss@/mi}
\medskip
\begin{exampleside}
-\jamoword{b@/r@/mi sb@/r@/mye ha/n@r/hi{} 놉고 나ᄇᆡ 됫ᄑᆞ라미 슬프니}
+\jamoword{b@/r@/mi sb@/r@/mye ha/n@r/hi 놉고 나ᄇᆡ 됫ᄑᆞ라미 슬프니}
\end{exampleside}
+\env{jamotext} 환경 안에서 강제 개행 명령(\verb|\\|)을 쓸 때 주의할 점이 있다.
+예를 들어 다음과 같은 입력
+\begin{verbatim}
+ na/ras/mar/ss@/mi\\
+ 中dyuq/國guig/ei dar/a
+\end{verbatim}
+여기서 `\verb|mi\\|' 부분은 음절로서 완성되지 않는다. 왜냐하면
+슬래시(\verb|/|)를 생략할 수 있는 것은 space 직전이어야 하기 때문이다.
+그러므로
+\begin{verbatim}
+ na/ras/mar/ss@/mi \\
+ 中dyuq/國guig/ei dar/a
+\end{verbatim}
+이와 같이 space를 하나 두거나
+\begin{verbatim}
+ na/ras/mar/ss@/mi/\\
+ 中dyuq/國guig/ei dar/a
+\end{verbatim}
+슬래시(성조표지)를 생략하지 않아야 한다. 대체로 스페이스를 하나 두는 쪽이 안전하다.
+
\section{폰트}
\subsection{사용가능한 글꼴}\label{sec:font}
@@ -599,14 +634,14 @@ Adobe 명조 \testfont{AdobeMyungjoStd-Medium.otf}
\subsection{폰트의 지정}\label{font:set}
-\paragraph{Script Hangul Option}
+\paragraph{Script Hangul Feature}
\cmda{\jamoword}와 \env{jamotext} 인자 범위 내에서 한글을 식자하려 할 때에는
주어진 (한글) 폰트의 \textsf{Script Hangul} 속성을 활성화하여야 한다.\footnote{이것은
폰트가 가지고 있는 오픈타입 속성을 활성화하여 자모 한글을 제대로 출력하도록 지정하는 역할을 한다. 자모 한글을
처리하는 기능을 가지고 있지 않은 글꼴에서는 아무 역할도 하지 않고 컴파일 시 콘솔에 경고 메시지를 보일 것이다.}%
\textsuperscript{, }\footnote{\hologo{LuaTeX}에서는 약간의
-추가 옵션이 더 필요할 수 있다. 이 문서의 이후 \texttt{[Script=Hangul]}을 주라고 하는 때에
+추가 옵션(\texttt{Renderer=Harfbuzz} 또는 \texttt{Renderer=OpenType})이 더 필요할 수 있다. 이 문서의 이후 \texttt{[Script=Hangul]}을 주라고 하는 때에
모두 동일하다. \pageref{sec:luatex}페이지의 부록 B를 보라.\label{fn:fontoption}}
그러므로 \pkg{fontspec} 방식으로 폰트를 지정할 때 반드시
@@ -632,9 +667,10 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo}
\end{verbatim}
이 때에는 \cmda{\jamoword}와 \env{jamotext}의 인자 범위에서 pm 자모 입력된
-한글 문자에 대해서 지정된 폰트가 (\texttt{Script=Hangul}이 자동으로 주어져서)
+한글 문자에 대해서 지정된 폰트가 (필요한 속성(feature)이 자동으로 주어져서)
적용된다.
+필요할 적에 활용할 수 있도록 \texttt{pmfont}에 관련된
두 개의 매크로가 정의되어 있다. \verb|\usepmfont|는 명령이 주어진 위치부터
\verb|\setpmhangulfont|에 의하여 지정되는 폰트를 자모 식자에 사용한다.
\begin{verbatim}
@@ -658,7 +694,9 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
\paragraph{패키지 옵션 pmfontfeature} \marginpar{\fbox{\footnotesize{v0.5.1}}}
자모 한글을 식자하는 폰트(pmfont)에 추가적인 fontfeature를 부여하려면 이 옵션을
-쓸 수 있다. 다음은 \koTeX\ 한글 폰트 속성 FakeStretch를 부여한 예이다.
+쓸 수 있다.\footnote{이 패키지가 \texttt{pmfont}에 default로 부여하는 속성은 \texttt{Ligatures=TeX},
+\texttt{Script=Hangul}, 그리고 \texttt{Renderer=OpenType}이다.}
+다음은 \koTeX\ 한글 폰트 속성 FakeStretch를 부여한 예이다.
\begin{verbatim}
\usepackage[pmfont={HCR Batang LVT},pmfontfeature={FakeStretch=0.9}]
@@ -694,7 +732,7 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
\begin{boxedverbatim}
-\setmainhangulfont{Noto Serif KR}[Script=Hangul]
+ \setmainhangulfont{Noto Serif KR}[Script=Hangul]
\end{boxedverbatim}
또는 \texttt{pmfont} 옵션을 지정한다. 본문과 다른 폰트를 쓰게 하려 할 때에도
@@ -722,16 +760,15 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
%\begin{figure}
%\centering
%\begin{boxedminipage}{\dimexpr\textwidth-2.5cm\relax}
-\begin{boxedverbatim}
+\begin{exampleonly}
\documentclass{article}
\usepackage{fontspec}
\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo}
-
\begin{document}
Say `Hello' in Korean,
\jamoword{an/nyex/ha/sey/yo}.
\end{document}
-\end{boxedverbatim}
+\end{exampleonly}
%\end{boxedminipage}
%\caption{article에서 pmhanguljamo을 쓰는 예}\label{fig:sample}
%\end{figure}
@@ -752,12 +789,12 @@ Say `Hello' in Korean,
그러나 한국어가 mainlanguage라면 \texttt{pmfont}를 이용하여
자모 식자를 하도록 강제할 수 있다.
-\begin{boxedverbatim}
+\begin{exampleonly}
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{korean}
-\newfontfamily\hangulfont{UnBatang}[Script=Hangul]
+\newfontfamily\hangulfont{HCR BAtang LVT}[Script=Hangul]
\usepackage{pmhanguljamo}
\begin{document}
@@ -765,7 +802,7 @@ Say `Hello' in Korean,
\jamoword{han/gug/e/rvr han/gvr/ro}
\end{korean}
\end{document}
-\end{boxedverbatim}
+\end{exampleonly}
만약에 \env{korean} 환경이 시작되면 그 안에서는 (무조건) pm 자모 입력 모드가 되도록 하려면
다음 코드를 preamble에 두면 된다.
@@ -1124,6 +1161,8 @@ Expl3는 내가 원하는 일을 너무나 간단하게 구현할 수 있게 해
내에서 아스키 에스케이핑.
\textbullet\ v0.5.1 (2022/09/06): 버그 수정 및 ulem. 패키지 옵션 \texttt{pmfontfeature}.
+
+\textbullet\ v0.5.2 (2022/09/07): \texttt{pmhanguljamo-kdoc.pdf} 문서의 오류 수정. \cmda{\jamoul} 버그 수정.
%%% APPENDICES
\ExplSyntaxOn
\int_new:N \l_appsec_int
@@ -1146,7 +1185,7 @@ Expl3는 내가 원하는 일을 너무나 간단하게 구현할 수 있게 해
모두 설치되어 있어야 컴파일할 수 있다.
\begin{description} \firmlist
-\item[Noto CJK] Noto Serif, Noto Sans, Noto Sans Mono CJK 폰트. \href{https://fonts.google.com}{Google Fonts}.
+\item[Noto Korean] Noto Serif Korean, Noto Sans Korean 폰트. \href{https://fonts.google.com}{Google Fonts}.
Adobe사의 \href{https://source.typekit.com/source-han-serif/kr/}{본명조(Source Han Serif)}\cntrdot \href{https://github.com/adobe-fonts/source-han-sans/tree/release/}{본고딕(Source Han Sans)}과 거의 같다.
\item[함초롬 LVT] 함초롬 바탕 LVT, 함초롬 돋움 LVT. 한글과컴퓨터 \& 한국텍학회. \href{http://wiki.ktug.org/wiki/wiki.php/%ED%95%A8%EC%B4%88%EB%A1%AC%EC%B2%B4LVT}{KTUG:함초롬체 LVT}.
\item[나눔 옛한글] 나눔명조 옛한글, 나눔바른고딕 옛한글. \href{https://hangeul.naver.com/2014/archaicword}{네이버 한글한글아름답게}.