texlive[58840] Master/texmf-dist: xetexko

commits+karl at tug.org commits+karl at tug.org
Sun Apr 11 23:40:05 CEST 2021


Revision: 58840
          http://tug.org/svn/texlive?view=revision&revision=58840
Author:   karl
Date:     2021-04-11 23:40:05 +0200 (Sun, 11 Apr 2021)
Log Message:
-----------
xetexko

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-04-11 21:38:07 UTC (rev 58839)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/ChangeLog	2021-04-11 21:40:05 UTC (rev 58840)
@@ -1,3 +1,13 @@
+2021-04-08      Dohyun Kim <nomos at ktug org>
+
+	Version 3.2
+
+	* fix ulem package support
+	* \hangingpunctuation does not work with quotes by default.
+	* new commands \sethangingratio, \unsethangingratio added.
+	* \disablehangulspacing will remove \penalty between Hangul
+	  characters.
+
 2021-03-22      Dohyun Kim <nomos at ktug org>
 
 	Version 3.1

Modified: trunk/Master/texmf-dist/doc/xetex/xetexko/README
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexko/README	2021-04-11 21:38:07 UTC (rev 58839)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/README	2021-04-11 21:40:05 UTC (rev 58840)
@@ -1,4 +1,4 @@
-XeTeX-ko Package version 3.1 (2021/03/22)
+XeTeX-ko Package version 3.2 (2021/04/08)
 =========================================
 
 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-04-11 21:38:07 UTC (rev 58839)
+++ trunk/Master/texmf-dist/doc/xetex/xetexko/xetexko-doc.tex	2021-04-11 21:40:05 UTC (rev 58840)
@@ -41,7 +41,6 @@
   {\setbox0=\vbox\bgroup\hsize=\dimexpr\textwidth-12pt\relax
     \hrule width0pt\kern5pt\par\small
   \parindent0pt }
-%  \noindent}
   {\par \vskip-\lastskip\kern5pt\hrule width0pt\egroup \par\medskip\par
     \dimen0=\dimexpr\pagegoal-\pagetotal\relax
     \ifdim\dimen0<2\baselineskip\relax \dimen0\maxdimen \fi
@@ -56,8 +55,8 @@
 \newenvironment{example}
   {\hbox\bgroup\grayvrule
     \vbox\bgroup\hsize\dimexpr\textwidth-4pt\relax
-    \grayhrule\kern1em\leftskip1em\rightskip1em
-  }{\par\kern1em\grayhrule\egroup\grayvrule\egroup}
+    \grayhrule\kern5pt\leftskip10pt\rightskip10pt
+  }{\par\kern5pt\grayhrule\egroup\grayvrule\egroup}
 \def\cs#1{\texttt{\textbackslash #1}}
 \def\hemph#1{\textsf{\bfseries #1}}
 \def\hparen#1{{\small\hangulparens(#1)}}
@@ -71,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.1\quad 2021/03/22}
+\date{Version 3.2\quad 2021/04/08}
 \maketitle
 
 \begin{quote}\small
@@ -217,7 +216,7 @@
 현재 폰트가 직전 문자의 폰트가 아닐 수 있음에 주의할 것.
 
 옵션 키의 종류와 의미는 다음과 같으며 각 키 값은 인자의 경우와 같다.
-\begin{description}\itemsep0pt\hangulparens
+\begin{description}\itemsep0pt
 \item[alphs] 라틴 알파벳, 숫자, 아래에 해당않는 모든 non-CJK 문자
 \item[parens] 라틴 괄호, 중괄호, 대괄호, 꺽쇠, 인용부호 및 그 리거쳐
 \item[colons] 라틴 콜론, 세미콜론
@@ -229,15 +228,17 @@
 종전에\vernote{3.0}
 라틴숫자에 적용되던 \verb|nums| 옵션과
 라틴 인용부호에 적용되던 \verb|quotes| 옵션이
-3.0버전부터는
+3.0 버전부터는
 각각 \verb|alphs| 옵션과 \verb|parens| 옵션에 통합되었음에 유의하라.
 또한\vernote{3.0} en dash, em dash가 종래 \verb|colons|에 속하던 것이 이제
-\verb|hyphens|에 속하게 되었음도 주의하라.
+\verb|hyphens|에 속하게 되었다.
 
 기본값은 다음 명령을 준 것과 동일하다.
+v3.0부터\vernote{3.0} 괄호류의 기본글꼴이 한글이 되었음도 유의하라.
 \begin{verbatim}
   \xetexkofontregime {latin}%
-    [ puncts=prevfont, colons=prevfont, cjksymbols=hangul ]
+    [ puncts=prevfont, colons=prevfont,
+      parens=hangul, cjksymbols=hangul ]
 \end{verbatim}
 \begin{plaintex}
 플레인텍에서는 다음 명령을 사용한다. \LaTeX에서도 쓸 수 있다.
@@ -255,7 +256,7 @@
 \end{verbatim}
 \end{plaintex}
 
-\section{간격 조정 옵션}\label{sec:fontopts}
+\section{글꼴 옵션}\label{sec:fontopts}
 \dotemph{고정폭 글꼴을 제외한} 한글·한자 글꼴 명령에 미세 간격 옵션을
 쓸 수 있다. 예컨대
 \begin{verbatim}
