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.