summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-08-07 23:40:55 +0000
committerKarl Berry <karl@freefriends.org>2011-08-07 23:40:55 +0000
commit17adabfbf74165afccb1265d52eea3ad4383f6e1 (patch)
tree49ea03f8d92a9468b7057a8922c705d61af1971a /Master/texmf-dist/source/xelatex
parent7822e32d4066bb81d8e6ed47697c93301b86fe9f (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/xelatex')
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx150
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins4
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>