@@ -282,25 +283,19 @@
 \item[CharRaise, charraise]\quad
   글자의 {\addhangulfontfeature{charraise=.5ex}수직 위치}를 조절한다.
   기본값은 \verb|0pt|.
+  고정폭 글꼴에서도 이 옵션은 작동한다.
 \end{description}
-3.0버전부터는\vernote{3.0} 다음 옵션들이 아무 효과도 가져오지 않게
+3.0 버전부터는\vernote{3.0} 다음 옵션들이 아무 효과도 가져오지 않게
 변경되었음을 주의하라.
 \begin{verbatim}
-    lowerperiod, PunctRaise
-    lowerquestion
-    lowerexclamation
-    lowercomma
-    preperiodkern
-    postperiodkern
-    prequestionkern
-    postquestionkern
-    preexclamationkern
-    postexclamationkern
-    precommakern
-    postcommakern
-    quoteraise
-    quotewidth
-    postmathskip
+    lowerperiod         lowerquestion
+    lowerexclamation    lowercomma
+    preperiodkern       postperiodkern
+    prequestionkern     postquestionkern
+    preexclamationkern  postexclamationkern
+    precommakern        postcommakern
+    quoteraise          quotewidth
+    postmathskip        PunctRaise
 \end{verbatim}
 
 \begin{plaintex}
@@ -356,11 +351,13 @@
     줄바꿈까지도 먹지 않게 한다.
     일부 고급 오픈타입 기능을 사용하기 위해서 이 명령이 필요할 때가 있다.
     이를테면, 폰트가 지원하는 한글 리거쳐가 동작하지 않을 때 이 명령을
-    선언하면 문제가 해결된다.
+    선언하면 문제가 해결된다.%
+    \footnote{%
+      이 명령은 그룹 안에서 실행해야 할 것이다. 그렇더라도
+      \cs{enablehangulspacingandlinebreak} 명령을 그룹을 닫고나서 선언해야
+      원래 기능이 완전히 복구된다.
+      }
 
-    \cs{enablehangulspacingandlinebreak}는 이 명령의 효력을 원래대로
-    되돌리는 기능을 한다.
-
 \end{description}
 3.0 버전부터는\vernote{3.0} 종전의
 \cs{disableautojosa} 및 \cs{disablejamoautojosa} 명령이 아무 기능도 하지 않게
@@ -376,8 +373,6 @@
 Source Han Serif (본명조), Noto Sans CJK, Noto Serif CJK,
 나눔명조옛한글, 나눔바른고딕옛한글, KoPubWorld 바탕, KoPubWorld 돋움 등이 있다.
 또한
-%%% BUG: \char를 이용하여 옛한글을 찍으면 자모가 분리된다.
-%%%      코드 수정 요망.
 \textsf{^^^^1112^^^^119e^^^^11ab글}에 번들된 함초롬 글꼴에도
 최근 옛한글 지원이 추가되었다.}
 
@@ -427,12 +422,13 @@
 \begin{figure}
 \begin{example}
 \hfil\begin{vertical}{18em}
-  \spaceskip=.5em plus .08em minus .04em
-  \sffamily\addhangulfontfeatures{Vertical=Alternates,CharRaise=.5ex,
-  RawFeature=vertical}
-  \hanjabyhangulfont \parindent-1em\leftskip1em
+  \linespread{1.5}\sffamily
+  \addhangulfontfeatures{Vertical=Alternates,CharRaise=.5ex,RawFeature=vertical}
+  \hanjabyhangulfont
   \typesetclassic \latinparens
-  \noindent 님의 침묵 (The Silent Beloved)
+  \parindent0pt \everypar{\hangindent1em \hangafter1 }
+  \spaceskip=.5em plus .25em minus .125em
+  \quad 님의 침묵 (The Silent Beloved)
 \smallbreak
 \hfil\hfil 한 용 운\hfil
 \bigbreak
@@ -449,7 +445,7 @@
     세로쓰기 보기.\quad
     \sffamily\small
   Noto Sans CJK KR 글꼴을 이용했다. 이 글꼴의 세로쓰기 어간이 1em으로
-  매우 커서 \cs{spaceskip=0.5em plus.08em minus.04em}을 강제했다.
+  매우 커서 \cs{spaceskip=0.5em plus.25em minus.125em}을 강제했다.
   \texttt{CharRaise=.5ex}도 글꼴 옵션에 추가했다.
   또한 \cs{latinparens}를 선언했는데
   제목 다음의 괄호가 CJK 괄호가 아니라 아스키 괄호이기 때문이다.
@@ -540,11 +536,10 @@
 
 \begin{figure}
   \begin{example}\linespread{1.3}
-    \hfil\begin{vertical}{18em}
-      \sffamily\typesetclassic
-      \addhangulfontfeatures{Vertical=Alternates,CharRaise=.5ex,
-      RawFeature=vertical}
-      \hanjabyhangulfont \parindent-1em\leftskip1em
+    \hfil\begin{vertical}{19em}
+      \linespread{1.5}\sffamily\typesetclassic
+      \addhangulfontfeatures{Vertical=Alternates,CharRaise=.5ex,RawFeature=vertical}
+      \hanjabyhangulfont \parindent0pt \everypar{\hangindent1em \hangafter1 }
       \analect
     \end{vertical}\hfil
   \end{example}
