diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 017220fe745..3c8f4032d61 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 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage {\ExplFileName} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -402,11 +402,12 @@ \xeCJK_new_class:n { HalfRight } \xeCJK_new_class:n { NormalSpace } \xeCJK_new_class:n { IVS } +\xeCJK_new_class:n { HangulJamo } \clist_const:Nn \c__xeCJK_HalfLeft_chars_clist - { "28 , "2D , "5B , "60 , "7B , "2329 } + { "28 , "5B , "60 , "7B , "2329 } \clist_const:Nn \c__xeCJK_HalfRight_chars_clist { "21 , "22 , "25 , "27 , "29 , "2C , "2E , "3A , "3B , "3F , "5D , "7D , "232A } -\clist_const:Nn \c__xeCJK_NormalSpace_chars_clist { "2F } +\clist_const:Nn \c__xeCJK_NormalSpace_chars_clist { "2D , "2F , "5C , "2013 } \clist_const:Nn \c__xeCJK_OP_chars_clist { "2018 , "201C , @@ -458,7 +459,6 @@ } \clist_const:Nn \c__xeCJK_CJK_chars_clist { - "1100 -> "11FF , "2E80 -> "2EFF , "2F00 -> "2FDF , "2FF0 -> "2FFF , @@ -478,9 +478,7 @@ "4E00 -> "9FFF , "A000 -> "A48F , "A490 -> "A4CF , - "A960 -> "A97F , "AC00 -> "D7AF , - "D7B0 -> "D7FF , "F900 -> "FAFF , "FE10 -> "FE1F , "FE30 -> "FE4F , @@ -498,6 +496,12 @@ "FE00 -> "FE0F , "E0100 -> "E01EF } +\clist_const:Nn \c__xeCJK_HangulJamo_chars_clist + { + "1100 -> "11FF , + "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 @@ -509,7 +513,8 @@ \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 , IVS } \__xeCJK_save_CJK_class:n +\clist_map_function:nN + { CJK , FullLeft , FullRight , IVS , 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 } { @@ -587,6 +592,7 @@ \xeCJK_declare_char_class:nV { CJK } \c__xeCJK_CJK_chars_clist \xeCJK_declare_char_class:nV { NormalSpace } \c__xeCJK_NormalSpace_chars_clist \xeCJK_declare_char_class:nV { IVS } \c__xeCJK_IVS_chars_clist + \xeCJK_declare_char_class:nV { HangulJamo } \c__xeCJK_HangulJamo_chars_clist \xeCJKResetPunctClass } \xeCJKResetCharClass @@ -648,6 +654,17 @@ } } } +\AtEndOfPackage + { + \seq_map_inline:Nn \g__xeCJK_class_seq + { + \str_if_eq:nnF {#1} { HangulJamo } + { + \xeCJK_copy_inter_class_toks:nnnn { HangulJamo } {#1} { CJK } {#1} + \xeCJK_copy_inter_class_toks:nnnn {#1} { HangulJamo } {#1} { CJK } + } + } + } \clist_map_inline:nn { Default , HalfLeft , HalfRight , NormalSpace } { \xeCJK_inter_class_toks:nnn {#1} { CJK } @@ -1602,7 +1619,7 @@ } \seq_gput_right:Nn \g__xeCJK_CJK_sub_class_seq {#2} \__xeCJK_save_CJK_class:n { #1/#2 } - \clist_map_inline:nn { CJK , FullLeft , FullRight } + \clist_map_inline:nn { CJK , FullLeft , FullRight , HangulJamo } { \xeCJK_pre_inter_class_toks:nnn { #1/#2 } {##1} { \__xeCJK_switch_font:nn {#2} {#1} } |