texlive[51298] Master/texmf-dist: xecjk (2jun19)
commits+karl at tug.org
commits+karl at tug.org
Sun Jun 2 23:42:56 CEST 2019
Revision: 51298
http://tug.org/svn/texlive?view=revision&revision=51298
Author: karl
Date: 2019-06-02 23:42:55 +0200 (Sun, 02 Jun 2019)
Log Message:
-----------
xecjk (2jun19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.pdf
trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
===================================================================
--- trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx 2019-06-02 21:42:55 UTC (rev 51298)
@@ -194,7 +194,7 @@
%<*package|config|fntef|listings|xunicode|xunextra>
%<!(config|xunextra)>\NeedsTeXFormat{LaTeX2e}
%<!(config|xunextra)>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+%<+!driver>\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
%<package> {Typesetting CJK scripts with XeLaTeX}
%<config> {Configuration file for xeCJK package}
%<fntef> {xeCJK font effect}
@@ -207,7 +207,7 @@
%<listings>\ProvidesExplPackage{xeCJK-listings}
%<xunicode>\ProvidesExplPackage{xunicode-addon}
%<xunextra>\ProvidesExplFile{xunicode-extra.def}
-%<!driver> {\ExplFileDate}{3.7.3}{\ExplFileDescription}
+%<!driver> {\ExplFileDate}{3.7.4}{\ExplFileDescription}
%</package|config|fntef|listings|xunicode|xunextra>
%<*driver>
\documentclass{ctxdoc}
@@ -281,7 +281,7 @@
% \changes{v3.6.1}{2018/02/27}{减少 \texttt{bool} 运算。}
% \changes{v3.7.2}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
%
-% \CheckSum{10857}
+% \CheckSum{10786}
% \GetFileId{xeCJK.sty}
%
% \title{\bfseries\pkg{xeCJK} 宏包}
@@ -3365,10 +3365,7 @@
\cs_new_protected_nopar:Npn \@@_check_for_glue_auxiii:
{
\bool_if:NT \l_@@_last_penalty_bool
- {
- \@@_add_offset_skip:N \l_@@_last_skip
- \tex_penalty:D \l_@@_last_penalty_int
- }
+ { \tex_penalty:D \l_@@_last_penalty_int }
\skip_horizontal:N \l_@@_last_skip
\tl_if_eq:NNF \l_@@_aligni_tl \c_@@_left_tl { \CJKglue }
}
@@ -3719,7 +3716,6 @@
{
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
\xeCJK_class_group_end:
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\exp_after:wN \xeCJK_punct_node:N \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
\tex_ignorespaces:D
@@ -3775,7 +3771,6 @@
{ \@@_use_dim_or_skip:nNN { bound_kern } #1 #2 }
\dim_compare:nNnF \l_@@_tmp_dim = \l_@@_last_bound_dim
{ \@@_punct_bound_kern_ratio:NN #1 #2 }
- \@@_add_offset_skip:N \l_@@_punct_kern_skip
\bool_if:NTF \l_@@_last_penalty_bool
{
\tex_penalty:D \l_@@_last_penalty_int
@@ -3784,17 +3779,6 @@
{ \@@_punct_bound_kern_aux:NNN #1 #2 }
\l_@@_punct_kern_skip
}
-\cs_new_protected_nopar:Npn \@@_add_offset_skip:N #1
- {
- \tl_if_eq:NNF \l_@@_aligni_tl \c_@@_left_tl
- {
- \int_compare:nNnT \tex_lastnodetype:D = { 11 }
- {
- \skip_add:Nn #1 { \tex_lastskip:D }
- \tex_unskip:D
- }
- }
- }
\skip_new:N \l_@@_punct_kern_skip
% \end{macrocode}
% \end{macro}
@@ -3910,19 +3894,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_punct_offset:NN}
-% 经过以上 \tn{vrule} 处理后,标点输出边界与实际边界的距离。
-% \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_offset:NN #1#2
- {
- \dim_set:Nn \l_@@_tmp_dim
- { - \@@_use_punct_dim:nNN { offset } #1 #2 }
- \dim_compare:nNnF \l_@@_tmp_dim = \c_zero_dim
- { \@@_punct_hskip:n { \l_@@_tmp_dim } }
- }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\@@_punct_glue:NN}
% \changes{v3.2.7}{2013/08/23}
% {标点符号左/右空白的伸展值不超过原始边界,收缩值不小于另一侧边界。}
@@ -3976,7 +3947,7 @@
\exp_after:wN \@@_punct_if_right:NT #1
{ \@@_punct_rule:NN \c_@@_right_tl #1 }
\@@_punct_breakable_kern:n
- { \@@_use_dim_or_skip:nNN { break_kern } #1 #2 }
+ { \@@_use_dim_or_skip:nNN { bound_kern } #1 #2 }
\@@_punct_if_right:NF #2
{ \@@_punct_rule:NN \c_@@_left_tl #2 }
}
@@ -4040,7 +4011,6 @@
\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK:
{
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_select_font:
\CJKglue
@@ -4054,7 +4024,6 @@
{
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
\xeCJK_class_group_end:
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
}
% \end{macrocode}
@@ -4075,10 +4044,7 @@
\CJKpunctsymbol #2
}
\cs_new_protected_nopar:Npn \@@_Default_and_FullLeft_glue:N #1
- {
- \@@_punct_glue:NN \c_@@_left_tl #1
- \@@_punct_offset:NN \c_@@_left_tl #1
- }
+ { \@@_punct_glue:NN \c_@@_left_tl #1 }
% \end{macrocode}
% \end{macro}
%
@@ -4097,7 +4063,6 @@
{
\CJKglue
\@@_punct_glue:NN \c_@@_left_tl #1
- \@@_punct_offset:NN \c_@@_left_tl #1
}
% \end{macrocode}
% \end{macro}
@@ -4108,7 +4073,6 @@
{
\xeCJK_get_punct_bounds:NN \c_@@_left_tl #1
\@@_Boundary_and_FullLeft_glue:N #1
- \@@_punct_offset:NN \c_@@_left_tl #1
\xeCJK_class_group_begin:
\xeCJK_select_punct_font:
\xeCJK_clear_Boundary_and_CJK_toks:
@@ -4584,7 +4548,6 @@
\group_insert_after:N \xeCJK_no_break:
}
{ \group_align_safe_end: }
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\exp_after:wN \xeCJK_punct_node:N \g_@@_last_punct_tl
\xeCJK_class_group_end:
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
@@ -5125,6 +5088,7 @@
% \subsection{标点处理}
%
% \changes{v3.2.7}{2013/08/22}{实现自定义行首/尾标点符号宽度功能。}
+% \changes{v3.7.4}{2019/05/31}{简化行首/尾标点符号宽度的实现。}
%
% \tn{XeTeXglyphbounds} 可以得到一个字符的左右边距,用于标点压缩。如果它不可用,则
% 在文档中只能使用 |plain| 这一标点格式原样输出标点。
@@ -5469,6 +5433,7 @@
\@@_save_punct_dim:nNNn { rule } #1 #2 { \c_zero_dim }
\@@_save_punct_dim:nNNn { glue } #1 #2 { \c_zero_dim }
\@@_save_punct_dim:nNNn { offset } #1 #2 { \c_zero_dim }
+ \@@_save_punct_dim:nNNn { margin } #1 #2 { \c_zero_dim }
\@@_save_punct_dim:nNNn { bound } \c_@@_left_tl {#2} { \c_zero_dim }
\@@_save_punct_dim:nNNn { bound } \c_@@_right_tl {#2} { \c_zero_dim }
\@@_save_punct_skip:nNNn { glue } #1 #2 { \c_zero_skip }
@@ -5550,11 +5515,9 @@
\cs_new_protected_nopar:Npn \@@_save_punct_kerning_plain:NN #1#2
{
\@@_save_punct_dim:nNNn { kern } #1 #2 { \c_zero_dim }
- \@@_save_punct_dim:nNNn { break_kern } #1 #2 { \c_zero_dim }
\@@_save_punct_dim:nNNn { bound_kern } #1 #2 { \c_zero_dim }
\@@_save_punct_dim:nNNn { bound_width } #1 #2 { \c_zero_dim }
\@@_save_punct_skip:nNNn { kern } #1 #2 { \c_zero_skip }
- \@@_save_punct_skip:nNNn { break_kern } #1 #2 { \c_zero_skip }
\@@_save_punct_skip:nNNn { bound_kern } #1 #2 { \c_zero_skip }
}
\cs_new_protected_nopar:Npn \@@_save_punct_kerning:NN
@@ -5582,7 +5545,7 @@
}
{ \@@_calc_punct_width:N #2 }
}
- \dim_set:Nn \l_@@_tmp_dim
+ \dim_set:Nn \l_@@_margin_dim
{
\dim_max:nn
{ \l_@@_margin_minimum_dim }
@@ -5621,24 +5584,9 @@
}
}
}
- \@@_save_punct_dim:nNNn { glue } #1 #2 { \l_@@_tmp_dim }
- \@@_save_punct_skip:nNNnnn { glue } #1 #2
- { \l_@@_tmp_dim }
- {
- \@@_punct_if_middle:NTF #2
- {
- ( \@@_use_punct_dim:nN { width } #2 -
- \@@_use_punct_dim:nN { dimen } #2 ) / 2
- - \l_@@_tmp_dim
- }
- { \l_@@_bound_dim - \l_@@_tmp_dim }
- }
- {
- \@@_punct_if_middle:NTF #2
- { .5 \l_@@_tmp_dim }
- { \l_@@_tmp_dim - \l_@@_reverse_bound_dim }
- }
+ \@@_save_punct_dim:nNNn { margin } #1 #2 { \l_@@_margin_dim }
}
+\dim_new:N \l_@@_margin_dim
% \end{macrocode}
% \end{macro}
%
@@ -5710,7 +5658,7 @@
\@@_punct_if_middle:NTF #2
{
\l_@@_tmp_dim
- - ( \@@_use_punct_dim:nNN { glue } #1 #2 )
+ - \l_@@_margin_dim
- ( \@@_use_punct_dim:nN { dimen } #2 )
}
{
@@ -5729,8 +5677,26 @@
}
\@@_save_punct_dim:nNNn { offset } #1 #2
{ \l_@@_tmp_dim }
- \@@_save_punct_dim:nNNn { rule } #1 #2
- { - \l_@@_bound_dim + \l_@@_tmp_dim }
+ \@@_save_punct_dim:nNNn { rule } #1 #2
+ { \l_@@_tmp_dim - \l_@@_bound_dim }
+ \@@_save_punct_dim:nNNn { glue } #1 #2
+ { \l_@@_margin_dim - \l_@@_tmp_dim }
+ \@@_save_punct_skip:nNNnnn { glue } #1 #2
+ { \l_@@_margin_dim - \l_@@_tmp_dim }
+ {
+ \@@_punct_if_middle:NTF #2
+ {
+ ( \@@_use_punct_dim:nN { width } #2 -
+ \@@_use_punct_dim:nN { dimen } #2 ) / 2
+ - \l_@@_margin_dim
+ }
+ { \l_@@_bound_dim - \l_@@_margin_dim }
+ }
+ {
+ \@@_punct_if_middle:NTF #2
+ { .5 \l_@@_margin_dim }
+ { \l_@@_margin_dim - \l_@@_reverse_bound_dim }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -5778,7 +5744,7 @@
% \begin{macrocode}
\cs_new_protected_nopar:Npn \xeCJK_punct_kerning_process:NN #1#2
{
- \dim_set:Nn \l_@@_original_margin_dim
+ \dim_set:Nn \l_@@_margin_dim
{ \@@_original_kerning_margin:NN #1 #2 }
\dim_set:Nn \l_@@_minimum_bound_dim
{ \@@_punct_min_bound:NN #1 #2 }
@@ -5803,33 +5769,13 @@
\@@_punct_if_right:NTF #1
{
\@@_punct_if_right:NTF #2
- {
- \@@_save_kerning:nNNNN
- { bound_kern } \c_@@_left_tl #2 #1 #2
- \@@_save_kerning:nnnNN
- { break_kern } { offset } { bound }
- }
- {
- \@@_save_kerning:nnNN
- { break_kern } { offset } #1 #2
- \@@_save_kerning_aux:nnNN
- { bound_kern } { \l_@@_kerning_margin_dim }
- }
+ { \@@_save_kerning:nnnNN { bound_kern } { offset } { bound } }
+ { \@@_save_kerning:nnNN { bound_kern } { offset } }
}
{
\@@_punct_if_right:NTF #2
- {
- \@@_save_kerning:nnNN
- { bound_kern } { bound } #1 #2
- \@@_save_kerning_aux:nnNN
- { break_kern } { \l_@@_tmp_dim }
- }
- {
- \@@_save_kerning:nNNNN
- { bound_kern } \c_@@_right_tl #1 #1 #2
- \@@_save_kerning:nnnNN
- { break_kern } { bound } { offset }
- }
+ { \@@_save_kerning:nnNN { bound_kern } { bound } }
+ { \@@_save_kerning:nnnNN { bound_kern } { bound } { offset } }
}
#1 #2
}
@@ -5837,11 +5783,10 @@
{
\bool_if:NTF \l_@@_enabled_kerning_bool
{ \@@_calc_kerning_margin:NN #1 #2 }
- { \l_@@_original_margin_dim }
+ { \l_@@_margin_dim }
}
\dim_new:N \l_@@_minimum_bound_dim
\dim_new:N \l_@@_kerning_margin_dim
-\dim_new:N \l_@@_original_margin_dim
% \end{macrocode}
% \end{macro}
%
@@ -5860,23 +5805,10 @@
- ( \@@_use_punct_dim:nNN {#2} \c_@@_right_tl #4 )
- ( \@@_use_punct_dim:nNN {#3} \c_@@_left_tl #5 )
}
- \@@_save_kerning_aux:nnNN {#1} { \l_@@_tmp_dim } #4 #5
- }
-\cs_new_protected_nopar:Npn \@@_save_kerning:nNNNN #1#2#3#4#5
- {
- \dim_set:Nn \l_@@_tmp_dim
- {
- \l_@@_kerning_margin_dim
- - ( \@@_use_punct_dim:nNN { bound } #2 #3 )
- }
- \@@_save_kerning_aux:nnNN {#1} { \l_@@_tmp_dim } #4 #5
- }
-\cs_new_protected_nopar:Npn \@@_save_kerning_aux:nnNN #1#2#3#4
- {
- \@@_save_punct_dim:nNNn {#1} #3 #4 {#2}
- \@@_save_punct_skip:nNNnnn {#1} #3 #4
- {#2}
- { \l_@@_original_margin_dim - \l_@@_kerning_margin_dim }
+ \@@_save_punct_dim:nNNn {#1} #4 #5 { \l_@@_tmp_dim }
+ \@@_save_punct_skip:nNNnnn {#1} #4 #5
+ { \l_@@_tmp_dim }
+ { \l_@@_margin_dim - \l_@@_kerning_margin_dim }
{ \l_@@_kerning_margin_dim - \l_@@_minimum_bound_dim }
}
% \end{macrocode}
@@ -5890,10 +5822,10 @@
\dim_eval:n
{
\@@_use_punct_dim:nNN
- { \@@_punct_if_right:NTF #1 { glue } { bound } } \c_@@_right_tl #1
+ { \@@_punct_if_right:NTF #1 { margin } { bound } } \c_@@_right_tl #1
+
\@@_use_punct_dim:nNN
- { \@@_punct_if_right:NTF #2 { bound } { glue } } \c_@@_left_tl #2
+ { \@@_punct_if_right:NTF #2 { bound } { margin } } \c_@@_left_tl #2
}
}
% \end{macrocode}
@@ -5957,7 +5889,7 @@
{ \fp_use:N \l_@@_kerning_margin_ratio_fp \use:n }
}
{ \fp_use:c { l_@@_#1_align_ratio_fp } \use:n }
- { \l_@@_original_margin_dim }
+ { \l_@@_margin_dim }
}
}
% \end{macrocode}
@@ -5991,10 +5923,10 @@
{
(#1)
- ( \@@_use_punct_dim:nNN
- { \@@_punct_if_right:NTF #2 { bound } { glue } }
+ { \@@_punct_if_right:NTF #2 { bound } { margin } }
\c_@@_left_tl #2 )
- ( \@@_use_punct_dim:nNN
- { \@@_punct_if_right:NTF #3 { glue } { bound } }
+ { \@@_punct_if_right:NTF #3 { margin } { bound } }
\c_@@_right_tl #3 )
- ( \@@_use_punct_dim:nN { dimen } #2 )
- ( \@@_use_punct_dim:nN { dimen } #3 )
@@ -9479,7 +9411,6 @@
\UL at stop
\@@_ulem_skip_punct_begin:
\@@_punct_glue:NN \c_@@_left_tl #1
- \@@_punct_offset:NN \c_@@_left_tl #1
\UL at start
}
{ \@@_ulem_Default_and_FullLeft_glue:N #1 }
@@ -9514,7 +9445,6 @@
\@@_ulem_skip_punct_begin:
\@@_ulem_punct_ccglue:
\@@_punct_glue:NN \c_@@_left_tl #1
- \@@_punct_offset:NN \c_@@_left_tl #1
\UL at start
\@@_ulem_class_group_begin:
\xeCJK_select_punct_font:
@@ -9648,7 +9578,6 @@
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_ulem_skip_punct_end:
\UL at start
@@ -9667,7 +9596,6 @@
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_ulem_skip_punct_end:
\UL at start
@@ -9687,7 +9615,6 @@
\@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \@@_punct_offset:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
\@@_ulem_punct_ccglue:
\@@_ulem_skip_punct_end:
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty 2019-06-02 21:42:55 UTC (rev 51298)
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{xeCJK patch file for listings}
\ProvidesExplPackage{xeCJK-listings}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
\DeclareOption* { \PassOptionsToPackage { \CurrentOption } { xeCJK } }
\ProcessOptions \scan_stop:
\RequirePackage { xeCJK }
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg 2019-06-02 21:42:55 UTC (rev 51298)
@@ -6,10 +6,10 @@
%%
%% xeCJK.dtx (with options: `config')
%%
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{Configuration file for xeCJK package}
\ProvidesExplFile{\ExplFileName.cfg}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
%%
%%
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty 2019-06-02 21:42:55 UTC (rev 51298)
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{Typesetting CJK scripts with XeLaTeX}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
\msg_new:nnn { xeCJK } { Require-XeTeX }
{
The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -930,10 +930,7 @@
\cs_new_protected_nopar:Npn \__xeCJK_check_for_glue_auxiii:
{
\bool_if:NT \l__xeCJK_last_penalty_bool
- {
- \__xeCJK_add_offset_skip:N \l__xeCJK_last_skip
- \tex_penalty:D \l__xeCJK_last_penalty_int
- }
+ { \tex_penalty:D \l__xeCJK_last_penalty_int }
\skip_horizontal:N \l__xeCJK_last_skip
\tl_if_eq:NNF \l__xeCJK_aligni_tl \c__xeCJK_left_tl { \CJKglue }
}
@@ -1197,7 +1194,6 @@
{
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\exp_after:wN \xeCJK_punct_node:N \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\tex_ignorespaces:D
@@ -1234,7 +1230,6 @@
{ \__xeCJK_use_dim_or_skip:nNN { bound_kern } #1 #2 }
\dim_compare:nNnF \l__xeCJK_tmp_dim = \l__xeCJK_last_bound_dim
{ \__xeCJK_punct_bound_kern_ratio:NN #1 #2 }
- \__xeCJK_add_offset_skip:N \l__xeCJK_punct_kern_skip
\bool_if:NTF \l__xeCJK_last_penalty_bool
{
\tex_penalty:D \l__xeCJK_last_penalty_int
@@ -1243,17 +1238,6 @@
{ \__xeCJK_punct_bound_kern_aux:NNN #1 #2 }
\l__xeCJK_punct_kern_skip
}
-\cs_new_protected_nopar:Npn \__xeCJK_add_offset_skip:N #1
- {
- \tl_if_eq:NNF \l__xeCJK_aligni_tl \c__xeCJK_left_tl
- {
- \int_compare:nNnT \tex_lastnodetype:D = { 11 }
- {
- \skip_add:Nn #1 { \tex_lastskip:D }
- \tex_unskip:D
- }
- }
- }
\skip_new:N \l__xeCJK_punct_kern_skip
\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_kern_ratio:NN #1#2
{
@@ -1336,13 +1320,6 @@
depth \c_zero_dim
height \c_zero_dim \scan_stop:
}
-\cs_new_protected_nopar:Npn \__xeCJK_punct_offset:NN #1#2
- {
- \dim_set:Nn \l__xeCJK_tmp_dim
- { - \__xeCJK_use_punct_dim:nNN { offset } #1 #2 }
- \dim_compare:nNnF \l__xeCJK_tmp_dim = \c_zero_dim
- { \__xeCJK_punct_hskip:n { \l__xeCJK_tmp_dim } }
- }
\cs_new_protected_nopar:Npn \__xeCJK_punct_glue:NN #1#2
{ \__xeCJK_punct_hskip:n { \__xeCJK_use_dim_or_skip:nNN { glue } #1 #2 } }
\cs_new_eq:NN \__xeCJK_punct_hskip:n \skip_horizontal:n
@@ -1369,7 +1346,7 @@
\exp_after:wN \__xeCJK_punct_if_right:NT #1
{ \__xeCJK_punct_rule:NN \c__xeCJK_right_tl #1 }
\__xeCJK_punct_breakable_kern:n
- { \__xeCJK_use_dim_or_skip:nNN { break_kern } #1 #2 }
+ { \__xeCJK_use_dim_or_skip:nNN { bound_kern } #1 #2 }
\__xeCJK_punct_if_right:NF #2
{ \__xeCJK_punct_rule:NN \c__xeCJK_left_tl #2 }
}
@@ -1409,7 +1386,6 @@
\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK:
{
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_select_font:
\CJKglue
@@ -1418,7 +1394,6 @@
{
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
}
\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullLeft:nN #1#2
@@ -1434,10 +1409,7 @@
\CJKpunctsymbol #2
}
\cs_new_protected_nopar:Npn \__xeCJK_Default_and_FullLeft_glue:N #1
- {
- \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
- }
+ { \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1 }
\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullLeft:N #1
{
\xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
@@ -1451,13 +1423,11 @@
{
\CJKglue
\__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
}
\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullLeft:N #1
{
\xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
\__xeCJK_Boundary_and_FullLeft_glue:N #1
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
\xeCJK_class_group_begin:
\xeCJK_select_punct_font:
\xeCJK_clear_Boundary_and_CJK_toks:
@@ -1803,7 +1773,6 @@
\group_insert_after:N \xeCJK_no_break:
}
{ \group_align_safe_end: }
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\exp_after:wN \xeCJK_punct_node:N \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
@@ -2443,6 +2412,7 @@
\__xeCJK_save_punct_dim:nNNn { rule } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { glue } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { offset } #1 #2 { \c_zero_dim }
+ \__xeCJK_save_punct_dim:nNNn { margin } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { bound } \c__xeCJK_left_tl {#2} { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { bound } \c__xeCJK_right_tl {#2} { \c_zero_dim }
\__xeCJK_save_punct_skip:nNNn { glue } #1 #2 { \c_zero_skip }
@@ -2508,11 +2478,9 @@
\cs_new_protected_nopar:Npn \__xeCJK_save_punct_kerning_plain:NN #1#2
{
\__xeCJK_save_punct_dim:nNNn { kern } #1 #2 { \c_zero_dim }
- \__xeCJK_save_punct_dim:nNNn { break_kern } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { bound_kern } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_dim:nNNn { bound_width } #1 #2 { \c_zero_dim }
\__xeCJK_save_punct_skip:nNNn { kern } #1 #2 { \c_zero_skip }
- \__xeCJK_save_punct_skip:nNNn { break_kern } #1 #2 { \c_zero_skip }
\__xeCJK_save_punct_skip:nNNn { bound_kern } #1 #2 { \c_zero_skip }
}
\cs_new_protected_nopar:Npn \__xeCJK_save_punct_kerning:NN
@@ -2535,7 +2503,7 @@
}
{ \__xeCJK_calc_punct_width:N #2 }
}
- \dim_set:Nn \l__xeCJK_tmp_dim
+ \dim_set:Nn \l__xeCJK_margin_dim
{
\dim_max:nn
{ \l__xeCJK_margin_minimum_dim }
@@ -2574,24 +2542,9 @@
}
}
}
- \__xeCJK_save_punct_dim:nNNn { glue } #1 #2 { \l__xeCJK_tmp_dim }
- \__xeCJK_save_punct_skip:nNNnnn { glue } #1 #2
- { \l__xeCJK_tmp_dim }
- {
- \__xeCJK_punct_if_middle:NTF #2
- {
- ( \__xeCJK_use_punct_dim:nN { width } #2 -
- \__xeCJK_use_punct_dim:nN { dimen } #2 ) / 2
- - \l__xeCJK_tmp_dim
- }
- { \l__xeCJK_bound_dim - \l__xeCJK_tmp_dim }
- }
- {
- \__xeCJK_punct_if_middle:NTF #2
- { .5 \l__xeCJK_tmp_dim }
- { \l__xeCJK_tmp_dim - \l__xeCJK_reverse_bound_dim }
- }
+ \__xeCJK_save_punct_dim:nNNn { margin } #1 #2 { \l__xeCJK_margin_dim }
}
+\dim_new:N \l__xeCJK_margin_dim
\cs_new_nopar:Npn \__xeCJK_calc_punct_width:N #1
{
\__xeCJK_punct_if_middle:NTF #1
@@ -2648,7 +2601,7 @@
\__xeCJK_punct_if_middle:NTF #2
{
\l__xeCJK_tmp_dim
- - ( \__xeCJK_use_punct_dim:nNN { glue } #1 #2 )
+ - \l__xeCJK_margin_dim
- ( \__xeCJK_use_punct_dim:nN { dimen } #2 )
}
{
@@ -2667,8 +2620,26 @@
}
\__xeCJK_save_punct_dim:nNNn { offset } #1 #2
{ \l__xeCJK_tmp_dim }
- \__xeCJK_save_punct_dim:nNNn { rule } #1 #2
- { - \l__xeCJK_bound_dim + \l__xeCJK_tmp_dim }
+ \__xeCJK_save_punct_dim:nNNn { rule } #1 #2
+ { \l__xeCJK_tmp_dim - \l__xeCJK_bound_dim }
+ \__xeCJK_save_punct_dim:nNNn { glue } #1 #2
+ { \l__xeCJK_margin_dim - \l__xeCJK_tmp_dim }
+ \__xeCJK_save_punct_skip:nNNnnn { glue } #1 #2
+ { \l__xeCJK_margin_dim - \l__xeCJK_tmp_dim }
+ {
+ \__xeCJK_punct_if_middle:NTF #2
+ {
+ ( \__xeCJK_use_punct_dim:nN { width } #2 -
+ \__xeCJK_use_punct_dim:nN { dimen } #2 ) / 2
+ - \l__xeCJK_margin_dim
+ }
+ { \l__xeCJK_bound_dim - \l__xeCJK_margin_dim }
+ }
+ {
+ \__xeCJK_punct_if_middle:NTF #2
+ { .5 \l__xeCJK_margin_dim }
+ { \l__xeCJK_margin_dim - \l__xeCJK_reverse_bound_dim }
+ }
}
\cs_new_nopar:Npn \__xeCJK_punct_width_or_ratio:nN #1#2
{
@@ -2696,7 +2667,7 @@
}
\cs_new_protected_nopar:Npn \xeCJK_punct_kerning_process:NN #1#2
{
- \dim_set:Nn \l__xeCJK_original_margin_dim
+ \dim_set:Nn \l__xeCJK_margin_dim
{ \__xeCJK_original_kerning_margin:NN #1 #2 }
\dim_set:Nn \l__xeCJK_minimum_bound_dim
{ \__xeCJK_punct_min_bound:NN #1 #2 }
@@ -2721,33 +2692,13 @@
\__xeCJK_punct_if_right:NTF #1
{
\__xeCJK_punct_if_right:NTF #2
- {
- \__xeCJK_save_kerning:nNNNN
- { bound_kern } \c__xeCJK_left_tl #2 #1 #2
- \__xeCJK_save_kerning:nnnNN
- { break_kern } { offset } { bound }
- }
- {
- \__xeCJK_save_kerning:nnNN
- { break_kern } { offset } #1 #2
- \__xeCJK_save_kerning_aux:nnNN
- { bound_kern } { \l__xeCJK_kerning_margin_dim }
- }
+ { \__xeCJK_save_kerning:nnnNN { bound_kern } { offset } { bound } }
+ { \__xeCJK_save_kerning:nnNN { bound_kern } { offset } }
}
{
\__xeCJK_punct_if_right:NTF #2
- {
- \__xeCJK_save_kerning:nnNN
- { bound_kern } { bound } #1 #2
- \__xeCJK_save_kerning_aux:nnNN
- { break_kern } { \l__xeCJK_tmp_dim }
- }
- {
- \__xeCJK_save_kerning:nNNNN
- { bound_kern } \c__xeCJK_right_tl #1 #1 #2
- \__xeCJK_save_kerning:nnnNN
- { break_kern } { bound } { offset }
- }
+ { \__xeCJK_save_kerning:nnNN { bound_kern } { bound } }
+ { \__xeCJK_save_kerning:nnnNN { bound_kern } { bound } { offset } }
}
#1 #2
}
@@ -2755,11 +2706,10 @@
{
\bool_if:NTF \l__xeCJK_enabled_kerning_bool
{ \__xeCJK_calc_kerning_margin:NN #1 #2 }
- { \l__xeCJK_original_margin_dim }
+ { \l__xeCJK_margin_dim }
}
\dim_new:N \l__xeCJK_minimum_bound_dim
\dim_new:N \l__xeCJK_kerning_margin_dim
-\dim_new:N \l__xeCJK_original_margin_dim
\cs_new_protected_nopar:Npn \__xeCJK_save_kerning:nnNN #1#2
{ \__xeCJK_save_kerning:nnnNN {#1} {#2} {#2} }
\cs_new_protected_nopar:Npn \__xeCJK_save_kerning:nnnNN #1#2#3#4#5
@@ -2770,23 +2720,10 @@
- ( \__xeCJK_use_punct_dim:nNN {#2} \c__xeCJK_right_tl #4 )
- ( \__xeCJK_use_punct_dim:nNN {#3} \c__xeCJK_left_tl #5 )
}
- \__xeCJK_save_kerning_aux:nnNN {#1} { \l__xeCJK_tmp_dim } #4 #5
- }
-\cs_new_protected_nopar:Npn \__xeCJK_save_kerning:nNNNN #1#2#3#4#5
- {
- \dim_set:Nn \l__xeCJK_tmp_dim
- {
- \l__xeCJK_kerning_margin_dim
- - ( \__xeCJK_use_punct_dim:nNN { bound } #2 #3 )
- }
- \__xeCJK_save_kerning_aux:nnNN {#1} { \l__xeCJK_tmp_dim } #4 #5
- }
-\cs_new_protected_nopar:Npn \__xeCJK_save_kerning_aux:nnNN #1#2#3#4
- {
- \__xeCJK_save_punct_dim:nNNn {#1} #3 #4 {#2}
- \__xeCJK_save_punct_skip:nNNnnn {#1} #3 #4
- {#2}
- { \l__xeCJK_original_margin_dim - \l__xeCJK_kerning_margin_dim }
+ \__xeCJK_save_punct_dim:nNNn {#1} #4 #5 { \l__xeCJK_tmp_dim }
+ \__xeCJK_save_punct_skip:nNNnnn {#1} #4 #5
+ { \l__xeCJK_tmp_dim }
+ { \l__xeCJK_margin_dim - \l__xeCJK_kerning_margin_dim }
{ \l__xeCJK_kerning_margin_dim - \l__xeCJK_minimum_bound_dim }
}
\cs_new_nopar:Npn \__xeCJK_original_kerning_margin:NN #1#2
@@ -2794,10 +2731,10 @@
\dim_eval:n
{
\__xeCJK_use_punct_dim:nNN
- { \__xeCJK_punct_if_right:NTF #1 { glue } { bound } } \c__xeCJK_right_tl #1
+ { \__xeCJK_punct_if_right:NTF #1 { margin } { bound } } \c__xeCJK_right_tl #1
+
\__xeCJK_use_punct_dim:nNN
- { \__xeCJK_punct_if_right:NTF #2 { bound } { glue } } \c__xeCJK_left_tl #2
+ { \__xeCJK_punct_if_right:NTF #2 { bound } { margin } } \c__xeCJK_left_tl #2
}
}
\cs_new_nopar:Npn \__xeCJK_calc_kerning_margin:NN #1#2
@@ -2851,7 +2788,7 @@
{ \fp_use:N \l__xeCJK_kerning_margin_ratio_fp \use:n }
}
{ \fp_use:c { l__xeCJK_#1_align_ratio_fp } \use:n }
- { \l__xeCJK_original_margin_dim }
+ { \l__xeCJK_margin_dim }
}
}
\cs_new_nopar:Npn \__xeCJK_punct_min_bound:NN #1#2
@@ -2874,10 +2811,10 @@
{
(#1)
- ( \__xeCJK_use_punct_dim:nNN
- { \__xeCJK_punct_if_right:NTF #2 { bound } { glue } }
+ { \__xeCJK_punct_if_right:NTF #2 { bound } { margin } }
\c__xeCJK_left_tl #2 )
- ( \__xeCJK_use_punct_dim:nNN
- { \__xeCJK_punct_if_right:NTF #3 { glue } { bound } }
+ { \__xeCJK_punct_if_right:NTF #3 { margin } { bound } }
\c__xeCJK_right_tl #3 )
- ( \__xeCJK_use_punct_dim:nN { dimen } #2 )
- ( \__xeCJK_use_punct_dim:nN { dimen } #3 )
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty 2019-06-02 21:42:55 UTC (rev 51298)
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{xeCJK font effect}
\ProvidesExplPackage{xeCJKfntef}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
\PassOptionsToPackage { normalem } { ulem }
\DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } }
\ProcessOptions \scan_stop:
@@ -427,7 +427,6 @@
\UL at stop
\__xeCJK_ulem_skip_punct_begin:
\__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
\UL at start
}
{ \__xeCJK_ulem_Default_and_FullLeft_glue:N #1 }
@@ -452,7 +451,6 @@
\__xeCJK_ulem_skip_punct_begin:
\__xeCJK_ulem_punct_ccglue:
\__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
\UL at start
\__xeCJK_ulem_class_group_begin:
\xeCJK_select_punct_font:
@@ -553,7 +551,6 @@
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_ulem_skip_punct_end:
\UL at start
@@ -567,7 +564,6 @@
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_ulem_skip_punct_end:
\UL at start
@@ -582,7 +578,6 @@
\__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end:
\UL at stop
- \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_ulem_punct_ccglue:
\__xeCJK_ulem_skip_punct_end:
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty 2019-06-02 21:42:55 UTC (rev 51298)
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{addon file for xunicode}
\ProvidesExplPackage{xunicode-addon}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
\bool_lazy_or:nnF
{ \sys_if_engine_xetex_p: }
{ \sys_if_engine_luatex_p: }
Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def 2019-06-02 21:42:39 UTC (rev 51297)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def 2019-06-02 21:42:55 UTC (rev 51298)
@@ -27,10 +27,10 @@
%%
%% ----------------------------------------------------------------------
%%
-\GetIdInfo$Id: xeCJK.dtx 0e3f9e8 2019-04-15 02:07:22 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee at gmail.com> $
{extra definition for xunicode}
\ProvidesExplFile{xunicode-extra.def}
- {\ExplFileDate}{3.7.2}{\ExplFileDescription}
+ {\ExplFileDate}{3.7.4}{\ExplFileDescription}
\DeclareUTFSymbol\texthyphenationpoint{"2027}
\DeclareUTFSymbol\texttwoemdash{"2E3A}
\DeclareUTFComposite\textsuperscript
More information about the tex-live-commits
mailing list