summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-10-25 20:40:25 +0000
committerKarl Berry <karl@freefriends.org>2016-10-25 20:40:25 +0000
commit8183411fd04acd45256192a7065ffdb5ee3636bb (patch)
tree7f48fcd0263d87c8164d00405f7cc3be870af295 /Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
parentecef044e181fa1582d4c15722c5aedde6ea4a04d (diff)
xecjk (25oct16)
git-svn-id: svn://tug.org/texlive/trunk@42354 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty46
1 files changed, 28 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index 5e030296495..bcb8164353b 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 10a8836 2016-08-27 11:02:24 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 7cdefd6 2016-10-25 17:38:55 +0800 Qing Lee <sobenlee@gmail.com> $
{Typesetting CJK scripts with XeLaTeX}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{3.4.1}{\ExplFileDescription}
+ {\ExplFileDate}{3.4.2}{\ExplFileDescription}
\msg_new:nnn { xeCJK } { Require-XeTeX }
{
The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -534,19 +534,6 @@
"A960 -> "A97F ,
"D7B0 -> "D7FF
}
-\seq_new:N \g__xeCJK_base_class_seq
-\seq_gset_eq:NN \g__xeCJK_base_class_seq \g__xeCJK_class_seq
-\seq_new:N \g__xeCJK_non_CJK_class_seq
-\seq_gset_from_clist:Nn \g__xeCJK_non_CJK_class_seq
- { Default , HalfLeft , HalfRight , NormalSpace , Boundary }
-\seq_new:N \g__xeCJK_CJK_class_seq
-\cs_new_protected_nopar:Npn \__xeCJK_save_CJK_class:n #1
- {
- \seq_gput_right:Nn \g__xeCJK_CJK_class_seq {#1}
- \tl_const:cn { \__xeCJK_CJK_class_tl:c { \__xeCJK_class_csname:n {#1} } } {#1}
- }
-\clist_map_function:nN
- { CJK , FullLeft , FullRight , CM , HangulJamo } \__xeCJK_save_CJK_class:n
\cs_new_nopar:Npn \xeCJK_class_num:n #1 { \use:c { \__xeCJK_class_csname:n {#1} } }
\NewDocumentCommand \xeCJKDeclareCharClass { s > { \TrimSpaces } m m }
{
@@ -683,14 +670,37 @@
}
}
\cs_new_protected_nopar:Npn \xeCJK_clear_Boundary_and_CJK_toks:
- { \seq_map_function:NN \g__xeCJK_CJK_class_seq \__xeCJK_clear_Boundary_and_CJK_toks:n }
-\cs_new_protected_nopar:Npn \__xeCJK_clear_Boundary_and_CJK_toks:n #1
- { \xeCJK_clear_inter_class_toks:nn { Boundary } {#1} }
+ { }
+\cs_new_protected_nopar:Npn \__xeCJK_update_clear_toks:n #1
+ {
+ \cs_gset_protected_nopar:Npx \xeCJK_clear_Boundary_and_CJK_toks:
+ {
+ \exp_not:o { \xeCJK_clear_Boundary_and_CJK_toks: }
+ \xetex_interchartoks:D
+ \xeCJK_class_num:n { Boundary } ~ \xeCJK_class_num:n {#1}
+ = { \exp_not:N \prg_do_nothing: }
+ }
+ }
+\seq_new:N \g__xeCJK_base_class_seq
+\seq_gset_eq:NN \g__xeCJK_base_class_seq \g__xeCJK_class_seq
+\seq_new:N \g__xeCJK_non_CJK_class_seq
+\seq_gset_from_clist:Nn \g__xeCJK_non_CJK_class_seq
+ { Default , HalfLeft , HalfRight , NormalSpace , Boundary }
+\seq_new:N \g__xeCJK_CJK_class_seq
+\cs_new_protected_nopar:Npn \__xeCJK_save_CJK_class:n #1
+ {
+ \seq_gput_right:Nn \g__xeCJK_CJK_class_seq {#1}
+ \tl_const:cn { \__xeCJK_CJK_class_tl:c { \__xeCJK_class_csname:n {#1} } } {#1}
+ \__xeCJK_update_clear_toks:n {#1}
+ }
+\clist_map_function:nN
+ { CJK , FullLeft , FullRight , CM , HangulJamo } \__xeCJK_save_CJK_class:n
\cs_new_protected_nopar:Npn \xeCJK_class_group_begin:
{
\c_group_begin_token
\bool_set_true:N \l__xeCJK_CJK_group_bool
\int_gset_eq:NN \g__xeCJK_spacefactor_int \c_one_thousand
+ \int_zero:N \xetex_dashbreakstate:D
}
\bool_new:N \l__xeCJK_CJK_group_bool
\cs_new_eq:NN \xeCJK_class_group_end: \c_group_end_token