summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/xetex/zhspacing/README2
-rw-r--r--Master/texmf-dist/doc/xetex/zhspacing/t-zhspacing.tex (renamed from Master/texmf-dist/tex/xetex/zhspacing/context/t-zhspacing.tex)0
-rw-r--r--Master/texmf-dist/doc/xetex/zhspacing/zhs-man.pdfbin151236 -> 167095 bytes
-rw-r--r--Master/texmf-dist/doc/xetex/zhspacing/zhs-man.tex37
-rw-r--r--Master/texmf-dist/doc/xetex/zhspacing/zhspacing-context-test.tex (renamed from Master/texmf-dist/doc/xetex/zhspacing/test/zhspacing-context-test.tex)0
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhfont.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/latex/zhfont.sty)0
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhmath.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/generic/zhmath.sty)35
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/generic/zhsmyclass.sty)11
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhspacing.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/generic/zhspacing.sty)100
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhsusefulmacros.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/generic/zhsusefulmacros.sty)1
-rw-r--r--Master/texmf-dist/tex/xetex/zhspacing/zhulem.sty (renamed from Master/texmf-dist/tex/xetex/zhspacing/latex/zhulem.sty)0
11 files changed, 119 insertions, 67 deletions
diff --git a/Master/texmf-dist/doc/xetex/zhspacing/README b/Master/texmf-dist/doc/xetex/zhspacing/README
index be0359202ab..b5b4223d953 100644
--- a/Master/texmf-dist/doc/xetex/zhspacing/README
+++ b/Master/texmf-dist/doc/xetex/zhspacing/README
@@ -6,6 +6,6 @@ This package is licensed in LPPL.
If you are interested in the process of development you
may observe
- http://code.google.com/p/ctex-kit/updates/list
+ https://github.com/CTeX-org/ctex-kit/
- Yin Dian (yindian@gmail.com)
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/context/t-zhspacing.tex b/Master/texmf-dist/doc/xetex/zhspacing/t-zhspacing.tex
index ce91f7ab9af..ce91f7ab9af 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/context/t-zhspacing.tex
+++ b/Master/texmf-dist/doc/xetex/zhspacing/t-zhspacing.tex
diff --git a/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.pdf b/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.pdf
index 30a336d2ddc..e2539e11888 100644
--- a/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.pdf
+++ b/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.tex b/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.tex
index 6959a38d641..e4d16a710e6 100644
--- a/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.tex
+++ b/Master/texmf-dist/doc/xetex/zhspacing/zhs-man.tex
@@ -4,7 +4,10 @@
%\usepackage[margin=1.5in]{geometry}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
-\usepackage[no-sscript]{xltxtra}
+\usepackage{hologo}
+\def\eTeX{\hologo{eTeX}}
+\def\XeTeX{\hologo{XeTeX}}
+\def\XeLaTeX{\hologo{XeLaTeX}}
\usepackage{zhspacing}
\usepackage[fakebold]{zhfont}
\usepackage[noactive]{zhmath}
@@ -29,7 +32,7 @@
manual\thanks{Revision: \zhspacingrevision.}}
\author{\textsc{Yin} Dian\footnote{Lab.\ of Network Comm. System \&
Control, Univ.\ of Sci.\ \& Tech.\ of China.}}
-\date{2012/03/14}
+\date{2016/02/10}
\maketitle
\tableofcontents
\newpage
@@ -56,7 +59,7 @@ using \XeTeX, the package |zhspacing| is coded, utilizing the new primitive of
\section{Getting Started}
|zhspacing| can be used in both plain \XeTeX\ or \XeLaTeX. The usage is quite
-straightforward. For instance, in plain \XeTeX,
+straightforward. For instance, in plain \XeTeX,
{\emptyskipscheme
\begin{verbatim}
\input zhspacing.sty
@@ -90,11 +93,11 @@ well as math formulas. In fact, all of the following inputs can produce mixed
langauge output with skip automatically inserted between Chinese and English
characters,
\begin{center}
-\emptyskipscheme |中Eng文|,\quad |中 Eng文|,\quad |中Eng 文|\quad and\quad |中 Eng 文|.
+\emptyskipscheme |中Eng文|,\quad |中 Eng文|,\quad |中Eng 文|\quad and\quad |中 Eng 文|.
\end{center}
And their corresponding output is,
\begin{center}
-中Eng文,\quad 中 Eng文,\quad 中Eng 文\quad and\quad 中 Eng 文.
+中Eng文,\quad 中 Eng文,\quad 中Eng 文\quad and\quad 中 Eng 文.
\end{center}
Look close and you'll find, that the first and second input generates exactly
@@ -200,7 +203,7 @@ link}}.}% or Fig.~\ref{fig:kieu}.}
\subsection{More on Fonts}
Sometimes it may be desirable to use different Chinese fonts for different
\NFSS\ font families in \LaTeX. This can be done by changing the definition of
-\cs{zhs@savefont} and \cs{zhfont}, without modifying the |zhspacing| source.
+\cs{zhs@savefont} and \cs{zhfont}, without modifying the |zhspacing| source.
Here is the way to do it.\footnote{See zhfont.sty later for convenient ways.}
\begin{verbatim}
@@ -287,7 +290,7 @@ All of the skip commands above are defined in the pattern \\
\vadjust{}\hfil |\def\skipxxx{\hskip xxxxx}|.
|zhspacing| comes with three pre-defined skip schemes, namely
-\cs{simsunskipscheme}, \cs{emptyskipscheme} and \cs{haltskipscheme}. The
+\cs{simsunskipscheme}, \cs{emptyskipscheme} and \cs{haltskipscheme}. The
first scheme should be suitable for font \fntname{SimSun} and other popular
Chinese fonts used in China, which does not support OpenType features of
|halt|, and needs negative spaces be inserted before opening punctuations and
@@ -300,7 +303,8 @@ customization, of course.
Vertical Chinese can be achieved by adding raw feature |vertical| to the
specified font. An example could be, \hfil
\setbox0=\hbox to 0pt{\vbox{\noindent
-\newfontfamily\zhfont[RawFeature={script=hani:language=CHN:vertical:+vert},
+\newfontlanguage{Chinese}{CHN}
+\newfontfamily\zhfont[Script=CJK,Language=Chinese,Vertical=RotatedGlyphs,
BoldFont=SimHei]{SimSun}
\let\zhpunctfont\zhfont
\haltskipscheme
@@ -312,12 +316,14 @@ specified font. An example could be, \hfil
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{zhspacing}
- \zhspacing
- \begin{document}
+ \newfontlanguage{Chinese}{CHN}
\newfontfamily\zhfont[
- RawFeature={script=hani:language=CHN:vertical:+vert}]{SimSun}
+ Script=CJK, Language=Chinese,
+ Vertical=RotatedGlyphs]{SimSun}
\let\zhpunctfont\zhfont
\haltskipscheme
+ \zhspacing
+ \begin{document}
\rotatebox{-90}{我是中国人,我爱自己的祖国。}
\end{document}
\end{verbatim}
@@ -331,7 +337,7 @@ punctuations using some fonts such as \fntname{KaiTi\_GB2312} etc. I've told
this bug to \name{jjgod} in May, but it seems that he hasn't solved the problem
yet. Moreover, the baseline of vertical Chinese is not correct, so mixed
typesetting of Chinese and English in vertical mode generates ugly results, and
-thus should be avoided.
+thus should be avoided.
\subsection{Compatibility}
Theoretically, |zhspacing| should be compatible with all macro packages, except
those who change the definition of \cs{hskip} and \cs{penalty}, in which case
@@ -391,7 +397,8 @@ You can get latest stable version of |zhspacing| on CTAN.
|zhspacing| was hosted on an open-source project at googlecode. The old project
homepage is \url{http://code.google.com/p/zhspacing/}.
-Now |zhspacing| is part of |ctex-kit| project (\url{http://code.google.com/p/ctex-kit/}). You can get the lastest source via SVN.
+Now |zhspacing| is part of |ctex-kit| project (\url{https://github.com/CTeX-org/ctex-kit/}).
+You can get the lastest source via Git.
\goodbreak
\part{zhfont.sty}
@@ -415,13 +422,13 @@ You can redefine them to customize your fonts.
Simply macro to set \cs{zh\{rm/sf/tt\}font} using \cs{newfontfamily}.
\mymacro\newfontfamilywithslant
-Create a font family with fake slant. Take one argument as the font name.
+Create a font family with fake slant. Take one argument as the font name.
Example: |\newfontfamilywithslant\zhrmfont{SimSun}|
\mymacro\newfontfamilywithslantandbold
Create a font family with fake slant, and specify another font for its
-boldface. Take two arguments as the font name and bold font name.
+boldface. Take two arguments as the font name and bold font name.
Example:\\\quad |\newfontfamilywithslantandbold\zhrmfont{SimSun}{SimHei}|
\section{Examples}
diff --git a/Master/texmf-dist/doc/xetex/zhspacing/test/zhspacing-context-test.tex b/Master/texmf-dist/doc/xetex/zhspacing/zhspacing-context-test.tex
index 1f6c528d25c..1f6c528d25c 100644
--- a/Master/texmf-dist/doc/xetex/zhspacing/test/zhspacing-context-test.tex
+++ b/Master/texmf-dist/doc/xetex/zhspacing/zhspacing-context-test.tex
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/latex/zhfont.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhfont.sty
index cc3f98d382b..cc3f98d382b 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/latex/zhfont.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhfont.sty
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhmath.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhmath.sty
index 88e69f60d7f..80a090dd84e 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhmath.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhmath.sty
@@ -11,11 +11,12 @@
% Changed \hbox to \mbox. Changed default option to
% noactive.
% 071215 Removed \XeTeXinterchartokenstate=0, as the XeTeX bug
-% is fixed by JK. Changed \mathcjksizec/d to fit the
+% is fixed by JK. Changed \mathcjksizec/d to fit the
% main text size.
-% 071229 Added \XeTeXinterchartokenstate=0 again, because not
+% 071229 Added \XeTeXinterchartokenstate=0 again, because not
% everyone has the latest version of XeTeX. Added custom
% and nocustom options.
+% 2016/02/10 Improved \@setzhmathfonts.
\catcode`\@=11
\ifx\zhmath@defined\@undefined
\def\zhmath@defined{\relax}
@@ -74,7 +75,7 @@
\def\zhmath@zhfont@text#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksizeb\char#1\relax}}}
\def\zhmath@zhfont@scrp#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksizec\char#1\relax}}}
\def\zhmath@zhfont@subs#1{{\mbox{\XeTeXinterchartokenstate=0\zhmathfont\mathcjksized\char#1\relax}}}
-
+
\zhmath@setactivemathchar{"2E80}{"9FFF}{\zhmath@zhfont@disp}%
{\zhmath@zhfont@text}{\zhmath@zhfont@scrp}{\zhmath@zhfont@subs}
@@ -124,15 +125,27 @@
\newfam\zhmath@letterfam
\newfam\zhmath@numberfam
-\def\@setzhmathfonts#1#2{%
- \edef\zhmath@font{\fontname#1 }%
- \font\zhmath@tenfont=\zhmath@font at 10pt
- \font\zhmath@sevenfont=\zhmath@font at 7pt
- \font\zhmath@fivefont=\zhmath@font at 5pt\relax
- \textfont#2=\zhmath@tenfont
- \scriptfont#2=\zhmath@sevenfont
- \scriptscriptfont#2=\zhmath@fivefont
+\begingroup
+ \catcode`\A=12 %
+ \catcode`\P=12 %
+ \catcode`\T=12 %
+\lowercase{\endgroup
+ \def\@setzhmathfonts#1#2{%
+ \expandafter\@setzhmathfonts@auxi\fontname#1 AT PT\relax#2}
+ \def\@setzhmathfonts@auxi #1 AT #2PT#3\relax#4{%
+ \ifx\relax#2\relax
+ \@setzhmathfonts@auxii#4{#1}{10pt}%
+ \else
+ \@setzhmathfonts@auxii#4{#1}{#2pt}%
+ \fi}%
}
+\def\@setzhmathfonts@auxii#1#2#3{%
+ \font\zhmath@textfont=#2 at #3 \relax
+ \font\zhmath@scriptfont=#2 at .7\dimexpr#3\relax\relax
+ \font\zhmath@scriptscriptfont=#2 at .5\dimexpr#3\relax\relax
+ \textfont#1=\zhmath@textfont
+ \scriptfont#1=\zhmath@scriptfont
+ \scriptscriptfont#1=\zhmath@scriptscriptfont}
\def\setzhmathfont#1{\@setzhmathfonts{#1}\zhmath@fam}
\setzhmathfont\zhmathfont
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhsmyclass.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty
index 3f336c54e42..4633ee10596 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhsmyclass.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhsmyclass.sty
@@ -34,10 +34,10 @@
\else
\@newinterclasstoks{#2}{\@@class}%
\@newinterclasstoks{\@@class}{#2}%
- %\setinterclasstoks{#2}{\@@class}{\getinterclasstoks{#1}{\@@class}}%
- %\setinterclasstoks{\@@class}{#2}{\getinterclasstoks{\@@class}{#1}}%
- \copyinterclasstoks{#2}{\@@class}{#1}{\@@class}%
- \copyinterclasstoks{\@@class}{#2}{\@@class}{#1}%
+ %\setinterclasstoks{#2}{\@@class}{\getinterclasstoks{#1}{\@@class}}%
+ %\setinterclasstoks{\@@class}{#2}{\getinterclasstoks{\@@class}{#1}}%
+ \copyinterclasstoks{#2}{\@@class}{#1}{\@@class}%
+ \copyinterclasstoks{\@@class}{#2}{\@@class}{#1}%
\fi
}% end for
\@newinterclasstoks{#2}{#2}%
@@ -69,7 +69,7 @@
\@ifundefined{@@baseclass@#1}{\def#2{}}{\edef#2{\csname @@baseclass@#1\endcsname}}%
}
\def\@newinterclasstoks#1#2{%
- \expandafter\newtoks\csname @@interclasstoks@#1@#2\endcsname
+ \csname newtoks\expandafter\endcsname\csname @@interclasstoks@#1@#2\endcsname
\csname @@interclasstoks@#1@#2\endcsname={}%\meaning #1, \meaning #2}%
%%\expandafter\gdef\csname @@interclasstoks@#1@#2\endcsname{}%
}
@@ -149,4 +149,3 @@
}%
}%
}
-
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhspacing.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhspacing.sty
index 7202dbcf494..71eb6aac262 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhspacing.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhspacing.sty
@@ -18,14 +18,14 @@
% Obsoleted the use of \enfont.
% 070822 Fixed bug of unbalanced group when using ulem? Cleared
% XeTeX's pre-defined inter-char tokens. Use seperate
-% font for punctuations.
-% Deprecated the use of begin/end-groups in LaTeX, in
+% font for punctuations.
+% Deprecated the use of begin/end-groups in LaTeX, in
% order to work properly with ulem. Coded zhulem.sty.
% 070823 Use more flexible way to save font. Changed space
% ignoring mechanism after hanzi to allow \skipenzh added
% between hanzi and boundary if the next non-space token
% is a char and is not fullwidth nor in PUA.
-% 070824 Enabled automatic skip between math formulas and CJK
+% 070824 Enabled automatic skip between math formulas and CJK
% chars. Changed skip schemes. Added \zhspacingrevision.
% 071008 Fixed bug of missing \skipzh when hanzi next to space.
% Found bug of \zhs@skipspaces --- \iffalse error.
@@ -35,8 +35,8 @@
% 071014 Found bug introduced by the last bug fix, which breaks
% the punctuation prohibitions. (Fixed on 071020)
% 071015 Fixed bug of not changing punctuation font after space.
-% 071019 Fixed the \iffalse bug. Use \the\XeTeXcharclass
-% instead of ifcjkchar.
+% 071019 Fixed the \iffalse bug. Use \the\XeTeXcharclass
+% instead of ifcjkchar.
% Defined token patterns to simplify settings, haha.
% 071020 Added ability to deal with space seperated characters.
% Added XeTeX existence test. More intelligent parindent
@@ -60,7 +60,7 @@
% 071229 Added a few punctuation classification settings.
% Refined code. Added active hanzi hook. Removed some
% debug code for compiling speed. Not thoroughly tested.
-% 071231 Use \zhs@@a to reduce memory usage. Removed
+% 071231 Use \zhs@@a to reduce memory usage. Removed
% \zhs@active@alphabound because it's not effective.
% Use \lastnodetype and \spacefactor to determine whether
% or not to insert \skipenzh. Added a few punctuation
@@ -69,10 +69,13 @@
% Use hex number to represent hanzi. Added \zhs@font.
% Added ambiwide and ambinarrow options. Made active
% hanzi protected.
-% 090720 Rename usefulmacros.sty and myclass.sty to
-% zhsusefulmacros.sty and zhsmyclass.sty.
-% 2012/03/14 Fix bug for Plain format.
-% Note: 1. Catcode test requires letter 'a' to be in category 11, and '!'
+% 090720 Rename usefulmacros.sty and myclass.sty to
+% zhsusefulmacros.sty and zhsmyclass.sty.
+% 2012/03/14 Fix bug for Plain format.
+% 2016/02/20 Compatible with LaTeX2e 2016/02/01.
+% 2016/02/10 The boundary class is changed from 255 to 4095
+% since XeTeX 0.99994.
+% Note: 1. Catcode test requires letter 'a' to be in category 11, and '!'
% to be in category 12. So don't change the default catcodes.
% 2. To speed up processing long Chinese documents, set \skipzh to
% empty and \XeTeXinterchartoks 1 1={}. This can save 1/4 time.
@@ -86,7 +89,7 @@
\errmessage{XeTeX 0.997 or above required to use zhspacing}%
\fi
\ifx\zhspacingrevision\@undefined
-\def\zhspacingrevision{2012/03/14}
+\def\zhspacingrevision{2016/02/10}
\input zhsusefulmacros.sty
\newif\ifzhs@ambiwide
\zhs@ambiwidetrue
@@ -321,7 +324,13 @@
\input zhsmyclass.sty
% three base classes: boundary, halfwidth and fullwidth
\newclass{boundary}
-\setclassnum{boundary}{255}
+
+\ifnum\strcmp{\number\XeTeXversion\XeTeXrevision}{0.99993} > 0 %
+ \chardef\zhs@boundaryclassnum = 4095 %
+\else
+ \chardef\zhs@boundaryclassnum = 255 %
+\fi
+\setclassnum{boundary}{\zhs@boundaryclassnum}
\newclass{halfwidth}
\newclass{fullwidth}
\setinterclasstoks{boundary}{fullwidth}{\mydbgmessage{^^JZ}\zhs@savefont\zhfont}
@@ -552,11 +561,7 @@
\setinterclasstoks{cjkexta}{cjkextb}{\zhcjkextbfont\skipzh\relax}
\setinterclasstoks{cjkextb}{cjkexta}{\zhcjkextafont\skipzh\relax}
\setinterclasstoks{cjkextb}{cjkextb}{\skipzh\relax}
-{
-\newcount\n
-\n="3400 \loop \ifnum\n<"4E00 \global\XeTeXcharclass\n=8 \advance\n by 1\repeat
-\n="20000\loop \ifnum\n<"30000 \global\XeTeXcharclass\n=9 \advance\n by 1\repeat
-}
+
% long fullwidth punctuations
\newclass[fwpunct]{longpunct} % … etc
\setclassnum{longpunct}{5}
@@ -777,7 +782,52 @@
\fi
}
+\def\zhs@loadxetexclasses{%
+ \chardef\XeTeXcharclassID = 1 %
+ \chardef\XeTeXcharclassOP = 2 %
+ \chardef\XeTeXcharclassCL = 3 %
+ \chardef\XeTeXcharclassEX = 3 %
+ \chardef\XeTeXcharclassIS = 3 %
+ \chardef\XeTeXcharclassNS = 3 %
+ \chardef\XeTeXcharclassCM = \numexpr \zhs@boundaryclassnum + 1 \relax
+ \input load-unicode-xetex-classes %
+}
+
\def\zhspacing{%
+ \ifnum\XeTeXcharclass"4E00 = 1 %
+ % clear XeTeX pre-defined toks
+ \XeTeXinterchartoks 0 1 = {}
+ \XeTeXinterchartoks 0 2 = {}
+ \XeTeXinterchartoks 0 3 = {}
+ \XeTeXinterchartoks 1 0 = {}
+ \XeTeXinterchartoks 2 0 = {}
+ \XeTeXinterchartoks 3 0 = {}
+ \XeTeXinterchartoks 1 1 = {}
+ \XeTeXinterchartoks 1 2 = {}
+ \XeTeXinterchartoks 1 3 = {}
+ \XeTeXinterchartoks 2 1 = {}
+ \XeTeXinterchartoks 2 2 = {}
+ \XeTeXinterchartoks 2 3 = {}
+ \XeTeXinterchartoks 3 1 = {}
+ \XeTeXinterchartoks 3 2 = {}
+ \XeTeXinterchartoks 3 3 = {}
+ \else
+ \expandafter\zhs@loadxetexclasses %
+ \fi
+ \zhs@tmpcnt "3400 %
+ \chardef\zhs@tmpnum = \getclassnum{cjkexta}%
+ \loop
+ \ifnum\zhs@tmpcnt < "4E00 %
+ \XeTeXcharclass\zhs@tmpcnt = \zhs@tmpnum
+ \advance\zhs@tmpcnt by 1 %
+ \repeat
+ \zhs@tmpcnt "20000 %
+ \chardef\zhs@tmpnum = \getclassnum{cjkextb}%
+ \loop
+ \ifnum\zhs@tmpcnt < "30000 %
+ \XeTeXcharclass\zhs@tmpcnt = \zhs@tmpnum
+ \advance\zhs@tmpcnt by 1 %
+ \repeat
\@for\zhs@char:={`:,`,,`、}\do{\XeTeXcharclass\zhs@char=4}
\@for\zhs@char:={`。,`.,`;}\do{\XeTeXcharclass\zhs@char=10}
\ifzhs@ambiwide
@@ -789,22 +839,6 @@
\fi
\@for\zhs@char:={`\!,`\",`\',`\(,`\),`\,,`\-,`\.,`\:,`\;,`\<,`\>,`\?,`\[,`\],`\`,`\{,`\},`\\,`\/}\do{\XeTeXcharclass\zhs@char=6}
\@for\zhs@char:={`℃,`·,`$,`%}\do{\XeTeXcharclass\zhs@char=7}
- % clear XeTeX pre-defined toks
- \XeTeXinterchartoks 0 1 = {}
- \XeTeXinterchartoks 0 2 = {}
- \XeTeXinterchartoks 0 3 = {}
- \XeTeXinterchartoks 1 0 = {}
- \XeTeXinterchartoks 2 0 = {}
- \XeTeXinterchartoks 3 0 = {}
- \XeTeXinterchartoks 1 1 = {}
- \XeTeXinterchartoks 1 2 = {}
- \XeTeXinterchartoks 1 3 = {}
- \XeTeXinterchartoks 2 1 = {}
- \XeTeXinterchartoks 2 2 = {}
- \XeTeXinterchartoks 2 3 = {}
- \XeTeXinterchartoks 3 1 = {}
- \XeTeXinterchartoks 3 2 = {}
- \XeTeXinterchartoks 3 3 = {}
\registerXeTeXclasstoks
\XeTeXinterchartokenstate=1\relax
\ifLaTeX@e
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhsusefulmacros.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhsusefulmacros.sty
index d42a3efcf6f..d6c5fec5b8a 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/generic/zhsusefulmacros.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhsusefulmacros.sty
@@ -10,7 +10,6 @@
\def\@usefulmacros@LaTeX@e{LaTeX2e}
\def\ifLaTeX@e{\ifx\fmtname\@usefulmacros@LaTeX@e}
\ifLaTeX@e\else
-\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
\def\@nnil{\@nil}%
\def\@empty{}%
\def\@fornoop#1\@@#2#3{}%
diff --git a/Master/texmf-dist/tex/xetex/zhspacing/latex/zhulem.sty b/Master/texmf-dist/tex/xetex/zhspacing/zhulem.sty
index 86365e380ab..86365e380ab 100644
--- a/Master/texmf-dist/tex/xetex/zhspacing/latex/zhulem.sty
+++ b/Master/texmf-dist/tex/xetex/zhspacing/zhulem.sty