texlive[59628] Master/texmf-dist: xetexko (18jun21)
commits+karl at tug.org
commits+karl at tug.org
Fri Jun 18 22:11:24 CEST 2021
Revision: 59628
http://tug.org/svn/texlive?view=revision&revision=59628
Author: karl
Date: 2021-06-18 22:11:24 +0200 (Fri, 18 Jun 2021)
Log Message:
-----------
xetexko (18jun21)
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-06-18 20:10:06 UTC (rev 59627)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog 2021-06-18 20:11:24 UTC (rev 59628)
@@ -1,3 +1,10 @@
+2021-06-18 Dohyun Kim <nomos at ktug org>
+
+ Version 3.7
+
+ * fix position of dotemph regarding hangul tone marks
+ * enhance compatibility with ulem/ruby packages
+
2021-06-10 Dohyun Kim <nomos at ktug org>
Version 3.6
Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/README
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexko/README 2021-06-18 20:10:06 UTC (rev 59627)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/README 2021-06-18 20:11:24 UTC (rev 59628)
@@ -1,4 +1,4 @@
-XeTeX-ko Package version 3.6 (2021/06/10)
+XeTeX-ko Package version 3.7 (2021/06/18)
=========================================
XeTeX-ko is a macro package for Xe(La)TeX which supports typesetting
@@ -124,8 +124,9 @@
\begin{vertical}{<dimen>}
\end{vertical}
This environment makes a vbox vertically typeset. <dimen> is an
-argument to indicate the box height. For vertical typesetting
-of entire document, use the command \verticaltypesetting instead.
+argument to indicate the box height. When <dimen> is \empty, an hbox
+with natural height will be made. For vertical typesetting of
+entire document, use the command \verticaltypesetting instead.
\은 \는 \이 \가 \을 \를 \와 \과 \로 \으로 \라 \이라
Commands for automatic Josa selection. Unlike those of cjk-ko
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-06-18 20:10:06 UTC (rev 59627)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex 2021-06-18 20:11:24 UTC (rev 59628)
@@ -74,7 +74,7 @@
\title{\xetexko\ 간단 매뉴얼}
\author{Dohyun Kim \normalsize <\texttt{nomos at ktug org}> \and
\normalsize <\url{http://github.com/dohyunkim/xetexko}>}
-\date{Version 3.6\quad 2021/06/10}
+\date{Version 3.7\quad 2021/06/18}
\maketitle
\begin{quote}\small
@@ -285,7 +285,11 @@
\item[CharRaise, charraise]\quad
글자의 {\addhangulfontfeature{charraise=.5ex}수직 위치}를 조절한다.
- 기본값은 \verb|0pt|.
+ 기본값은 \verb|0pt|.%
+ \footnote{%
+ 세로쓰기에서는 이 옵션의 값을 고정길이(가령 pt 단위)로 주어야
+ 크기가 다른 폰트들 간에 중앙정렬이 이루어진다.
+ }
고정폭 글꼴에서도 이 옵션은 작동한다.
\end{description}
\vernote{3.0}부터는 다음 옵션들이 아무 효과도 가져오지 않게
@@ -690,7 +694,10 @@
\LaTeX 에서는 \uwave{ulem 패키지}를 로드하는 것만으로 자동 지원된다.
\cs{xetexkoulemsupport} 명령이 \vernote{3.3}부터 부활하였으므로
-플레인텍에서는 이 명령을 명시해야 할 경우가 있을 것이다.
+플레인텍에서는 이 명령을 명시해야 할 경우가 있을 것이다.%
+\footnote{%
+ ulem 명령어의 인자 안에서도 \cs{dotemph} 명령을 쓸 수 있다.
+}
%\hfill \fboxsep=-\fboxrule \fbox{\vbox to1em{\hbox to1em{\hss}\vss}}
Modified: trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty 2021-06-18 20:10:06 UTC (rev 59627)
+++ trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty 2021-06-18 20:11:24 UTC (rev 59628)
@@ -16,7 +16,7 @@
\ifdefined\ProvidesPackage
\NeedsTeXFormat{LaTeX2e}[2021/06/01]
- \ProvidesPackage{xetexko}[2021/06/10 v3.6 typesetting Korean with XeTeX]
+ \ProvidesPackage{xetexko}[2021/06/18 v3.7 typesetting Korean with XeTeX]
\else
\ifdefined\@tempcnta\else \newcount\@tempcnta \fi
\ifdefined\@sptoken \else
@@ -598,23 +598,22 @@
\chardef\XeKo at cjk@ignorespaces\z@
\protected\def\removeclassicspaces{\chardef\XeKo at cjk@ignorespaces\@ne}
-\expandafter\let\csname XeKo at 1@class\endcsname =\XeTeXcharclassHG
-\expandafter\let\csname XeKo at 2@class\endcsname =\XeTeXcharclassID
-% skip 3 which ulem uses
-\expandafter\let\csname XeKo at 4@class\endcsname =\XeTeXcharclassSY
-\expandafter\let\csname XeKo at 5@class\endcsname =\XeTeXcharclassAA
-\expandafter\let\csname XeKo at 6@class\endcsname =\XeTeXcharclassAO
-\expandafter\let\csname XeKo at 7@class\endcsname =\XeTeXcharclassAC
-\expandafter\let\csname XeKo at 8@class\endcsname =\XeTeXcharclassAP
-\expandafter\let\csname XeKo at 9@class\endcsname =\XeTeXcharclassAM
-\expandafter\let\csname XeKo at 10@class\endcsname=\XeTeXcharclassAH
-\expandafter\let\csname XeKo at 11@class\endcsname=\XeTeXcharclassOP
-\expandafter\let\csname XeKo at 12@class\endcsname=\XeTeXcharclassCL
-\expandafter\let\csname XeKo at 13@class\endcsname=\XeTeXcharclassMD
-\expandafter\let\csname XeKo at 14@class\endcsname=\XeTeXcharclassFS
-\expandafter\let\csname XeKo at 15@class\endcsname=\XeTeXcharclassEX
-\expandafter\let\csname XeKo at 16@class\endcsname=\XeTeXcharclassLD
-\expandafter\let\csname XeKo at 17@class\endcsname=\XeTeXcharclassVC
+\expandafter\let\csname XeKo at 6@class\endcsname =\XeTeXcharclassHG
+\expandafter\let\csname XeKo at 7@class\endcsname =\XeTeXcharclassID
+\expandafter\let\csname XeKo at 8@class\endcsname =\XeTeXcharclassSY
+\expandafter\let\csname XeKo at 9@class\endcsname =\XeTeXcharclassAA
+\expandafter\let\csname XeKo at 10@class\endcsname=\XeTeXcharclassAO
+\expandafter\let\csname XeKo at 11@class\endcsname=\XeTeXcharclassAC
+\expandafter\let\csname XeKo at 12@class\endcsname=\XeTeXcharclassAP
+\expandafter\let\csname XeKo at 13@class\endcsname=\XeTeXcharclassAM
+\expandafter\let\csname XeKo at 14@class\endcsname=\XeTeXcharclassAH
+\expandafter\let\csname XeKo at 15@class\endcsname=\XeTeXcharclassOP
+\expandafter\let\csname XeKo at 16@class\endcsname=\XeTeXcharclassCL
+\expandafter\let\csname XeKo at 17@class\endcsname=\XeTeXcharclassMD
+\expandafter\let\csname XeKo at 18@class\endcsname=\XeTeXcharclassFS
+\expandafter\let\csname XeKo at 19@class\endcsname=\XeTeXcharclassEX
+\expandafter\let\csname XeKo at 20@class\endcsname=\XeTeXcharclassLD
+\expandafter\let\csname XeKo at 21@class\endcsname=\XeTeXcharclassVC
\newtoks\XeKo at toks@
\newtoks\XeKo at toks@ii
@@ -628,7 +627,7 @@
\ifnum\XeKo at charslot="FFFF
\expandafter\XeKo at flush@toks
\else
- \ifnum 0\ifnum\XeKo at currclass>4 \ifnum\XeKo at currclass<11 % AA..AH
+ \ifnum 0\ifnum\XeKo at currclass>8 \ifnum\XeKo at currclass<15 % AA..AH
1\fi\fi >\z@
\expandafter\expandafter\expandafter\XeKo at check@next at tok@latin
\else % HG ID
@@ -657,11 +656,11 @@
\fi
}
\def\XeKo at addto@toks#1{%
- \ifnum\XeKo at currclass=5 % AA
+ \ifnum\XeKo at currclass=9 % AA
\global\let\XeKo at josatoken=#1\relax
\else\ifnum\XeTeXcharclass\XeKo at charslot=\XeTeXcharclassJJ
\global\let\XeKo at josatoken=#1\relax
- \else\ifnum\XeKo at currclass=4 % SY
+ \else\ifnum\XeKo at currclass=8 % SY
\global\let\XeKo at josatoken=#1\relax
\fi\fi\fi
\XeKo at toks@\expandafter{\the\XeKo at toks@ #1}%
@@ -668,7 +667,7 @@
\XeKo at check@next at tok
}
\def\XeKo at flush@toks{%
- \ifnum\XeKo at currclass<\thr@@
+ \ifnum\XeKo at currclass<8 %
\XeKo at toks@ii{}\expandafter\XeKo at char@orphan % HG, ID
\else
\expandafter\XeKo at do@flush at toks
@@ -729,20 +728,20 @@
\XeKo at pre@hang % hanging punctuations
\fi
\XeKo at char@raise at start % charraise
- \ifnum\XeKo at currclass=\@ne
- \XeKo at everyhangul{\the\XeKo at toks@}% everyhangul
+ \ifnum\XeKo at currclass=6 %
+ \XeKo at everyhangul{\XeKo at maybe@dotemph \the\XeKo at toks@}% everyhangul
\else
- \ifnum\XeKo at currclass=\tw@
- \XeKo at everyhanja{\the\XeKo at toks@}% everyhanja
+ \ifnum\XeKo at currclass=7 %
+ \XeKo at everyhanja{\XeKo at maybe@dotemph \the\XeKo at toks@}% everyhanja
\else
\ifnum\XeKo at compresspuncts=\@ne
- \ifnum\XeKo at currclass=11 % OP
+ \ifnum\XeKo at currclass=15 % OP
\hbox to.5em\bgroup\hss \the\XeKo at toks@ \egroup
- \else\ifnum\XeKo at currclass=12 % CL
+ \else\ifnum\XeKo at currclass=16 % CL
\hbox to.5em\bgroup \the\XeKo at toks@ \hss\egroup
- \else\ifnum\XeKo at currclass=13 % MD
+ \else\ifnum\XeKo at currclass=17 % MD
\hbox to.5em\bgroup\hss \the\XeKo at toks@ \hss\egroup
- \else\ifnum\XeKo at currclass=14 % FS
+ \else\ifnum\XeKo at currclass=18 % FS
\hbox to.5em\bgroup \the\XeKo at toks@ \hss\egroup
\else
\the\XeKo at toks@
@@ -773,8 +772,8 @@
}
% remove space
\def\XeKo at maybe@ignorespaces{%
- \ifnum 0\ifnum\XeKo at currclass<5 1\else % HG ID SY
- \ifnum\XeKo at currclass>10 1\fi\fi % CJK punctuations
+ \ifnum 0\ifnum\XeKo at currclass<9 1\else % HG ID SY
+ \ifnum\XeKo at currclass>14 1\fi\fi % CJK punctuations
>\z@
\expandafter\XeKo at ignorespaces@iv
\fi
@@ -810,7 +809,7 @@
\ifnum\XeKo at hangingpuncts=\@ne
\ifcsname XeKo at hanging@ratio@\number`#1\endcsname
\ifnum 0\ifnum\XeKo at compresspuncts=\@ne
- \ifnum\XeKo at currclass=11 % OP
+ \ifnum\XeKo at currclass=15 % OP
1\fi\fi >\z@
\XeKo at dimen@=.5em
\else
@@ -829,8 +828,8 @@
\ifnum\XeKo at hangingpuncts=\@ne
\ifcsname XeKo at hanging@ratio@\number`#1\endcsname
\ifnum 0\ifnum\XeKo at compresspuncts=\@ne
- \ifnum\XeKo at currclass>11 %
- \ifnum\XeKo at currclass<15 % CL MD FS
+ \ifnum\XeKo at currclass>15 %
+ \ifnum\XeKo at currclass<19 % CL MD FS
1\fi\fi\fi >\z@
\XeKo at dimen@=.5em
\else
@@ -868,7 +867,7 @@
\def\XeKo at startHG#1{%
\global\let\XeKo at josatoken=#1\relax
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{1}%
+ \def\XeKo at currclass{6}%
\XeKo at toks@{#1}%
\XeKo at check@next at tok
}
@@ -875,7 +874,7 @@
\def\XeKo at startID#1{%
\global\let\XeKo at josatoken=#1\relax
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{2}%
+ \def\XeKo at currclass{7}%
\XeKo at toks@{#1}%
\ifdefined\fallbackhanjafont
\iffontchar\font`#1\else
@@ -886,7 +885,7 @@
}
\def\XeKo at startCJ#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{2}% same as ID
+ \def\XeKo at currclass{7}% same as ID
\XeKo at toks@{#1}%
\XeKo at check@next at tok
}
@@ -893,7 +892,7 @@
\def\XeKo at startSY#1{%
\global\let\XeKo at josatoken=#1\relax
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{4}%
+ \def\XeKo at currclass{8}%
\XeKo at toks@{#1}%
\XeKo at check@next at tok
}
@@ -900,13 +899,13 @@
\def\XeKo at startAA#1{%
\global\let\XeKo at josatoken=#1\relax
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{5}%
+ \def\XeKo at currclass{9}%
\XeKo at toks@{#1}%
\XeKo at check@next at tok
}
\def\XeKo at startAO#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{6}%
+ \def\XeKo at currclass{10}%
\XeKo at toks@{#1}%
\XeKo at def@pre at hang{#1}%
\XeKo at check@next at tok
@@ -913,7 +912,7 @@
}
\def\XeKo at startAC#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{7}%
+ \def\XeKo at currclass{11}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -920,7 +919,7 @@
}
\def\XeKo at startAP#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{8}%
+ \def\XeKo at currclass{12}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -927,7 +926,7 @@
}
\def\XeKo at startAM#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{9}%
+ \def\XeKo at currclass{13}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -934,7 +933,7 @@
}
\def\XeKo at startAH#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{10}%
+ \def\XeKo at currclass{14}%
\XeKo at toks@{#1}%
\ifnum`#1=\hyphenchar\font \else % exclude hyphen char
\XeKo at def@post at hang{#1}%
@@ -943,7 +942,7 @@
}
\def\XeKo at startOP#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{11}%
+ \def\XeKo at currclass{15}%
\XeKo at toks@{#1}%
\XeKo at def@pre at hang{#1}%
\XeKo at check@next at tok
@@ -950,7 +949,7 @@
}
\def\XeKo at startCL#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{12}%
+ \def\XeKo at currclass{16}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -957,7 +956,7 @@
}
\def\XeKo at startMD#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{13}%
+ \def\XeKo at currclass{17}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -964,7 +963,7 @@
}
\def\XeKo at startFS#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{14}%
+ \def\XeKo at currclass{18}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -971,7 +970,7 @@
}
\def\XeKo at startEX#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{15}%
+ \def\XeKo at currclass{19}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -978,7 +977,7 @@
}
\def\XeKo at startLD#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{16}%
+ \def\XeKo at currclass{20}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -985,7 +984,7 @@
}
\def\XeKo at startVC#1{%
\let\XeKo at pre@hang\XeKo at undefined \let\XeKo at post@hang\XeKo at undefined
- \def\XeKo at currclass{17}%
+ \def\XeKo at currclass{21}%
\XeKo at toks@{#1}%
\XeKo at def@post at hang{#1}%
\XeKo at check@next at tok
@@ -994,9 +993,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassHG{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XKinterhanjabreak \or \or \or \or % 1: ruby를 한자처럼 취급
\or \unkern\unkern \XKinterhangulbreak % HG HG
\or \unkern\unkern \XKinterhanjabreak % ID HG
- \or
\or \unkern\unkern % SY HG
\or \unkern\unkern \XeKo at latincjk % AA HG
\or \unkern\unkern % AO HG
@@ -1020,9 +1019,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassID{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XKinterhanjabreak \or \or \or \or
\or \unkern\unkern \XKinterhanjabreak % HG ID
\or \unkern\unkern \XKinterhanjabreak % ID ID
- \or
\or \unkern\unkern % SY ID
\or \unkern\unkern \XeKo at latincjk % AA ID
\or \unkern\unkern % AO ID
@@ -1046,9 +1045,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassCJ{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XKinterhanjabreak \XeKo at suppress@linebreak \or \or \or \or
\or \unkern\unkern \XKinterhanjabreak \XeKo at suppress@linebreak % HG CJ
\or \unkern\unkern \XKinterhanjabreak \XeKo at suppress@linebreak % ID CJ
- \or
\or \unkern\unkern % SY CJ
\or \unkern\unkern \XeKo at latincjk % AA CJ
\or \unkern\unkern % AO CJ
@@ -1072,9 +1071,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassSY{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG SY
\or \unkern\unkern % ID SY
- \or
\or \unkern\unkern % SY SY
\or \unkern\unkern % AA SY
\or \unkern\unkern % AO SY
@@ -1098,9 +1097,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAA{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at latincjk \or \or \or \or
\or \unkern\unkern \XeKo at latincjk % HG AA
\or \unkern\unkern \XeKo at latincjk % ID AA
- \or
\or \unkern\unkern % SY AA
\or \unkern\unkern % AA AA
\or \unkern\unkern % AO AA
@@ -1122,9 +1121,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAO{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at latincjk \or \or \or \or
\or \unkern\unkern \XeKo at latincjk % HG AO
\or \unkern\unkern \XeKo at latincjk % ID AO
- \or
\or \unkern\unkern \XeKo at latincjk % SY AO
\or \unkern\unkern % AA AO
\or \unkern\unkern % AO AO
@@ -1146,9 +1145,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAC{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG AC
\or \unkern\unkern % ID AC
- \or
\or \unkern\unkern % SY AC
\or \unkern\unkern % AA AC
\or \unkern\unkern % AO AC
@@ -1170,9 +1169,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAP{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG AP
\or \unkern\unkern % ID AP
- \or
\or \unkern\unkern % SY AP
\or \unkern\unkern % AA AP
\or \unkern\unkern % AO AP
@@ -1194,9 +1193,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAM{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at nobreak\XeKo at latincjk \or \or \or \or
\or \unkern\unkern \XeKo at nobreak\XeKo at latincjk % HG AM
\or \unkern\unkern \XeKo at nobreak\XeKo at latincjk % ID AM
- \or
\or \unkern\unkern \XeKo at nobreak\XeKo at latincjk % SY AM
\or \unkern\unkern % AA AM
\or \unkern\unkern % AO AM
@@ -1218,9 +1217,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAH{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at nobreak \or \or \or \or
\or \unkern\unkern \XeKo at nobreak % HG AH
\or \unkern\unkern \XeKo at nobreak % ID AH
- \or
\or \unkern\unkern \XeKo at nobreak % SY AH
\or \unkern\unkern % AA AH
\or \unkern\unkern % AO AH
@@ -1242,9 +1241,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassOP{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at halfhalf \or \or \or \or
\or \unkern\unkern \XeKo at halfhalf % HG OP
\or \unkern\unkern \XeKo at halfhalf % ID OP
- \or
\or \unkern\unkern \XeKo at halfhalf % SY OP
\or \unkern\unkern \XeKo at halfhalf % AA OP
\or \unkern\unkern \XeKo at nobreak\XeKo at halfhalf % AO OP
@@ -1268,9 +1267,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassCL{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG CL
\or \unkern\unkern % ID CL
- \or
\or \unkern\unkern % SY CL
\or \unkern\unkern % AA CL
\or \unkern\unkern % AO CL
@@ -1292,9 +1291,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassMD{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XeKo at nobreak\XeKo at quarterquarter \or \or \or \or
\or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % HG MD
\or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % ID MD
- \or
\or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % SY MD
\or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % AA MD
\or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % AO MD
@@ -1318,9 +1317,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassFS{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG FS
\or \unkern\unkern % ID FS
- \or
\or \unkern\unkern % SY FS
\or \unkern\unkern % AA FS
\or \unkern\unkern % AO FS
@@ -1342,9 +1341,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassEX{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG EX
\or \unkern\unkern % ID EX
- \or
\or \unkern\unkern % SY EX
\or \unkern\unkern % AA EX
\or \unkern\unkern % AO EX
@@ -1366,9 +1365,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassLD{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \XKinterhanjabreak \XeKo at suppress@linebreak \or \or \or \or
\or \unkern\unkern \XKinterhanjabreak \XeKo at suppress@linebreak % HG LD
\or \unkern\unkern \XKinterhanjabreak \XeKo at suppress@linebreak % ID LD
- \or
\or \unkern\unkern % SY LD
\or \unkern\unkern % AA LD
\or \unkern\unkern % AO LD
@@ -1390,9 +1389,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassVC{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern % HG VC
\or \unkern\unkern % ID VC
- \or
\or \unkern\unkern % SY VC
\or \unkern\unkern % AA VC
\or \unkern\unkern % AO VC
@@ -1418,7 +1417,7 @@
% !!!!! 이 경우 \everyhangul 등이 제대로 작동 않는다 !!!!!
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassJJ{%
\ifnum\lastnodetype=12 %
- \ifnum\lastkern=\@ne
+ \ifnum\lastkern=6 %
\unkern\unkern
\expandafter\expandafter\expandafter\XeKo at startJJ
\fi
@@ -1441,9 +1440,9 @@
\XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassCM{%
\ifnum\lastnodetype=12 %
\ifcase\lastkern
+ \or \or \or \or \or
\or \unkern\unkern \expandafter\expandafter\expandafter\XeKo at startCM % HG
\or \unkern\unkern \expandafter\expandafter\expandafter\XeKo at startCM % ID
- \or
\or \unkern\unkern \expandafter\expandafter\expandafter\XeKo at startCM % SY
\or \unkern\unkern \expandafter\expandafter\expandafter\XeKo at startCM % AA
\or \unkern\unkern \expandafter\expandafter\expandafter\XeKo at startCM % AO
@@ -1485,7 +1484,7 @@
\XeKo at insert@kerns
}
\def\XeKo at rebox@punctbox#1{%
- \ifnum 0\ifnum\XeKo at currclass>10 \ifnum\XeKo at currclass<15
+ \ifnum 0\ifnum\XeKo at currclass>14 \ifnum\XeKo at currclass<19 % OP .. FS
1\fi\fi >\z@
\setbox\XeKo at box@=\lastbox
\hbox to.5em\bgroup
@@ -1684,22 +1683,46 @@
\fi
\newbox\XeKo at dotemph@box
+\let\XeKo at maybe@dotemph\relax
+
\protected\def\dotemph#1{%
\leavevmode
+ \setbox\XeKo at dotemph@box\hbox{\raise\dotemphraise\hbox{\dotemphchar}}%
\begingroup
- \setbox\XeKo at dotemph@box\hbox{\dotemphchar}%
- \edef\XeKo at flush@char at orphan{%
- \unexpanded{%
- \edef\XeKo at tempa{%
- \XeKo at toks@{%
- \setbox\z@\hbox{\the\XeKo at toks@}%
- \setbox\tw@\hbox to\wd\z@{\hss\unhcopy\XeKo at dotemph@box\hss}\ht\tw@\z@\dp\tw@\z@
- \rlap{\raise\dotemphraise\box\tw@}\the\XeKo at toks@ }%
- }\XeKo at tempa }%
- \unexpanded\expandafter{\XeKo at flush@char at orphan}}%
+ \let\XeKo at maybe@dotemph\XeKo at do@dotemph
#1\relax
\endgroup
- }
+}
+\def\XeKo at do@dotemph{%
+ \XeKo at check@hangulTM % 방점 너비를 감안하자
+ \setbox\z@\hbox{\the\XeKo at toks@}%
+ \setbox\tw@\hbox to\wd\z@{%
+ \hss
+ \ifnum\XeKo at has@hangulTM>\z@
+ \kern\fontcharwd\font\XeKo at has@hangulTM
+ \fi
+ \unhcopy\XeKo at dotemph@box
+ \hss
+ }\wd\tw@\z@ \ht\tw@\z@ \dp\tw@\z@
+ \box\tw@
+}
+\def\XeKo at check@hangulTM{%
+ \chardef\XeKo at has@hangulTM\z@
+ \expandafter\XeKo at check@hangulTM at e \the\XeKo at toks@ ^^^^302e\relax
+ \ifnum\XeKo at has@hangulTM=\z@
+ \expandafter\XeKo at check@hangulTM at f \the\XeKo at toks@ ^^^^302f\relax
+ \fi
+}
+\def\XeKo at check@hangulTM at e#1^^^^302e#2\relax{%
+ \ifx\empty#2\empty \else
+ \chardef\XeKo at has@hangulTM="302E
+ \fi
+}
+\def\XeKo at check@hangulTM at f#1^^^^302f#2\relax{%
+ \ifx\empty#2\empty \else
+ \chardef\XeKo at has@hangulTM="302F
+ \fi
+}
% other commands
\let\enablecjksymbolspacing\compresspunctuations
@@ -1755,62 +1778,49 @@
\let\disableautojosa\relax
\let\disablejamoautojosa\relax
% ulem support
-\ifcsname ver at xetexko.sty\endcsname
- \def\xetexkoulemsupport{%
- \ifdefined\UL at hook
- \UL at hook\expandafter{\the\UL at hook
- % uline 안에서 폰트가 변경되는 경우를 대비
- \expandafter\def\expandafter\XeKo at hangul@selectfont\expandafter{%
- \XeKo at hangul@selectfont
- \ifdefined\XeKo at in@selectfont\else
- \xdef\XeKo at UL@hangul at font{%
- \def\noexpand\XeKo at hangul@font{\unexpanded\expandafter{\XeKo at hangul@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
- \ifdefined\XeKo at in@selectfont\else
- \xdef\XeKo at UL@hanja at font{%
- \def\noexpand\XeKo at hanja@font{\unexpanded\expandafter{\XeKo at hanja@font}}}%
- \aftergroup\aftergroup\aftergroup\XeKo at UL@hanja at font
- \fi }%
- }%
+\protected\def\XeKo at UL@dotemph#1{%
+ \ifx\ \LA at space\else \UL at stop\fi
+ \leavevmode
+ \setbox\XeKo at dotemph@box\hbox{\raise\dotemphraise\hbox{\dotemphchar}}%
+ \begingroup
+ \let\XeKo at maybe@dotemph\XeKo at do@dotemph
+ \XeKo at UL@dotemph@#1 ^^^^ffff \relax
+ \endgroup
+ \ifx\ \LA at space\else \UL at start\fi
+}
+\def\XeKo at UL@dotemph@#1 {%
+ \ifx^^^^ffff#1\relax
+ \unskip\unskip\unskip
+ \else
+ \ifx\ \LA at space
+ #1\ %
+ \else
+ \UL at start
+ #1\ %
+ \UL at stop
\fi
- }
-\else
- \let\XeKo at UL@hangul at patch\relax
- \let\XeKo at UL@hanja at patch \relax
- \def\xetexkoulemsupport{%
- \ifdefined\UL at hook
- \UL at hook\expandafter{\the\UL at hook
- % uline 안에서 폰트가 변경되는 경우를 대비
- \def\XeKo at UL@hangul at patch{%
- \xdef\XeKo at UL@hangul at font{%
- \def\noexpand\XeKo at hangul@font{\unexpanded\expandafter{\XeKo at hangul@font}}}%
- \aftergroup\aftergroup\aftergroup\XeKo at UL@hangul at font
- \XeKo at UL@latin at patch
- }%
- \def\XeKo at UL@hanja at patch{%
- \xdef\XeKo at UL@hanja at font{%
- \def\noexpand\XeKo at hanja@font{\unexpanded\expandafter{\XeKo at hanja@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
- }
-\fi
+ \expandafter\XeKo at UL@dotemph@
+ \fi
+}
+\def\xetexkoulemsupport{%
+ \let\XeKo at UL@stop\UL at stop
+ \UL at hook\expandafter{\the\UL at hook
+ \let\dotemph\XeKo at UL@dotemph
+ % uline 안에서 폰트가 변경되는 경우를 대비
+ \def\UL at stop{%
+ \global\let\XeKo at UL@tmp at latinfont \XeKo at latin@font
+ \global\let\XeKo at UL@tmp at hangulfont \XeKo at hangul@font
+ \global\let\XeKo at UL@tmp at hanjafont \XeKo at hanja@font
+ \global\let\XeKo at UL@tmp at rawhangulfont \XeKo at raw@hangul at font
+ \global\let\XeKo at UL@tmp at rawhanjafont \XeKo at raw@hanja at font
+ \expandafter \XeKo at UL@stop \the\font
+ \let\XeKo at latin@font \XeKo at UL@tmp at latinfont
+ \let\XeKo at hangul@font \XeKo at UL@tmp at hangulfont
+ \let\XeKo at hanja@font \XeKo at UL@tmp at hanjafont
+ \let\XeKo at raw@hangul at font \XeKo at UL@tmp at rawhangulfont
+ \let\XeKo at raw@hanja at font \XeKo at UL@tmp at rawhanjafont
+ }%
+}}
% math hangul
\def\setmathhangulblock#1#2{%
@@ -1829,7 +1839,7 @@
\unexpanded\expandafter{\plainoutput}}%
\def\pagebody{\setbox\z@\vbox to\hsize{\boxmaxdepth=\maxdepth \pagecontents}%
\XeKo at rotatebox\z@\box\z@}%
- \maxdepth\z@ \typesetvertical
+ \typesetvertical
\let\verticaltypesetting\relax % prevent multiple running
}
\def\beginverticaltypesetting{\vfill\supereject \begingroup \verticaltypesetting}
@@ -1845,7 +1855,6 @@
\ifdefined\xetexkointerhchar \def\noexpand\xetexkointerhchar{\xetexkointerhchar}\fi
\ifdefined\xetexkocharraise \def\noexpand\xetexkocharraise{\xetexkocharraise}\fi
}%
- \XeKo at UL@hangul at patch
}
\protected\def\sethangulfont#1{%
\def\@tempa{#1}%
@@ -1861,7 +1870,6 @@
\ifdefined\xetexkointerhchar \def\noexpand\xetexkointerhchar{\xetexkointerhchar}\fi
\ifdefined\xetexkocharraise \def\noexpand\xetexkocharraise{\xetexkocharraise}\fi
}%
- \noexpand\XeKo at UL@hangul at patch
}%
}
\protected\def\hanjafont{%
@@ -1874,7 +1882,6 @@
\ifdefined\xetexkointerhchar \def\noexpand\xetexkointerhchar{\xetexkointerhchar}\fi
\ifdefined\xetexkocharraise \def\noexpand\xetexkocharraise{\xetexkocharraise}\fi
}%
- \XeKo at UL@hanja at patch
}
\protected\def\sethanjafont#1{%
\def\@tempa{#1}%
@@ -1890,7 +1897,6 @@
\ifdefined\xetexkointerhchar \def\noexpand\xetexkointerhchar{\xetexkointerhchar}\fi
\ifdefined\xetexkocharraise \def\noexpand\xetexkocharraise{\xetexkocharraise}\fi
}%
- \noexpand\XeKo at UL@hanja at patch
}%
}
\protected\def\hanjabyhangulfont{\let\XeKo at hanja@font\XeKo at hangul@font }
@@ -1946,7 +1952,7 @@
\expandafter\textwidth\expandafter\textheight
\@outputpage
}%
- \maxdepth\z@ \typesetvertical
+ \typesetvertical
\let\verticaltypesetting\relax % prevent multiple running
}
\def\endverticaltypesetting{%
More information about the tex-live-commits
mailing list.