@@ -557,16 +552,37 @@
 \end{figure}
 
 \section{매달린 구두점}
-마침표, 쉼표, 인용부호를 판면 바깥에 식자하여 행 끝에 매달리게 만든다.
+\hemph{하이픈을 제외한} 문장부호들를 판면 바깥에 식자하여 행 끝에 매달리게 만들 수 있다.
 
 3.0 버전부터는\vernote{3.0} \keyword{hangingpunctuations}%
 \cs{hangingpunctuations} 명령으로 활성화한다.
 \cs{hangingpunctuation}은 이 명령과 동의어이다.
-당분간 xetexko-hanging.sty 을 로드하는 것으로도 활성화되도록 해 두었다.
+당분간 xetexko-hanging.sty을 로드하는 것으로도 활성화되도록 해 두었다.
+이렇게 활성화되면 기본값으로 온점, 반점, 고리점, 모점에 대해서 전부 내밀기가 작동한다.
 
-글자 내밀기 기본값에 차이가 좀 있긴 하지만,
-microtype 패키지를 로드하는 것으로도 유사한 결과를 얻을 수 있다.
+3.2 버전부터는\vernote{3.2} 사용자가 원하는 문장부호를 원하는 만큼 판면 밖으로 내밀 수 있다.
+\begin{verbatim}
+    \sethangingratio"28=0.5 %
+    \sethangingratio"3002=1 %
+\end{verbatim}
+등호 앞의 숫자는 유니코드 코드포인트이고 뒤의 숫자는 글자폭에 대한 비율을 뜻한다.
+따라서 위 예는 여는괄호(U+0028)를 절반만 내밀고 고리점(U+3002)은 완전히 밀어내라는 지시다.
+어느 방향으로 내밀지는 \xetexko 가 알아서 판단한다.
+이러한 지시를 취소하려면,
+\begin{verbatim}
+    \unsethangingratio"28
+    \unsethangingratio"3002
+\end{verbatim}
 
+microtype 패키지의 protrusion 기능이 잘 작동하지 않는 경우가 있어,%
+\footnote{%
+  원시명령 \cs{lpcode} \cs{rpcode} 등 엔진이 제공하는 기능을 말한다.
+  이들 원시명령에는 글리프 인덱스를 지시해야 하는데 어떤 글자의 글리프 인덱스를
+  알아내는 일은 간단치가 않다.
+  \XeTeX\ reference guide를 참고하라.
+  }
+어쩔 수 없이 제공하게 되었으므로 예외적으로만 사용할 것을 권한다.
+
 %\begin{figure}
 %\Large
 %\hangingpunctuation
