summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/xecjk
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-29 21:51:20 +0000
committerKarl Berry <karl@freefriends.org>2014-04-29 21:51:20 +0000
commita3f31ac7e2d7229a032c7609c1d97404f52b885a (patch)
treed3197e805f2eee93c37a3af9b985cb818a3330c6 /Master/texmf-dist/source/xelatex/xecjk
parent30e11d658c0df10f5739383e0e4e92e6e440c617 (diff)
xecjk (29apr14)
git-svn-id: svn://tug.org/texlive/trunk@33753 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex/xecjk')
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx279
-rw-r--r--Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins4
2 files changed, 141 insertions, 142 deletions
diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
index 8aca28134f8..6322a2bb99d 100644
--- a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
+++ b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
@@ -95,7 +95,7 @@ CJK scripts fonts (TrueType or OpenType).
\askforoverwritefalse
\preamble
-$Id: xeCJK.dtx 549 2014-03-01 09:06:08Z sobenlee $
+$Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
$URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
-----------------------------------------------------------------
Author:
@@ -201,7 +201,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
%</!config&!xunextra>
-\GetIdInfo$Id: xeCJK.dtx 549 2014-03-01 09:06:08Z sobenlee $
+\GetIdInfo$Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
%<*driver|package>
{Typesetting CJK scripts with XeLaTeX}
%</driver|package>
@@ -217,13 +217,13 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{\ExplFileName.\ExplFileExtension}
%</driver>
%<config> {\ExplFileName.cfg}
-%<xunextra> {\ExplFileName.def}
+%<xunextra> {xunicode-extra.def}
%<package|fntef|listings|xunicode>\ProvidesExplPackage
%<package> {\ExplFileName}
%<fntef> {xeCJKfntef}
%<listings> {xeCJK-listings}
%<xunicode> {xunicode-addon}
- {\ExplFileDate}{3.2.10}{\ExplFileDescription}
+ {\ExplFileDate}{3.2.11}{\ExplFileDescription}
%<xunextra>\ExplSyntaxOff
%<*driver>
\let\xeCJKrevnum\ExplFileVersion
@@ -239,6 +239,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\usepackage{xeCJKfntef}
\usepackage{geometry}
\usepackage[toc]{multitoc}
+\usepackage{indentfirst}
\fvset{formatcom=\xeCJKVerbAddon}
\linespread{1.1}
\setlist{noitemsep,topsep=1ex}
@@ -269,16 +270,11 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\def\ctexkitrev#1{%
\href{http://code.google.com/p/ctex-kit/source/detail?r=#1}
{\texttt{ctex-kit} rev#1}}
+\DeclareDocumentCommand\package{om}{%
+ \begingroup\edef\x{\endgroup\lowercase{%
+ \noexpand\href{http://www.ctan.org/pkg/\IfNoValueTF{#1}{#2}{#1}}}}%
+ \x{\pkg{#2}}}
\ExplSyntaxOn
-\cs_new_nopar:Npn \package #1
- {
- \href
- {
- http://mirrors.ctan.org/help/Catalogue/entries/
- \tl_expandable_lowercase:n {#1} .html
- }
- { \pkg {#1} }
- }
\NewDocumentCommand \PrintPunctList { O{7} m m }
{
\par
@@ -355,7 +351,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \changes{v3.2.4}{2013/07/02}{遵循 \hologo{LaTeX3} 变量需要预先声明的原则。}
% \changes{v3.2.6}{2013/07/29}{\texttt{case} 类函数的用法与 \hologo{LaTeX3} 同步。}
%
-% \CheckSum{9023}
+% \CheckSum{9005}
% \GetFileInfo{\jobname.dtx}
%
% \title{\bfseries\pkg{xeCJK} 宏包}
@@ -382,9 +378,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \pkg{xeCJK} 使用了 \XeTeX 的一些最新特性,需要 \XeTeX{} |0.9995.0 [2009/06/29]| 以
% 后的版本。\pkg{xeCJK} 依赖 \package{everypage} 和 \hologo{LaTeX3} 项目的宏包套件
% \package{l3kernel} 和 \package{l3packages} 。
-% \pkg{xeCJK} 还需要通过 \package{fontspec} 宏包来调用系统字
-% 体。将在 \ref{subsec:opts}~节介绍的功能选项 |indentfirst| 选项需要
-% \package{indentfirst} 宏包的支持。\pkg{xeCJK} 会自动根据需要载入这些宏包。
+% \pkg{xeCJK} 还需要通过 \package{fontspec} 宏包来调用系统字体。
+% \pkg{xeCJK} 会自动根据需要载入这些宏包。
%
% \pkg{xeCJK} 的原始作者是孙文昌,2009 年 5 月起宏包被收入 \ctexkit\ 项目进行
% 维护,目前主要维护者是刘海洋\footnote{\email{leoliu.pku@gmail.com}} 和
@@ -472,15 +467,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% 最后还需要在命令行下执行 |mktexlsr|,刷新文件名数据库以便 \TeX 系统能够找到它。
% \end{function}
%
-% \begin{function}[EXP,updated=2012-11-22]{indentfirst}
-% \begin{syntax}
-% indentfirst = \meta{\TTF}
-% \end{syntax}
-% 是否使用 \pkg{indentfirst} 宏包,使得跟在章节标题后面的第一段首行也缩进。\bigskip
-% \end{function}
-%
-% 请注意,\pkg{xeCJK} 宏包中只有上述 |LocalConfig|、和 |indentfirst| 这两个选项需要
-% 在调用 \pkg{xeCJK} 时设置,而不能通过 \cs{xeCJKsetup} 来设置。
+% 请注意,\pkg{xeCJK} 宏包中只有上述 |LocalConfig| 选项需要在调用 \pkg{xeCJK} 时
+% 设置,而不能通过 \cs{xeCJKsetup} 来设置。
%
% \begin{function}{xeCJKactive}
% \begin{syntax}
@@ -1466,7 +1454,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
using~your~TeX~package~manager~or~from~CTAN.\\
\str_if_eq:nnT {#1} { expl3 } { Loading~xeCJK~will~abort! }
}
-\@ifpackagelater { expl3 } { 2013/07/20 } { }
+\@ifpackagelater { expl3 } { 2014/01/01 } { }
{ \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } }
% \end{macrocode}
%
@@ -1573,7 +1561,14 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\tl_use:N \l_@@_shipout_hook_tl
}
}
-\cs_new_protected:Npn \@@_add_to_shipout:n #1
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[internal]{\xeCJK_add_to_shipout:n}
+% \changes{v3.2.11}{2014/03/14}{不再使用内部名字。}
+% 往 \cs{shipout} 盒子中加入钩子。
+% \begin{macrocode}
+\cs_new_protected:Npn \xeCJK_add_to_shipout:n #1
{ \tl_put_right:Nn \l_@@_shipout_hook_tl {#1} }
\tl_new:N \l_@@_shipout_hook_tl
\bool_new:N \l_@@_shipout_hook_bool
@@ -2032,14 +2027,17 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \end{macrocode}
% \end{macro}
%
+% \changes{v3.2.11}{2014/04/10}
+% {左右角括号 \texttt{U+2329} 和 \texttt{U+232A} 是西文标点符号。}
+%
% \begin{macro}[var,internal]
% {\c_@@_HalfLeft_chars_clist,\c_@@_HalfRight_chars_clist,\c_@@_NormalSpace_chars_clist}
% \hypertarget{CJKcharclass}{西文半角左/右标点和前后原始间距的字符类。}
% \begin{macrocode}
\clist_const:Nn \c_@@_HalfLeft_chars_clist
- { "28 , "2D , "5B , "60 , "7B }
+ { "28 , "2D , "5B , "60 , "7B , "2329 }
\clist_const:Nn \c_@@_HalfRight_chars_clist
- { "21 , "22 , "25 , "27 , "29 , "2C , "2E , "3A , "3B , "3F , "5D , "7D }
+ { "21 , "22 , "25 , "27 , "29 , "2C , "2E , "3A , "3B , "3F , "5D , "7D , "232A }
\clist_const:Nn \c_@@_NormalSpace_chars_clist { "2F }
% \end{macrocode}
% \end{macro}
@@ -2058,9 +2056,9 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\clist_const:Nn \c_@@_OP_chars_clist
{
"2018 , "201C ,
- "2329 , "3008 , "300A , "300C , "300E , "3010 , "3014 , "3016 , "3018 , "301A ,
- "301D , "FE17 , "FE35 , "FE37 , "FE39 , "FE3B , "FE3D , "FE3F , "FE41 , "FE43 ,
- "FE47 , "FE59 , "FE5B , "FE5D , "FF08 , "FF3B , "FF5B , "FF5F , "FF62
+ "3008 , "300A , "300C , "300E , "3010 , "3014 , "3016 , "3018 , "301A , "301D ,
+ "FE17 , "FE35 , "FE37 , "FE39 , "FE3B , "FE3D , "FE3F , "FE41 , "FE43 , "FE47 ,
+ "FE59 , "FE5B , "FE5D , "FF08 , "FF3B , "FF5B , "FF5F , "FF62
}
% \end{macrocode}
% \end{macro}
@@ -2093,10 +2091,10 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\clist_const:Nn \c_@@_CL_chars_clist
{
"00B7 , "2019 , "201D , "2014 , "2015 , "2025 , "2026 , "2027 , "2500 ,
- "232A , "3001 , "3002 , "3009 , "300B , "300D , "300F , "3011 , "3015 , "3017 ,
- "3019 , "301B , "301E , "301F , "FE11 , "FE12 , "FE18 , "FE36 , "FE38 , "FE3A ,
- "FE3C , "FE3E , "FE40 , "FE42 , "FE44 , "FE48 , "FE50 , "FE52 , "FE5A , "FE5C ,
- "FE5E , "FF09 , "FF0C , "FF0E , "FF3D , "FF5D , "FF60 , "FF61 , "FF63 , "FF64
+ "3001 , "3002 , "3009 , "300B , "300D , "300F , "3011 , "3015 , "3017 , "3019 ,
+ "301B , "301E , "301F , "FE11 , "FE12 , "FE18 , "FE36 , "FE38 , "FE3A , "FE3C ,
+ "FE3E , "FE40 , "FE42 , "FE44 , "FE48 , "FE50 , "FE52 , "FE5A , "FE5C , "FE5E ,
+ "FF09 , "FF0C , "FF0E , "FF3D , "FF5D , "FF60 , "FF61 , "FF63 , "FF64
}
% \end{macrocode}
% \end{macro}
@@ -4961,7 +4959,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{
\xeCJK_class_group_begin:
\tl_set_eq:NN \l_@@_fallback_family_tl \l_xeCJK_family_tl
- \xeCJK_fallback_loop:Nn {#1} { \l_@@_fallback_family_tl/FallBack }
+ \xeCJK_fallback_loop:Nn {#1} { \l_xeCJK_family_tl/FallBack }
\xeCJK_class_group_end:
}
}
@@ -4979,23 +4977,24 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{
\xeCJK_family_if_exist:xTF {#2}
{
- \xeCJK_select_font:x {#2}
- \tl_set:Nx \l_@@_fallback_family_tl {#2}
+ \tl_set:Nx \l_xeCJK_family_tl {#2}
+ \tl_set_eq:NN \CJK@family \l_@@_fontspec_family_tl
+ \xeCJK_select_font:
\xeCJK_glyph_if_exist:NTF {#1}
{ \@@_fallback_save_CJKsymbol:N {#1} }
- { \xeCJK_fallback_loop:Nn {#1} { \l_@@_fallback_family_tl/FallBack } }
+ { \xeCJK_fallback_loop:Nn {#1} { \l_xeCJK_family_tl/FallBack } }
}
{
- \str_if_eq_x:nnTF { \CJKfamilydefault } { \l_xeCJK_family_tl }
+ \str_if_eq_x:nnTF { \CJKfamilydefault } { \l_@@_fallback_family_tl }
{
\@@_warning:nxxx { missing-glyph }
- { \l_@@_fallback_family_tl } {#1}
+ { \l_xeCJK_family_tl } {#1}
{ \int_to_hexadecimal:n { `#1 } }
\@@_fallback_save_CJKsymbol:N {#1}
}
{
- \tl_set:Nx \l_xeCJK_family_tl { \CJKfamilydefault }
- \xeCJK_fallback_loop:Nn {#1} { \l_xeCJK_family_tl }
+ \tl_set:Nx \l_@@_fallback_family_tl { \CJKfamilydefault }
+ \xeCJK_fallback_loop:Nn {#1} { \l_@@_fallback_family_tl }
}
}
}
@@ -5298,8 +5297,11 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\exp_not:n { \fontspec_set_family:Nnn \l_@@_fontspec_family_tl }
{ \exp_not:V \l_@@_fontspec_options_clist }
{ \exp_not:V \l_@@_font_name_tl }
- \@@_gset_family_nfss_cs:xx {#1} { \exp_not:N \l_@@_fontspec_family_tl }
- \group_end:
+ \@@_gset_family_nfss_cs:xx
+ {#1} { \exp_not:N \l_@@_fontspec_family_tl }
+ \exp_not:N \exp_args:NNNo \group_end:
+ \tl_set:Nn \exp_not:N \l_@@_fontspec_family_tl
+ { \exp_not:N \l_@@_fontspec_family_tl }
}
}
\tl_new:N \l_@@_fontspec_family_tl
@@ -5313,7 +5315,10 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\prop_gpop:NnNT \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl
{
\prop_gpop:NnNT \g_@@_family_name_prop {#1} \l_@@_tmp_tl
- { \cs_undefine:c { \@@_family_nfss_csname:n {#1} } }
+ {
+ \cs_undefine:c { \@@_family_csname:n {#1} }
+ \cs_undefine:c { \@@_family_nfss_csname:n {#1} }
+ }
\@@_warning:nxx { CJKfamily-redef } {#1} { \l_@@_tmp_tl }
}
}
@@ -5412,13 +5417,9 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{
\xeCJK_family_if_exist:xT { \l_@@_family_name_tl }
{
- \prop_get:NnNT \exp_not:N \g_@@_family_name_prop
- { \l_@@_family_name_tl } \exp_not:N \l_@@_fontspec_family_tl
- {
- \@@_gset_family_nfss_cs:xx
- { \l_@@_sub_family_name_tl }
- { \exp_not:N \l_@@_fontspec_family_tl }
- }
+ \@@_gset_family_nfss_cs:xx
+ { \l_@@_sub_family_name_tl }
+ { \exp_not:N \l_@@_fontspec_family_tl }
}
}
}
@@ -5429,11 +5430,12 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_copy_family:nn #1#2
{
- \xeCJK_family_if_exist:xT {#2}
+ \xeCJK_family_if_exist:nT {#2}
{
+ \prop_gput:NnV \g_@@_family_name_prop
+ {#1} \l_@@_fontspec_family_tl
\tl_map_inline:nn
{
- \g_@@_family_name_prop
\g_@@_family_font_name_prop
\g_@@_family_font_options_prop
}
@@ -5452,28 +5454,18 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
%
% \subsection{字体切换}
%
-% \begin{macro}[internal]{\l_xeCJK_current_font_tl,\xeCJK_select_font:,\xeCJK_select_font:x}
+% \begin{macro}[internal]{\l_xeCJK_current_font_tl,\xeCJK_select_font:}
% 缓存当前字体的原始格式,以加速编译。
% \begin{macrocode}
\tl_new:N \l_xeCJK_current_font_tl
-\tl_set:Nn \l_xeCJK_current_font_tl { \@@_font_csname:n { \l_xeCJK_family_tl } }
+\tl_set:Nn \l_xeCJK_current_font_tl { \@@_font_csname:n { \CJK@family } }
\cs_new_nopar:Npn \@@_font_csname:n #1 { xeCJK/#1/\f@series/\f@shape/\f@size }
\cs_new_protected_nopar:Npn \xeCJK_select_font:
{
- \cs_if_exist_use:cF { \l_xeCJK_current_font_tl }
+ \exp_args:Nc \cs_if_exist_use:NF { \l_xeCJK_current_font_tl }
{
- \tl_set:Nx \l_@@_current_coor_tl { \l_xeCJK_current_font_tl }
\@@_family_use:x { \l_xeCJK_family_tl }
- \xeCJK_font_gset_to_current:c { \l_@@_current_coor_tl }
- }
- }
-\cs_new_protected_nopar:Npn \xeCJK_select_font:x #1
- {
- \cs_if_exist_use:cF { \@@_font_csname:n {#1} }
- {
- \tl_set:Nx \l_@@_current_coor_tl { \@@_font_csname:n {#1} }
- \@@_family_use:x {#1}
- \xeCJK_font_gset_to_current:c { \l_@@_current_coor_tl }
+ \xeCJK_font_gset_to_current:c { \l_xeCJK_current_font_tl }
}
}
\tl_new:N \l_@@_current_coor_tl
@@ -5506,10 +5498,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_block_select_font:n #1
{
- \cs_if_exist_use:cF { \@@_font_csname:n { \l_xeCJK_family_tl/#1 } }
+ \exp_args:Nc \cs_if_exist_use:NF { \@@_font_csname:n { \CJK@family/#1 } }
{
- \tl_set:Nx \l_@@_current_coor_tl
- { \@@_font_csname:n { \l_xeCJK_family_tl/#1 } }
\xeCJK_family_if_exist:xF { \l_xeCJK_family_tl/#1 }
{
\@@_copy_family:xx { \l_xeCJK_family_tl/#1 }
@@ -5520,7 +5510,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
}
}
\@@_family_use:x { \l_xeCJK_family_tl/#1 }
- \xeCJK_font_gset_to_current:c { \l_@@_current_coor_tl }
+ \xeCJK_font_gset_to_current:c
+ { \@@_font_csname:n { \CJK@family/#1 } }
}
}
% \end{macrocode}
@@ -5547,15 +5538,20 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[TF,internal]{\xeCJK_family_if_exist:x}
+% \begin{macro}[TF,internal]{\xeCJK_family_if_exist:n}
% \begin{macrocode}
-\prg_new_protected_conditional:Npnn \xeCJK_family_if_exist:x #1 { T , F , TF }
+\prg_new_protected_conditional:Npnn \xeCJK_family_if_exist:n #1 { T , F , TF }
{
- \cs_if_exist:cTF { \@@_family_nfss_csname:n {#1} }
- { \use_i:nn }
- { \cs_if_exist_use:cTF { \@@_family_csname:n {#1} } }
- { \prg_return_true: } { \prg_return_false: }
+ \prop_get:NnNTF \g_@@_family_name_prop {#1} \l_@@_fontspec_family_tl
+ { \prg_return_true: }
+ {
+ \exp_args:Nc \cs_if_exist_use:NTF { \@@_family_csname:n {#1} }
+ { \prg_return_true: } { \prg_return_false: }
+ }
}
+\cs_generate_variant:Nn \xeCJK_family_if_exist:nT { x }
+\cs_generate_variant:Nn \xeCJK_family_if_exist:nF { x }
+\cs_generate_variant:Nn \xeCJK_family_if_exist:nTF { x }
% \end{macrocode}
% \end{macro}
%
@@ -5575,7 +5571,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\xeCJK_family_if_exist:xTF {#3}
{
\tl_set:Nx \l_xeCJK_family_tl {#3}
- \tl_set_eq:NN \xeCJK@family \l_xeCJK_family_tl
+ \tl_set_eq:NN \CJK@family \l_@@_fontspec_family_tl
\IfBooleanT {#1} { \@@_family_use:x {#3} }
}
{ \@@_family_unknown_warning:x {#3} }
@@ -5588,14 +5584,14 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\xeCJK_family_if_exist:xTF {#1}
{
\tl_set:Nx \l_xeCJK_family_tl {#1}
- \tl_set_eq:NN \xeCJK@family \l_xeCJK_family_tl
+ \tl_set_eq:NN \CJK@family \l_@@_fontspec_family_tl
}
{ \@@_family_unknown_warning:x {#1} }
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[var,internal]{\l_xeCJK_family_tl}
+% \begin{macro}[var,internal]{\l_xeCJK_family_tl,\CJK@family}
% 用于保存文档当前正在使用的 CJK 字体族。
% \changes{v3.2.0}{2013/04/14}{不将其初始化为 \cs{CJKfamilydefault}。}
% \begin{macrocode}
@@ -5603,6 +5599,14 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[var,internal]{\CJK@family}
+% 用于保存实际的字体族名称。
+% \changes{v3.2.11}{2014/03/29}{引入 \cs{CJK@family} 保存实际的字体族名。}
+% \begin{macrocode}
+\tl_new:N \CJK@family
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[internal]{\@@_gobble_CJKfamily:}
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_gobble_CJKfamily:
@@ -5724,7 +5728,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{
\prop_get:NnNTF \g_@@_fontspec_prop
{ CJKfontspec/#1/#2/id } \l_xeCJK_family_tl
- { \tl_set_eq:NN \xeCJK@family \l_xeCJK_family_tl }
+ { \xeCJK_switch_family:n { \l_xeCJK_family_tl } }
{
\@@_fontspec:xnn
{ CJKfontspec ( \int_eval:n { \g_@@_family_int + \c_one } ) }
@@ -5975,16 +5979,14 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \begin{macrocode}
\cs_new_protected_nopar:Npn \xeCJK_set_mathfont:
{
- \xeCJK_family_if_exist:xTF { \c_@@_math_tl }
- { \tl_set:Nx \l_@@_tmp_tl { \c_@@_math_tl } }
+ \xeCJK_family_if_exist:xF { \c_@@_math_tl }
+ { \use:n }
{
- \xeCJK_family_if_exist:xTF { \CJKfamilydefault }
- { \tl_set:Nx \l_@@_tmp_tl { \CJKfamilydefault } }
- { \use_none:nnnnn }
+ \xeCJK_family_if_exist:xF { \CJKfamilydefault }
+ { \use:n } { \use_none:n }
}
- \prop_get:NVNT \g_@@_family_name_prop \l_@@_tmp_tl \l_@@_tmp_tl
{
- \tl_const:Nx \c_@@_math_family_tl { \l_@@_tmp_tl }
+ \tl_const:Nx \c_@@_math_family_tl { \l_@@_fontspec_family_tl }
\DeclareSymbolFont { \c_@@_math_tl } { \c_@@_encoding_tl }
{ \c_@@_math_family_tl } { \mddefault } { \shapedefault }
\cs_if_free:cF
@@ -6136,7 +6138,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\l_@@_reset_shipout_skip_hook_tl
}
}
- \@@_add_to_shipout:n { \l_@@_off_verb_addon_tl }
+ \xeCJK_add_to_shipout:n { \l_@@_off_verb_addon_tl }
\xeCJKsetup { xCJKecglue = false }
}
\tl_new:N \l_@@_reset_shipout_skip_hook_tl
@@ -6213,7 +6215,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\cs_set_eq:NN \xeCJK_CJK_and_Boundary:w \@@_shipout_boundary:w
}
}
- \@@_add_to_shipout:n { \xeCJKOffVerbAddon }
+ \xeCJK_add_to_shipout:n { \xeCJKOffVerbAddon }
\xeCJKsetup { xCJKecglue = false }
}
\skip_if_eq:nnTF { \l_@@_verb_exspace_skip } { \c_zero_skip }
@@ -6251,17 +6253,17 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \begin{macrocode}
\cs_new_protected_nopar:Npn \@@_set_verb_exspace:
{
- \tl_if_exist:cTF { xeCJK/verb/\l_xeCJK_family_tl/\curr@fontshape/\f@size }
+ \tl_if_exist:cTF { xeCJK/verb/\CJK@family/\curr@fontshape/\f@size }
{
\skip_set:Nn \l_@@_verb_exspace_skip
- { \use:c { xeCJK/verb/\l_xeCJK_family_tl/\curr@fontshape/\f@size } }
+ { \use:c { xeCJK/verb/\CJK@family/\curr@fontshape/\f@size } }
}
{
- \tl_set:Nx \l_@@_current_coor_tl { \l_xeCJK_family_tl/\curr@fontshape }
+ \tl_set:Nx \l_@@_current_coor_tl { \CJK@family/\curr@fontshape }
\prop_get:NVNTF \g_@@_scale_family_prop
\l_@@_current_coor_tl \l_xeCJK_family_tl
{
- \tl_set_eq:NN \xeCJK@family \l_xeCJK_family_tl
+ \xeCJK_switch_family:n { \l_xeCJK_family_tl }
\skip_zero:N \l_@@_verb_exspace_skip
}
{
@@ -6293,7 +6295,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
}
}
{
- \tl_const:cx { xeCJK/verb/\l_xeCJK_family_tl/\curr@fontshape/\f@size }
+ \tl_const:cx { xeCJK/verb/\CJK@family/\curr@fontshape/\f@size }
{ \skip_use:N \l_@@_verb_exspace_skip }
}
}
@@ -6307,8 +6309,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{
\fp_set:Nn \l_@@_scale_factor_fp { #1 / #2 }
\@@_warning:nxx { scale-factor }
- { \fp_eval:n { round - ( \l_@@_scale_factor_fp , 4 ) } }
- { \fp_eval:n { round + ( #2 / #1 , 4 ) } }
+ { \fp_eval:n { trunc ( \l_@@_scale_factor_fp , 4 ) } }
+ { \fp_eval:n { ceil ( #2 / #1 , 4 ) } }
\xeCJK_add_font_features:Nnx \c_true_bool
{ } { Scale = { \fp_use:N \l_@@_scale_factor_fp } }
\prop_gput:NVV \g_@@_scale_family_prop
@@ -6432,14 +6434,24 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{indentfirst}
-% 首行是否缩进。
+% \begin{macro}{CJKnumber,indentfirst}
+% \changes{v3.2.11}{2014/03/14}{放弃 \texttt{indentfirst} 和 \texttt{CJKnumber} 选项。}
+% \texttt{CJKnumber} 和 \texttt{indentfirst} 是过时选项。
% \begin{macrocode}
\keys_define:nn { xeCJK / options }
{
- CJKnumber .bool_gset:N = \g_@@_number_bool ,
- indentfirst .bool_gset:N = \g_@@_indent_bool ,
- normalindentfirst .meta:n = { indentfirst = false }
+ CJKnumber .code:n =
+ { \@@_warning:nxx { option-deprecated } { \l_keys_key_tl } { CJKnumb } } ,
+ indentfirst .code:n =
+ { \@@_warning:nxx { option-deprecated } { \l_keys_key_tl } { indentfirst } } ,
+ normalindentfirst .code:n =
+ { \@@_warning:nxx { option-deprecated } { \l_keys_key_tl } { } }
+ }
+\@@_msg_new:nn { option-deprecated }
+ {
+ The~`#1'~option~is~deprecated.\\
+ \tl_if_empty:nF {#2}
+ { You~may~load~the~package~`#2'~after~xeCJK~to~use~its~function.\\ }
}
% \end{macrocode}
% \end{macro}
@@ -6501,10 +6513,8 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
CheckFullRight = false ,
CJKspace = false ,
CJKmath = false ,
- CJKnumber = false ,
xeCJKactive = true ,
LocalConfig = true ,
- indentfirst = true ,
LoadFandol = true ,
Verb = env ,
EmboldenFactor = 4 ,
@@ -6535,19 +6545,14 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
% \end{macrocode}
% \end{macro}
%
-% 章节标题后面的首个段落的首行是否缩进。
% \changes{v3.1.0}{2012/11/21}{改用 \pkg{indentfirst} 宏包处理缩进的问题。}
-% \begin{macrocode}
-\bool_if:NT \g_@@_indent_bool { \RequirePackage { indentfirst } }
-% \end{macrocode}
%
% 对不能通过 \cs{xeCJKsetup} 设置的选项给出警告。
% \begin{macrocode}
\keys_define:nn { xeCJK / options }
{
- LocalConfig .code:n = { \@@_warning:nx { option-invalid } { \l_keys_key_tl } } ,
- CJKnumber .code:n = { \@@_warning:nx { option-invalid } { \l_keys_key_tl } } ,
- indentfirst .code:n = { \@@_warning:nx { option-invalid } { \l_keys_key_tl } }
+ LocalConfig .code:n =
+ { \@@_warning:nx { option-invalid } { \l_keys_key_tl } }
}
\@@_msg_new:nn { option-invalid }
{
@@ -7137,24 +7142,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
}
% \end{macrocode}
%
-% \begin{macro}[internal]{\xeCJKcaption}
-% 可以使用 \pkg{CJK} 宏包中的 |.cpx| 文件。
-% \begin{macrocode}
-\cs_if_exist:NF \CJK@ifundefined
- { \cs_set_eq:NN \CJK@ifundefined \cs_if_free:NTF }
-\NewDocumentCommand \xeCJKcaption { o m }
- {
- \IfNoValueF {#1} { \XeTeXdefaultencoding "#1" }
- \use:x
- {
- \char_set_catcode_letter:n { 64 }
- \file_input:n { #2.cpx }
- \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } }
- }
- \XeTeXdefaultencoding "UTF-8"
- }
-% \end{macrocode}
-% \end{macro}
+% \changes{v3.2.11}{2014/03/14}{删除 \cs{xeCJKcaption}。}
%
% 由于 \pkg{xeCJK} 禁止 \pkg{CJKulem} 的载入,因此当使用 \pkg{ctex} 宏包的 |fntef|
% 选项时,就会出现 \cs{normalem} 没有定义的问题。此时改用 \pkg{xeCJKfntef} 以便
@@ -7190,6 +7178,17 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
}
% \end{macrocode}
%
+% 由于 \pkg{xeCJK} 假装 \pkg{CJK} 已经被引入了,导致 \pkg{everysel} 判断错误,
+% 从而给出 \cs{selectfont} 已经被修改的警告,并加入不必要的内容。需要在它判断
+% 之前取消定义。
+% \begin{macrocode}
+\@@_at_end_preamble:n
+ {
+ \xeCJK_if_package_loaded:nT { everysel }
+ { \cs_undefine:c { ver@CJK . \c_@@_package_ext_tl } }
+ }
+% \end{macrocode}
+%
% \changes{v3.2.4}{2013/06/25}{不再使用 \texttt{CJKnumber} 选项,可以在
% \pkg{xeCJK} 之后直接使用 \pkg{CJKnumb} 宏包得到中文数字。}
%
@@ -7229,17 +7228,17 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
{ (#1) * \c_two_hundred_fifty_six + (#2) }
\cs_new_protected_nopar:Npn \xeCJK_unicode_char:nn #1#2
{ \tex_char:D \etex_numexpr:D \@@_calc_unicode:nn {#1} {#2} \scan_stop: }
-\bool_if:NT \g_@@_number_bool { \RequirePackage { CJKnumb } }
% \end{macrocode}
% \end{macro}
%
-% 最后引入本地配置文件。
+% 最后引入本地配置文件。使用 \cs{@pushfilename} 和 \cs{@pushfilename} 是为了使
+% 配置文件可以不受 \hologo{LaTeX3} 语法环境的影响。
% \begin{macrocode}
\bool_if:NT \g_@@_config_bool
{
- \tl_const:Nn \c_@@_config_ext_tl { cfg }
- \@onefilewithoptions
- { \g_@@_config_name_tl } [ ] [ ] { \c_@@_config_ext_tl }
+ \@pushfilename
+ \file_input:n { \g_@@_config_name_tl .cfg }
+ \@popfilename
}
% \end{macrocode}
%
@@ -7826,7 +7825,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\cs_set_eq:NN \CJKf@global \scan_stop:
\int_zero:N \CJK@nest \CJK@postUnderdot
}
-\@@_add_to_shipout:n { \l_@@_fntef_shipout_tl }
+\xeCJK_add_to_shipout:n { \l_@@_fntef_shipout_tl }
% \end{macrocode}
% \end{macro}
%
@@ -7958,7 +7957,7 @@ $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
\tex_noindent:D
\bool_gset_false:N \g_@@_listings_IVS_bool
\tl_put_left:Nn \lst@numberstyle { \l_@@_restore_listings_toks_tl }
- \@@_add_to_shipout:n { \l_@@_restore_listings_toks_tl }
+ \xeCJK_add_to_shipout:n { \l_@@_restore_listings_toks_tl }
\lst@ifbreaklines
\cs_set_eq:NN \@@_listings_CJK_toks: \@@_listings_breaklines_toks:
\fi:
diff --git a/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins b/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins
index b8ab2e55ecc..e33c7b7ec8f 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: `install')
%%
-%% $Id: xeCJK.dtx 549 2014-03-01 09:06:08Z sobenlee $
+%% $Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
%% -----------------------------------------------------------------
%% Author:
@@ -37,7 +37,7 @@
\askforoverwritefalse
\preamble
-$Id: xeCJK.dtx 549 2014-03-01 09:06:08Z sobenlee $
+$Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
$URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
-----------------------------------------------------------------
Author: