summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty613
1 files changed, 0 insertions, 613 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
deleted file mode 100644
index 4832d476fa8..00000000000
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
+++ /dev/null
@@ -1,613 +0,0 @@
-% -*- coding: utf-8 -*-
-%
-% This is a modified version of CJK package for XeTeX.
-%
-% created by Wenchang Sun <sunwch@hotmail.com>
-%
-% 2008/04/23: \addto@hook\UL@hook{\CJKnospaces}
-% 2008/04/19: Change the CJK range:
-%
-\RequirePackage{ifxetex}
-\RequireXeTeX
-\def\fileversion{2.0.24}
-\def\filedate{2008/06/20}
-\ProvidesPackage{xeCJK}[\filedate\space\fileversion]
-
-\XeTeXdefaultencoding "UTF-8"
-
-\RequirePackage{fontspec}
-
-
-\newif\ifxeCJK@SlantFont@
-\xeCJK@SlantFont@false
-
-\newif\ifxeCJK@BoldFont@
-\xeCJK@BoldFont@false
-
-\newif\ifxeCJK@num
-\xeCJK@numfalse
-
-\newif\ifxeCJK@addspaces
-\xeCJK@addspacesfalse
-
-\newif\ifxeCJK@nospaces
-\xeCJK@nospacesfalse
-
-\DeclareOption{boldfont}{\xeCJK@BoldFont@true}
-\DeclareOption{BoldFont}{\ExecuteOptions{boldfont}}
-\DeclareOption{slantfont}{\xeCJK@SlantFont@true}
-\DeclareOption{SlantFont}{\ExecuteOptions{slantfont}}
-\DeclareOption{CJKnumber}{\xeCJK@numtrue}
-\DeclareOption{CJKaddspaces}{\xeCJK@addspacestrue}
-\DeclareOption{CJKnormalspaces}{\xeCJK@addspacesfalse}
-\DeclareOption{CJKnospaces}{\xeCJK@nospacestrue}
-
-\ProcessOptions\relax
-
-\endlinechar \m@ne
-
-% set XeTeXcharclass for CJK characters:
-%
-% 1: normal char
-% 2: prepunct
-% 3: postpunct
-\XeTeXinterchartokenstate=1\relax
-
-\def\xeCJKsetcharclass#1#2#3{
- \@tempcnta=#1
- \loop
- \XeTeXcharclass \@tempcnta #3\relax
- \advance\@tempcnta 1\relax
- \ifnum\the\@tempcnta<#2 \repeat}
-
-%
-% For CJK characters
-\xeCJKsetcharclass{"3000}{"9FFF}{1}
-
-\def\xeCJK@prePunct#1#2{\xeCJK@setPunct{2}{#1}{#2}}
-\def\xeCJK@postPunct#1#2{\xeCJK@setPunct{3}{#1}{#2}}
-
-\def\xeCJK@setPunct#1#2#3{
- \def\xeCJK@class{#1}
- \@tempcnta "#2\relax
- \multiply\@tempcnta 256\relax
- \xeCJK@setPunct@#3,,}
-
-\def\xeCJK@setPunct@#1,{
- \edef\xeCJK@temp{#1}%
- \ifx\xeCJK@temp\@empty
- \else
- \@tempcntb "#1\relax
- \advance\@tempcntb\@tempcnta\relax
- \XeTeXcharclass \@tempcntb=\xeCJK@class\relax
- \def\xeCJK@temp{\xeCJK@setPunct@}
- \fi
- \xeCJK@temp}
-
-\xeCJK@prePunct{20}{18,1C}
-\xeCJK@postPunct{20}{19,1D,14,26}
-\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}
-\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}
-
-\xeCJK@setPunct{4}{0}{28,5B,60,7B}
-\xeCJK@setPunct{5}{0}{21,22,25,27,29,2C,2E,3A,3B,3F,5D,7D}
-
-% prevent from loading CJK.sty
-% and suppress any warning message like
-%
-% You have requested version 'xxxx/xx/xx' of CJK,
-% but only version 'xxxx/xx/xx' is available.
-%
-\expandafter\def\csname ver@CJK.sty\endcsname{2020/01/01}
-
-\XeTeXinterchartoks 0 255 {\xeCJK@@cclv}
-\XeTeXinterchartoks 0 1 {\xeCJK@@i\xeCJK@char}
-\XeTeXinterchartoks 4 1 {\xeCJK@char}
-\XeTeXinterchartoks 5 1 {\xeCJK@v@i\xeCJK@char}
-\XeTeXinterchartoks 255 1 {\xeCJK@cclv@i\xeCJK@char}
-
-\XeTeXinterchartoks 0 2 {\xeCJK@prepunctchar}
-\XeTeXinterchartoks 4 2 {\xeCJK@prepunctchar}
-\XeTeXinterchartoks 5 2 {\xeCJK@prepunctchar}
-\XeTeXinterchartoks 255 2 {\xeCJK@prepunctchar}
-
-\XeTeXinterchartoks 0 3 {\xeCJK@postpunctchar}
-\XeTeXinterchartoks 4 3 {\xeCJK@postpunctchar}
-\XeTeXinterchartoks 5 3 {\xeCJK@postpunctchar}
-\XeTeXinterchartoks 255 3 {\xeCJK@postpunctchar}
-
-\XeTeXinterchartoks 255 0 {\xeCJK@cclv@}
-\XeTeXinterchartoks 255 4 {\xeCJK@cclv@iv}
-
-\def\CJKglue{\hskip \z@ \@plus .08\baselineskip}
-\def\CJK@nobreakglue{\nobreak\CJKglue\nobreak}
-
-\edef\xeCJK@CJKkern{\kern -1sp\kern 1sp}
-\edef\xeCJK@prepunctkern{\kern -2sp\kern 2sp}
-\edef\xeCJK@postpunctkern{\kern -3sp\kern 3sp}
-\edef\xeCJK@zerokern{\kern -4sp\kern 4sp}
-
-\newif\if@xeCJK@inmath
-\@xeCJK@inmathfalse
-
-
-% common macros for \CJKaddspaces and \CJKnormalspaces
-%
-%
-%
-\def\xeCJK@ignorespaces{
- \futurelet\xeCJK@nexttoken\xeCJK@checknext}
-
-\def\xeCJK@checknext{
- \ifx\xeCJK@nexttoken\@sptoken
- \expandafter\xeCJK@@checknext
- \fi}
-
-{
- \def\:{\xeCJK@@checknext}
- \global\expandafter\def\: {\futurelet\@let@token\xeCJK@@@checknext}
-}
-
-\def\CJK@stop{\CJK@stop}
-
-\def\xeCJK@@@checknext{
- \expandafter\futurelet
- \expandafter\xeCJK@tempb
- \expandafter\xeCJK@gobble\meaning\@let@token\CJK@stop
- \if t\xeCJK@tempb
- \else
- \let\xeCJK@nexttoken\relax
- \CJKecglue
- \fi}
-
-\long\def\xeCJK@gobble#1\CJK@stop{}
-
-% macros for CJKaddspaces
-%
-% Make `\$ active to add blank spaces before CJK characters if necessary
-\catcode`\^^B=3\relax
-\catcode`\$=13
-
-\def\CJKaddspaces{
- \def\xeCJK@@cclv{{\xeCJK@zerokern}}
-
- \def\CJKecglue{\hskip 0.25em plus 0.10em minus 0.10em}
- \let\xeCJK@@i\CJKecglue
- \let\xeCJK@v@i\CJKecglue
-
- \def\xeCJK@cclv@{
- \ifodd\lastkern
- \CJKecglue
- \fi}
- \let\xeCJK@cclv@iv\xeCJK@cclv@
-
- \def\xeCJK@cclv@i{
- \ifcase\lastkern
- \hskip 0pt
- \or %1
- \CJKglue
- \or %2
- \xeCJK@ULspecials
- \or %3
- \xeCJK@ULspecials
- \or %4
- \CJKecglue
- \fi}
-
- \catcode`\$=13}
-
-\def${
- \ifx\protect \@typeset@protect
- \expandafter\xeCJK@math
- \else
- ^^B
- \fi}
-
-\def\xeCJK@math{
- \futurelet\xeCJK@temp\xeCJK@@math}
-
-\def\xeCJK@@math{
- \ifx\xeCJK@temp$
- \def\xeCJK@tempb{\xeCJK@@@dmath}
- \else
- \def\xeCJK@tempb{\xeCJK@@@math}
- \fi
- \xeCJK@tempb}
-
-\def\xeCJK@@@dmath#1{^^B^^B}
-
-\def\xeCJK@@@math{
- \if@xeCJK@inmath
- \def\xeCJK@tempb{
- ^^B
- \@xeCJK@inmathfalse
- \futurelet\xeCJK@temp\xeCJK@aftermath}
- \else
- \def\xeCJK@tempb{
- \@xeCJK@inmathtrue
- \xeCJK@cclv@
- ^^B}
- \fi
- \xeCJK@tempb}
-
-\def\xeCJK@aftermath{
- \ifx\xeCJK@temp\@sptoken
- \else
- \xeCJK@zerokern
- \fi}
-
-%
-%
-% macros for CJK normal spaces
-\catcode`\$=3
-\def\CJKnormalspaces{
- \let\xeCJK@@cclv\relax
- \let\xeCJK@@i\relax
- \let\xeCJK@v@i\relax
- \def\CJKecglue{ }
-
- \def\xeCJK@cclv@{
- \ifodd\lastkern
- \xeCJK@@glue
- \fi}
- \let\xeCJK@cclv@iv\xeCJK@cclv@
-
- \def\xeCJK@cclv@i{
- \ifcase\lastkern
- \hskip 0pt
- \or %1
- \CJKglue
- \or %2
- \xeCJK@ULspecials
- \or %3
- \xeCJK@ULspecials
- \fi}
-
- \def\xeCJK@@glue{
- \ifx\xeCJK@nexttoken\@sptoken
- { }
- \fi
- \let\xeCJK@nexttoken\relax}
-
- \catcode`\$=3\relax}
-
-%
-%
-% CJK no spaces
-\def\CJKnospaces{
- \catcode`\$=3\relax
- \let\xeCJK@@cclv\relax
- \let\xeCJK@@i\relax
- \let\xeCJK@v@i\relax
- \let\xeCJK@cclv@\relax
- \def\xeCJK@cclv@i{{% We need extra braces for CJKulem/CJKfntef.sty to work.
- \ifcase\lastkern
- \hskip 0pt
- \or % 1
- \CJKglue
- \or % 2
- \xeCJK@ULspecials
- \or % 3
- \xeCJK@ULspecials
- \fi}}
- \let\xeCJK@cclv@iv\relax
- \let\xeCJK@ignorespaces\ignorespaces}
-
-\def\xeCJK@setspacemode{
- \ifxeCJK@nospaces
- \CJKnospaces
- \else
- \ifxeCJK@addspaces
- \CJKaddspaces
- \else
- \CJKnormalspaces
- \fi
- \fi}
-
-\CJKnormalspaces
-
-\AtBeginDocument{
- \xeCJK@setspacemode
- \ifcsname UL@hook\endcsname
- \addto@hook\UL@hook{\CJKnospaces
- \let\xeCJK@unskip\xeCJK@UL@unskip
- \let\xeCJK@ULspecials\xeCJK@UL@punctgroup}
- \fi}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
-%
-% Set CJK fonts separately
-%
-\def\CJKsymbol#1{{\xeCJK@setfont #1}}
-
-\let\CJKpunctsymbol\CJKsymbol
-
-\def\xeCJK@setfont{
- \ifcsname\xeCJK@family/\f@series/\f@shape/\f@size\endcsname
- \csname\xeCJK@family/\f@series/\f@shape/\f@size\endcsname
- \else
- \csname xeCJK@font@\xeCJK@family\endcsname
- \get@external@font
- \expandafter\global\expandafter\font
- \csname\xeCJK@family/\f@series/\f@shape/\f@size\endcsname=\external@font
- \fi}
-
-% some shorthands for CJK font families; arguments are handled by
-% \newfontfamily (from fontspec.sty).
-
-\def\setCJKmainfont{
- \xeCJK@newfontfamily{xeCJK@font@}}
-
-\let\setCJKromanfont\setCJKmainfont
-
-\def\setCJKsansfont{
- \xeCJK@newfontfamily{xeCJK@font@sans}}
-
-\def\setCJKmonofont{
- \xeCJK@newfontfamily{xeCJK@font@mono}}
-
-\def\setCJKfamilyfont#1{
- \xeCJK@newfontfamily{xeCJK@font@#1}}
-
-%
-% Redefine \sffamily and \ttfamily to set CJKfamily
-\DeclareRobustCommand\sffamily
- {\not@math@alphabet\sffamily\mathsf
- \fontfamily\sfdefault\CJKfamily{sans}\selectfont}
-
-\DeclareRobustCommand\ttfamily
- {\not@math@alphabet\ttfamily\mathtt
- \fontfamily\ttdefault\CJKfamily{mono}\selectfont}
-
-% \xeCJK@newfontfamily is similar to \newfontfamily
-% but introduce fake slant/bold fonts for CJK characters.
-\newcommand*\xeCJK@newfontfamily[1]{
- \@ifnextchar[
- {\xeCJK@newfontfamily@{#1}}
- {\xeCJK@newfontfamily@{#1}[]}}
-
-\def\xeCJK@newfontfamily@#1[#2]#3{
- %
- % Get user defined options
- \def\xeCJK@temp{#2}
- \expandafter
- \xeCJK@getBoldFont\xeCJK@temp BoldFont={}{}\relax
- \expandafter
- \xeCJK@getBoldItalicFont\xeCJK@temp BoldItalicFont={}{}\relax
- \expandafter
- \xeCJK@getItalicFont\xeCJK@temp ItalicFont={}{}\relax
-
- \expandafter
- \xeCJK@getBoldItalicFeatures\xeCJK@temp BoldItalicFeatures={}{}\relax
- \expandafter
- \xeCJK@getBoldFeatures\xeCJK@temp BoldFeatures={}{}\relax
- \expandafter
- \xeCJK@getItalicFeatures\xeCJK@temp ItalicFeatures={}{}\relax
-
- \expandafter
- \xeCJK@getRawFeature\xeCJK@BoldFeatures RawFeature={}{}\relax
- \edef\xeCJK@Bold@RawFeature{\xeCJK@tempRawFeature}
-
- \expandafter
- \xeCJK@getRawFeature\xeCJK@BoldItalicFeatures RawFeature={}{}\relax
- \edef\xeCJK@BoldItalic@RawFeature{\xeCJK@tempRawFeature}
-
- \expandafter
- \xeCJK@getRawFeature\xeCJK@ItalicFeatures RawFeature={}{}\relax
- \edef\xeCJK@Italic@RawFeature{\xeCJK@tempRawFeature}
-
- \edef\xeCJK@Features{}
-
- \ifxeCJK@BoldFont@
- \ifx\xeCJK@BoldFont\@empty
-
- \ifx\xeCJK@Bold@RawFeature\@empty
- \def\xeCJK@Bold@RawFeature{
- embolden=\xeCJK@emboldenfactor}
- \else
- \edef\xeCJK@Bold@RawFeature{
- embolden=\xeCJK@emboldenfactor,
- \xeCJK@Bold@RawFeature}
- \fi
-
- \ifx\xeCJK@BoldFeatures\@empty
- \edef\xeCJK@Features{
- BoldFeatures={
- RawFeature={\xeCJK@Bold@RawFeature}}}
- \else
- \edef\xeCJK@Features{
- BoldFeatures={
- \xeCJK@BoldFeatures,
- RawFeature={\xeCJK@Bold@RawFeature}}}
- \fi
-
- \ifx\xeCJK@BoldItalic@RawFeature\@empty
- \def\xeCJK@BoldItalic@RawFeature{
- embolden=\xeCJK@emboldenfactor}
- \else
- \edef\xeCJK@BoldItalic@RawFeature{
- embolden=\xeCJK@emboldenfactor,
- \xeCJK@BoldItalic@RawFeature}
- \fi
- \fi
- \fi
-
- \ifxeCJK@SlantFont@
- \ifx\xeCJK@ItalicFont\@empty
-
- \ifx\xeCJK@Italic@RawFeature\@empty
- \edef\xeCJK@Italic@RawFeature{
- slant=\xeCJK@slantfactor}
- \else
- \edef\xeCJK@Italic@RawFeature{
- slant=\xeCJK@slantfactor,
- \xeCJK@Italic@RawFeature}
- \fi
-
- \ifx\xeCJK@ItalicFeatures\@empty
- \edef\xeCJK@ItalicFeatures{
- RawFeature={\xeCJK@Italic@RawFeature}}
- \else
- \edef\xeCJK@ItalicFeatures{
- \xeCJK@ItalicFeatures,
- RawFeature={\xeCJK@Italic@RawFeature}}
- \fi
-
- \ifx\xeCJK@BoldItalic@RawFeature\@empty
- \edef\xeCJK@BoldItalic@RawFeature{
- slant=\xeCJK@slantfactor}
- \else
- \edef\xeCJK@BoldItalic@RawFeature{
- slant=\xeCJK@slantfactor,
- \xeCJK@BoldItalic@RawFeature}
- \fi
-
- \ifx\xeCJK@BoldItalicFeatures\@empty
- \edef\xeCJK@BoldItalicFeatures{
- RawFeature={\xeCJK@BoldItalic@RawFeature}}
- \else
- \edef\xeCJK@BoldItalicFeatures{
- \xeCJK@BoldItalicFeatures,
- RawFeature={\xeCJK@BoldItalic@RawFeature}}
- \fi
-
- \ifx\xeCJK@Features\@empty
- \edef\xeCJK@Features{
- ItalicFeatures={\xeCJK@ItalicFeatures},
- BoldItalicFeatures={\xeCJK@BoldItalicFeatures}}
- \else
- \edef\xeCJK@Features{
- \xeCJK@Features,
- ItalicFeatures={\xeCJK@ItalicFeatures},
- BoldItalicFeatures={\xeCJK@BoldItalicFeatures}}
- \fi
- \fi
- \fi
-
- \edef\xeCJK@temp{#2}
- \ifx\xeCJK@temp\@empty
- \else
- \edef\xeCJK@temp{,#2}
- \fi
-
- \ifx\xeCJK@Features\@empty
- \else
- \edef\xeCJK@Features{,\xeCJK@Features}
- \fi
-
- \edef\xeCJK@Features{
- [BoldFont={#3},
- ItalicFont={#3},
- BoldItalicFont={#3}% The first three parameters can be overridden by
- % user defined parameters in #2
- \xeCJK@temp\xeCJK@Features]}
-
- \expandafter
- \newfontfamily@i\csname #1\expandafter\endcsname
- \xeCJK@Features
- {#3}}
-
-\def\xeCJK@setmacro@getkey#1{
- \expandafter\def\csname xeCJK@get#1\endcsname ##1#1=##2##3\relax{
- \expandafter\edef\csname xeCJK@#1\endcsname{##2}
- \edef\xeCJK@temp{##1##3}}}
-
-\xeCJK@setmacro@getkey{BoldFont}
-\xeCJK@setmacro@getkey{ItalicFont}
-\xeCJK@setmacro@getkey{BoldItalicFont}
-\xeCJK@setmacro@getkey{ItalicFeatures}
-\xeCJK@setmacro@getkey{BoldFeatures}
-\xeCJK@setmacro@getkey{BoldItalicFeatures}
-
-\def\xeCJK@getRawFeature#1RawFeature=#2#3\relax{
- \edef\xeCJK@tempRawFeature{#2}}
-
-\define@key[zf]{preparse}{ItalicFeatures}{
- \edef\zf@it@feat{,#1}
- \edef\zf@family@long{\zf@family@long itfeat:#1}}
-
-% redefine \CJKfamily.
-
-\def\xeCJK@font@{}
-
-\DeclareRobustCommand\CJKfamily[1]{
- \ifcsname xeCJK@font@#1\endcsname
- \def\xeCJK@family{#1}
- \else
- \ifcsname xeCJK@#1@warned\endcsname
- \else
- \PackageWarning{xeCJK}{
- Unknown CJK family `#1' is ignored.^^J
- Use \string\setCJKfamilyfont \space to define a CJK family.}
- \expandafter\gdef\csname xeCJK@#1@warned\endcsname{}
- \fi
- \fi}
-\CJKfamily{}
-
-\def\xeCJKsetslantfactor#1{\edef\xeCJK@slantfactor{#1}}
-\def\xeCJKsetemboldenfactor#1{\edef\xeCJK@emboldenfactor{#1}}
-
-\xeCJKsetslantfactor{0.17}
-\xeCJKsetemboldenfactor{4}
-
-
-%
-% Loading language dependent macros.
-%
-\input{xeCJK.chr}
-
-\def\CJKlanguage#1{
- \ifcsname CJK@#1\endcsname
- \edef\xeCJK@language{\csname CJK@#1\endcsname}
- \else
- \PackageWarning{xeCJK}{
- Unknown CJK language `#1' is ignored.^^J
- Valid languages are `Chinese-Simp', `Chinese-Trad', `Japanese' and 'Korean'.}
- \relax
- \fi}
-
-\expandafter\def\csname CJK@zh-cn\endcsname{chs}
-\expandafter\def\csname CJK@Chinese-Simp\endcsname{chs}
-\expandafter\def\csname CJK@Chinese-Trad\endcsname{cht}
-\expandafter\def\csname CJK@Japanese\endcsname{ja}
-\expandafter\def\csname CJK@Korean\endcsname{ko}
-\CJKlanguage{Chinese-Simp}
-
-% macros for using CJKfntef.sty and CJKnumb.sty
-%
-\@ifundefined{UL@hskip}{\let\UL@hskip\relax}{}
-
-\let\xeCJK@ULspecials\relax
-
-\def\xeCJK@UL@punctgroup{
- \ifx\hskip\UL@hskip
- \egroup
- \UL@stop
- \UL@start
- \bgroup
- \fi}
-
-
-\ifxeCJK@num
- \edef\CJK@UnicodeEnc{UTF8}
- \def\CJKaddEncHook#1#2{\expandafter\def\csname xeCJK@enc@#1\endcsname{#2}}
- \def\Unicode#1#2{\@tempcnta #1\relax
- \multiply\@tempcnta 256\relax
- \advance\@tempcnta #2\relax
- \char\@tempcnta}
- \RequirePackage{CJKnumb}
- \csname xeCJK@enc@UTF8\endcsname
- \def\CJK@tenthousand{δΈ‡}
-\fi
-
-\endlinechar `\^^M
-\endinput \ No newline at end of file