diff options
author | Karl Berry <karl@freefriends.org> | 2011-08-07 23:40:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-08-07 23:40:55 +0000 |
commit | 17adabfbf74165afccb1265d52eea3ad4383f6e1 (patch) | |
tree | 49ea03f8d92a9468b7057a8922c705d61af1971a /Master/texmf-dist/source | |
parent | 7822e32d4066bb81d8e6ed47697c93301b86fe9f (diff) |
xecjk for ctex 2.4.2 (12jun11)
git-svn-id: svn://tug.org/texlive/trunk@23453 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx | 150 | ||||
-rw-r--r-- | Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins | 4 |
2 files changed, 117 insertions, 37 deletions
diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx index 9c5e8ab6efb..82943b531ad 100644 --- a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx +++ b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx @@ -36,7 +36,7 @@ may observe \keepsilent \preamble - Version 2.3.19 (01-May-2011) + Version 2.4.2 (12-June-2011) Copyright (C) Wenchang Sun <sunwch@hotmail.com> @@ -120,8 +120,8 @@ may observe {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak \vspace{2.3ex}\vskip -\parskip} -\renewcommand{\arg}[1]{{\tt\string{}\meta{#1}{\tt\string}}} -\renewcommand{\meta}[1]{\mbox{\color{parametercolor}$\langle$\it #1\/$\rangle$}} +\renewcommand{\arg}[1]{{\ttfamily\string{}\meta{#1}{\ttfamily\string}}} +\renewcommand{\meta}[1]{\mbox{\color{parametercolor}$\langle$\itshape #1\/$\rangle$}} \EnableCrossrefs \CodelineIndex @@ -140,8 +140,8 @@ may observe %</driver> % %<*xeCJK> -\def\fileversion{2.3.19} -\def\filedate{2011/05/01} +\def\fileversion{2.4.2} +\def\filedate{2011/06/12} \ProvidesPackage{xeCJK}[\filedate\space\fileversion\space package for typesetting CJK scripts with XeLaTeX] %</xeCJK> % @@ -219,7 +219,9 @@ may observe % SlantFont:& 启用 \textsl{斜体字slshape}\\ % fallback: & 启用备用字体功能 \\ % CJKnumber: & 调用CJKnumb宏包\\ -% CJKchecksingle: &避免单个汉字单独占一行。 +% CJKchecksingle: &避免单个汉字单独占一行\\ +% nospace: & 忽略 CJK 文字之间的空格(默认行为)\\ +% space: & 保留 CJK 文字之间的空格\\ % \end{tabular} % % @@ -232,16 +234,23 @@ may observe % \defmacro{\setCJKfallbackfamilyfont} \arg{family name} % [\textcolor{optioncolor}{<font features>}]\arg{font name} % \end{decl} -% 分别设置缺省CJK字体, CJK sffamily, CJK ttfamily, 某个 CJKfamily 所对应中文字 -% 体,以及某个 CJKfamily 所对应的备用字体(通常用于生僻字)。 -% 其中最后两个参数的意义请参考 \verb+\fontspec.+ +% 分别设置缺省 CJK 普通字体族、CJK 无衬线字体族、CJK 打字机字体族的各自所对应 +% 中文字体,以及某个 CJK 族所对应的备用字体(通常用于生僻字)。其中最后两个参 +% 数的意义请参考 \verb+fontspec+ 宏包。 % % 定义CJK字体时指定的\texttt{ItalicFont=\{...\}}比宏包的 % \texttt{SlantFont}选项有更高的优先级。 % 类似地,可以指定\texttt{BoldFont=\{font name\}}以抑制 % \texttt{BoldFont}选项。 % -% +% 可以重定义 \defmacro{\CJKfamilydefault} 来修改普通字体的 CJK 字体族。其默认 +% 值是默认的普通字体族 \defmacro{\CJKrmdefault},即 \verb+rm+。可以重定义为无 +% 衬线字体族的默认值 \defmacro{\CJKsfdefault},即 \verb+sf+;或是打字机字体族 +% 的 \defmacro{\CJKttdefault},即 \verb+tt+。也可以改为其他自定义的字体族。例 +% 如,在幻灯片中可以使用如下命令改用无衬线的汉字字体: +% \begin{verbatim} +% \renewcommand\CJKfamilydefault{\CJKsfdefault} +% \end{verbatim} % % % @@ -319,6 +328,14 @@ may observe % 注意,这两个宏命令仅对随后定义的 CJK 字体有效。 % % +% \begin{decl} +% \defmacro{\CJKnospace}\\ +% \defmacro{\CJKspace} +% \end{decl} +% \verb+\CJKnospace+ 忽略 CJK 文字之间的空格,这是默认行为,与 \verb+nospace+ +% 选项相同。\verb+\CJKspace+ 保留 CJK 文字之间的空格,但仍然忽略文字与全角标点 +% 间的空格,与宏包 \verb+space+ 选项相同。 +% % % \begin{decl} % \defmacro{\CJKsetecglue} @@ -468,6 +485,9 @@ may observe % \\ % CJKnumber: & Load the CJKnumb package. % \\ +% CJKchecksingle: & Prevent last line with only one CJK character\\ +% nospace: & Ignore spaces between CJK ideographs\\ +% space: & Do not ignore spaces between CJK ideographs\\ % \end{tabular} % % @@ -501,7 +521,14 @@ may observe % and \arg{font name}, % we refer to the package \verb+fontspec+. % -% +% Threr are \defmacro{\CJKfamilydefault}, \defmacro{\CJKrmdefault}, +% \defmacro{\CJKsfdefault} and \defmacro{\CJKttdefault}, which correspond to +% \verb+\familydefault+, \verb+\rmdefault+, \verb+\sfdefault+ and +% \verb+\ttdefault+. For example, one can select sans serief CJK font for +% slides: +% \begin{verbatim} +% \renewcommand\CJKfamilydefault{\CJKsfdefault} +% \end{verbatim} % % \section{Advanced settings} % @@ -556,6 +583,14 @@ may observe % % % \begin{decl} +% \defmacro{\CJKnospace}\\ +% \defmacro{\CJKspace} +% \end{decl} +% \verb+\CJKnospace+ ignores spaces between CJK ideographs, see also +% \verb+nospace+ option. \verb+\CJKspace+ reserves the spaces. +% +% +% \begin{decl} % \defmacro{\xeCJKenablefallback}\\ % \defmacro{\xeCJKdisablefallback} % \end{decl} @@ -601,6 +636,9 @@ may observe \newif\ifxeCJK@indentfirst \xeCJK@indentfirsttrue +\newif\ifxeCJK@space@ +\xeCJK@space@false + \DeclareOption{boldfont}{\xeCJK@BoldFont@true} \DeclareOption{BoldFont}{\ExecuteOptions{boldfont}} \DeclareOption{slantfont}{\xeCJK@SlantFont@true} @@ -609,18 +647,20 @@ may observe \DeclareOption{CJKnumber}{\xeCJK@numtrue} \DeclareOption{normalindentfirst}{\xeCJK@indentfirstfalse} \DeclareOption{CJKchecksingle}{\AtEndOfPackage{\let\xeCJK@i@i\xeCJK@checksingle}} +\DeclareOption{space}{\xeCJK@space@true} +\DeclareOption{nospace}{\xeCJK@space@false} -\DeclareOption{CJKnormalspaces}{\PackageWarning{% +\DeclareOption{CJKnormalspaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKnormalspaces'. It may be removed in the future.}} -\DeclareOption{CJKaddspaces}{\PackageWarning{% +\DeclareOption{CJKaddspaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKaddspaces'. It may be removed in the future.}} -\DeclareOption{CJKtextspaces}{\PackageWarning{% +\DeclareOption{CJKtextspaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKtextspaces'. It may be removed in the future.}} -\DeclareOption{CJKmathspaces}{\PackageWarning{% +\DeclareOption{CJKmathspaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKmathspaces'. It may be removed in the future.}} -\DeclareOption{CJKsetspaces}{\PackageWarning{% +\DeclareOption{CJKsetspaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKsetspaces'. It may be removed in the future.}} -\DeclareOption{CJKnospaces}{\PackageWarning{% +\DeclareOption{CJKnospaces}{\PackageWarning{xeCJK}{% obsolete option 'CJKnospaces'. It may be removed in the future.}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{fontspec}} @@ -672,7 +712,7 @@ may observe \loop \XeTeXcharclass \@tempcnta #3\relax \advance\@tempcnta 1\relax - \ifnum\the\@tempcnta<#2 \repeat + \unless\ifnum\the\@tempcnta>#2 \repeat \xeCJK@setpunctcharclass} \def\xeCJK@prePunct#1#2{\xeCJK@setPunct{2}{#1}{#2}} @@ -788,6 +828,10 @@ may observe % \begin{macrocode} \xeCJKsetcharclass{"4E00}{"9FFF}{1} % \end{macrocode} +% \item Yi +% \begin{macrocode} +\xeCJKsetcharclass{"A000}{"A4CF}{1} +% \end{macrocode} % \item Hangul Syllables % \begin{macrocode} \xeCJKsetcharclass{"AC00}{"D7AF}{1} @@ -804,10 +848,18 @@ may observe % \begin{macrocode} \xeCJKsetcharclass{"FF00}{"FFEF}{1} % \end{macrocode} -% \item CJKUnified Ideographs Extension B +% \item CJK Unified Ideographs Extension B % \begin{macrocode} \xeCJKsetcharclass{"20000}{"2A6DF}{1} % \end{macrocode} +% \item CJK Unified Ideographs Extension C +% \begin{macrocode} +\xeCJKsetcharclass{"2A700}{"2B73F}{1} +% \end{macrocode} +% \item CJK Unified Ideographs Extension D +% \begin{macrocode} +\xeCJKsetcharclass{"2B740}{"2B81F}{1} +% \end{macrocode} % \item CJK Compatibility Ideographs Supplement % \begin{macrocode} \xeCJKsetcharclass{"2F800}{"2FA1F}{1} @@ -815,7 +867,6 @@ may observe % \end{itemize} % \begin{macrocode} - \def\CJK@stop{\CJK@stop} \def\normalspacedchars#1{ @@ -1145,7 +1196,21 @@ may observe \chardef\xeCJK@four=4 \chardef\xeCJK@ten=10 -\def\xeCJK@ignorespaces{ +% \end{macrocode} +% +% 处理省略 CJK 文字间空格的代码。\verb+\CJKspace+ 保留 CJK 文字之间的空格(仍 +% 忽略标点相关空格);\verb+\CJKnospace+ 忽略 CJK 文字之间的空格。默认使用 +% \verb+\CJKnospace+。 +% \begin{macrocode} +\def\CJKspace{\let\xeCJK@ignorespaces\@empty} +\def\CJKnospace{\let\xeCJK@ignorespaces\xeCJK@@ignorespaces} +\ifxeCJK@space@ + \AtEndOfPackage{\CJKspace} +\else + \AtEndOfPackage{\CJKnospace} +\fi + +\def\xeCJK@@ignorespaces{ \futurelet\xeCJK@nexttoken\xeCJK@checknext} \def\xeCJK@checknext{ @@ -1555,16 +1620,19 @@ may observe \csname\xeCJK@family/\f@series/\f@shape/\f@size\endcsname=\external@font \fi} +\def\CJKrmdefault{rm} \def\setCJKmainfont{ - \xeCJK@newfontfamily{rm}} + \xeCJK@newfontfamily{\CJKrmdefault}} \let\setCJKromanfont\setCJKmainfont +\def\CJKsfdefault{sf} \def\setCJKsansfont{ - \xeCJK@newfontfamily{sf}} + \xeCJK@newfontfamily{\CJKsfdefault}} +\providecommand\CJKttdefault{tt} \def\setCJKmonofont{ - \xeCJK@newfontfamily{tt}} + \xeCJK@newfontfamily{\CJKttdefault}} \def\setCJKfamilyfont#1{ \xeCJK@newfontfamily{#1}} @@ -1572,8 +1640,9 @@ may observe % Redefine \string\normalfont, \string\rmfamily, \string\sffamily % and \string\ttfamily\ to set CJKfamily % \begin{macrocode} +\def\CJKfamilydefault{\CJKrmdefault} \DeclareRobustCommand\normalfont - {\CJKfamily{rm}% + {\CJKfamily{\CJKfamilydefault} \usefont\encodingdefault \familydefault \seriesdefault @@ -1583,15 +1652,15 @@ may observe \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm - \fontfamily\rmdefault\CJKfamily{rm}\selectfont} + \fontfamily\rmdefault\CJKfamily{\CJKrmdefault}\selectfont} \DeclareRobustCommand\sffamily {\not@math@alphabet\sffamily\mathsf - \fontfamily\sfdefault\CJKfamily{sf}\selectfont} + \fontfamily\sfdefault\CJKfamily{\CJKsfdefault}\selectfont} \DeclareRobustCommand\ttfamily {\not@math@alphabet\ttfamily\mathtt - \fontfamily\ttdefault\CJKfamily{tt}\selectfont} + \fontfamily\ttdefault\CJKfamily{\CJKttdefault}\selectfont} % \end{macrocode} % \string\xeCJK@newfontfamily is similar to \string\newfontfamily % but introduce fake slant/bold fonts for CJK characters. @@ -1692,7 +1761,7 @@ may observe % redefine \verb+\CJKfamily+ -\def\xeCJK@font@rm{} +\expandafter\def\csname xeCJK@font@\CJKfamilydefault\endcsname{} \DeclareRobustCommand\CJKfamily[1]{ \ifcsname xeCJK@font@#1\endcsname @@ -1706,7 +1775,7 @@ may observe \expandafter\gdef\csname xeCJK@#1@warned\endcsname{} \fi \fi} -\CJKfamily{rm} +\AtBeginDocument{\CJKfamily{\CJKfamilydefault}} \def\xeCJKsetslantfactor#1{\edef\xeCJK@slantfactor{#1}} \def\xeCJKsetemboldenfactor#1{\edef\xeCJK@emboldenfactor{#1}} @@ -1802,6 +1871,17 @@ This is an example. 这是一个例子 \verb+\CJKsetecglue{ }+ \sometexts + +{\verb+\CJKspace+ + +\CJKspace +这 是 一行 文字。} + +{\verb+\CJKnospace+ + +\CJKnospace +这 是 一行 文字。} + \end{document} % \end{macrocode} @@ -1814,7 +1894,7 @@ This is an example. 这是一个例子 % \part{example-CJKchecksingle.tex} % \begin{macrocode} \documentclass{article} -\usepackage[boldfont,slantfont,CJKaddspaces,CJKchecksingle]{xeCJK} +\usepackage[CJKchecksingle]{xeCJK} \setCJKmainfont{AR PLBaosong2GBK Light} \textwidth 120mm \oddsidemargin 0pt @@ -1857,7 +1937,7 @@ xeCJK 改进了中英文间距的处理, 并且还可以避免单个汉字独 \textwidth 150mm \oddsidemargin 0pt \evensidemargin 0pt -\usepackage[slantfont,boldfont]{xeCJK} +\usepackage[boldfont]{xeCJK} \usepackage{xcolor} \usepackage{CJKfntef} @@ -1873,7 +1953,7 @@ xeCJK 改进了中英文间距的处理, 并且还可以避免单个汉字独 标点。 \end{verbatim} -\CJKunderline{汉字}\CJKunderline{加下划线加下划线加下划线加下划线% +\CJKunderline{汉字}\CJKunderline{加下划线加下划线加下划线加下划线 加下划线加下划线加下划线加下划线加下划线加下划线加下划线} \CJKunderwave{波浪线} @@ -1893,14 +1973,14 @@ xeCJK 改进了中英文间距的处理, 并且还可以避免单个汉字独 %<*example-fallback> % \fi % \part{example-fallback.tex} -% \setCJKfallbackfamilyfont{rm}{SimSun-ExtB} +% \setCJKfallbackfamilyfont{\CJKrmdefault}{SimSun-ExtB} % \xeCJKenablefallback % \begin{macrocode} \documentclass{article} \usepackage[fallback]{xeCJK} \usepackage{CJKfntef} \setCJKmainfont{SimSun} -\setCJKfallbackfamilyfont{rm}{SimSun-ExtB} +\setCJKfallbackfamilyfont{\CJKrmdefault}{SimSun-ExtB} \begin{document} 漢字源𣴑考 diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins index 610a376bf1e..94dc0cc0966 100644 --- a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins +++ b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `batchfile') %% -%% Version 2.3.19 (01-May-2011) +%% Version 2.4.2 (12-June-2011) %% %% Copyright (C) Wenchang Sun <sunwch@hotmail.com> %% @@ -22,7 +22,7 @@ \keepsilent \preamble - Version 2.3.19 (01-May-2011) + Version 2.4.2 (12-June-2011) Copyright (C) Wenchang Sun <sunwch@hotmail.com> |