@@ -574,15 +590,11 @@
 %\vbox{\hfil\hbox{\vrule\vbox{\hsize\wd0
 %  줄 끝에 매달린 구두점.
 %  줄 끝에 매달린 구두점,
-%  ``줄 끝에 매달린 구두점''
-%  `줄 끝에 매달린 구두점'
-%  “줄 끝에 매달린 구두점”
-%  ‘줄 끝에 매달린 구두점’
 %  줄 끝에 매달린 구두점、
 %  줄 끝에 매달린 구두점。
 %  줄 끝에 매달린 구두점
 %  }\vrule}\hfil}
-%\caption{매달린 구두점 보기}\label{fig:hanging}
+%\caption{기본값이 적용된 매달린 구두점}\label{fig:hanging}
 %\end{figure}
 
 \section{수식 한글}
@@ -661,7 +673,7 @@
 따위를 사용한다.
 
 \section{밑줄긋기}
-\LaTeX에서는 \uwave{ulem 패키지}를 로드하는 것만으로 자동 지원된다.
+\uwave{ulem 패키지}를 로드하는 것만으로 자동 지원된다.
 
 3.0 버전부터는\vernote{3.0} \cs{xetexkoulemsupport} 선언이
 불필요하게 되었다. 이 명령은 호환성을 위해 남겨두었으나 아무 일도
@@ -675,6 +687,11 @@
 
 \begin{small}\linespread{1.2}\selectfont
 \begin{description}\itemsep=0pt
+    \item[v3.2] 2021-04-08
+      \begin{itemize}
+        \item 매달린 구두점이 기본값으로 따옴표에는 작동하지 않고 마침표^^b7쉼표에만 작동한다.
+        \item \cs{sethangingratio}, \cs{unsethangingratio} 명령 추가
+      \end{itemize}
     \item[v3.1] 2021-03-22
       \begin{itemize}
         \item 플레인텍 명령 \cs{sethangulfont}, \cs{sethanjafont} 추가

Modified: trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty	2021-04-11 21:38:07 UTC (rev 58839)
+++ trunk/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty	2021-04-11 21:40:05 UTC (rev 58840)
@@ -16,7 +16,7 @@
 
 \ifdefined\ProvidesPackage
   \NeedsTeXFormat{LaTeX2e}[2020/10/01]
-  \ProvidesPackage{xetexko}[2021/03/22 v3.1 typesetting Korean with XeTeX]
+  \ProvidesPackage{xetexko}[2021/04/08 v3.2 typesetting Korean with XeTeX]
 \else
   \ifdefined\@tempcnta\else \newcount\@tempcnta \fi
   \ifdefined\@gobble\else \def\@gobble#1{} \fi
@@ -524,20 +524,21 @@
 
 \expandafter\let\csname XeKo at 1@class\endcsname =\XeTeXcharclassHG
 \expandafter\let\csname XeKo at 2@class\endcsname =\XeTeXcharclassID
-\expandafter\let\csname XeKo at 3@class\endcsname =\XeTeXcharclassSY
-\expandafter\let\csname XeKo at 4@class\endcsname =\XeTeXcharclassAA
-\expandafter\let\csname XeKo at 5@class\endcsname =\XeTeXcharclassAO
-\expandafter\let\csname XeKo at 6@class\endcsname =\XeTeXcharclassAC
-\expandafter\let\csname XeKo at 7@class\endcsname =\XeTeXcharclassAP
-\expandafter\let\csname XeKo at 8@class\endcsname =\XeTeXcharclassAM
-\expandafter\let\csname XeKo at 9@class\endcsname =\XeTeXcharclassAH
-\expandafter\let\csname XeKo at 10@class\endcsname=\XeTeXcharclassOP
-\expandafter\let\csname XeKo at 11@class\endcsname=\XeTeXcharclassCL
-\expandafter\let\csname XeKo at 12@class\endcsname=\XeTeXcharclassMD
-\expandafter\let\csname XeKo at 13@class\endcsname=\XeTeXcharclassFS
-\expandafter\let\csname XeKo at 14@class\endcsname=\XeTeXcharclassEX
-\expandafter\let\csname XeKo at 15@class\endcsname=\XeTeXcharclassLD
-\expandafter\let\csname XeKo at 16@class\endcsname=\XeTeXcharclassVC
+% 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
 
 \newtoks\XeKo at toks@
 \newtoks\XeKo at toks@ii
@@ -551,7 +552,8 @@
   \ifnum\XeKo at charslot="FFFF
     % 다음 한 줄이 없으면 한글과 한글 사이에 폰트가 변경되는 경우 글자 누락.
     % 폰트 변경은 kern 에 아무 영향을 주지 않기 때문.
-    \def\XeKo at maybe@gobble{\def\XeKo at maybe@gobble{\expandafter\expandafter\expandafter\@gobble}}%
+    \def\XeKo at maybe@gobble{\def\XeKo at maybe@gobble{%
+      \ifdefined\XeKo at curr@font\expandafter\XeKo at maybe@gobble@\fi }}%
     \expandafter\XeKo at flush@toks
   \else
     \ifnum\XeKo at currclass>\tw@
@@ -579,11 +581,11 @@
   \fi
   }
 \def\XeKo at addto@toks#1{%
-  \ifnum\XeKo at currclass=4 % AA
+  \ifnum\XeKo at currclass=5 % 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=\thr@@ % SY
+  \else\ifnum\XeKo at currclass=4 % SY
     \global\let\XeKo at josatoken=#1\relax
   \fi\fi\fi
   \XeKo at toks@\expandafter{\the\XeKo at toks@ #1}%
@@ -682,8 +684,8 @@
   }
 % remove space
 \def\XeKo at maybe@ignorespaces{%
-  \ifnum 0\ifnum\XeKo at currclass<4 1\else  % HG ID SY
-          \ifnum\XeKo at currclass>9 1\fi\fi % CJK punctuations
+  \ifnum 0\ifnum\XeKo at currclass<5  1\else  % HG ID SY
+          \ifnum\XeKo at currclass>10 1\fi\fi % CJK punctuations
           >\z@
     \expandafter\XeKo at ignorespaces@iv
   \fi
@@ -708,6 +710,61 @@
 \protected\def\hangingpunctuation{\chardef\XeKo at hangingpuncts\@ne }
 \let\hangingpunctuations\hangingpunctuation
 
+\protected\def\sethangingratio#1=#2 {%
+  \expandafter\def\csname XeKo at hanging@ratio@\number#1\endcsname{#2}%
+  }
+\protected\def\unsethangingratio{\afterassignment\unsethangingratio@\count@= }
+\def\unsethangingratio@{%
+  \expandafter\let\csname XeKo at hanging@ratio@\number\count@\endcsname\XeKo at undefined
+  }
+\def\XeKo at def@pre at hang#1{%
+  \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
+              1\fi\fi >\z@
+        \XeKo at dimen@=.5em
+      \else
+        \setbox\XeKo at box@\hbox{\XeTeXinterchartokenstate\z@ #1}%
+        \XeKo at dimen@=\wd\XeKo at box@
+      \fi
+      \XeKo at dimen@=\csname XeKo at hanging@ratio@\number`#1\endcsname\XeKo at dimen@
+      \edef\XeKo at pre@hang{%
+        \kern\the\XeKo at dimen@
+        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
+        }%
+    \fi
+  \fi
+  }
+\def\XeKo at def@post at hang#1{%
+  \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
+              1\fi\fi\fi >\z@
+        \XeKo at dimen@=.5em
+      \else
+        \setbox\XeKo at box@\hbox{\XeTeXinterchartokenstate\z@ #1}%
+        \XeKo at dimen@=\wd\XeKo at box@
+      \fi
+      \XeKo at dimen@=\csname XeKo at hanging@ratio@\number`#1\endcsname\XeKo at dimen@
+      \edef\XeKo at post@hang{%
+        \noexpand\XeKo at count@\noexpand\spacefactor
+        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
+        \kern\the\XeKo at dimen@
+        \noexpand\spacefactor\noexpand\XeKo at count@
+        }%
+    \fi
+  \fi
+  }
+\sethangingratio"2C=1 % , 반점
+\sethangingratio"2E=1 % . 온점
+\sethangingratio"3001=1 % 、 모점
+\sethangingratio"3002=1 % 。 고리점
+\sethangingratio"FF0C=1 % , 전각반점
+\sethangingratio"FF0E=1 % . 전각온점
+
 % compress CJK punctuations to .5em
 \protected\def\compresspunctuations{\chardef\XeKo at compresspuncts\@ne }
 \protected\def\nocompresspunctuations{\chardef\XeKo at compresspuncts\z@ }
@@ -747,7 +804,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{3}%
+  \def\XeKo at currclass{4}%
   \XeKo at toks@{#1}%
   \XeKo at check@next at tok
   }
@@ -754,180 +811,119 @@
 \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{4}%
+  \def\XeKo at currclass{5}%
   \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{5}%
+  \def\XeKo at currclass{6}%
   \XeKo at toks@{#1}%
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum`#1="60 % `
-      \XeKo at dimen@=\fontcharwd\font"60 %
-      \edef\XeKo at pre@hang{%
-        \kern\the\XeKo at dimen@
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        }%
-    \fi
-  \fi
+  \XeKo at def@pre at hang{#1}%
   \XeKo at check@next at tok
   }
 \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{6}%
+  \def\XeKo at currclass{7}%
   \XeKo at toks@{#1}%
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum`#1="27 % '
-      \XeKo at dimen@=\fontcharwd\font"27 %
-      \edef\XeKo at post@hang{%
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        \kern\the\XeKo at dimen@
-        }%
-    \fi
-  \fi
+  \XeKo at def@post at hang{#1}%
   \XeKo at check@next at tok
   }
 \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{7}%
+  \def\XeKo at currclass{8}%
   \XeKo at toks@{#1}%
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum 0\ifnum`#1="2E 1\else % . ,
-            \ifnum`#1="2C 1\fi\fi >\z@
-      \XeKo at dimen@=\fontcharwd\font`#1 %
-      \edef\XeKo at post@hang{%
-        \noexpand\XeKo at count@\noexpand\spacefactor
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        \kern\the\XeKo at dimen@
-        \noexpand\spacefactor\noexpand\XeKo at count@
-        }%
-    \fi
-  \fi
+  \XeKo at def@post at hang{#1}%
   \XeKo at check@next at tok
   }
 \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{8}%
+  \def\XeKo at currclass{9}%
   \XeKo at toks@{#1}%
+  \XeKo at def@post at hang{#1}%
   \XeKo at check@next at tok
   }
 \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{9}%
+  \def\XeKo at currclass{10}%
   \XeKo at toks@{#1}%
+  \ifnum`#1=\hyphenchar\font \else % exclude hyphen char
+    \XeKo at def@post at hang{#1}%
+  \fi
   \XeKo at check@next at tok
   }
 \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{10}%
+  \def\XeKo at currclass{11}%
   \ifnum\XeKo at compresspuncts=\@ne
     \XeKo at toks@{\hbox to.5em\bgroup\hss #1\egroup}%
   \else
     \XeKo at toks@{#1}%
   \fi
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum0\ifnum`#1="2018 1\else % ‘ “
-           \ifnum`#1="201C 1\fi\fi >\z@
-      \ifnum\XeKo at compresspuncts=\@ne
-        \XeKo at dimen@=.5em
-      \else
-        \XeKo at dimen@=\fontcharwd\font`#1 %
-      \fi
-      \ifnum`#1="201C %
-        \XeKo at dimen@=.5\XeKo at dimen@
-      \fi
-      \edef\XeKo at pre@hang{%
-        \kern\the\XeKo at dimen@
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        }%
-    \fi
-  \fi
+  \XeKo at def@pre at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{11}%
+  \def\XeKo at currclass{12}%
   \ifnum\XeKo at compresspuncts=\@ne
     \XeKo at toks@{\hbox to.5em\bgroup #1\hss\egroup}%
   \else
     \XeKo at toks@{#1}%
   \fi
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum 0\ifnum`#1="2019 1\else % ’ ” 、 ,
-            \ifnum`#1="201D 1\else
-            \ifnum`#1="3001 1\else
-            \ifnum`#1="FF0C 1\fi\fi\fi\fi >\z@
-      \ifnum\XeKo at compresspuncts=\@ne
-        \XeKo at dimen@=.5em
-      \else
-        \XeKo at dimen@=\fontcharwd\font`#1 %
-      \fi
-      \ifnum`#1="201D %
-        \XeKo at dimen@=.5\XeKo at dimen@
-      \fi
-      \edef\XeKo at post@hang{%
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        \kern\the\XeKo at dimen@
-        }%
-    \fi
-  \fi
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{12}%
+  \def\XeKo at currclass{13}%
   \ifnum\XeKo at compresspuncts=\@ne
     \XeKo at toks@{\hbox to.5em\bgroup\hss #1\hss\egroup}%
   \else
     \XeKo at toks@{#1}%
   \fi
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{13}%
+  \def\XeKo at currclass{14}%
   \ifnum\XeKo at compresspuncts=\@ne
     \XeKo at toks@{\hbox to.5em\bgroup #1\hss\egroup}%
   \else
     \XeKo at toks@{#1}%
   \fi
-  \ifnum\XeKo at hangingpuncts=\@ne
-    \ifnum 0\ifnum`#1="3002 1\else % 。 .
-            \ifnum`#1="FF0E 1\fi\fi >\z@
-      \ifnum\XeKo at compresspuncts=\@ne
-        \XeKo at dimen@=.5em
-      \else
-        \XeKo at dimen@=\fontcharwd\font`#1 %
-      \fi
-      \edef\XeKo at post@hang{%
-        \vrule width-\the\XeKo at dimen@ height\z@ depth\z@
-        \kern\the\XeKo at dimen@
-      }%
-    \fi
-  \fi
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{14}%
+  \def\XeKo at currclass{15}%
   \XeKo at toks@{#1}%
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{15}%
+  \def\XeKo at currclass{16}%
   \XeKo at toks@{#1}%
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 \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{16}%
+  \def\XeKo at currclass{17}%
   \XeKo at toks@{#1}%
+  \XeKo at def@post at hang{#1}%
   \XeKo at do@flush at toks
   }
 
-\def\XeKo at maybe@gobble{\expandafter\expandafter\expandafter\@gobble}
+\def\XeKo at maybe@gobble{%
+  \ifdefined\XeKo at curr@font\expandafter\XeKo at maybe@gobble@\fi
+  }
+\def\XeKo at maybe@gobble@{%
+  \expandafter\expandafter\expandafter\@gobble
+  }
 
 \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassHG{%
   \ifnum\lastnodetype=12 %
@@ -934,6 +930,7 @@
     \ifcase\lastkern
       \or \unkern\unkern \XKinterhangulbreak \XeKo at maybe@gobble % 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 \XeKo at nobreak        % AO HG
@@ -940,7 +937,7 @@
       \or \unkern\unkern \XeKo at latincjk       % AC HG
       \or \unkern\unkern \XeKo at latincjk       % AP HG
       \or \unkern\unkern \XeKo at latincjk       % AM HG
-      \or \unkern\unkern                      % AH HG
+      \or \unkern\unkern \XKinterhanjabreak   % AH HG
       \or \unkern\unkern                      % OP HG
       \or \unkern\unkern \XeKo at halfhalf       % CL HG
       \or \unkern\unkern \XeKo at quarterquarter % MD HG
@@ -959,6 +956,7 @@
     \ifcase\lastkern
       \or \unkern\unkern \XKinterhanjabreak   % HG ID
       \or \unkern\unkern \XKinterhanjabreak \XeKo at maybe@gobble % ID ID
+      \or
       \or \unkern\unkern                      % SY ID
       \or \unkern\unkern \XeKo at latincjk       % AA ID
       \or \unkern\unkern \XeKo at nobreak        % AO ID
@@ -965,7 +963,7 @@
       \or \unkern\unkern \XeKo at latincjk       % AC ID
       \or \unkern\unkern \XeKo at latincjk       % AP ID
       \or \unkern\unkern \XeKo at latincjk       % AM ID
-      \or \unkern\unkern                      % AH ID
+      \or \unkern\unkern \XKinterhanjabreak   % AH ID
       \or \unkern\unkern                      % OP ID
       \or \unkern\unkern \XeKo at halfhalf       % CL ID
       \or \unkern\unkern \XeKo at quarterquarter % MD ID
@@ -983,7 +981,8 @@
   \ifnum\lastnodetype=12 %
     \ifcase\lastkern
       \or \unkern\unkern \XKinterhanjabreak   % HG CJ
-      \or \unkern\unkern \penalty5000\XKinterhanjabreak \XeKo at maybe@gobble % ID CJ
+      \or \unkern\unkern \XKinterhanjabreak\XeKo at suppress@char at orphan \XeKo at maybe@gobble % ID CJ
+      \or
       \or \unkern\unkern                      % SY CJ
       \or \unkern\unkern \XeKo at latincjk       % AA CJ
       \or \unkern\unkern \XeKo at nobreak        % AO CJ
@@ -990,7 +989,7 @@
       \or \unkern\unkern \XeKo at latincjk       % AC CJ
       \or \unkern\unkern \XeKo at latincjk       % AP CJ
       \or \unkern\unkern \XeKo at latincjk       % AM CJ
-      \or \unkern\unkern                      % AH CJ
+      \or \unkern\unkern \XKinterhanjabreak   % AH CJ
       \or \unkern\unkern                      % OP CJ
       \or \unkern\unkern \XeKo at halfhalf       % CL CJ
       \or \unkern\unkern \XeKo at quarterquarter % MD CJ
@@ -1009,6 +1008,7 @@
     \ifcase\lastkern
       \or \unkern\unkern                      % HG SY
       \or \unkern\unkern                      % ID SY
+      \or
       \or \unkern\unkern \XeKo at maybe@gobble % SY SY
       \or \unkern\unkern                      % AA SY
       \or \unkern\unkern \XeKo at nobreak        % AO SY
@@ -1034,6 +1034,7 @@
     \ifcase\lastkern
       \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 \XeKo at maybe@gobble % AA AA
       \or \unkern\unkern                      % AO AA
@@ -1057,6 +1058,7 @@
     \ifcase\lastkern
       \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 \XeKo at maybe@gobble % AO AO
@@ -1080,6 +1082,7 @@
     \ifcase\lastkern
       \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
@@ -1103,6 +1106,7 @@
     \ifcase\lastkern
       \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
@@ -1126,6 +1130,7 @@
     \ifcase\lastkern
       \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
@@ -1147,22 +1152,23 @@
 \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassAH{%
   \ifnum\lastnodetype=12 %
     \ifcase\lastkern
-      \or \unkern\unkern \XeKo at nobreak % HG AH
-      \or \unkern\unkern \XeKo at nobreak % ID AH
-      \or \unkern\unkern \XeKo at nobreak % SY AH
-      \or \unkern\unkern               % AA AH
-      \or \unkern\unkern               % AO AH
-      \or \unkern\unkern               % AC AH
-      \or \unkern\unkern               % AP AH
-      \or \unkern\unkern               % AM AH
+      \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
+      \or \unkern\unkern                                   % AC AH
+      \or \unkern\unkern                                   % AP AH
+      \or \unkern\unkern                                   % AM AH
       \or \unkern\unkern \XeKo at maybe@gobble % AH AH
-      \or \unkern\unkern               % OP AH
-      \or \unkern\unkern \XeKo at nobreak % CL AH
-      \or \unkern\unkern \XeKo at nobreak % MD AH
-      \or \unkern\unkern \XeKo at nobreak % FS AH
-      \or \unkern\unkern \XeKo at nobreak % EX AH
-      \or \unkern\unkern \XeKo at nobreak % LD AH
-      \or \unkern\unkern \XeKo at nobreak % VC AH
+      \or \unkern\unkern                                   % OP AH
+      \or \unkern\unkern \XeKo at nobreak\XeKo at halfhalf       % CL AH
+      \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % MD AH
+      \or \unkern\unkern \XeKo at nobreak\XeKo at halfzero       % FS AH
+      \or \unkern\unkern \XeKo at nobreak\XeKo at halfhalf       % EX AH
+      \or \unkern\unkern \XeKo at nobreak                     % LD AH
+      \or \unkern\unkern \XeKo at nobreak                     % VC AH
     \fi
   \fi
   \XeKo at fontAH\XeKo at startAH
@@ -1172,6 +1178,7 @@
     \ifcase\lastkern
       \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
@@ -1178,7 +1185,7 @@
       \or \unkern\unkern \XeKo at halfhalf              % AC OP
       \or \unkern\unkern \XeKo at halfhalf              % AP OP
       \or \unkern\unkern \XeKo at halfhalf              % AM OP
-      \or \unkern\unkern                             % AH OP
+      \or \unkern\unkern \XeKo at halfhalf              % AH OP
       \or \unkern\unkern \XeKo at maybe@gobble % OP OP
       \or \unkern\unkern \XeKo at halfhalf              % CL OP
       \or \unkern\unkern \XeKo at quarterquarter        % MD OP
@@ -1197,6 +1204,7 @@
     \ifcase\lastkern
       \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
@@ -1220,6 +1228,7 @@
     \ifcase\lastkern
       \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
@@ -1226,7 +1235,7 @@
       \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % AC MD
       \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % AP MD
       \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % AM MD
-      \or \unkern\unkern                                      % AH MD
+      \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % AH MD
       \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % OP MD
       \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter    % CL MD
       \or \unkern\unkern \XeKo at nobreak\XeKo at halfquarter \XeKo at maybe@gobble % MD MD
@@ -1245,6 +1254,7 @@
     \ifcase\lastkern
       \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
@@ -1268,6 +1278,7 @@
     \ifcase\lastkern
       \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
@@ -1291,6 +1302,7 @@
     \ifcase\lastkern
       \or \unkern\unkern                                   % HG LD
       \or \unkern\unkern                                   % ID LD
+      \or
       \or \unkern\unkern                                   % SY LD
       \or \unkern\unkern                                   % AA LD
       \or \unkern\unkern                                   % AO LD
@@ -1312,21 +1324,22 @@
 \XeTeXinterchartoks\XeTeXcharclassBoundary\XeTeXcharclassVC{%
   \ifnum\lastnodetype=12 %
     \ifcase\lastkern
-      \or \unkern\unkern                                % HG VC
-      \or \unkern\unkern                                % ID VC
-      \or \unkern\unkern                                % SY VC
-      \or \unkern\unkern                                % AA VC
-      \or \unkern\unkern                                % AO VC
-      \or \unkern\unkern                                % AC VC
-      \or \unkern\unkern                                % AP VC
-      \or \unkern\unkern                                % AM VC
-      \or \unkern\unkern                                % AH VC
-      \or \unkern\unkern                                % OP VC
-      \or \unkern\unkern                                % CL VC
-      \or \unkern\unkern \XeKo at nobreak\XeKo at halfquarter % MD VC
-      \or \unkern\unkern                                % FS VC
-      \or \unkern\unkern                                % EX VC
-      \or \unkern\unkern                                % LD VC
+      \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
+      \or \unkern\unkern                                   % AC VC
+      \or \unkern\unkern                                   % AP VC
+      \or \unkern\unkern                                   % AM VC
+      \or \unkern\unkern                                   % AH VC
+      \or \unkern\unkern                                   % OP VC
+      \or \unkern\unkern                                   % CL VC
+      \or \unkern\unkern \XeKo at nobreak\XeKo at quarterquarter % MD VC
+      \or \unkern\unkern                                   % FS VC
+      \or \unkern\unkern                                   % EX VC
+      \or \unkern\unkern                                   % LD VC
       \or \unkern\unkern \XeKo at maybe@gobble % VC VC
     \fi
   \fi
@@ -1615,30 +1628,19 @@
   \let\XeKo at iiiquarterquarter \inhibitglue
   \let\XeKo at latincjk          \inhibitglue
   \let\XeKo at postmath          \inhibitglue
-  \let\XKinterhangulbreak     \XKinterhanjabreak
+  \let\XKinterhangulbreak     \inhibitglue
+  \let\XKinterhanjabreak      \inhibitglue
   \let\XeKo at latincjk@classic  \inhibitglue
   \let\XeKo at latincjk@modern   \inhibitglue
   \let\XeKo at postmath@modern   \inhibitglue
   \let\XeKo at suppress@char at orphan  \relax
-  \chardef\XeKo at hangingpuncts     \z@
   \chardef\XeKo at cjk@ignorespaces  \z@
+  \chardef\XeKo at compresspuncts    \z@
   }
 \protected\def\disablehangulspacingandlinebreak{%
-  \let\XeKo at halfzero          \relax
-  \let\XeKo at halfhalf          \relax
-  \let\XeKo at halfquarter       \relax
-  \let\XeKo at quarterquarter    \relax
-  \let\XeKo at iiiquarterquarter \relax
-  \let\XeKo at latincjk          \relax
-  \let\XeKo at postmath          \relax
-  \let\XKinterhangulbreak     \relax
-  \let\XKinterhanjabreak      \relax
-  \let\XeKo at latincjk@classic  \relax
-  \let\XeKo at latincjk@modern   \relax
-  \let\XeKo at postmath@modern   \relax
-  \let\XeKo at suppress@char at orphan  \relax
-  \chardef\XeKo at hangingpuncts     \z@
-  \chardef\XeKo at cjk@ignorespaces  \z@
+  \let\inhibitglue            \relax
+  \chardef\XeKo at hangingpuncts \z@
+  \disablehangulspacing
   \XeTeXlinebreaklocale""
   }
 \protected\def\enablehangulspacingandlinebreak{%
@@ -1938,7 +1940,7 @@
 \DeclareDocumentCommand \setmonohangulfont { O{} m O{} }
 {
   \__xtxko_assign_font_opts:n { #1, #3 }
-  \fontspec_set_family:Nnn \XeKo at monohangulfamily { Ligatures=TeX, \l_xtxko_rest_opts_tl } { #2 }
+  \fontspec_set_family:Nnn \XeKo at monohangulfamily { \l_xtxko_rest_opts_tl } { #2 }
   \cs_set_protected_nopar:Npn \xetexkomonohangulfont
   {
     \fontencoding \g_fontspec_encoding_tl \fontfamily \XeKo at monohangulfamily \selectfont
@@ -2065,7 +2067,7 @@
 \DeclareDocumentCommand \setmonohanjafont { O{} m O{} }
 {
   \__xtxko_assign_font_opts:n { #1, #3 }
-  \fontspec_set_family:Nnn \XeKo at monohanjafamily { Ligatures=TeX, \l_xtxko_rest_opts_tl } { #2 }
+  \fontspec_set_family:Nnn \XeKo at monohanjafamily { \l_xtxko_rest_opts_tl } { #2 }
   \cs_set_protected_nopar:Npn \xetexkomonohanjafont
   {
     \fontencoding \g_fontspec_encoding_tl \fontfamily \XeKo at monohanjafamily \selectfont
@@ -2082,7 +2084,6 @@
   }
   \ignorespaces
 }
-    \XeKo at latin@selectfont
 \DeclareDocumentCommand \newhanjafontfamily { m O{} m O{} }
 {
   \__xtxko_assign_font_opts:n { #2, #4 }



More information about the tex-live-commits mailing list.