• 検索結果がありません。

pTEX 用設定

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 136-139)

3911\if j\jsEngine

■共通命令の実装

3912\def\bxjs@apply@kanjiskip{%

3913 \kanjiskip\@tempskipa}

3914\def\bxjs@apply@xkanjiskip{%

3915 \xkanjiskip\@tempskipa}

\jaJaCharのサブマクロ。

3916\def\bxjs@jachar#1{%

3917 \bxjs@jachar@a#1....\@nil}

3918\def\bxjs@jachar@a#1#2#3#4#5\@nil{%

引数が単一トークンなら和文文字トークンが得られたと見なしてそれをそのまま出力する。

3919 \ifx.#2#1%

引数が複数トークンの場合は、UTF-8 のバイト列であると見なし、そのスカラー値を

\@tempcntaに代入する。

3920 \else\ifx.#3%

3921 \@tempcnta`#1 \multiply\@tempcnta64

3922 \advance\@tempcnta`#2 \advance\@tempcnta-"3080

3923 \bxjs@jachar@b

3924 \else\ifx.#4%

3925 \@tempcnta`#1 \multiply\@tempcnta64

3926 \advance\@tempcnta`#2 \multiply\@tempcnta64

3927 \advance\@tempcnta`#3 \advance\@tempcnta-"E2080

3928 \bxjs@jachar@b

3929 \else

3930 \@tempcnta`#1 \multiply\@tempcnta64

3931 \advance\@tempcnta`#2 \multiply\@tempcnta64

3932 \advance\@tempcnta`#3 \multiply\@tempcnta64

3933 \advance\@tempcnta`#4 \advance\@tempcnta-"3C82080

3934 \bxjs@jachar@b

3935 \fi\fi\fi}

符号値が\@tempcnta の和文文字を出力する処理。

3936\ifjsWithupTeX

3937 \def\bxjs@jachar@b{\kchar\@tempcnta}

3938\else

3939 \def\bxjs@jachar@b{%

3940 \ifx\bxUInt\@undefined\else

3941 \bxUInt{\@tempcnta}%

3942 \fi}

3943\fi

和欧文間空白の命令\jathinspaceの実装。

3944\ifbxjs@jaspace@cmd

3945 \def\jathinspace{\hskip\xkanjiskip}

3946\fi

■jis2004 パ ラ メ タ pxchfon pxbabel で は2004JIS を 指 定 す る オ プ シ ョ ン の 名 が prefer2004jisである。

3947\ifbxjs@jp@jismmiv

3948 \PassOptionsToPackage{prefer2004jis}{pxchfon}

3949 \PassOptionsToPackage{prefer2004jis}{pxbabel}

3950\fi

■和文フォント指定の扱い pTEXは既定で kanji-config-updmap の設定に従うため、

\jsJaFont auto の場合は何もする必要がない。無指定でも auto でもない場合は、

\jsJaFontをオプションにして pxchfonパッケージを読み込む。ここで、和文ドライバパ ラメタfont が指定されいる場合は、その値をpxchfonのオプションに追加する。

3951\let\bxjs@jafont@paren\@firstofone

3952\let\bxjs@tmpa\jsJaFont

3953\ifx\bxjs@tmpa\bxjs@@auto

3954 \let\bxjs@tmpa\@empty

3955\else\ifx\bxjs@tmpa\bxjs@@noEmbed

3956 \def\bxjs@tmpa{noembed}

3957\fi\fi

3958\bxjs@resolve@jafont@paren\bxjs@tmpa

3959\edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font}

3960\ifx\bxjs@tmpa\@empty\else

3961 \edef\bxjs@next{%

3962 \noexpand\RequirePackage[\bxjs@tmpa]{pxchfon}[2010/05/12]% v0.5

3963 }\bxjs@next

3964\fi

137

■otfパッケージ対策 インストールされているotfパッケージが scale オプションに対 応している場合はscale=(\jsScaleの値)を事前に otfに渡す。

※scale対応は1.7b6[2013/11/17]から。

※otf.sty の中に「\RequirePackage{keyval}」の行が存在するかにより判定している。

(もっといい方法はないのか……。)

3965\begingroup

3966 \global\let\bxjs@g@tmpa\relax

3967 \catcode`\|=0 \catcode`\\=12

3968 |def|bxjs@tmpdo#1|@nil{%

3969 |bxjs@tmpdo@a#1|@nil\RequirePackage|@nnil}%

3970 |def|bxjs@tmpdo@a#1\RequirePackage#2|@nnil{%

3971 |ifx$#1$|bxjs@tmpdo@b#2|@nil keyval|@nnil |fi}%

3972 |catcode`|\=0 \catcode`\|=12

3973 \def\bxjs@tmpdo@b#1keyval#2\@nnil{%

3974 \ifx$#2$\else

3975 \xdef\bxjs@g@tmpa{%

3976 \noexpand\PassOptionsToPackage{scale=\jsScale}{otf}}%

3977 \fi}

3978\@firstofone{%

3979 \catcode10=12 \endlinechar\m@ne

3980 \let\do\@makeother \dospecials \catcode32=10

3981 \openin\@inputcheck=otf.sty\relax

3982 \@tempswatrue

3983 \loop\if@tempswa

3984 \ifeof\@inputcheck \@tempswafalse \fi

3985 \if@tempswa

3986 \read\@inputcheck to\bxjs@next

3987 \expandafter\bxjs@tmpdo\bxjs@next\@nil

3988 \fi

3989 \repeat

3990 \closein\@inputcheck

3991\endgroup}

3992\bxjs@g@tmpa

■hyperref対策 unicodeにしてはいけない。

3993\ifbxjs@hyperref@enc

3994 \bxjs@check@hyperref@unicode{false}

3995\fi

tounicodespecial命令を出力する。

3996\if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T%

3997 \else\ifjsWithpTeXng T\else F\fi\fi T%

3998 \ifnum\jis"2121="A1A1 %euc

3999 \bxjs@urgent@special{pdf:tounicode EUC-UCS2}

4000 \else\ifnum\jis"2121="8140 %sjis

4001 \bxjs@urgent@special{pdf:tounicode 90ms-RKSJ-UCS2}

4002 \else\ifnum\jis"2121="3000 %uptex

4003 \ifbxjs@bigcode

4004 \bxjs@urgent@special{pdf:tounicode UTF8-UTF16}

4005 \PassOptionsToPackage{bigcode}{pxjahyper}

4006 \else

4007 \bxjs@urgent@special{pdf:tounicode UTF8-UCS2}

4008 \fi

4009 \fi\fi\fi

4010 \let\bxToUnicodeSpecialDone=t

4011\fi

■和文数式ファミリ 和文数式ファミリは既定で有効とする。すなわちenablejfam=false 以外の場合は@enablejfamを真にする。

4012\ifx f\bxjs@enablejfam\else

4013 \@enablejfamtrue

4014\fi

実際に和文用の数式ファミリの設定を行う。

4015\if@enablejfam

4016 \DeclareSymbolFont{mincho}{\jsc@JYn}{mc}{m}{n}

4017 \DeclareSymbolFontAlphabet{\mathmc}{mincho}

4018 \SetSymbolFont{mincho}{bold}{\jsc@JYn}{gt}{m}{n}

4019 \jfam\symmincho

4020 \DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n}

4021 \g@addto@macro\bxjs@begin@document@hook{%

4022 \ifx\reDeclareMathAlphabet\@undefined\else

4023 \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}%

4024 \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}%

4025 \reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}%

4026 \fi}

4027\fi

ドキュメント内 10 相互参照 目次の類 参考文献 索引 (ページ 136-139)