texlive[59215] Master/texmf-dist: xetexko (15may21)
commits+karl at tug.org
commits+karl at tug.org
Sat May 15 22:41:40 CEST 2021
Revision: 59215
http://tug.org/svn/texlive?view=revision&revision=59215
Author: karl
Date: 2021-05-15 22:41:39 +0200 (Sat, 15 May 2021)
Log Message:
-----------
xetexko (15may21)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog
trunk/Master/texmf-dist/doc/xetex/xetexko/README
trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf
trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex
trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog 2021-05-15 20:37:46 UTC (rev 59214)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog 2021-05-15 20:41:39 UTC (rev 59215)
@@ -1,3 +1,9 @@
+2021-05-15 Dohyun Kim <nomos at ktug org>
+
+ Version 3.4
+
+ * internal changes regarding font-switching method
+
2021-04-20 Dohyun Kim <nomos at ktug org>
Version 3.3
Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/README
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexko/README 2021-05-15 20:37:46 UTC (rev 59214)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/README 2021-05-15 20:41:39 UTC (rev 59215)
@@ -1,4 +1,4 @@
-XeTeX-ko Package version 3.3 (2021/04/20)
+XeTeX-ko Package version 3.4 (2021/05/15)
=========================================
XeTeX-ko is a macro package for Xe(La)TeX which supports typesetting
Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex 2021-05-15 20:37:46 UTC (rev 59214)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex 2021-05-15 20:41:39 UTC (rev 59215)
@@ -61,8 +61,8 @@
\def\hemph#1{\textsf{\bfseries #1}}
\def\hparen#1{{\small\hangulparens(#1)}}
\let\hparens\hparen
-\def\keyword#1{\leavevmode\marginpar{\hfuzz\maxdimen\footnotesize\cs{#1}}}
-\def\vernote#1{\leavevmode\marginpar{\hfuzz\maxdimen\footnotesize{\color{red}☜ v#1}}}
+\def\keyword#1{\cs{#1}\marginpar{\hfuzz\maxdimen\footnotesize{\color{blue!70}\cs{#1}}}}
+\def\vernote#1{v#1\marginpar{\hfuzz\maxdimen\footnotesize{\color{red}☜ v#1}}}
\hangingpunctuations
@@ -70,7 +70,7 @@
\title{\xetexko\ 간단 매뉴얼}
\author{Dohyun Kim \normalsize <\texttt{nomos at ktug org}> \and
\normalsize <\url{http://github.com/dohyunkim/xetexko}>}
-\date{Version 3.3\quad 2021/04/20}
+\date{Version 3.4\quad 2021/05/15}
\maketitle
\begin{quote}\small
@@ -146,7 +146,7 @@
\bigskip
-※ 버전 3.1부터 플레인텍에 주요 변경사항이 있다:\vernote{3.1}%
+※ \vernote{3.1} 및 \vernote{3.4}부터 플레인텍에 주요 변경사항이 있다:
\begin{plaintex}
플레인텍에서도 기본값으로 은바탕을 한글에 사용한다. 한글폰트를 지시하는 방법은 다음과 같다.
\begin{verbatim}
@@ -154,22 +154,20 @@
\hangulfont="[UnBatang]:mapping=tex-text" at 10pt
\hanjafont ="Naver Dictionary:mapping=tex-text" at 10pt
\end{verbatim}
- 그런데 3.1 버전부터는 이렇게 하면 문서 중간에 영문글꼴을 바꾸더라도
- \cs{hangulfont} 선언시의 영문글꼴이 계속 적용되도록 바뀌었다.
- 그래서 다음과 같은 새로운 명령을 제공한다.
+ \sout{그런데 3.1 버전부터는 이렇게 하면 문서 중간에 영문글꼴을 바꾸더라도
+ \cs{hangulfont} 선언시의 영문글꼴이 계속 적용되도록 바뀌었다.}
+ 또한 다음과 같은 새로운 명령을 제공한다.
\begin{verbatim}
- \tt
\sethangulfont\untaza ="[UnTaza.ttf]" at 10pt
\sethanjafont \undotum="[UnDotum.ttf]" at 10pt
- \def\tt{\untaza\undotum}
+ \expandafter\def\expandafter\tt\expandafter{\tt\untaza\undotum}
\end{verbatim}
- 이 경우 \cs{untaza}, \cs{undotum} 명령에 \cs{set...font} 실행시의 현재폰트 명령이
- 자동으로 포함된다. 뒤에서 설명할 글꼴옵션이 포함되는 것과 같은 개념이다.
+ \sout{이 경우 \cs{untaza}, \cs{undotum} 명령에 \cs{set...font} 실행시의 현재폰트 명령이
+ 자동으로 포함된다. 뒤에서 설명할 글꼴옵션이 포함되는 것과 같은 개념이다.}
그리하여 예의 \cs{tt} 명령으로 이제 한글, 한자, 영문 글꼴을 동시에 바꿀 수 있게 된다.
\end{plaintex}
-\keyword{fallbackhanjafont}%
-\cs{fallbackhanjafont}를 정의해두면 \hemph{한자 글꼴에도 없는 한자}를
+\keyword{fallbackhanjafont}를 정의해두면 \hemph{한자 글꼴에도 없는 한자}를
이 글꼴에서 찾아 식자한다. \cs{newfontfamily} 명령 등으로 정의한다.
\section{글꼴 명령 (계속)}
@@ -197,8 +195,7 @@
참고로, 한자와 한글을 같은 글꼴로 식자하고 싶을 때 글꼴 설정을
번거롭게 두 번 할 필요 없이 한글 글꼴만 설정한 뒤 간단히
-\keyword{hanjabyhangulfont}%
-\cs{hanjabyhangulfont}를 선언하면 된다.%
+\keyword{hanjabyhangulfont}를 선언하면 된다.%
\footnote{프리앰블의 main/sans/mono 글꼴 명령들과 달리 새로 지정한 한글 폰트가
한자에도 자동으로 적용되지는 않는다는 말이다.}
@@ -225,16 +222,16 @@
\item[cjksymbols] CJK 구두점, 괄호 및 상징기호
\end{description}
-종전에\vernote{3.0}
+종전에
라틴숫자에 적용되던 \verb|nums| 옵션과
라틴 인용부호에 적용되던 \verb|quotes| 옵션이
-3.0 버전부터는
+\vernote{3.0}부터는
각각 \verb|alphs| 옵션과 \verb|parens| 옵션에 통합되었음에 유의하라.
-또한\vernote{3.0} en dash, em dash가 종래 \verb|colons|에 속하던 것이 이제
+또한 en dash, em dash가 종래 \verb|colons|에 속하던 것이 이제
\verb|hyphens|에 속하게 되었다.
기본값은 다음 명령을 준 것과 동일하다.
-v3.0부터\vernote{3.0} 괄호류의 기본글꼴이 한글이 되었음도 유의하라.
+\vernote{3.0}부터 괄호류의 기본글꼴이 한글이 되었음도 유의하라.
\begin{verbatim}
\xetexkofontregime {latin}%
[ puncts=prevfont, colons=prevfont,
@@ -285,7 +282,7 @@
기본값은 \verb|0pt|.
고정폭 글꼴에서도 이 옵션은 작동한다.
\end{description}
-3.0 버전부터는\vernote{3.0} 다음 옵션들이 아무 효과도 가져오지 않게
+\vernote{3.0}부터는 다음 옵션들이 아무 효과도 가져오지 않게
변경되었음을 주의하라.
\begin{verbatim}
lowerperiod lowerquestion
@@ -311,9 +308,9 @@
한자폰트 옵션을 서로 달리 지시할 수 있다.
\end{plaintex}
-종전에 한글·한자 글꼴의 옵션 기본값을 지정하던\vernote{3.0}
+종전에 한글·한자 글꼴의 옵션 기본값을 지정하던
\cs{defaulthangulfontfeatures} 및 \cs{defaulthanjafontfeatures} 명령이
-3.0 버전부터는
+\vernote{3.0}부터는
아무런 기능을 하지 않게 변경되었음에 유의하라.
폰트옵션의 수가 적어졌기 때문에 이 명령의 유용성도 거의 사라졌다고 판단했다.
@@ -336,8 +333,7 @@
\cs{nocompresspunctuations}는 이 명령과 동의어이다.\\
반대로
- \keyword{compresspunctuations}%
- \cs{compresspunctuations}는 반각을 강제하라는 명령이다.
+ \keyword{compresspunctuations}는 반각을 강제하라는 명령이다.
이것이 기본값이므로 특별한 경우가 아니면 따로 선언할 필요가 없다.
\item[\cs{disablehangulspacing}]
@@ -359,7 +355,7 @@
}
\end{description}
-3.0 버전부터는\vernote{3.0} 종전의
+\vernote{3.0}부터는 종전의
\cs{disableautojosa} 및 \cs{disablejamoautojosa} 명령이 아무 기능도 하지 않게
변경되었음을 유의하라.
@@ -411,8 +407,8 @@
\setmainhangulfont{Noto Sans CJK KR}[
Vertical=Alternates, RawFeature=vertical ]
\end{verbatim}
-\keyword{verticaltypesetting}%
-문서 전체를 세로쓰기할 때 \cs{verticaltypesetting}을 선언하면
+
+문서 전체를 세로쓰기할 때 \keyword{verticaltypesetting}을 선언하면
면주는 그대로 두고 본문만 세로쓰기한다.\footnote{면주의 글꼴에는
\texttt{vertical} 옵션이 없어야 할 것이다.
면주 글꼴을 따로 지정하는 것은 사용자의 몫이다. }
@@ -482,10 +478,9 @@
\verb|typesetclassic| 환경은 고문헌 조판에 적합한 환경이다.
-불필요한 공백을 없애주는 기능은\vernote{3.0}
-3.0 버전부터는 자동으로 동작하지 않는다. 사용자가
-\keyword{removeclassicspaces}%
-\cs{removeclassicspaces} 명령을 주어야 CJK 글자간 공백을
+불필요한 공백을 없애주는 기능은
+\vernote{3.0}부터는 자동으로 동작하지 않는다. 사용자가
+\keyword{removeclassicspaces} 명령을 주어야 CJK 글자간 공백을
제거하기 시작한다.
간단한 일본어, 중국어 문단 정도를 식자하는 데도 이 환경을 이용할 수 있으나
@@ -505,8 +500,7 @@
\end{plaintex}
-\keyword{inhibitglue}%
-\cs{inhibitglue} 명령은
+\keyword{inhibitglue} 명령은
해당 지점에 자동 삽입되는 공백을 영(zero)으로 만들어준다.
현대문서 조판에는 \verb|typesetmodern| 환경이 쓰인다. 이 환경은 기본값이므로
@@ -554,13 +548,12 @@
\section{매달린 구두점}
\hemph{하이픈을 제외한} 문장부호들를 판면 바깥에 식자하여 행 끝에 매달리게 만들 수 있다.
-3.0 버전부터는\vernote{3.0} \keyword{hangingpunctuations}%
-\cs{hangingpunctuations} 명령으로 활성화한다.
+\vernote{3.0}부터는 \keyword{hangingpunctuations} 명령으로 활성화한다.
\cs{hangingpunctuation}은 이 명령과 동의어이다.
당분간 xetexko-hanging.sty을 로드하는 것으로도 활성화되도록 해 두었다.
이렇게 활성화되면 기본값으로 온점, 반점, 고리점, 모점에 대해서 전부 내밀기가 작동한다.
-3.2 버전부터는\vernote{3.2} 사용자가 원하는 문장부호를 원하는 만큼 판면 밖으로 내밀 수 있다.
+\vernote{3.2}부터는 사용자가 원하는 문장부호를 원하는 만큼 판면 밖으로 내밀 수 있다.
\begin{verbatim}
\sethangingratio"28=0.5 %
\sethangingratio"3002=1 %
@@ -602,7 +595,7 @@
\begin{quote}
\verb|$가^{나^다}$|\quad$\Rightarrow\quad가^{나^다}$
\end{quote}
-3.0 버전부터는\vernote{3.0}
+\vernote{3.0}부터는
자동으로 수식한글을 잡아주지 않으므로 사용자가 다음과 같이 명시적으로 선언해야 한다.
\begin{verbatim}
\setmathhangulfont{Noto Sans CJK KR}[
@@ -645,7 +638,7 @@
\end{verbatim}
\section{드러냄표}
-\keyword{dotemph}%
+\keyword{dotemph} 명령을 사용하는
\dotemph{드러냄표} 강조도 \kotex 과 대동소이하다.
기본은 글자 위에 점을 찍는 형태이나 다음 명령을 이용해 개인적으로 선호하는
기호를 드러냄표로 쓸 수 있다.
@@ -675,7 +668,7 @@
\section{밑줄긋기}
\LaTeX 에서는 \uwave{ulem 패키지}를 로드하는 것만으로 자동 지원된다.
-\cs{xetexkoulemsupport} 명령이 \vernote{3.3}3.3 버전부터 부활하였으므로
+\cs{xetexkoulemsupport} 명령이 \vernote{3.3}부터 부활하였으므로
플레인텍에서는 이 명령을 명시해야 할 경우가 있을 것이다.
@@ -687,6 +680,11 @@
\begin{small}\linespread{1.2}\selectfont
\begin{description}\itemsep=0pt
+ \item[v3.4] 2021-05-15
+ \begin{itemize}
+ \item \hyperref[sec:fontcmds]
+ {글꼴 전환 방식의 내부적 변화 및 그에 따른 플레인텍 한글 폰트 명령의 의미 변경}
+ \end{itemize}
\item[v3.3] 2021-04-20
\begin{itemize}
\item \cs{xetexkoulemsupport} 명령 부활
Modified: trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty 2021-05-15 20:37:46 UTC (rev 59214)
+++ trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty 2021-05-15 20:41:39 UTC (rev 59215)
@@ -16,7 +16,7 @@
\ifdefined\ProvidesPackage
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
- \ProvidesPackage{xetexko}[2021/04/20 v3.3 typesetting Korean with XeTeX]
+ \ProvidesPackage{xetexko}[2021/05/15 v3.4 typesetting Korean with XeTeX]
\else
\ifdefined\@tempcnta\else \newcount\@tempcnta \fi
\ifdefined\@gobble\else \def\@gobble#1{} \fi
@@ -357,9 +357,9 @@
}
\def\XeKo at Tchinese@classes{% these glyphs in traditional chinese fonts are center-aligned
\XeTeXcharclass "3001 = \XeTeXcharclassMD % 、
- \XeTeXcharclass "3002 = \XeTeXcharclassMD % 。
+ \XeTeXcharclass "3002 = \XeTeXcharclassLD % 。
\XeTeXcharclass "FF0C = \XeTeXcharclassMD % ,
- \XeTeXcharclass "FF0E = \XeTeXcharclassMD % .
+ \XeTeXcharclass "FF0E = \XeTeXcharclassLD % .
}
\chardef\XeKo at typesetvertical\z@
@@ -405,7 +405,8 @@
\protected\def\endhorizontal{%
\egroup
\XeKo at unrotatebox\z@
- \lower.5\ht\z@ \box\z@
+ \lower\dimexpr.5\ht\z@\ifdefined\xetexkocharraise-\xetexkocharraise\fi\relax
+ \box\z@
}
\def\XeKo at rotatebox#1{%
\setbox#1\hbox to\dimexpr\ht#1+\dp#1\bgroup
@@ -429,11 +430,22 @@
\egroup
}
\ifcsname ver at xetexko.sty\endcsname
- \def\verticaltypesetting{%
- \maxdepth\z@ \typesetvertical
- \dimen@\textwidth \textwidth\textheight \textheight\dimen@
- \edef\@outputpage{\unexpanded{\XeKo at rotatebox\@outputbox
- \textwidth\textheight}\unexpanded\expandafter{\@outputpage}}}
+ \IfFormatAtLeastTF{2021/06/01}{
+ \def\verticaltypesetting{%
+ \maxdepth\z@ \typesetvertical
+ \dimen@\textwidth \textwidth\textheight \textheight\dimen@
+ \AddToHook{cmd/@outputpage/before}{\XeKo at rotatebox\@outputbox \textwidth\textheight}%
+ \let\verticaltypesetting\relax % prevent multiple running
+ }
+ }{
+ \def\verticaltypesetting{%
+ \maxdepth\z@ \typesetvertical
+ \dimen@\textwidth \textwidth\textheight \textheight\dimen@
+ \edef\@outputpage{\unexpanded{\XeKo at rotatebox\@outputbox
+ \textwidth\textheight}\unexpanded\expandafter{\@outputpage}}%
+ \let\verticaltypesetting\relax % prevent multiple running
+ }
+ }
\else
\def\verticaltypesetting{%
\dimen@\hsize \hsize\vsize \vsize\dimen@
@@ -441,7 +453,9 @@
\unexpanded\expandafter{\plainoutput}}%
\def\pagebody{\setbox\z@\vbox to\hsize{\boxmaxdepth=\maxdepth
\pagecontents}\XeKo at rotatebox\z@\box\z@}%
- \maxdepth\z@ \typesetvertical }
+ \maxdepth\z@ \typesetvertical
+ \let\verticaltypesetting\relax % prevent multiple running
+ }
\fi
\protected\def\vertlatin#1{\leavevmode\lower.5ex\hbox{\latinmarks #1}} % compat
@@ -453,25 +467,38 @@
\let\xetexkointerhchar\XeKo at undefined
}
+\expandafter\let\expandafter\XeKo at latin@font\the\font
+
\def\XeKo at font@Hangul{%
+ \expandafter\ifx\the\font\XeKo at raw@hangul at font \else
+ \expandafter\ifx\the\font\XeKo at raw@hanja at font \else
+ \expandafter\let\expandafter\XeKo at latin@font\the\font
+ \fi\fi
\ifdefined\XeKo at hangul@font
\XeKo at reset@options
\XeKo at hangul@font
- \let\XeKo at curr@font\XeKo at hangul@font
+ \expandafter\let\expandafter\XeKo at raw@hangul at font\the\font
\fi
}
\def\XeKo at font@CJK{%
+ \expandafter\ifx\the\font\XeKo at raw@hangul at font \else
+ \expandafter\ifx\the\font\XeKo at raw@hanja at font \else
+ \expandafter\let\expandafter\XeKo at latin@font\the\font
+ \fi\fi
\ifdefined\XeKo at hanja@font
\XeKo at reset@options
\XeKo at hanja@font
- \let\XeKo at curr@font\XeKo at hanja@font
+ \expandafter\let\expandafter\XeKo at raw@hanja at font\the\font
\fi
}
\def\XeKo at font@Latin{%
- \ifdefined\XeKo at latin@font
+ \expandafter\ifx\the\font\XeKo at raw@hangul at font
\XeKo at latin@font
- \let\XeKo at curr@font\XeKo at latin@font
- \fi
+ \else \expandafter\ifx\the\font\XeKo at raw@hanja at font
+ \XeKo at latin@font
+ \else
+ \expandafter\let\expandafter\XeKo at latin@font\the\font
+ \fi\fi
}
\let\XeKo at fontHG\XeKo at font@Hangul
\let\XeKo at fontID\XeKo at font@CJK
@@ -539,14 +566,14 @@
\protected\def\hanjacolons {\let\XeKo at fontAM\XeKo at font@CJK}
\protected\def\hanjahyphens{\let\XeKo at fontAH\XeKo at font@CJK}
\protected\def\hanjacjksymbols{%
- \let\XeKo at fontSY\XeKo at font@Hanja
- \let\XeKo at fontOP\XeKo at font@Hanja
- \let\XeKo at fontCL\XeKo at font@Hanja
- \let\XeKo at fontMD\XeKo at font@Hanja
- \let\XeKo at fontFS\XeKo at font@Hanja
- \let\XeKo at fontEX\XeKo at font@Hanja
- \let\XeKo at fontLD\XeKo at font@Hanja
- \let\XeKo at fontVC\XeKo at font@Hanja
+ \let\XeKo at fontSY\XeKo at font@CJK
+ \let\XeKo at fontOP\XeKo at font@CJK
+ \let\XeKo at fontCL\XeKo at font@CJK
+ \let\XeKo at fontMD\XeKo at font@CJK
+ \let\XeKo at fontFS\XeKo at font@CJK
+ \let\XeKo at fontEX\XeKo at font@CJK
+ \let\XeKo at fontLD\XeKo at font@CJK
+ \let\XeKo at fontVC\XeKo at font@CJK
}
\protected\def\hanjamarks{%
\hanjaalphs\hanjaparens\hanjapuncts\hanjacolons\hanjahyphens\hanjacjksymbols
@@ -691,16 +718,20 @@
\def\XeKo at flush@char at orphan{\expandafter \XeKo at do@flush at toks \the\XeKo at toks@ii }
\def\XeKo at char@raise at start{%
\ifdefined\xetexkocharraise
- \ifx\XeKo at curr@font\XeKo at latin@font\else
+ \expandafter\ifx\the\font\XeKo at raw@hangul at font
\raise\xetexkocharraise\hbox\bgroup
- \fi
+ \else \expandafter\ifx\the\font\XeKo at raw@hanja at font
+ \raise\xetexkocharraise\hbox\bgroup
+ \fi\fi
\fi
}
\def\XeKo at char@raise at stop{%
\ifdefined\xetexkocharraise
- \ifx\XeKo at curr@font\XeKo at latin@font\else
+ \expandafter\ifx\the\font\XeKo at raw@hangul at font
\egroup
- \fi
+ \else \expandafter\ifx\the\font\XeKo at raw@hanja at font
+ \egroup
+ \fi\fi
\fi
}
\def\XeKo at do@flush at toks{%
@@ -973,12 +1004,9 @@
}
\def\XeKo at maybe@gobble{%
- \ifdefined\XeKo at curr@font\expandafter\XeKo at maybe@gobble@\fi
+ \expandafter\expandafter\expandafter\@gobble
}
\let\XeKo at do@maybe at gobble\XeKo at maybe@gobble
-\def\XeKo at maybe@gobble@{%
- \expandafter\expandafter\expandafter\@gobble
- }
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassHG{%
\ifnum\lastnodetype=12 %
@@ -1102,7 +1130,7 @@
\or \unkern\unkern \XeKo at quarterquarter % MD AA
\or \unkern\unkern \XeKo at halfzero % FS AA
\or \unkern\unkern \XeKo at halfhalf % EX AA
- \or \unkern\unkern % LD AA
+ \or \unkern\unkern \XeKo at latincjk % LD AA
\or \unkern\unkern \XeKo at quarterquarter % VC AA
\fi
\fi
@@ -1126,7 +1154,7 @@
\or \unkern\unkern \XeKo at quarterquarter % MD AO
\or \unkern\unkern \XeKo at halfzero % FS AO
\or \unkern\unkern \XeKo at halfhalf % EX AO
- \or \unkern\unkern % LD AO
+ \or \unkern\unkern \XeKo at latincjk % LD AO
\or \unkern\unkern \XeKo at quarterquarter % VC AO
\fi
\fi
@@ -1518,8 +1546,8 @@
}
\def\XeKo at read@hanja at hangul@line{%
\read1 to \@tempa
- \ifnum\count@=\@tempcnta
- \global\count@\@tempa
+ \ifnum\XeKo at count@=\@tempcnta
+ \global\XeKo at count@\@tempa
\else
\advance\@tempcnta\@ne \expandafter\XeKo at read@hanja at hangul@line
\fi
@@ -1747,9 +1775,9 @@
\ifcsname ver at xetexko.sty\endcsname
\def\xetexkoulemsupport{%
\ifdefined\UL at hook
- \UL at hook\expandafter{%
- \the\UL at hook
+ \UL at hook\expandafter{\the\UL at hook
\let\XeKo at char@orphan\XeKo at flush@char at orphan
+ \let\XeKo at maybe@gobble\relax
% uline 안에서 폰트가 변경되는 경우를 대비
\expandafter\def\expandafter\XeKo at hangul@selectfont\expandafter{%
\XeKo at hangul@selectfont
@@ -1757,6 +1785,9 @@
\global\let\XeKo at temp@hangul at font\XeKo at hangul@font
\gdef\XeKo at UL@hangul at font{\let\XeKo at hangul@font\XeKo at temp@hangul at font}%
\aftergroup\aftergroup\aftergroup\XeKo at UL@hangul at font
+ % 여기서 라틴폰트 지정을 보존한다.
+ \global\let\XeKo at UL@latin at font\font at name
+ \aftergroup\aftergroup\aftergroup\XeKo at UL@latin at font
\fi }%
\expandafter\def\expandafter\XeKo at hanja@selectfont\expandafter{%
\XeKo at hanja@selectfont
@@ -1765,13 +1796,6 @@
\gdef\XeKo at UL@hanja at font{\let\XeKo at hanja@font\XeKo at temp@hanja at font}%
\aftergroup\aftergroup\aftergroup\XeKo at UL@hanja at font
\fi }%
- \expandafter\def\expandafter\XeKo at latin@selectfont\expandafter{%
- \XeKo at latin@selectfont
- \ifdefined\XeKo at in@selectfont\else
- \global\let\XeKo at temp@latin at font\XeKo at latin@font
- \gdef\XeKo at UL@latin at font{\let\XeKo at latin@font\XeKo at temp@latin at font}%
- \aftergroup\aftergroup\aftergroup\XeKo at UL@latin at font
- \fi }%
}%
\fi
}
@@ -1780,23 +1804,30 @@
\let\XeKo at UL@hanja at patch \relax
\def\xetexkoulemsupport{%
\ifdefined\UL at hook
- \UL at hook\expandafter{%
- \the\UL at hook
+ \UL at hook\expandafter{\the\UL at hook
\let\XeKo at char@orphan\XeKo at flush@char at orphan
+ \let\XeKo at maybe@gobble\relax
+ % uline 안에서 폰트가 변경되는 경우를 대비
\def\XeKo at UL@hangul at patch{%
\global\let\XeKo at temp@hangul at font\XeKo at hangul@font
- \global\let\XeKo at temp@latin at font\XeKo at latin@font
- \gdef\XeKo at UL@hangul at font{%
- \let\XeKo at hangul@font\XeKo at temp@hangul at font
- \let\XeKo at latin@font\XeKo at temp@latin at font }%
- \aftergroup\aftergroup\aftergroup\XeKo at UL@hangul at font }%
+ \gdef\XeKo at UL@hangul at font{\let\XeKo at hangul@font\XeKo at temp@hangul at font}%
+ \aftergroup\aftergroup\aftergroup\XeKo at UL@hangul at font
+ \XeKo at UL@latin at patch
+ }%
\def\XeKo at UL@hanja at patch{%
\global\let\XeKo at temp@hanja at font\XeKo at hanja@font
- \global\let\XeKo at temp@latin at font\XeKo at latin@font
- \gdef\XeKo at UL@hanja at font{%
- \let\XeKo at hanja@font\XeKo at temp@hanja at font
- \let\XeKo at latin@font\XeKo at temp@latin at font }%
- \aftergroup\aftergroup\aftergroup\XeKo at UL@hanja at font }%
+ \gdef\XeKo at UL@hanja at font{\let\XeKo at hanja@font\XeKo at temp@hanja at font}%
+ \aftergroup\aftergroup\aftergroup\XeKo at UL@hanja at font
+ \XeKo at UL@latin at patch
+ }%
+ % uline 안에서 폰트 지시는 라틴폰트, 한글폰트 순서로 해야 라틴폰트가 올바로 동작함
+ \def\XeKo at UL@latin at patch{%
+ \ifnum 0\expandafter\ifx\the\font\XeKo at raw@hangul at font 1\else
+ \expandafter\ifx\the\font\XeKo at raw@hanja at font 1\fi\fi =\z@
+ \global\expandafter\let\expandafter\XeKo at UL@latin at font\the\font
+ \aftergroup\aftergroup\aftergroup\XeKo at UL@latin at font
+ \fi
+ }%
}%
\fi
}
@@ -1817,14 +1848,6 @@
\afterassignment\XeKo at hangulfont@setup\font\XeKo at hangul@font
}
\def\XeKo at hangulfont@setup{%
- \ifdefined\XeKo at curr@font
- \ifx\XeKo at curr@font\XeKo at hangul@font\else
- \ifx\XeKo at curr@font\XeKo at hanja@font\else
- \expandafter\let\expandafter\XeKo at latin@font\the\font
- \fi\fi
- \else
- \expandafter\let\expandafter\XeKo at latin@font\the\font
- \fi
\edef\XeKo at hangul@font{%
\the\XeKo at hangul@font
\ifdefined\xetexkohu \def\noexpand\xetexkohu{\xetexkohu}\fi
@@ -1841,15 +1864,6 @@
}
\def\XeKo at sethangulfont@setup{%
\expandafter\edef\@tempa{%
- \let\noexpand\XeKo at latin@font=%
- \ifdefined\XeKo at curr@font
- \ifx\XeKo at curr@font\XeKo at hangul@font \the\XeKo at latin@font \else
- \ifx\XeKo at curr@font\XeKo at hanja@font \the\XeKo at latin@font \else
- \the\font
- \fi\fi
- \else
- \the\font
- \fi
\def\noexpand\XeKo at hangul@font{%
\csname XeKo at hangul@font@\@tempb\endcsname
\ifdefined\xetexkohu \def\noexpand\xetexkohu{\xetexkohu}\fi
@@ -1863,14 +1877,6 @@
\afterassignment\XeKo at hanjafont@setup\font\XeKo at hanja@font
}
\def\XeKo at hanjafont@setup{%
- \ifdefined\XeKo at curr@font
- \ifx\XeKo at curr@font\XeKo at hangul@font\else
- \ifx\XeKo at curr@font\XeKo at hanja@font\else
- \expandafter\let\expandafter\XeKo at latin@font\the\font
- \fi\fi
- \else
- \expandafter\let\expandafter\XeKo at latin@font\the\font
- \fi
\edef\XeKo at hanja@font{%
\the\XeKo at hanja@font
\ifdefined\xetexkohu \def\noexpand\xetexkohu{\xetexkohu}\fi
@@ -1887,15 +1893,6 @@
}
\def\XeKo at sethanjafont@setup{%
\expandafter\edef\@tempa{%
- \let\noexpand\XeKo at latin@font=%
- \ifdefined\XeKo at curr@font
- \ifx\XeKo at curr@font\XeKo at hangul@font \the\XeKo at latin@font \else
- \ifx\XeKo at curr@font\XeKo at hanja@font \the\XeKo at latin@font \else
- \the\font
- \fi\fi
- \else
- \the\font
- \fi
\def\noexpand\XeKo at hanja@font{%
\csname XeKo at hanja@font@\@tempb\endcsname
\ifdefined\xetexkohu \def\noexpand\xetexkohu{\xetexkohu}\fi
@@ -1959,12 +1956,19 @@
\latinalphs\latinparens\latinpuncts\latincolons\latinhyphens
\disablehangulspacing
}
-\edef\verbatim at font{%
- \unexpanded\expandafter{%
- \verbatim at font
+\IfFormatAtLeastTF{2021/06/01}{
+ \AddToHook{cmd/verbatim at font/after}{%
\disablehangulspacingandlinebreak
\aftergroup\enablehangulspacingandlinebreak
- }}
+ }
+}{
+ \edef\verbatim at font{%
+ \unexpanded\expandafter{%
+ \verbatim at font
+ \disablehangulspacingandlinebreak
+ \aftergroup\enablehangulspacingandlinebreak
+ }}
+}
\AddToHook{normalfont}{%
\let \xetexkohangulfont \xetexkodefaulthangulfont
\let \xetexkohanguloption \xetexkodefaulthanguloption
@@ -1971,9 +1975,12 @@
\let \xetexkohanjafont \xetexkodefaulthanjafont
\let \xetexkohanjaoption \xetexkodefaulthanjaoption
}
+\AddToHook{env/picture/begin}{%
+ \latinalphs\latinparens\latinpuncts\latincolons\latinhyphens
+ }
+
\IfHookExistsTF{selectfont}{
\AddToHook{selectfont}{%
- \XeKo at latin@selectfont
\XeKo at hanja@selectfont
\XeKo at hangul@selectfont
}
@@ -1980,7 +1987,6 @@
}{
\RequirePackage{everysel}
\EverySelectfont{%
- \XeKo at latin@selectfont
\XeKo at hanja@selectfont
\XeKo at hangul@selectfont
}
@@ -2016,16 +2022,6 @@
\let\XeKo at hanja@font\XeKo at undefined
\fi
\fi }
-\def\XeKo at latin@selectfont{%
- \ifdefined\XeKo at in@selectfont\else
- \begingroup
- \let\XeKo at in@selectfont\empty
- \selectfont
- \edef\x{\endgroup
- \def\noexpand\XeKo at latin@font{\the\font}%
- }\x
- \fi
- }
\ExplSyntaxOn
\tl_new:N \l_xtxko_font_opts_tl
@@ -2094,7 +2090,6 @@
\cs_set_eq:NN \xetexkohanguloption \xetexkomainhanguloption
\cs_set_eq:NN \xetexkodefaulthangulfont \xetexkomainhangulfont
\cs_set_eq:NN \xetexkodefaulthanguloption \xetexkomainhanguloption
- \XeKo at latin@selectfont
\XeKo at hangul@selectfont
}
\ignorespaces
@@ -2114,7 +2109,6 @@
\cs_set_eq:NN \xetexkohanguloption \xetexkosanshanguloption
\cs_set_eq:NN \xetexkodefaulthangulfont \xetexkosanshangulfont
\cs_set_eq:NN \xetexkodefaulthanguloption \xetexkosanshanguloption
- \XeKo at latin@selectfont
\XeKo at hangul@selectfont
}
\ignorespaces
@@ -2134,7 +2128,6 @@
\cs_set_eq:NN \xetexkohanguloption \xetexkomonohanguloption
\cs_set_eq:NN \xetexkodefaulthangulfont \xetexkomonohangulfont
\cs_set_eq:NN \xetexkodefaulthanguloption \xetexkomonohanguloption
- \XeKo at latin@selectfont
\XeKo at hangul@selectfont
}
\ignorespaces
@@ -2221,7 +2214,6 @@
\cs_set_eq:NN \xetexkohanjaoption \xetexkomainhanjaoption
\cs_set_eq:NN \xetexkodefaulthanjafont \xetexkomainhanjafont
\cs_set_eq:NN \xetexkodefaulthanjaoption \xetexkomainhanjaoption
- \XeKo at latin@selectfont
\XeKo at hanja@selectfont
}
\ignorespaces
@@ -2241,7 +2233,6 @@
\cs_set_eq:NN \xetexkohanjaoption \xetexkosanshanjaoption
\cs_set_eq:NN \xetexkodefaulthanjafont \xetexkosanshanjafont
\cs_set_eq:NN \xetexkodefaulthanjaoption \xetexkosanshanjaoption
- \XeKo at latin@selectfont
\XeKo at hanja@selectfont
}
\ignorespaces
@@ -2261,7 +2252,6 @@
\cs_set_eq:NN \xetexkohanjaoption \xetexkomonohanjaoption
\cs_set_eq:NN \xetexkodefaulthanjafont \xetexkomonohanjafont
\cs_set_eq:NN \xetexkodefaulthanjaoption \xetexkomonohanjaoption
- \XeKo at latin@selectfont
\XeKo at hanja@selectfont
}
\ignorespaces
More information about the tex-live-commits
mailing list.