From d6158a3c4bae59f230a930d040c88f709a8154ee Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 7 Aug 2014 21:47:05 +0000 Subject: xetexko (7aug14) git-svn-id: svn://tug.org/texlive/trunk@34864 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xetex/xetexko/ChangeLog | 8 ++ Master/texmf-dist/doc/xetex/xetexko/README | 2 +- .../texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf | Bin 195509 -> 197642 bytes .../texmf-dist/doc/xetex/xetexko/xetexko-doc.tex | 42 +++++----- .../texmf-dist/tex/xetex/xetexko/xetexko-font.sty | 86 +++++++++++++++++---- 5 files changed, 103 insertions(+), 35 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/xetex/xetexko/ChangeLog b/Master/texmf-dist/doc/xetex/xetexko/ChangeLog index 6dab58fb20c..d8da5d7a530 100644 --- a/Master/texmf-dist/doc/xetex/xetexko/ChangeLog +++ b/Master/texmf-dist/doc/xetex/xetexko/ChangeLog @@ -1,3 +1,11 @@ +2014-08-04 Dohyun Kim + + Version 2.9 + + * xetexko-font.sty: Nanum Truetype fonts, if available, will be used + as default hangul/hanja fonts if no hangul/hanja font is specified by + users. + 2014-07-27 Dohyun Kim Version 2.8 diff --git a/Master/texmf-dist/doc/xetex/xetexko/README b/Master/texmf-dist/doc/xetex/xetexko/README index b73669f5e16..3582ae0f0b3 100644 --- a/Master/texmf-dist/doc/xetex/xetexko/README +++ b/Master/texmf-dist/doc/xetex/xetexko/README @@ -1,4 +1,4 @@ -XeTeX-ko Package version 2.8 (2014/07/27) +XeTeX-ko Package version 2.9 (2014/08/04) ========================================= XeTeX-ko is a macro package for Xe(La)TeX which supports typesetting diff --git a/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf b/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf index 9d4f9261f3c..0fba5658bfa 100644 Binary files a/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf and b/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf differ diff --git a/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex b/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex index 41f90a86d2d..576c7c9ad66 100644 --- a/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex +++ b/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex @@ -39,6 +39,7 @@ \hbox{\grayvrule\kern10pt\box0}% \else \setbox2=\vsplit0 to\dimen0 + \lineskip0pt \ifvoid2 \else\hbox{\grayvrule\kern10pt\box2}\fi \ifvoid0 \else\hbox{\grayvrule\kern10pt\box0}\fi \fi \par\medskip\par } @@ -56,7 +57,7 @@ \title{\xetexko\ 간단 매뉴얼} \author{Dohyun Kim \normalsize <\texttt{nomos at ktug org}> \and \normalsize <\url{http://github.com/dohyunkim/xetexko}>} -\date{Version 2.8\quad 2014/07/27} +\date{Version 2.9\quad 2014/08/04} \maketitle \begin{quote}\small @@ -94,6 +95,10 @@ \item \hyperref[sec:fontopts] {\cs{defaulthangulfontfeatures}와 \cs{defaulthanjafontfeatures} 명령이 생겼다.} + \item[v2.9]--- + \item \hyperref[sec:fontcmds] + {영문폰트에 한글·한자 자형이 없고 한글·한자 폰트도 따로 지시하지 않았다면 + 나눔 트루타입을 한글·한자 글꼴의 기본값으로 사용한다.} \end{itemize} \end{quote} @@ -154,10 +159,7 @@ fontspec에 옵션을 주려면 \xetexko를 부르기 전에 fontspec을 따로 \setmainhanjafont {UnBatang} \end{verbatim} 각 명령의 의미는 이름이 뜻하는 그대로이며, fontspec 매뉴얼에 따라 -설정한다. 한글폰트를 따로 지정하지 않으면 영문폰트가 한글에도 사용된다. -한자폰트를 따로 지정하지 않으면 한글폰트가 한자에도 적용된다. - -마찬가지로 다음 명령들도 제공한다. +설정한다. 마찬가지로 다음 명령들도 제공한다. \begin{verbatim} \setsansfont \setsanshangulfont \setsanshanjafont \setmonofont \setmonohangulfont \setmonohanjafont @@ -165,6 +167,13 @@ fontspec에 옵션을 주려면 \xetexko를 부르기 전에 fontspec을 따로 main/sans hangul/hanja 폰트에는 따로 \verb|Ligatures=TeX| 옵션을 지시하지 않더라도 자동으로 주어진다. +한글폰트를 따로 지정하지 않으면 영문폰트가 한글에도 사용된다. +한자폰트를 따로 지정하지 않으면 한글폰트가 한자에도 적용된다. +\LaTeX 에서는 영문폰트에 한글·한자 글리프가 없고 한글·한자 폰트도 따로 +지시하지 않았다면 \hemph{나눔 트루타입을 한글·한자 글꼴의 기본값}으로 +사용한다.\footnote{나눔 글꼴을 찾을 수 없다면 바탕/돋움 글꼴을 이용하고 + 그마저도 없다면 한글·한자가 식자되지 않을 뿐, 에러를 발생시키지는 않는다.} + \begin{plaintex} 플레인텍이라면 다음처럼 한다. \begin{verbatim} @@ -174,8 +183,7 @@ main/sans hangul/hanja 폰트에는 따로 \verb|Ligatures=TeX| 옵션을 지시 \end{verbatim} \end{plaintex} -버전 2.2부터는 \cs{fallbackhanjafont}를 정의해두면 -\hemph{한자 글꼴에도 없는 한자}를 +\cs{fallbackhanjafont}를 정의해두면 \hemph{한자 글꼴에도 없는 한자}를 이 글꼴에서 찾아 식자한다. \verb|\newfontfamily| 명령으로 정의한다. \section{글꼴 명령 (계속)} @@ -495,23 +503,19 @@ japanese 혹은 chinese 환경을 선언하는 것이 좋다. 사용자가 입력한 불필요한 공백도 없애준다. Schinese 환경은 chinese의 다른 이름이다. Tchinese도 제공하는데 중국어 번체 글꼴을 사용한다면 이 환경을 이용하라. +일반적으로 우리 고문헌 조판에는 japanese 환경이 더 적합하다. \begin{figure} \begin{example}\linespread{1.3} - \sffamily\chinese -子曰:「學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,不亦君子乎?」 - -有子曰:「其爲人也孝弟,而好犯上者,鮮矣!不好犯上,而好作亂者,未之有也!君子務本,本立而道生;孝弟也者,其爲仁之本與?」 - -子曰:「巧言令色,鮮矣仁!」 - -曾子曰:「吾日三省吾身:爲人謀,而不忠乎?與朋友交,而不信乎?傳,不習乎?」 - -子曰:「道千乘之國,敬事而信,節用而愛人,使民以時。」 - + \sffamily\japanese +子曰:「學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,不亦君子乎?」\par +有子曰:「其爲人也孝弟,而好犯上者,鮮矣!不好犯上,而好作亂者,未之有也!君子務本,本立而道生;孝弟也者,其爲仁之本與?」\par +子曰:「巧言令色,鮮矣仁!」\par +曾子曰:「吾日三省吾身:爲人謀,而不忠乎?與朋友交,而不信乎?傳,不習乎?」\par +子曰:「道千乘之國,敬事而信,節用而愛人,使民以時。」\par 子曰:「弟子入則孝,出則弟;謹而信,汎愛衆;而親仁,行有餘力,則以學文。」 \end{example} -\caption{고문헌 조판 보기}\label{fig:ancientdoc} +\caption{고문헌 조판 보기. japanese 환경을 이용했다.}\label{fig:ancientdoc} \end{figure} \cs{inhibitglue} 명령은 일본어 등 환경에서 가끔 유용한데, diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty index 1bc55c448c7..0e12c811e06 100644 --- a/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty +++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty @@ -10,7 +10,7 @@ % and version 1.3c or later is part of all distributions of LaTeX % version 2006/05/20 or later. -\ProvidesPackage{xetexko-font}[2014/07/27 v2.8 LaTeX Font commands for XeTeX-ko] +\ProvidesPackage{xetexko-font}[2014/08/04 v2.9 LaTeX Font commands for XeTeX-ko] \let\xetexko@f@size\f@size \RequirePackage{fontspec}[2014/05/25] @@ -27,7 +27,6 @@ \tl_new:N \l_xtxko_font_opts_init_tl \tl_set:Nn \l_xtxko_font_opts_init_tl { - \tl_clear:N \xetexkointerhchar \tl_clear:N \xetexkointerhchar \tl_clear:N \xetexkolowerexclamation \tl_clear:N \xetexkolowerperiod @@ -422,17 +421,6 @@ \let\hnjmonofont\korsansfont \fi -%%%%%%%%%%%%%%%%%%%%%%%%%% -% for lazy font setting -\AtBeginDocument{% - \ifdefined\kormainfont\else \let\kormainfont\relax \fi - \ifdefined\korsansfont\else \let\korsansfont\kormainfont \fi - \ifdefined\kormonofont\else \let\kormonofont\korsansfont \fi - \ifdefined\hnjmainfont\else \let\hnjmainfont\kormainfont \fi - \ifdefined\hnjsansfont\else \let\hnjsansfont\korsansfont \fi - \ifdefined\hnjmonofont\else \let\hnjmonofont\kormonofont \fi -} - %%%%%%%%%%%%%%%%%%%%%%%%%% % font switching for latex \def\XKstoreprevfont{% @@ -515,9 +503,77 @@ \fi\fi \let\reset@font\normalfont -%%%%%%%%%%%%%%%%%%%%% -% hangul in math mode +% for default font loading +\def\XKiffontisaccessible#1#2#3{% + \begingroup + \suppressfontnotfounderror\@ne + \font\x="#1" at 10pt + \expandafter + \endgroup + \ifx\x\nullfont #3\else #2\fi +} +\def\XKiffonthasunichar#1#2#3#4{% + \begingroup #1\expandafter\endgroup + \iffontchar\font"#2\relax #3\else #4\fi +} + \AtBeginDocument{% + %%%%%%%%%%%%%%%%%%%%%%%%%% + % default main hangul: nanummyeongjo, batang if absent + \ifdefined\kormainfont\else + \XKiffonthasunichar{\fontfamily\rmdefault\selectfont}{AC00} + {\let\kormainfont\relax} + {\XKiffontisaccessible{NanumMyeongjoExtraBold} + {\setmainhangulfont{NanumMyeongjo}[BoldFont=*ExtraBold]} + {\XKiffontisaccessible{NanumMyeongjo} + {\setmainhangulfont{NanumMyeongjo}} + {\XKiffontisaccessible{Batang} + {\setmainhangulfont{Batang}[AutoFakeBold]} + {\let\kormainfont\relax}% + }% + }% + }% + \fi + % default main hanja: nanumgothic, batang if absent + \ifdefined\hnjmainfont\else + \XKiffonthasunichar{\kormainfont}{4E00} + {\let\hnjmainfont\kormainfont} + {\XKiffontisaccessible{NanumGothic} + {\setmainhanjafont{NanumGothic}} + {\XKiffontisaccessible{Batang} + {\setmainhanjafont{Batang}[AutoFakeBold]} + {\let\hnjmainfont\kormainfont}% + }% + }% + \fi + % default sans hangul: nanumgothic, dotum if absent + \ifdefined\korsansfont\else + \XKiffonthasunichar{\fontfamily\sfdefault\selectfont}{AC00} + {\let\korsansfont\relax} + {\XKiffontisaccessible{NanumGothic} + {\setsanshangulfont{NanumGothic}} + {\XKiffontisaccessible{Dotum} + {\setsanshangulfont{Dotum}[AutoFakeBold]} + {\let\korsansfont\relax}% + }% + }% + \fi + % default sans hanja: nanumgothic, dotum if absent + \ifdefined\hnjsansfont\else + \XKiffonthasunichar{\korsansfont}{4E00} + {\let\hnjsansfont\korsansfont} + {\XKiffontisaccessible{NanumGothic} + {\setsanshanjafont{NanumGothic}} + {\XKiffontisaccessible{Dotum} + {\setsanshanjafont{Dotum}[AutoFakeBold]} + {\let\hnjsansfont\korsansfont}% + }% + }% + \fi + \ifdefined\kormonofont\else \let\kormonofont\korsansfont \fi + \ifdefined\hnjmonofont\else \let\hnjmonofont\kormonofont \fi + %%%%%%%%%%%%%%%%%%%%% + % hangul in math mode \begingroup \ifx\xetexko@math@hangul@family\undefined \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}% -- cgit v1.2.3