From 9b5c0be75f6856d930bda2f309319b167a6ea2fb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 15 Sep 2009 00:42:27 +0000 Subject: xecjk 2.3.8 (14sep09) git-svn-id: svn://tug.org/texlive/trunk@15287 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/xecjk/README.txt | 9 + .../doc/xelatex/xecjk/example-CJKchecksingle.tex | 52 ++++ .../doc/xelatex/xecjk/example-CJKfntef.tex | 58 ++++ .../doc/xelatex/xecjk/example-addspaces.tex | 57 ++++ .../xecjk/examples/example-CJKchecksingle.tex | 2 +- .../xelatex/xecjk/examples/example-CJKfntef.tex | 2 +- .../xelatex/xecjk/examples/example-addspaces.tex | 5 +- Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf | Bin 275885 -> 293569 bytes Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx | 323 ++++++++++++--------- Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins | 46 +++ Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 294 ++++++++++--------- Master/tlpkg/bin/tlpkg-ctan-check | 7 +- Master/tlpkg/libexec/ctan2tds | 83 +----- 13 files changed, 583 insertions(+), 355 deletions(-) create mode 100644 Master/texmf-dist/doc/xelatex/xecjk/README.txt create mode 100644 Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex create mode 100644 Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex create mode 100644 Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex create mode 100644 Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins diff --git a/Master/texmf-dist/doc/xelatex/xecjk/README.txt b/Master/texmf-dist/doc/xelatex/xecjk/README.txt new file mode 100644 index 00000000000..c508dcc0802 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xecjk/README.txt @@ -0,0 +1,9 @@ + +xeCJK is a package written for XeLaTeX which allows users to typeset +CJK scripts easily. + + - different default fonts for CJK and other characters; + - spaces automatically ignored between CJK characters; + - special effects on full-width CJK punctuation; and + - automatic adjustment of the space between CJK and other characters. + diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex new file mode 100644 index 00000000000..cb95a60e93b --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex @@ -0,0 +1,52 @@ +%% +%% This is file `example-CJKchecksingle.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xeCJK.dtx (with options: `example-CJKchecksingle') +%% +%% Version 2.3.8 (12-Sept-2009) +%% +%% Copyright (C) Wenchang Sun +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +\documentclass{article} +\usepackage[boldfont,slantfont,CJKaddspaces,CJKchecksingle]{xeCJK} +\setCJKmainfont{AR PL SungtiL GB} +\textwidth 120mm +\oddsidemargin 0pt +\def\usemacro#1{\csname#1\endcsname $\backslash$#1} +\begin{document} +\baselineskip 18pt +\parskip 10pt +\parindent 0em + +\long\def\sometexts{xeCJK 改进了中英文间距的处理,并可以避免单个汉字独占一段的最后一行。 + +xeCJK 改进了中英文间距的处理,并且可以避免单个汉字独占一段的最后一行。 + +xeCJK 改进了中英文间距的处理, 并且还可以避免单个汉字独占一段的最后一行. + +} + +\sometexts +\vskip 20mm + +不用CJKchecksingle的效果: + +\makeatletter +\def\xeCJK@i@i{\CJKglue\CJKsymbol} +\sometexts +\end{document} + +\endinput +%% +%% End of file `example-CJKchecksingle.tex'. diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex new file mode 100644 index 00000000000..54e885ae26a --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex @@ -0,0 +1,58 @@ +%% +%% This is file `example-CJKfntef.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xeCJK.dtx (with options: `example-CJKfntef') +%% +%% Version 2.3.8 (12-Sept-2009) +%% +%% Copyright (C) Wenchang Sun +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% + +\documentclass[11pt]{article} +\textheight 220mm +\textwidth 150mm +\oddsidemargin 0pt +\evensidemargin 0pt +\usepackage[slantfont,boldfont]{xeCJK} +\usepackage{xcolor} +\usepackage{CJKfntef} + +\begin{document} +\setCJKmainfont{AR PL SungtiL GB}% 设置缺省中文字体 +\setCJKmonofont{AR PL SungtiL GB}% 设置缺省中文字体 + +\baselineskip 16pt +\parindent 2em + + \section{举例} +\begin{verbatim} +标点。 +\end{verbatim} + +\CJKunderline{汉字}\CJKunderline{加下划线加下划线加下划线加下划线% +加下划线加下划线加下划线加下划线加下划线加下划线加下划线} + +\CJKunderwave{波浪线} + +\CJKunderanyline{0.5em}{\sixly \kern-.021em\char58 \kern-.021em}{自定义下划线} + +\CJKunderanyline{0.2em}{\kern-.03em\vtop{\kern.2ex\hrule width.2em\kern 0.11em + \hrule height .1em}\kern-.03em}{自定义下划线} + +\CJKunderanysymbol{0.2em}{$\cdot$}{汉字加点} + +\end{document} +\endinput +%% +%% End of file `example-CJKfntef.tex'. diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex new file mode 100644 index 00000000000..004ae3f3a8c --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex @@ -0,0 +1,57 @@ +%% +%% This is file `example-addspaces.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xeCJK.dtx (with options: `example-addspaces') +%% +%% Version 2.3.8 (12-Sept-2009) +%% +%% Copyright (C) Wenchang Sun +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +\documentclass{article} +\usepackage[boldfont,slantfont]{xeCJK} +\usepackage{xcolor} +\setCJKmainfont{AR PL SungtiL GB} +\textwidth 190mm +\oddsidemargin 0pt +\begin{document} +\baselineskip 18pt +\parskip 10pt +\parindent 0em + +{\slshape 斜体 Slanted \bfseries 斜体 Slanted} + +\long\def\sometexts{\par{\color{\colora} + 这是 English 中文 {\itshape Chinese} 中文 \LaTeX\ + 间隔 \textit{Italic} 中文\textbf{字体} a 数学 $b$ 数学 $c$ $d$ +\\ + 这是English中文{\itshape Chinese}中文\LaTeX\ + 间隔\textit{Italic}中文\textbf{字体}a数学$b$数学$c$ $d$\\ +This is an example. 这是一个例子 +}} + +\def\colora{blue} +\CJKsetecglue{\hskip 0.15em plus 0.05em minus 0.05em} +\verb+\CJKsetecglue{\hskip 0.15em plus 0.05em minus 0.05em}+ +\sometexts + +\def\colora{red} +\CJKsetecglue{ } +\verb+\CJKsetecglue{ }+ +\sometexts + +\end{document} + +\endinput +%% +%% End of file `example-addspaces.tex'. diff --git a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKchecksingle.tex b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKchecksingle.tex index db13d8b5da6..cb95a60e93b 100644 --- a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKchecksingle.tex +++ b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKchecksingle.tex @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `example-CJKchecksingle') %% -%% Version 2.3.5 (2-Aug-2009) +%% Version 2.3.8 (12-Sept-2009) %% %% Copyright (C) Wenchang Sun %% diff --git a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKfntef.tex b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKfntef.tex index a53bf000026..54e885ae26a 100644 --- a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKfntef.tex +++ b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKfntef.tex @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `example-CJKfntef') %% -%% Version 2.3.5 (2-Aug-2009) +%% Version 2.3.8 (12-Sept-2009) %% %% Copyright (C) Wenchang Sun %% diff --git a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-addspaces.tex b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-addspaces.tex index 67f9e8f8241..004ae3f3a8c 100644 --- a/Master/texmf-dist/doc/xelatex/xecjk/examples/example-addspaces.tex +++ b/Master/texmf-dist/doc/xelatex/xecjk/examples/example-addspaces.tex @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `example-addspaces') %% -%% Version 2.3.5 (2-Aug-2009) +%% Version 2.3.8 (12-Sept-2009) %% %% Copyright (C) Wenchang Sun %% @@ -29,6 +29,8 @@ \parskip 10pt \parindent 0em +{\slshape 斜体 Slanted \bfseries 斜体 Slanted} + \long\def\sometexts{\par{\color{\colora} 这是 English 中文 {\itshape Chinese} 中文 \LaTeX\ 间隔 \textit{Italic} 中文\textbf{字体} a 数学 $b$ 数学 $c$ $d$ @@ -47,6 +49,7 @@ This is an example. 这是一个例子 \CJKsetecglue{ } \verb+\CJKsetecglue{ }+ \sometexts + \end{document} \endinput diff --git a/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf b/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf index 0b13e1a8bda..eafda729e16 100644 Binary files a/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf and b/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf differ diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx index baefa254343..5e09ae3d12e 100644 --- a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx +++ b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx @@ -26,7 +26,7 @@ CJK scripts easily. \keepsilent \preamble - Version 2.3.5 (2-Aug-2009) + Version 2.3.8 (12-Sept-2009) Copyright (C) Wenchang Sun @@ -129,8 +129,8 @@ CJK scripts easily. % % %<*xeCJK> -\def\fileversion{2.3.5} -\def\filedate{2009/08/02} +\def\fileversion{2.3.8} +\def\filedate{2009/09/12} \ProvidesPackage{xeCJK}[\filedate\space\fileversion] % % @@ -203,7 +203,7 @@ CJK scripts easily. % \begin{tabular}{ll} % Options & \\ % BoldFont:& 启用CJK\textbf{粗体字}\\ -% SlantFont:& 启用CJK\textit{斜体字}\\ +% SlantFont:& 启用 \textsl{斜体字slshape}\\ % CJKnumber: & 调用CJKnumb宏包\\ % CJKchecksingle: &避免单个汉字单独占一行。 % \end{tabular} @@ -219,8 +219,8 @@ CJK scripts easily. % 分别设置缺省CJK字体, CJK sffamily, CJK ttfamily 和某个 CJKfamily 所对应中文字体, % 其中最后两个参数的意义请参考 \verb+\fontspec.+ % -% 如果在定义CJK字体时 指定了\texttt{ItalicFont=\{...\}}, -% 则宏包的\texttt{SlantFont}选项对该字体不起作用。 +% 定义CJK字体时指定的\texttt{ItalicFont=\{...\}}比宏包的 +% \texttt{SlantFont}选项有更高的优先级。 % 类似地,可以指定\texttt{BoldFont=\{font name\}}以抑制 % \texttt{BoldFont}选项。 % @@ -309,8 +309,8 @@ CJK scripts easily. % % % -% \defmacro{\CJKsetecglue}: 设置中英文间距. 缺省值为\defmacro{\CJKsetecglue\{ \}}。 -% +% \defmacro{\CJKsetecglue}: 设置中英文间距. 缺省值为\defmacro{\CJKsetecglue\{ \}}. +% 注意: 这个宏命令仅仅影响自动添加的空格. 源文件中直接输入的中英文之间的空格不受影响(直接输出). % \begin{verbatim} % 这是 English 中文 \textit{Chinese} 中文 \LaTeX\ % 中文\textbf{字体} a {\bfseries 数学} $c$ $d$-th\par @@ -329,7 +329,7 @@ CJK scripts easily. % 说明: % \begin{enumerate} % -% \item \verb+{} {}+ 以及\verb+English {}+中间的空格会保留(不能调整), +% \item 中英文之间的空格会保留(不能调整), % 但若没有空格,则会根据需要添加(见上面的例子)。 % % 有时可能无效, @@ -866,7 +866,7 @@ CJK scripts easily. \def\xeCJK@cclv@{ \ifnum\lastkern=\@ne - \CJKecglue + \@sptoken%\CJKecglue \fi} \let\xeCJK@cclv@iv\xeCJK@cclv@ @@ -875,7 +875,7 @@ CJK scripts easily. \CJKglue \else \ifnum\lastkern=\xeCJK@four - \CJKecglue + \@sptoken%\CJKecglue \else \ifnum\lastnodetype=\xeCJK@ten \CJKecglue @@ -931,7 +931,14 @@ CJK scripts easily. \def\xeCJK@@@checknext{ \ifx $\@let@token - \CJKecglue + \@sptoken%\CJKecglue + \else + \if\relax\noexpand\@let@token + \ifx\@let@token\xeCJK@par + \else + \@sptoken + \fi + \fi \fi \let\xeCJK@nexttoken\relax} @@ -971,8 +978,9 @@ CJK scripts easily. \expandafter\xeCJK@setcurrentchar@ii \fi} +\let\xeCJK@par\par \def\xeCJK@checkpar{ - \@ifnextchar\par{\xeCJK@setcurrentnobreakchar@ii}{\xeCJK@setcurrentchar@ii}} + \@ifnextchar\xeCJK@par{\xeCJK@setcurrentnobreakchar@ii}{\xeCJK@setcurrentchar@ii}} % \end{macrocode} % % 设置中英文间距。 @@ -1280,9 +1288,9 @@ CJK scripts easily. \def\setCJKfamilyfont#1{ \xeCJK@newfontfamily{#1}} - -% -% Redefine \rmfamily, \sffamily and \ttfamily to set CJKfamily +% \end{macrocode} +% Redefine \string\rmfamily, \string\sffamily and \string\ttfamily to set CJKfamily +% \begin{macrocode} \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm \fontfamily\rmdefault\CJKfamily{rm}\selectfont} @@ -1294,9 +1302,10 @@ CJK scripts easily. \DeclareRobustCommand\ttfamily {\not@math@alphabet\ttfamily\mathtt \fontfamily\ttdefault\CJKfamily{tt}\selectfont} - -% \xeCJK@newfontfamily is similar to \newfontfamily +% \end{macrocode} +% \string\xeCJK@newfontfamily is similar to \string\newfontfamily % but introduce fake slant/bold fonts for CJK characters. +% \begin{macrocode} \newcommand*\xeCJK@newfontfamily[1]{ \@ifnextchar[ {\xeCJK@newfontfamily@{#1}} @@ -1305,117 +1314,41 @@ CJK scripts easily. \def\xeCJK@newfontfamily@#1[#2]#3{ % % Get user defined options - \def\xeCJK@temp{#2} - \expandafter - \xeCJK@getBoldFont\xeCJK@temp BoldFont={}{}\relax - \expandafter - \xeCJK@getBoldItalicFont\xeCJK@temp BoldItalicFont={}{}\relax - \expandafter - \xeCJK@getItalicFont\xeCJK@temp ItalicFont={}{}\relax - - \expandafter - \xeCJK@getBoldItalicFeatures\xeCJK@temp BoldItalicFeatures={}{}\relax + \def\xeCJK@temp{#2,} \expandafter - \xeCJK@getBoldFeatures\xeCJK@temp BoldFeatures={}{}\relax + \xeCJK@getBoldFont\xeCJK@temp BoldFont={},{}\relax \expandafter - \xeCJK@getItalicFeatures\xeCJK@temp ItalicFeatures={}{}\relax - - \expandafter - \xeCJK@getRawFeature\xeCJK@BoldFeatures RawFeature={}{}\relax - \edef\xeCJK@Bold@RawFeature{\xeCJK@tempRawFeature} - - \expandafter - \xeCJK@getRawFeature\xeCJK@BoldItalicFeatures RawFeature={}{}\relax - \edef\xeCJK@BoldItalic@RawFeature{\xeCJK@tempRawFeature} - + \xeCJK@getBoldItalicFont\xeCJK@temp BoldItalicFont={},{}\relax \expandafter - \xeCJK@getRawFeature\xeCJK@ItalicFeatures RawFeature={}{}\relax - \edef\xeCJK@Italic@RawFeature{\xeCJK@tempRawFeature} + \xeCJK@getItalicFont\xeCJK@temp ItalicFont={},{}\relax \edef\xeCJK@Features{} \ifxeCJK@BoldFont@ \ifx\xeCJK@BoldFont\@empty - - \ifx\xeCJK@Bold@RawFeature\@empty - \def\xeCJK@Bold@RawFeature{ - embolden=\xeCJK@emboldenfactor} - \else - \edef\xeCJK@Bold@RawFeature{ - embolden=\xeCJK@emboldenfactor, - \xeCJK@Bold@RawFeature} - \fi - - \ifx\xeCJK@BoldFeatures\@empty - \edef\xeCJK@Features{ - BoldFeatures={ - RawFeature={\xeCJK@Bold@RawFeature}}} - \else - \edef\xeCJK@Features{ - BoldFeatures={ - \xeCJK@BoldFeatures, - RawFeature={\xeCJK@Bold@RawFeature}}} - \fi - - \ifx\xeCJK@BoldItalic@RawFeature\@empty - \def\xeCJK@BoldItalic@RawFeature{ - embolden=\xeCJK@emboldenfactor} - \else - \edef\xeCJK@BoldItalic@RawFeature{ - embolden=\xeCJK@emboldenfactor, - \xeCJK@BoldItalic@RawFeature} - \fi + \edef\xeCJK@Features{BoldFont={#3}, + BoldFeatures={RawFeature={embolden=\xeCJK@emboldenfactor}}} \fi \fi \ifxeCJK@SlantFont@ \ifx\xeCJK@ItalicFont\@empty - - \ifx\xeCJK@Italic@RawFeature\@empty - \edef\xeCJK@Italic@RawFeature{ - slant=\xeCJK@slantfactor} - \else - \edef\xeCJK@Italic@RawFeature{ - slant=\xeCJK@slantfactor, - \xeCJK@Italic@RawFeature} - \fi - - \ifx\xeCJK@ItalicFeatures\@empty - \edef\xeCJK@ItalicFeatures{ - RawFeature={\xeCJK@Italic@RawFeature}} - \else - \edef\xeCJK@ItalicFeatures{ - \xeCJK@ItalicFeatures, - RawFeature={\xeCJK@Italic@RawFeature}} - \fi - - \ifx\xeCJK@BoldItalic@RawFeature\@empty - \edef\xeCJK@BoldItalic@RawFeature{ - slant=\xeCJK@slantfactor} - \else - \edef\xeCJK@BoldItalic@RawFeature{ - slant=\xeCJK@slantfactor, - \xeCJK@BoldItalic@RawFeature} - \fi - - \ifx\xeCJK@BoldItalicFeatures\@empty - \edef\xeCJK@BoldItalicFeatures{ - RawFeature={\xeCJK@BoldItalic@RawFeature}} + \ifx\xeCJK@Features\@empty + \edef\xeCJK@Features{ItalicFont={#3}, + ItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \else - \edef\xeCJK@BoldItalicFeatures{ - \xeCJK@BoldItalicFeatures, - RawFeature={\xeCJK@BoldItalic@RawFeature}} + \edef\xeCJK@Features{\xeCJK@Features,ItalicFont={#3}, + ItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \fi + \fi - \ifx\xeCJK@Features\@empty - \edef\xeCJK@Features{ - ItalicFeatures={\xeCJK@ItalicFeatures}, - BoldItalicFeatures={\xeCJK@BoldItalicFeatures}} + \ifx\xeCJK@BoldItalicFont\@empty + \ifx\xeCJK@BoldFont\@empty + \edef\xeCJK@Features{\xeCJK@Features,BoldItalicFont={#3}, + BoldItalicFeatures={RawFeature={embolden=\xeCJK@emboldenfactor,slant=\xeCJK@slantfactor}}} \else - \edef\xeCJK@Features{ - \xeCJK@Features, - ItalicFeatures={\xeCJK@ItalicFeatures}, - BoldItalicFeatures={\xeCJK@BoldItalicFeatures}} + \edef\xeCJK@Features{\xeCJK@Features,BoldItalicFont={\xeCJK@BoldFont}, + BoldItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \fi \fi \fi @@ -1423,53 +1356,156 @@ CJK scripts easily. \edef\xeCJK@temp{#2} \ifx\xeCJK@temp\@empty \else - \edef\xeCJK@temp{,#2} - \fi - - \ifx\xeCJK@Features\@empty - \else - \edef\xeCJK@Features{,\xeCJK@Features} + \ifx\xeCJK@Features\@empty + \edef\xeCJK@Features{#2} + \else + \edef\xeCJK@Features{\xeCJK@Features,#2} + \fi \fi - \edef\xeCJK@Features{ - [BoldFont={#3}, - ItalicFont={#3}, - BoldItalicFont={#3}% The first three parameters can be overridden by - % user defined parameters in #2 - \xeCJK@temp\xeCJK@Features]} - - \expandafter - \newfontfamily@i\csname xeCJK@font@#1\expandafter\endcsname - \xeCJK@Features - {#3} - \expandafter\edef\csname xeCJK@nsff\xeCJK@family\endcsname{\zf@family}} + \edef\@tempa{\noexpand\zf@fontspec{\xeCJK@Features}{#3}} + \@tempa + \edef\@tempa{ + \noexpand\DeclareRobustCommand\expandafter\noexpand\csname xeCJK@font@#1\endcsname + {\noexpand\fontfamily{\zf@family}\noexpand\selectfont}} + \@tempa + \expandafter\edef\csname xeCJK@nsff#1\endcsname{\zf@family}} \def\xeCJK@setmacro@getkey#1{ - \expandafter\def\csname xeCJK@get#1\endcsname ##1#1=##2##3\relax{ + \expandafter\def\csname xeCJK@get#1\endcsname ##1#1=##2,##3\relax{ \expandafter\edef\csname xeCJK@#1\endcsname{##2} \edef\xeCJK@temp{##1##3}}} \xeCJK@setmacro@getkey{BoldFont} \xeCJK@setmacro@getkey{ItalicFont} \xeCJK@setmacro@getkey{BoldItalicFont} -\xeCJK@setmacro@getkey{ItalicFeatures} -\xeCJK@setmacro@getkey{BoldFeatures} -\xeCJK@setmacro@getkey{BoldItalicFeatures} - -\def\xeCJK@getRawFeature#1RawFeature=#2#3\relax{ - \edef\xeCJK@tempRawFeature{#2}} \define@key[zf]{preparse}{ItalicFeatures}{ \edef\zf@it@feat{,#1} \edef\zf@family@long{\zf@family@long itfeat:#1}} +% \end{macrocode} +% Redefine \string\zf@fontspec to set slant shape. +% \begin{macrocode} + +\renewcommand*\zf@fontspec[2]{% + \begingroup + \zf@init + \edef\zf@fontname{#2}% + \let\zf@family@long\zf@fontname + \setkeys*[zf]{prepreparse}{#1}% + \let\zf@up\zf@fontname + \edef\@tempa{\noexpand\setkeys*[zf]{preparse}{\XKV@rm}}\@tempa + \let\zf@fontname\zf@up + \let\zf@font@feat\XKV@rm + \font\zf@basefont="\zf@font@wrap\zf@fontname\zf@suffix" at \f@size pt + \unless\ifzf@icu + \zf@set@font@type + \fi + \ifx\zf@suffix\@empty + \ifzf@atsui + \def\zf@suffix{/AAT}% + \else + \ifzf@icu + \def\zf@suffix{/ICU}% + \fi + \fi + \font\zf@basefont="\zf@font@wrap\zf@fontname\zf@suffix" at \f@size pt + \fi + \zf@firsttimetrue + \zf@get@feature@requests{\zf@font@feat}% + \zf@firsttimefalse + \unless\ifcsname zf@UID@\zf@family@long\endcsname + \edef\@tempa{#2}% + \ifcsname c@zf@famc@\@tempa\endcsname + \expandafter\stepcounter\else + \expandafter\newcounter\fi + {zf@famc@\@tempa}% + \gdef@cx{zf@UID@\zf@family@long}{% + \expandafter\expandafter\expandafter + \zap@space\expandafter\@tempa\space\@empty + (\expandafter\the\csname c@zf@famc@\@tempa\endcsname)}% + \fi + \xdef\zf@family{\@nameuse{zf@UID@\zf@family@long}}% + \unless\ifcsname zf@family@fontname\zf@family\endcsname + \zf@PackageInfo{Defining font family for '#2' + with options [\zf@default@options #1]}% + \gdef@cx{zf@family@fontname\zf@family}{\zf@fontname}% + \gdef@cx{zf@family@options\zf@family}{\zf@default@options #1}% + \gdef@cx{zf@family@fontdef\zf@family} + {\zf@fontname\zf@suffix:\zf@pre@ff\zf@ff}% + \DeclareFontFamily{\zf@enc}{\zf@family}{}% + \zf@make@font@shapes{\zf@fontname} + {\mddefault}{\updefault}{\zf@font@feat\zf@up@feat}% + \unless\ifzf@nobf + \ifx\zf@bf\@empty + \zf@make@font@shapes[\zf@fontname]{/B} + {\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \else + \zf@make@font@shapes{\zf@bf} + {\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \fi + \fi + \unless\ifzf@noit + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/I} + {\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \else + \zf@make@font@shapes{\zf@it} + {\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \fi + \fi + \@tempswatrue + \ifzf@nobf\@tempswafalse\fi + \ifzf@noit\@tempswafalse\fi + \if@tempswa + \ifx\zf@bfit\@empty + \ifx\zf@bf\@empty + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/BI} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \else + \zf@make@font@shapes[\zf@it]{/B} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes[\zf@bf]{/I} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes{\zf@bfit} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \fi + \ifxeCJK@SlantFont@ + \zf@make@font@shapes{\zf@fontname}{\mddefault}{\sldefault} + {\zf@font@feat,RawFeature={slant=0.167}} + \ifx\zf@bf\@empty + \ifzf@nobf + \zf@make@font@shapes{\zf@fontname}{\bfdefault}{\sldefault} + {\zf@font@feat,RawFeature={embolden=4,slant=0.167}} + \else + \zf@make@font@shapes[\zf@fontname]{/B} + {\bfdefault}{\sldefault}{\zf@font@feat\zf@bf@feat,RawFeature={slant=0.167}} + \fi + \else + \ifx\zf@fontname\zf@bf + \zf@make@font@shapes{\zf@fontname}{\bfdefault}{\sldefault} + {\zf@font@feat,RawFeature={embolden=4,slant=0.167}} + \else + \zf@make@font@shapes{\zf@bf}{\bfdefault}{\sldefault} + {\zf@font@feat\zf@bf@feat,RawFeature={slant=0.167}} + \fi + \fi + \fi + \fi + \endgroup} \newcount\xeCJK@featureadded \xeCJK@featureadded=0 \let\xeCJK@addfontfeatures\addfontfeatures -\def\addfontfeatures#1{ +\def\addCJKfontfeatures#1{ \global\advance\xeCJK@featureadded\@ne - \xeCJK@addfontfeatures{#1} \ifcsname xeCJK@family\endcsname \edef\xeCJK@temp{\csname xeCJK@nsff\xeCJK@family\endcsname} \edef\xeCJK@Features{[\csname zf@family@options\xeCJK@temp\endcsname,#1]} @@ -1481,6 +1517,11 @@ CJK scripts easily. \CJKfamily{\xeCJK@family @\the\xeCJK@featureadded} \fi} +\def\addfontfeatures#1{ + \xeCJK@addfontfeatures{#1} + \addCJKfontfeatures{#1}} + + % redefine \CJKfamily. \def\xeCJK@font@rm{} @@ -1571,6 +1612,9 @@ CJK scripts easily. \parskip 10pt \parindent 0em +{\slshape 斜体 Slanted \bfseries 斜体 Slanted} + + \long\def\sometexts{\par{\color{\colora} 这是 English 中文 {\itshape Chinese} 中文 \LaTeX\ 间隔 \textit{Italic} 中文\textbf{字体} a 数学 $b$ 数学 $c$ $d$ @@ -1589,6 +1633,7 @@ This is an example. 这是一个例子 \CJKsetecglue{ } \verb+\CJKsetecglue{ }+ \sometexts + \end{document} % \end{macrocode} diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins new file mode 100644 index 00000000000..c88c4a5026b --- /dev/null +++ b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins @@ -0,0 +1,46 @@ +%% +%% This is file `xeCJK.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xeCJK.dtx (with options: `batchfile') +%% +%% Version 2.3.8 (12-Sept-2009) +%% +%% Copyright (C) Wenchang Sun +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +\input docstrip.tex +\keepsilent +\preamble + + Version 2.3.8 (12-Sept-2009) + + Copyright (C) Wenchang Sun + + This file may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license or (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + +\endpreamble +\askforoverwritefalse +\generate{\file{xeCJK.sty}{\from{xeCJK.dtx}{xeCJK}}} +\generate{\file{example-addspaces.tex}{\from{xeCJK.dtx}{example-addspaces}}} +\generate{\file{example-CJKchecksingle.tex}{\from{xeCJK.dtx}{example-CJKchecksingle}}} +\generate{\file{example-CJKfntef.tex}{\from{xeCJK.dtx}{example-CJKfntef}}} +\endbatchfile +\endinput +%% +%% End of file `xeCJK.ins'. diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index e0244c40305..06a4d0cae47 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `xeCJK') %% -%% Version 2.3.5 (2-Aug-2009) +%% Version 2.3.8 (12-Sept-2009) %% %% Copyright (C) Wenchang Sun %% @@ -18,8 +18,8 @@ %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. %% -\def\fileversion{2.3.5} -\def\filedate{2009/08/02} +\def\fileversion{2.3.8} +\def\filedate{2009/09/12} \ProvidesPackage{xeCJK}[\filedate\space\fileversion] \RequirePackage{ifxetex} \RequireXeTeX @@ -336,7 +336,7 @@ \def\xeCJK@cclv@{ \ifnum\lastkern=\@ne - \CJKecglue + \@sptoken%\CJKecglue \fi} \let\xeCJK@cclv@iv\xeCJK@cclv@ @@ -345,7 +345,7 @@ \CJKglue \else \ifnum\lastkern=\xeCJK@four - \CJKecglue + \@sptoken%\CJKecglue \else \ifnum\lastnodetype=\xeCJK@ten \CJKecglue @@ -401,7 +401,14 @@ \def\xeCJK@@@checknext{ \ifx $\@let@token - \CJKecglue + \@sptoken%\CJKecglue + \else + \if\relax\noexpand\@let@token + \ifx\@let@token\xeCJK@par + \else + \@sptoken + \fi + \fi \fi \let\xeCJK@nexttoken\relax} @@ -437,8 +444,9 @@ \expandafter\xeCJK@setcurrentchar@ii \fi} +\let\xeCJK@par\par \def\xeCJK@checkpar{ - \@ifnextchar\par{\xeCJK@setcurrentnobreakchar@ii}{\xeCJK@setcurrentchar@ii}} + \@ifnextchar\xeCJK@par{\xeCJK@setcurrentnobreakchar@ii}{\xeCJK@setcurrentchar@ii}} \def\xeCJKsetecglue#1{ \def\CJK@ecglue{#1} @@ -721,7 +729,6 @@ \def\setCJKfamilyfont#1{ \xeCJK@newfontfamily{#1}} - \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm \fontfamily\rmdefault\CJKfamily{rm}\selectfont} @@ -733,7 +740,6 @@ \DeclareRobustCommand\ttfamily {\not@math@alphabet\ttfamily\mathtt \fontfamily\ttdefault\CJKfamily{tt}\selectfont} - \newcommand*\xeCJK@newfontfamily[1]{ \@ifnextchar[ {\xeCJK@newfontfamily@{#1}} @@ -742,117 +748,41 @@ \def\xeCJK@newfontfamily@#1[#2]#3{ % % Get user defined options - \def\xeCJK@temp{#2} - \expandafter - \xeCJK@getBoldFont\xeCJK@temp BoldFont={}{}\relax - \expandafter - \xeCJK@getBoldItalicFont\xeCJK@temp BoldItalicFont={}{}\relax - \expandafter - \xeCJK@getItalicFont\xeCJK@temp ItalicFont={}{}\relax - - \expandafter - \xeCJK@getBoldItalicFeatures\xeCJK@temp BoldItalicFeatures={}{}\relax - \expandafter - \xeCJK@getBoldFeatures\xeCJK@temp BoldFeatures={}{}\relax - \expandafter - \xeCJK@getItalicFeatures\xeCJK@temp ItalicFeatures={}{}\relax - + \def\xeCJK@temp{#2,} \expandafter - \xeCJK@getRawFeature\xeCJK@BoldFeatures RawFeature={}{}\relax - \edef\xeCJK@Bold@RawFeature{\xeCJK@tempRawFeature} - + \xeCJK@getBoldFont\xeCJK@temp BoldFont={},{}\relax \expandafter - \xeCJK@getRawFeature\xeCJK@BoldItalicFeatures RawFeature={}{}\relax - \edef\xeCJK@BoldItalic@RawFeature{\xeCJK@tempRawFeature} - + \xeCJK@getBoldItalicFont\xeCJK@temp BoldItalicFont={},{}\relax \expandafter - \xeCJK@getRawFeature\xeCJK@ItalicFeatures RawFeature={}{}\relax - \edef\xeCJK@Italic@RawFeature{\xeCJK@tempRawFeature} + \xeCJK@getItalicFont\xeCJK@temp ItalicFont={},{}\relax \edef\xeCJK@Features{} \ifxeCJK@BoldFont@ \ifx\xeCJK@BoldFont\@empty - - \ifx\xeCJK@Bold@RawFeature\@empty - \def\xeCJK@Bold@RawFeature{ - embolden=\xeCJK@emboldenfactor} - \else - \edef\xeCJK@Bold@RawFeature{ - embolden=\xeCJK@emboldenfactor, - \xeCJK@Bold@RawFeature} - \fi - - \ifx\xeCJK@BoldFeatures\@empty - \edef\xeCJK@Features{ - BoldFeatures={ - RawFeature={\xeCJK@Bold@RawFeature}}} - \else - \edef\xeCJK@Features{ - BoldFeatures={ - \xeCJK@BoldFeatures, - RawFeature={\xeCJK@Bold@RawFeature}}} - \fi - - \ifx\xeCJK@BoldItalic@RawFeature\@empty - \def\xeCJK@BoldItalic@RawFeature{ - embolden=\xeCJK@emboldenfactor} - \else - \edef\xeCJK@BoldItalic@RawFeature{ - embolden=\xeCJK@emboldenfactor, - \xeCJK@BoldItalic@RawFeature} - \fi + \edef\xeCJK@Features{BoldFont={#3}, + BoldFeatures={RawFeature={embolden=\xeCJK@emboldenfactor}}} \fi \fi \ifxeCJK@SlantFont@ \ifx\xeCJK@ItalicFont\@empty - - \ifx\xeCJK@Italic@RawFeature\@empty - \edef\xeCJK@Italic@RawFeature{ - slant=\xeCJK@slantfactor} - \else - \edef\xeCJK@Italic@RawFeature{ - slant=\xeCJK@slantfactor, - \xeCJK@Italic@RawFeature} - \fi - - \ifx\xeCJK@ItalicFeatures\@empty - \edef\xeCJK@ItalicFeatures{ - RawFeature={\xeCJK@Italic@RawFeature}} - \else - \edef\xeCJK@ItalicFeatures{ - \xeCJK@ItalicFeatures, - RawFeature={\xeCJK@Italic@RawFeature}} - \fi - - \ifx\xeCJK@BoldItalic@RawFeature\@empty - \edef\xeCJK@BoldItalic@RawFeature{ - slant=\xeCJK@slantfactor} - \else - \edef\xeCJK@BoldItalic@RawFeature{ - slant=\xeCJK@slantfactor, - \xeCJK@BoldItalic@RawFeature} - \fi - - \ifx\xeCJK@BoldItalicFeatures\@empty - \edef\xeCJK@BoldItalicFeatures{ - RawFeature={\xeCJK@BoldItalic@RawFeature}} + \ifx\xeCJK@Features\@empty + \edef\xeCJK@Features{ItalicFont={#3}, + ItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \else - \edef\xeCJK@BoldItalicFeatures{ - \xeCJK@BoldItalicFeatures, - RawFeature={\xeCJK@BoldItalic@RawFeature}} + \edef\xeCJK@Features{\xeCJK@Features,ItalicFont={#3}, + ItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \fi + \fi - \ifx\xeCJK@Features\@empty - \edef\xeCJK@Features{ - ItalicFeatures={\xeCJK@ItalicFeatures}, - BoldItalicFeatures={\xeCJK@BoldItalicFeatures}} + \ifx\xeCJK@BoldItalicFont\@empty + \ifx\xeCJK@BoldFont\@empty + \edef\xeCJK@Features{\xeCJK@Features,BoldItalicFont={#3}, + BoldItalicFeatures={RawFeature={embolden=\xeCJK@emboldenfactor,slant=\xeCJK@slantfactor}}} \else - \edef\xeCJK@Features{ - \xeCJK@Features, - ItalicFeatures={\xeCJK@ItalicFeatures}, - BoldItalicFeatures={\xeCJK@BoldItalicFeatures}} + \edef\xeCJK@Features{\xeCJK@Features,BoldItalicFont={\xeCJK@BoldFont}, + BoldItalicFeatures={RawFeature={slant=\xeCJK@slantfactor}}} \fi \fi \fi @@ -860,53 +790,153 @@ \edef\xeCJK@temp{#2} \ifx\xeCJK@temp\@empty \else - \edef\xeCJK@temp{,#2} - \fi - - \ifx\xeCJK@Features\@empty - \else - \edef\xeCJK@Features{,\xeCJK@Features} + \ifx\xeCJK@Features\@empty + \edef\xeCJK@Features{#2} + \else + \edef\xeCJK@Features{\xeCJK@Features,#2} + \fi \fi - \edef\xeCJK@Features{ - [BoldFont={#3}, - ItalicFont={#3}, - BoldItalicFont={#3}% The first three parameters can be overridden by - % user defined parameters in #2 - \xeCJK@temp\xeCJK@Features]} - - \expandafter - \newfontfamily@i\csname xeCJK@font@#1\expandafter\endcsname - \xeCJK@Features - {#3} - \expandafter\edef\csname xeCJK@nsff\xeCJK@family\endcsname{\zf@family}} + \edef\@tempa{\noexpand\zf@fontspec{\xeCJK@Features}{#3}} + \@tempa + \edef\@tempa{ + \noexpand\DeclareRobustCommand\expandafter\noexpand\csname xeCJK@font@#1\endcsname + {\noexpand\fontfamily{\zf@family}\noexpand\selectfont}} + \@tempa + \expandafter\edef\csname xeCJK@nsff#1\endcsname{\zf@family}} \def\xeCJK@setmacro@getkey#1{ - \expandafter\def\csname xeCJK@get#1\endcsname ##1#1=##2##3\relax{ + \expandafter\def\csname xeCJK@get#1\endcsname ##1#1=##2,##3\relax{ \expandafter\edef\csname xeCJK@#1\endcsname{##2} \edef\xeCJK@temp{##1##3}}} \xeCJK@setmacro@getkey{BoldFont} \xeCJK@setmacro@getkey{ItalicFont} \xeCJK@setmacro@getkey{BoldItalicFont} -\xeCJK@setmacro@getkey{ItalicFeatures} -\xeCJK@setmacro@getkey{BoldFeatures} -\xeCJK@setmacro@getkey{BoldItalicFeatures} - -\def\xeCJK@getRawFeature#1RawFeature=#2#3\relax{ - \edef\xeCJK@tempRawFeature{#2}} \define@key[zf]{preparse}{ItalicFeatures}{ \edef\zf@it@feat{,#1} \edef\zf@family@long{\zf@family@long itfeat:#1}} +\renewcommand*\zf@fontspec[2]{% + \begingroup + \zf@init + \edef\zf@fontname{#2}% + \let\zf@family@long\zf@fontname + \setkeys*[zf]{prepreparse}{#1}% + \let\zf@up\zf@fontname + \edef\@tempa{\noexpand\setkeys*[zf]{preparse}{\XKV@rm}}\@tempa + \let\zf@fontname\zf@up + \let\zf@font@feat\XKV@rm + \font\zf@basefont="\zf@font@wrap\zf@fontname\zf@suffix" at \f@size pt + \unless\ifzf@icu + \zf@set@font@type + \fi + \ifx\zf@suffix\@empty + \ifzf@atsui + \def\zf@suffix{/AAT}% + \else + \ifzf@icu + \def\zf@suffix{/ICU}% + \fi + \fi + \font\zf@basefont="\zf@font@wrap\zf@fontname\zf@suffix" at \f@size pt + \fi + \zf@firsttimetrue + \zf@get@feature@requests{\zf@font@feat}% + \zf@firsttimefalse + \unless\ifcsname zf@UID@\zf@family@long\endcsname + \edef\@tempa{#2}% + \ifcsname c@zf@famc@\@tempa\endcsname + \expandafter\stepcounter\else + \expandafter\newcounter\fi + {zf@famc@\@tempa}% + \gdef@cx{zf@UID@\zf@family@long}{% + \expandafter\expandafter\expandafter + \zap@space\expandafter\@tempa\space\@empty + (\expandafter\the\csname c@zf@famc@\@tempa\endcsname)}% + \fi + \xdef\zf@family{\@nameuse{zf@UID@\zf@family@long}}% + \unless\ifcsname zf@family@fontname\zf@family\endcsname + \zf@PackageInfo{Defining font family for '#2' + with options [\zf@default@options #1]}% + \gdef@cx{zf@family@fontname\zf@family}{\zf@fontname}% + \gdef@cx{zf@family@options\zf@family}{\zf@default@options #1}% + \gdef@cx{zf@family@fontdef\zf@family} + {\zf@fontname\zf@suffix:\zf@pre@ff\zf@ff}% + \DeclareFontFamily{\zf@enc}{\zf@family}{}% + \zf@make@font@shapes{\zf@fontname} + {\mddefault}{\updefault}{\zf@font@feat\zf@up@feat}% + \unless\ifzf@nobf + \ifx\zf@bf\@empty + \zf@make@font@shapes[\zf@fontname]{/B} + {\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \else + \zf@make@font@shapes{\zf@bf} + {\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \fi + \fi + \unless\ifzf@noit + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/I} + {\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \else + \zf@make@font@shapes{\zf@it} + {\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \fi + \fi + \@tempswatrue + \ifzf@nobf\@tempswafalse\fi + \ifzf@noit\@tempswafalse\fi + \if@tempswa + \ifx\zf@bfit\@empty + \ifx\zf@bf\@empty + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/BI} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \else + \zf@make@font@shapes[\zf@it]{/B} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes[\zf@bf]{/I} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes{\zf@bfit} + {\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \fi + \ifxeCJK@SlantFont@ + \zf@make@font@shapes{\zf@fontname}{\mddefault}{\sldefault} + {\zf@font@feat,RawFeature={slant=0.167}} + \ifx\zf@bf\@empty + \ifzf@nobf + \zf@make@font@shapes{\zf@fontname}{\bfdefault}{\sldefault} + {\zf@font@feat,RawFeature={embolden=4,slant=0.167}} + \else + \zf@make@font@shapes[\zf@fontname]{/B} + {\bfdefault}{\sldefault}{\zf@font@feat\zf@bf@feat,RawFeature={slant=0.167}} + \fi + \else + \ifx\zf@fontname\zf@bf + \zf@make@font@shapes{\zf@fontname}{\bfdefault}{\sldefault} + {\zf@font@feat,RawFeature={embolden=4,slant=0.167}} + \else + \zf@make@font@shapes{\zf@bf}{\bfdefault}{\sldefault} + {\zf@font@feat\zf@bf@feat,RawFeature={slant=0.167}} + \fi + \fi + \fi + \fi + \endgroup} + \newcount\xeCJK@featureadded \xeCJK@featureadded=0 \let\xeCJK@addfontfeatures\addfontfeatures -\def\addfontfeatures#1{ +\def\addCJKfontfeatures#1{ \global\advance\xeCJK@featureadded\@ne - \xeCJK@addfontfeatures{#1} \ifcsname xeCJK@family\endcsname \edef\xeCJK@temp{\csname xeCJK@nsff\xeCJK@family\endcsname} \edef\xeCJK@Features{[\csname zf@family@options\xeCJK@temp\endcsname,#1]} @@ -918,6 +948,10 @@ \CJKfamily{\xeCJK@family @\the\xeCJK@featureadded} \fi} +\def\addfontfeatures#1{ + \xeCJK@addfontfeatures{#1} + \addCJKfontfeatures{#1}} + \def\xeCJK@font@rm{} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 69ed96af40d..d96c6d4cd7b 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -91,7 +91,7 @@ my @WorkingTLP = qw( emptypage emulateapj emp encxvlna endfloat endheads engpron engrec enumitem envbig environ envlab epigrafica epigraph epiolmec eplain - epsdice epsf epsincl epslatex-fr epspdf epspdfconversion + epsdice epsf epsincl epslatex-fr epspdfconversion eqlist eqparbox errata es-tex-faq ESIEEcv erdc esdiff esint esint-type1 eskd eskdx eso-pic esvect estcpmm @@ -175,7 +175,7 @@ my @WorkingTLP = qw( multido multiobjective munich muthesis mwcls mxedruli nag namespc natbib nath nature ncclatex ncctools needspace newfile newlfm nextpage - nfssext-cfr nicefram nicetext nih noitcrul + nfssext-cfr niceframe nicetext nih noitcrul nomencl nomentbl nostarch notes notes2bib ntgclass ntheorem-vn numname numprint oberdiek ocr-latex octavo ofs ogham oldstyle onlyamsmath opcit @@ -278,10 +278,11 @@ my @WorkingTLP = qw( yagusylo york-thesis yplan ziffer zhmetrics zhspacing zwgetfdate zwpagelayout ); - +# epspdf - skip since Siep updates it locally. exit (&main ()); + sub main { # get the Master dir and texlive.tlpdb diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index a154cc76037..f2677575c38 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -167,6 +167,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'csplain', "die 'skipping, too hard to automate'", 'csvtools', "&MAKEflatten", 'ctable', "&MAKEflatten", + 'ctantools', "die 'skipping, not sure we should usurp the cmd name ctan'", 'ctib', "&MAKEflatten", 'cweb', "die 'skipping, programs'", 'cyklop', "&MAKEcopy", @@ -561,6 +562,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'wordcount', "&MAKEwordcount", 'wp-conv', "die 'skipping, nonfree license'", 'xbase', "die 'renamed to xpackages'", + 'xeCJK', "die 'skipping, use xecjk'", 'xecolour', "&MAKEflatten", 'xecyr', "&MAKEcopy", 'xelibertine', "die 'skipping, replaced by libertine'", @@ -1175,6 +1177,7 @@ $standarddocfmt='latex'; 'thesis', 'install.01|install.ndx', 'turnstile', 'turnstile-en.ins', # skip pt 'ulqda', 'ulqda.dtx', + 'xecjk', 'xeCJK.dtx', ); $standardins='\.ins'; @@ -1221,86 +1224,6 @@ $standardmakeindex='\.ist'; 'webeq', 'pdflatex', ); - -# packages which need special documentation files run -%oldspecialdvi= ( - 'barcode2', 'eandoc.tex', - 'bardiag', 'bar.*tex', - 'base', '.*info.tex|.*guide.*tex|.*news.*tex', - 'blacklettert1','\.dtx', - 'calendar', 'demo.*\.tex|calguide\.tex', - 'carlisle', '\.dtx|ltxtable.tex', - 'chess', '\.ltx', - 'circ', '\.dtx', - 'cirth', 'cirth\.tex', - 'codepage', 'codepage\.drv', - 'crop', 'crop.dtx', - 'ctib', 'ctib4tex.tex', - 'custbib', '\.dtx', - 'custom-bib', '\.dtx', - 'dialogl', 'dia-driv\.tex|codialog\.tex', - 'directory', '\.tex', - 'eepic', 'eepic.tex', - 'ethiop', 'ethiodoc\.tex', - 'euro', 'euro.dtx', - 'fancynum', 'examples.tex', - 'fp', 'example.tex', - 'frcursive', '.*\.dtx', - 'gatech-thesis', 'gatech-thesis.tex|jules-verne.tex', - 'german', 'germdoc\.tex', - 'insbox', 'demo.tex', - 'isostds', 'isosty.tex', - 'jurabib', 'jbtest.tex', - 'karnaugh', 'kvdoc\.tex', - 'manjutex', 'manjutex.tex', - 'mapcodes', 'mapcode\.drv', - 'mff', 'mffdoc.tex', - 'minutes', 'Sample.tex', - 'ofs', 'ofsdoc-e\.tex|ofsdoc\.tex|ofs-slt\.tex', - 'ogonek', 'togonek\.ltx|\.tex', - 'othello', 'othello\.tex', - 'paper', 'paper.drv', - 'parrun', 'parrun.dtx', - 'petri-nets', 'pndoc\.tex', - 'prosper', 'pros.*tex', - 'pst-3dplot', '.*-e\.tex|doc-.*.tex|pst-3dplot-doc', - 'pst-bar', '.*-e\.tex|doc-.*.tex|pst-bar-doc.tex', - 'pst-blur', '.*-e\.tex|doc-.*.tex|pst-blur-doc.tex', - 'pst-circ', '.*-e\.tex|doc-.*.tex|pst-circ-doc.tex', - 'pst-fr3d', 'doc-.*.tex|pst-fr3d-doc', - 'pst-func', '.*-e\.tex|doc-.*.tex|pst-func-doc', - 'pst-ghsb', '.*-e\.tex|doc-.*.tex|pst-ghsb-doc.tex', - 'pst-gr3d', '.*-e\.tex|doc-.*.tex|pst-gr3d-doc.tex', - 'pst-jftree', '.*-e\.tex|doc-.*.tex|pst-jftree-doc.tex', - 'pst-lens', '.*-e\.tex|doc-.*.tex|pst-lens-doc.tex', - 'pst-light3d', '.*-e\.tex|doc-.*.tex|pst-light3d-doc', - 'pst-math', '.*-e\.tex|doc-.*.tex|pst-math-doc.tex', - 'pst-optic', '.*-e\.tex|doc-.*.tex|pst-optic-doc.tex', - 'pst-osci', '.*-e\.tex|doc-.*.tex|pst-osci-doc.tex', - 'pst-poly', '.*-e\.tex|doc-.*.tex|pst-poly-doc.tex', - 'pst-slpe', '.*-e\.tex|doc-.*.tex|pst-slpe-doc.tex', - 'pst-uml', '.*-e\.tex|doc[-_].*.tex|pst-uml-doc.tex', - 'pst-vue3d', '.*-e\.tex|doc-.*.tex|pst-vue3d-doc.tex', - 'qobitree', 'example\.tex', - 'rcsinfo', 'rcsinfo2html.tex', - 'refman', 'layout.tex|\.dtx', - 'soul', 'soul.dtx', - 'syntax', 'syntax[a-z].*\.tex', - 'texsis', 'Manual.tex', - 'textmerg', 'tmexamp[[0-9]\.tex', - 'thesis', '\.drv', - 'timing', 'timing.tex', - 'tipa', 'tipaman\.tex|tipatug\.tex', - 'tools', '\.dtx', - 'umrand', 'umrand\.tex', - 'ulsy', '\.dtx', - 'velthuis', 'manual.tex', - 'wasy2', 'wasydoc\.tex', - 'xymtex', 'xymtx200.tex', - 'zefonts', 'zefonts.tex', -); - -#$standarddvi='\.tex|\.ltx'; %specialdvi = (); $standarddvi = 'NULL'; # rely on authors/CTAN making pdf's. -- cgit v1.2.3