From d64820a42321d65868c63bd49e657b88c58967bb Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 18 May 2014 21:51:35 +0000
Subject: xecjk (18may14)

git-svn-id: svn://tug.org/texlive/trunk@34111 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 53 ++++++++++++++++-----------
 1 file changed, 31 insertions(+), 22 deletions(-)

(limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')

diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index da0bef436b0..94c9dca1f0e 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: `package')
 %% 
-%% $Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
+%% $Id: xeCJK.dtx 656 2014-05-13 03:14:47Z sobenlee $
 %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $
 %% -----------------------------------------------------------------
 %%    Author:
@@ -33,11 +33,11 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 644 2014-04-29 09:45:49Z sobenlee $
+\GetIdInfo$Id: xeCJK.dtx 656 2014-05-13 03:14:47Z sobenlee $
   {Typesetting CJK scripts with XeLaTeX}
 \ProvidesExplPackage
   {\ExplFileName}
-  {\ExplFileDate}{3.2.11}{\ExplFileDescription}
+  {\ExplFileDate}{3.2.12}{\ExplFileDescription}
 \msg_new:nnn { xeCJK } { Require-XeTeX }
   {
     The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -46,6 +46,16 @@
     Loading~xeCJK~will~abort!
   }
 \xetex_if_engine:F { \msg_critical:nn { xeCJK } { Require-XeTeX } }
+\msg_new:nnn { xeCJK } { l3-too-old }
+  {
+    Support~package~`#1'~too~old. \\\\
+    Please~update~an~up~to~date~version~of~the~bundles\\\\
+    `l3kernel'~and~`l3packages'\\\\
+    using~your~TeX~package~manager~or~from~CTAN.\\
+    \str_if_eq:nnT {#1} { expl3 } { Loading~xeCJK~will~abort! }
+  }
+\@ifpackagelater { expl3 } { 2014/05/06 } { }
+  { \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } }
 \prg_new_conditional:Npnn \xeCJK_if_package_loaded:n #1 { p , T , F , TF }
   {
     \tl_if_exist:cTF { ver@ #1 . \c__xeCJK_package_ext_tl }
@@ -73,16 +83,6 @@
       { \msg_error:nnn { xeCJK } { incompatible-package } {#1} }
       { \tl_const:cn { ver@ #1 . \c__xeCJK_package_ext_tl } { 9999/99/99 } }
   }
-\msg_new:nnn { xeCJK } { l3-too-old }
-  {
-    Support~package~`#1'~too~old. \\\\
-    Please~update~an~up~to~date~version~of~the~bundles\\\\
-    `l3kernel'~and~`l3packages'\\\\
-    using~your~TeX~package~manager~or~from~CTAN.\\
-    \str_if_eq:nnT {#1} { expl3 } { Loading~xeCJK~will~abort! }
-  }
-\@ifpackagelater { expl3 } { 2014/01/01 } { }
-  { \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } }
 \RequirePackage { xtemplate }
 \@ifpackagelater { xtemplate } { 2012/11/10 } { }
   { \msg_error:nnn { xeCJK } { l3-too-old } { xtemplate } }
@@ -978,15 +978,17 @@
 \cs_new_protected_nopar:Npn \__xeCJK_punct_kern:n #1
   { \tex_kern:D #1 \exp_stop_f: }
 \cs_new_protected_nopar:Npn \__xeCJK_punct_glue:NN #1#2
+  { \__xeCJK_punct_hskip:n { \__xeCJK_punct_skip:nn {#1} {#2} } }
+\cs_new_eq:NN \__xeCJK_punct_hskip:n \skip_horizontal:n
+\cs_new_protected_nopar:Npn \__xeCJK_punct_rigid_skip:nn #1#2
+  { \__xeCJK_use_punct_dim:nnn { glue } {#1} {#2} }
+\cs_new_protected_nopar:Npn \__xeCJK_punct_rubber_skip:nn #1#2
   {
-    \__xeCJK_punct_hskip:n
-      {
-        \__xeCJK_use_punct_dim:nnn { glue } {#1} {#2}
-        plus  \__xeCJK_use_punct_dim:nnn { plus } {#1} {#2}
-        minus \__xeCJK_use_punct_dim:nnn { minus } {#1} {#2}
-      }
+    \__xeCJK_use_punct_dim:nnn { glue } {#1} {#2}
+      plus  \__xeCJK_use_punct_dim:nnn { plus } {#1} {#2}
+      minus \__xeCJK_use_punct_dim:nnn { minus } {#1} {#2}
   }
-\cs_new_eq:NN \__xeCJK_punct_hskip:n \skip_horizontal:n
+\cs_new_eq:NN \__xeCJK_punct_skip:nn \__xeCJK_punct_rubber_skip:nn
 \cs_new_protected_nopar:Npn \__xeCJK_punct_kern:NN #1#2
   { \tex_kern:D \__xeCJK_use_punct_dim:nnn { kern } {#1} {#2} \exp_stop_f: }
 \tl_new:N \g__xeCJK_last_punct_tl
@@ -1644,7 +1646,13 @@
     PunctWidth      .tl_gset:N = \g__xeCJK_punct_width_tl ,
     PunctBoundWidth .tl_gset:N = \g__xeCJK_punct_bound_width_tl ,
     PunctWidth      .value_required: ,
-    PunctBoundWidth .value_required:
+    PunctBoundWidth .value_required: ,
+    RubberPunctSkip .choice: ,
+    RubberPunctSkip      .default:n = { true } ,
+    RubberPunctSkip / true  .code:n =
+      { \cs_set_eq:NN \__xeCJK_punct_skip:nn \__xeCJK_punct_rubber_skip:nn } ,
+    RubberPunctSkip / false .code:n =
+      { \cs_set_eq:NN \__xeCJK_punct_skip:nn \__xeCJK_punct_rigid_skip:nn }
   }
 \bool_new:N \l__xeCJK_punct_breakable_bool
 \clist_new:N \g__xeCJK_special_punct_clist
@@ -2279,7 +2287,7 @@
           {
             \__xeCJK_warning:nxxx { missing-glyph }
               { \l_xeCJK_family_tl } {#1}
-              { \int_to_hexadecimal:n { `#1 } }
+              { \int_to_Hex:n { `#1 } }
             \__xeCJK_fallback_save_CJKsymbol:N {#1}
           }
           {
@@ -3417,6 +3425,7 @@
     xeCJKactive     = true  ,
     LocalConfig     = true  ,
     LoadFandol      = true  ,
+    RubberPunctSkip = true  ,
     Verb            = env   ,
     EmboldenFactor  = 4     ,
     SlantFactor     = 0.167 ,
-- 
cgit v1.2.3

