summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-01-19 00:47:33 +0000
committerKarl Berry <karl@freefriends.org>2011-01-19 00:47:33 +0000
commit86870e98932b50e41ecf60cee38259e04f225732 (patch)
treef96d33e041de67b98f0afa92d24948d93b38460f /Master
parentc7ab8d5408060c6ff547f9f04e6cdad24ead0e49 (diff)
xecjk 2.3.17 (19jan11)
git-svn-id: svn://tug.org/texlive/trunk@21117 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/README18
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKchecksingle.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/examples/example-CJKfntef.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/examples/example-addspaces.tex2
-rw-r--r--Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdfbin301841 -> 272026 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx199
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins4
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty74
11 files changed, 249 insertions, 58 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xecjk/README b/Master/texmf-dist/doc/xelatex/xecjk/README
new file mode 100644
index 00000000000..c7e23e2f142
--- /dev/null
+++ b/Master/texmf-dist/doc/xelatex/xecjk/README
@@ -0,0 +1,18 @@
+
+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.
+
+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
+
+- Sun Wenchang <sunwch@hotmail.com>
+
diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex
index ac3946f2c7e..19f23f818dc 100644
--- a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex
+++ b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKchecksingle.tex
@@ -6,7 +6,7 @@
%%
%% xeCJK.dtx (with options: `example-CJKchecksingle')
%%
-%% Version 2.3.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex
index 4703769f538..360fbc466aa 100644
--- a/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex
+++ b/Master/texmf-dist/doc/xelatex/xecjk/example-CJKfntef.tex
@@ -6,7 +6,7 @@
%%
%% xeCJK.dtx (with options: `example-CJKfntef')
%%
-%% Version 2.3.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
diff --git a/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex b/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex
index 7b41a5eb124..045c5b01d08 100644
--- a/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex
+++ b/Master/texmf-dist/doc/xelatex/xecjk/example-addspaces.tex
@@ -6,7 +6,7 @@
%%
%% xeCJK.dtx (with options: `example-addspaces')
%%
-%% Version 2.3.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
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 ac3946f2c7e..19f23f818dc 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.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
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 4703769f538..360fbc466aa 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.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
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 7b41a5eb124..045c5b01d08 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.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
diff --git a/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf b/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
index b0615a1bca7..91544248b7b 100644
--- a/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
+++ b/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
index c11a199ab17..9153b0038cc 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.15 (31-May-2010)
+ Version 2.3.17 (20-Nov-2010)
Copyright (C) Wenchang Sun <sunwch@hotmail.com>
@@ -66,13 +66,13 @@ may observe
%<*driver>
\documentclass[12pt]{ltxdoc}
\usepackage{xcolor}
-\usepackage[bookmarks=true,bookmarksopen=true,dvipdfm,pdfstartview=FitH]{hyperref}
+\usepackage[bookmarks=true,bookmarksopen=true,pdfstartview=FitH]{hyperref}
\usepackage[BoldFont,SlantFont,CJKnumber]{xeCJK}
\textheight 210mm
\textwidth 150mm
\oddsidemargin 0pt
\evensidemargin 0pt
-\defaultfontfeatures{Mapping=tex-text}
+\defaultfontfeatures{Ligatures=TeX}
\ifcsname CJKmainfont\endcsname
\else
\def\CJKmainfont{AR PLBaosong2GBK Light}
@@ -119,8 +119,8 @@ may observe
{\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
\vspace{2.3ex}\vskip -\parskip}
-\renewcommand{\arg}[1]{{\tt\string{}\m{#1}{\tt\string}}}
-\newcommand{\m}[1]{\mbox{\color{parametercolor}$\langle$\it #1\/$\rangle$}}
+\renewcommand{\arg}[1]{{\tt\string{}\meta{#1}{\tt\string}}}
+\renewcommand{\meta}[1]{\mbox{\color{parametercolor}$\langle$\it #1\/$\rangle$}}
\EnableCrossrefs
\CodelineIndex
@@ -139,8 +139,8 @@ may observe
%</driver>
%
%<*xeCJK>
-\def\fileversion{2.3.15}
-\def\filedate{2010/05/31}
+\def\fileversion{2.3.17}
+\def\filedate{2010/11/20}
\ProvidesPackage{xeCJK}[\filedate\space\fileversion\space package for typesetting CJK scripts with XeLaTeX]
%</xeCJK>
%
@@ -358,19 +358,21 @@ may observe
% \defmacro{\xeCJKsetcharclass}\arg{first}\arg{last}\arg{class}
% \end{decl}
%
+% 该命令将设定 Unicode 范围 \meta{first}--\meta{last} 的字符类别为
+% \meta{class}。
+%
+% 类别 0 表示一般西文符号,使用西文字体;类型 1 表示一般 CJK 表意符号,使用
+% CJK 字体。默认只将 Unicode 区的 CJK 文字和标点使用 CJK 字体,字符类别的详细
+% 说明及缺省状态下的设置见源代码第~\ref{sec:charclass}~节。
%
-% 缺省状态下,\xeCJK\ 把 0x2000 --- 0xFFFF 之间的字符看成 CJK 文字,即 CJK
-% 相关的字体设置(仅)对
-% 在此范围内的字符有效。
-% 可以使用上述宏命令
-% 改变字符类别。
% 例如,以下命令设置 0x0080 --- 0x2FFF 之间的字符为非 CJK 文字,而 0x20000
% --- 0x30000 之间的为 CJK 文字:
% \begin{verbatim}
% \xeCJKsetcharclass{"80}{"2FFF}{0}
% \xeCJKsetcharclass{"20000}{"30000}{1}
% \end{verbatim}
-% 注意:最后一个参数只能为 0 或 1。不要轻易改变字符类别。
+% 注意:最后一个参数只能为 0 或 1,且设定对预定义的标点符号无效。不要轻易改变
+% 字符类别。
%
%
% \begin{decl}
@@ -555,7 +557,7 @@ may observe
%
% \clearpage
% \part{xeCJK.sty}
-% \section{xeCJK.sty 源文件}
+% \section{宏包选项}
%
% \iffalse
%<*xeCJK>
@@ -571,16 +573,12 @@ may observe
\expandafter\def\csname ver@CJK.sty\endcsname{2020/01/01}
\newif\ifxeCJK@SlantFont@
-\xeCJK@SlantFont@false
\newif\ifxeCJK@BoldFont@
-\xeCJK@BoldFont@false
\newif\ifxeCJK@num
-\xeCJK@numfalse
\newif\ifxeCJK@checksingle
-\xeCJK@checksinglefalse
\newif\ifxeCJK@indentfirst
\xeCJK@indentfirsttrue
@@ -591,13 +589,21 @@ may observe
\DeclareOption{SlantFont}{\ExecuteOptions{slantfont}}
\DeclareOption{CJKnumber}{\xeCJK@numtrue}
\DeclareOption{normalindentfirst}{\xeCJK@indentfirstfalse}
-\DeclareOption{CJKnormalspaces}{}
-\DeclareOption{CJKaddspaces}{}
-\DeclareOption{CJKtextspaces}{}
-\DeclareOption{CJKmathspaces}{}
-\DeclareOption{CJKsetspaces}{}
-\DeclareOption{CJKnospaces}{}
\DeclareOption{CJKchecksingle}{\AtEndOfPackage{\let\xeCJK@i@i\xeCJK@checksingle}}
+
+\DeclareOption{CJKnormalspaces}{\PackageWarning{%
+ obsolete option 'CJKnormalspaces'. It may be removed in the future.}}
+\DeclareOption{CJKaddspaces}{\PackageWarning{%
+ obsolete option 'CJKaddspaces'. It may be removed in the future.}}
+\DeclareOption{CJKtextspaces}{\PackageWarning{%
+ obsolete option 'CJKtextspaces'. It may be removed in the future.}}
+\DeclareOption{CJKmathspaces}{\PackageWarning{%
+ obsolete option 'CJKmathspaces'. It may be removed in the future.}}
+\DeclareOption{CJKsetspaces}{\PackageWarning{%
+ obsolete option 'CJKsetspaces'. It may be removed in the future.}}
+\DeclareOption{CJKnospaces}{\PackageWarning{%
+ obsolete option 'CJKnospaces'. It may be removed in the future.}}
+
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{fontspec}}
\ProcessOptions\relax
@@ -612,7 +618,10 @@ may observe
% \begin{macrocode}
\endlinechar \m@ne
% \end{macrocode}
-% 设置CJK字符类。
+%
+% \section{字符类别设定}
+% \label{sec:charclass}
+% \xeCJK{} 功能开关
% \begin{macrocode}
\def\makexeCJKactive{
\XeTeXinterchartokenstate=1\relax}
@@ -621,7 +630,24 @@ may observe
\XeTeXinterchartokenstate=0\relax}
\makexeCJKactive
-
+% \end{macrocode}
+% 设定字符类别:
+% \begin{center}
+% \begin{tabular}{cll}
+% \hline
+% 编号 & 类别 & 例子 \\
+% \hline
+% 0 & 西文一般符号 & abc \\
+% 1 & CJK 表意符号 & 汉字ぁぃぅ \\
+% 2 & 全角左标点 & (《“ \\
+% 3 & 全角右标点 & ,。)》” \\
+% 4 & 半角左标点 & ( [ \{ \\
+% 5 & 半角右标点 & , . ? ) ] \} \\
+% 6 & 前后原始间距的符号 & / \\
+% \hline
+% \end{tabular}
+% \end{center}
+% \begin{macrocode}
\def\xeCJKsetcharclass#1#2#3{
\@tempcnta=#1
\loop
@@ -657,18 +683,118 @@ may observe
\xeCJK@prePunct{30}{08,0A,0C,0E,10,12,14,16,18,1A,1D,1F,36}
\xeCJK@postPunct{30}{01,02,05,06,09,0B,0D,0F,11,15,17,19,1B,1E,
- 41,43,45,47,49,63,83,85,87,8E,
- 9B,9C,9D,9E,A1,A3,A5,A7,A9,C3,E3,E5,E7,EE,F5,F6,FB,FC,FD,FE}
+ 41,43,45,47,49,63,83,85,87,8E,
+ 9B,9C,9D,9E,A1,A3,A5,A7,A9,C3,E3,E5,E7,EE,F5,F6,FB,FC,FD,FE}
\xeCJK@prePunct {FE}{59,5B,5D,5F,60,69,6B}
\xeCJK@postPunct{FE}{50,51,52,54,55,56,57,5A,5C,5E,6A}
\xeCJK@prePunct {FF}{03,04,08,20,3B,5B,E0,E1,E5,E6}
\xeCJK@postPunct{FF}{01,05,09,0C,0E,1A,1B,1F,3D,5D,
- 61,63,64,65,67,68,69,6A,6B,6C,6D,6E,6F,70,9E,9F}
+ 61,63,64,65,67,68,69,6A,6B,6C,6D,6E,6F,70,9E,9F}
\xeCJK@setPunct{4}{0}{28,2D,5B,60,7B}
\xeCJK@setPunct{5}{0}{21,22,25,27,29,2C,2E,3A,3B,3F,5D,7D}}
-\xeCJKsetcharclass{"2000}{"FFFF}{1}
+% \end{macrocode}
+%
+% 以下 Uncode 范围数据取自 fontwrap 宏包:
+% \begin{itemize}
+% \item Hangul Jamo
+% \begin{macrocode}
+\xeCJKsetcharclass{"1100}{"11FF}{1}
+% \end{macrocode}
+% \item[] 以下 |"2E80|--|"4DBF| 连续
+% \item CJK Radicals Supplement
+% \begin{macrocode}
+\xeCJKsetcharclass{"2E80}{"2EFF}{1}
+% \end{macrocode}
+% \item Kangxi Radicals
+% \begin{macrocode}
+\xeCJKsetcharclass{"2F00}{"2FDF}{1}
+% \end{macrocode}
+% \item Ideographic Description Characters
+% \begin{macrocode}
+\xeCJKsetcharclass{"2FF0}{"2FFF}{1}
+% \end{macrocode}
+% \item CJK Symbolsand Punctuation
+% \begin{macrocode}
+\xeCJKsetcharclass{"3000}{"303F}{1}
+% \end{macrocode}
+% \item Hiragana
+% \begin{macrocode}
+\xeCJKsetcharclass{"3040}{"309F}{1}
+% \end{macrocode}
+% \item Katakana
+% \begin{macrocode}
+\xeCJKsetcharclass{"30A0}{"30FF}{1}
+% \end{macrocode}
+% \item Bopomofo
+% \begin{macrocode}
+\xeCJKsetcharclass{"3100}{"312F}{1}
+% \end{macrocode}
+% \item Hangul Compatibility Jamo
+% \begin{macrocode}
+\xeCJKsetcharclass{"3130}{"318F}{1}
+% \end{macrocode}
+% \item Kanbun
+% \begin{macrocode}
+\xeCJKsetcharclass{"3190}{"319F}{1}
+% \end{macrocode}
+% \item Bopomofo Extended
+% \begin{macrocode}
+\xeCJKsetcharclass{"31A0}{"31BF}{1}
+% \end{macrocode}
+% \item CJK Strokes
+% \begin{macrocode}
+\xeCJKsetcharclass{"31C0}{"31EF}{1}
+% \end{macrocode}
+% \item Katakana Phonetic Extensions
+% \begin{macrocode}
+\xeCJKsetcharclass{"31F0}{"31FF}{1}
+% \end{macrocode}
+% \item Enclosed CJK Letters and Months
+% \begin{macrocode}
+\xeCJKsetcharclass{"3200}{"32FF}{1}
+% \end{macrocode}
+% \item CJK Compatibility
+% \begin{macrocode}
+\xeCJKsetcharclass{"3300}{"33FF}{1}
+% \end{macrocode}
+% \item CJKUnified Ideographs Extension A
+% \begin{macrocode}
+\xeCJKsetcharclass{"3400}{"4DBF}{1}
+% \end{macrocode}
+% \item[] 以下块不连续
+% \item CJK Unified Ideographs
+% \begin{macrocode}
+\xeCJKsetcharclass{"4E00}{"9FFF}{1}
+% \end{macrocode}
+% \item Hangul Syllables
+% \begin{macrocode}
+\xeCJKsetcharclass{"AC00}{"D7AF}{1}
+% \end{macrocode}
+% \item CJK Compatibility Ideographs
+% \begin{macrocode}
+\xeCJKsetcharclass{"F900}{"FAFF}{1}
+% \end{macrocode}
+% \item CJK Compatibility Forms
+% \begin{macrocode}
+\xeCJKsetcharclass{"FE30}{"FE4F}{1}
+% \end{macrocode}
+% \item Halfwidth and Fullwidth Forms
+% \begin{macrocode}
+\xeCJKsetcharclass{"FF00}{"FFEF}{1}
+% \end{macrocode}
+% \item CJKUnified Ideographs Extension B
+% \begin{macrocode}
+\xeCJKsetcharclass{"20000}{"2A6DF}{1}
+% \end{macrocode}
+% \item CJK Compatibility Ideographs Supplement
+% \begin{macrocode}
+\xeCJKsetcharclass{"2F800}{"2FA1F}{1}
+% \end{macrocode}
+% \end{itemize}
+% \begin{macrocode}
+
\def\CJK@stop{\CJK@stop}
@@ -733,7 +859,11 @@ may observe
\XeTeXinterchartoks 255 4{\xeCJK@cclv@iv}
\XeTeXinterchartoks 1 6{\xeCJK@i@vi}
+\XeTeXinterchartoks 2 6{\xeCJK@ii@vi}
+\XeTeXinterchartoks 3 6{\xeCJK@iii@vi}
\XeTeXinterchartoks 6 1{\xeCJK@vi@i}
+\XeTeXinterchartoks 6 2{\xeCJK@vi@ii}
+\XeTeXinterchartoks 6 3{\xeCJK@vi@iii}
\def\xeCJK@vi@i{
\bgroup
@@ -744,6 +874,12 @@ may observe
\def\xeCJK@i@vi{
\egroup}
+\let\xeCJK@ii@vi \xeCJK@i@vi
+\let\xeCJK@iii@vi\xeCJK@i@vi
+
+\let\xeCJK@vi@ii \xeCJK@vi@i
+\let\xeCJK@vi@iii\xeCJK@vi@i
+
\def\xeCJK@i@i{
\CJKglue
\CJKsymbol}
@@ -848,7 +984,7 @@ may observe
\def\xeCJK@iii@cclv{
\xeCJK@afterpostpunct
\egroup
- \expandafter\xeCJK@ignorespaces}
+ \ignorespaces}
\def\xeCJK@@i{
\CJKecglue
@@ -1167,6 +1303,7 @@ may observe
\edef\xeCJK@temp{\xeCJK@temp.\the\xeCJK@cnte}
\fi}
+\expandafter\def\csname xeCJK@kaiming.\endcsname{}
\expandafter\def\csname xeCJK@kaiming。\endcsname{}
\expandafter\def\csname xeCJK@kaiming?\endcsname{}
\expandafter\def\csname xeCJK@kaiming!\endcsname{}
diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins
index 49a014988fd..b3876a76468 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.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
@@ -22,7 +22,7 @@
\keepsilent
\preamble
- Version 2.3.15 (31-May-2010)
+ Version 2.3.17 (20-Nov-2010)
Copyright (C) Wenchang Sun <sunwch@hotmail.com>
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index 53e47711b36..8113393abe5 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.15 (31-May-2010)
+%% Version 2.3.17 (20-Nov-2010)
%%
%% Copyright (C) Wenchang Sun <sunwch@hotmail.com>
%%
@@ -18,24 +18,20 @@
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
-\def\fileversion{2.3.15}
-\def\filedate{2010/05/31}
+\def\fileversion{2.3.17}
+\def\filedate{2010/11/20}
\ProvidesPackage{xeCJK}[\filedate\space\fileversion\space package for typesetting CJK scripts with XeLaTeX]
\RequirePackage{ifxetex}
\RequireXeTeX
\expandafter\def\csname ver@CJK.sty\endcsname{2020/01/01}
\newif\ifxeCJK@SlantFont@
-\xeCJK@SlantFont@false
\newif\ifxeCJK@BoldFont@
-\xeCJK@BoldFont@false
\newif\ifxeCJK@num
-\xeCJK@numfalse
\newif\ifxeCJK@checksingle
-\xeCJK@checksinglefalse
\newif\ifxeCJK@indentfirst
\xeCJK@indentfirsttrue
@@ -46,13 +42,21 @@
\DeclareOption{SlantFont}{\ExecuteOptions{slantfont}}
\DeclareOption{CJKnumber}{\xeCJK@numtrue}
\DeclareOption{normalindentfirst}{\xeCJK@indentfirstfalse}
-\DeclareOption{CJKnormalspaces}{}
-\DeclareOption{CJKaddspaces}{}
-\DeclareOption{CJKtextspaces}{}
-\DeclareOption{CJKmathspaces}{}
-\DeclareOption{CJKsetspaces}{}
-\DeclareOption{CJKnospaces}{}
\DeclareOption{CJKchecksingle}{\AtEndOfPackage{\let\xeCJK@i@i\xeCJK@checksingle}}
+
+\DeclareOption{CJKnormalspaces}{\PackageWarning{%
+ obsolete option 'CJKnormalspaces'. It may be removed in the future.}}
+\DeclareOption{CJKaddspaces}{\PackageWarning{%
+ obsolete option 'CJKaddspaces'. It may be removed in the future.}}
+\DeclareOption{CJKtextspaces}{\PackageWarning{%
+ obsolete option 'CJKtextspaces'. It may be removed in the future.}}
+\DeclareOption{CJKmathspaces}{\PackageWarning{%
+ obsolete option 'CJKmathspaces'. It may be removed in the future.}}
+\DeclareOption{CJKsetspaces}{\PackageWarning{%
+ obsolete option 'CJKsetspaces'. It may be removed in the future.}}
+\DeclareOption{CJKnospaces}{\PackageWarning{%
+ obsolete option 'CJKnospaces'. It may be removed in the future.}}
+
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{fontspec}}
\ProcessOptions\relax
@@ -70,7 +74,6 @@
\XeTeXinterchartokenstate=0\relax}
\makexeCJKactive
-
\def\xeCJKsetcharclass#1#2#3{
\@tempcnta=#1
\loop
@@ -106,18 +109,40 @@
\xeCJK@prePunct{30}{08,0A,0C,0E,10,12,14,16,18,1A,1D,1F,36}
\xeCJK@postPunct{30}{01,02,05,06,09,0B,0D,0F,11,15,17,19,1B,1E,
- 41,43,45,47,49,63,83,85,87,8E,
- 9B,9C,9D,9E,A1,A3,A5,A7,A9,C3,E3,E5,E7,EE,F5,F6,FB,FC,FD,FE}
+ 41,43,45,47,49,63,83,85,87,8E,
+ 9B,9C,9D,9E,A1,A3,A5,A7,A9,C3,E3,E5,E7,EE,F5,F6,FB,FC,FD,FE}
\xeCJK@prePunct {FE}{59,5B,5D,5F,60,69,6B}
\xeCJK@postPunct{FE}{50,51,52,54,55,56,57,5A,5C,5E,6A}
\xeCJK@prePunct {FF}{03,04,08,20,3B,5B,E0,E1,E5,E6}
\xeCJK@postPunct{FF}{01,05,09,0C,0E,1A,1B,1F,3D,5D,
- 61,63,64,65,67,68,69,6A,6B,6C,6D,6E,6F,70,9E,9F}
+ 61,63,64,65,67,68,69,6A,6B,6C,6D,6E,6F,70,9E,9F}
\xeCJK@setPunct{4}{0}{28,2D,5B,60,7B}
\xeCJK@setPunct{5}{0}{21,22,25,27,29,2C,2E,3A,3B,3F,5D,7D}}
-\xeCJKsetcharclass{"2000}{"FFFF}{1}
+\xeCJKsetcharclass{"1100}{"11FF}{1}
+\xeCJKsetcharclass{"2E80}{"2EFF}{1}
+\xeCJKsetcharclass{"2F00}{"2FDF}{1}
+\xeCJKsetcharclass{"2FF0}{"2FFF}{1}
+\xeCJKsetcharclass{"3000}{"303F}{1}
+\xeCJKsetcharclass{"3040}{"309F}{1}
+\xeCJKsetcharclass{"30A0}{"30FF}{1}
+\xeCJKsetcharclass{"3100}{"312F}{1}
+\xeCJKsetcharclass{"3130}{"318F}{1}
+\xeCJKsetcharclass{"3190}{"319F}{1}
+\xeCJKsetcharclass{"31A0}{"31BF}{1}
+\xeCJKsetcharclass{"31C0}{"31EF}{1}
+\xeCJKsetcharclass{"31F0}{"31FF}{1}
+\xeCJKsetcharclass{"3200}{"32FF}{1}
+\xeCJKsetcharclass{"3300}{"33FF}{1}
+\xeCJKsetcharclass{"3400}{"4DBF}{1}
+\xeCJKsetcharclass{"4E00}{"9FFF}{1}
+\xeCJKsetcharclass{"AC00}{"D7AF}{1}
+\xeCJKsetcharclass{"F900}{"FAFF}{1}
+\xeCJKsetcharclass{"FE30}{"FE4F}{1}
+\xeCJKsetcharclass{"FF00}{"FFEF}{1}
+\xeCJKsetcharclass{"20000}{"2A6DF}{1}
+\xeCJKsetcharclass{"2F800}{"2FA1F}{1}
\def\CJK@stop{\CJK@stop}
@@ -178,7 +203,11 @@
\XeTeXinterchartoks 255 4{\xeCJK@cclv@iv}
\XeTeXinterchartoks 1 6{\xeCJK@i@vi}
+\XeTeXinterchartoks 2 6{\xeCJK@ii@vi}
+\XeTeXinterchartoks 3 6{\xeCJK@iii@vi}
\XeTeXinterchartoks 6 1{\xeCJK@vi@i}
+\XeTeXinterchartoks 6 2{\xeCJK@vi@ii}
+\XeTeXinterchartoks 6 3{\xeCJK@vi@iii}
\def\xeCJK@vi@i{
\bgroup
@@ -189,6 +218,12 @@
\def\xeCJK@i@vi{
\egroup}
+\let\xeCJK@ii@vi \xeCJK@i@vi
+\let\xeCJK@iii@vi\xeCJK@i@vi
+
+\let\xeCJK@vi@ii \xeCJK@vi@i
+\let\xeCJK@vi@iii\xeCJK@vi@i
+
\def\xeCJK@i@i{
\CJKglue
\CJKsymbol}
@@ -293,7 +328,7 @@
\def\xeCJK@iii@cclv{
\xeCJK@afterpostpunct
\egroup
- \expandafter\xeCJK@ignorespaces}
+ \ignorespaces}
\def\xeCJK@@i{
\CJKecglue
@@ -588,6 +623,7 @@
\edef\xeCJK@temp{\xeCJK@temp.\the\xeCJK@cnte}
\fi}
+\expandafter\def\csname xeCJK@kaiming.\endcsname{}
\expandafter\def\csname xeCJK@kaiming。\endcsname{}
\expandafter\def\csname xeCJK@kaiming?\endcsname{}
\expandafter\def\csname xeCJK@kaiming!\endcsname{}