diff options
author | Karl Berry <karl@freefriends.org> | 2016-03-27 22:17:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-03-27 22:17:49 +0000 |
commit | 513cfe82c1eaea7d0951e08cbcd92248367567c8 (patch) | |
tree | 07ccb6b5aa794a9f53ab7791742ba53287cde9c0 /Master/texmf-dist/source | |
parent | 6338f4358f37f44799d7d3c66d8363b6798043fd (diff) |
bxjscls (27mar16)
git-svn-id: svn://tug.org/texlive/trunk@40156 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 129 |
1 files changed, 126 insertions, 3 deletions
diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx index 434438075a2..98208044c8f 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx @@ -62,7 +62,8 @@ %<*driver> \ProvidesFile{bxjscls.dtx} %</driver> - [2016/02/20 v1.1a BXJS document classes] + [2016/03/27 v1.1b BXJS document classes] +% [2016/02/20 v1.1a BXJS document classes] % [2016/02/14 v1.1 BXJS document classes] % [2015/11/21 v1.0d BXJS document classes] % [2015/10/18 v1.0c BXJS document classes] @@ -300,7 +301,10 @@ % \begin{macrocode} \newif\ifjsInPdfMode \@nameuse{ImposeOldLuaTeXBehavior} +\let\bxjs@tmpa\PackageWarningNoLine +\let\PackageWarningNoLine\PackageInfo % suppress warning \RequirePackage{ifpdf} +\let\PackageWarningNoLine\bxjs@tmpa \@nameuse{RevokeOldLuaTeXBehavior} \let\ifjsInPdfMode\ifpdf % \end{macrocode} @@ -1019,6 +1023,36 @@ \bxjs@disguise@jstrue} % \end{macrocode} % +% \begin{macro}{\ifbxjs@precisetext} +% {\XeTeX}の``generateactualtext''を有効にするか。 +% 既定は偽。 +% \begin{macrocode} +\newif\ifbxjs@precisetext +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{noprecisetext}{% + \bxjs@precisetextfalse} +\DeclareOption{precisetext}{% + \bxjs@precisetexttrue} +% \end{macrocode} +% +% \begin{macro}{\ifbxjs@simplejasetup} +% {\XeTeX}の``linebreaklocale''を有効にするか。 +% 既定は真(であるが多くの場合は後に無効化される)。 +% \begin{macrocode} +\newif\ifbxjs@simplejasetup \bxjs@simplejasetuptrue +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{nosimplejasetup}{% + \bxjs@simplejasetupfalse} +\DeclareOption{simplejasetup}{% + \bxjs@simplejasetuptrue} +% \end{macrocode} +% % keyval型のオプションの処理。 % \begin{macrocode} \def\bxjs@setkey{% @@ -1157,7 +1191,11 @@ \let\bxjs@magstyle@mag=m \let\bxjs@magstyle@real=r \let\bxjs@magstyle@xreal=x -\let\bxjs@magstyle\bxjs@magstyle@mag +\let\bxjs@magstyle@default\bxjs@magstyle@mag +\ifx l\jsEngine \ifnum\luatexversion>86 + \let\bxjs@magstyle@default\bxjs@magstyle@xreal +\fi\fi +\let\bxjs@magstyle\bxjs@magstyle@default % \end{macrocode} % \end{macro} % @@ -1369,6 +1407,22 @@ \fi\fi % \end{macrocode} % +% 新しいLua{\TeX}(0.87版以降)ではmagがアレなので、 +% |magstyle=mag| が指定されていた場合はエラーを出す。 +% (この場合の既定値は |xreal| であり、 +% エラーの場合は既定値に置き換えられる。) +% \begin{macrocode} +\ifx\bxjs@magstyle@default\bxjs@magstyle@mag\else + \ifx\bxjs@magstyle\bxjs@magstyle@mag + \let\bxjs@magstyle\bxjs@magstyle@default + \ClassError\bxjs@clsname% + {The engine does not support 'magstyle=mag'}% + {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak + The default value is used instead.\MessageBreak \@ehc} + \fi +\fi +% \end{macrocode} +% % オプション処理時に遅延させていた |jbase| の処理をここで実行する。 % \begin{macrocode} \bxjs@do@opt@jbase @@ -6327,9 +6381,69 @@ \lowercase{\bxjs@let@hchar@out\def{{0}}}} % \end{macrocode} % -% 以上で終わり。 +% \begin{macro}{\bxjs@do@precisetext} +% |precisetext| オプションの処理。 +% \begin{macrocode} +\ifx\XeTeXgenerateactualtext\@undefined\else + \def\bxjs@do@precisetext{% + \XeTeXgenerateactualtext=\@ne} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\bxjs@do@simplejasetup} +% |simplejasetup| オプションの処理。 +% \begin{macrocode} +\@onlypreamble\bxjs@do@simplejasetup +\def\bxjs@do@simplejasetup{% + \ifnum\XeTeXinterchartokenstate>\z@ + \else\ifnum\strcmp{\the\XeTeXlinebreakskip}{\the\z@}=\z@ + \jsSimpleJaSetup + \ClassInfo\bxjs@clsname + {\string\jsSimpleJaSetup\space is applied\@gobble}% + \fi\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\jsSimpleJaSetup} +% 日本語出力用の超簡易的な設定。 +% \begin{macrocode} +\newcommand*{\jsSimpleJaSetup}{% + \XeTeXlinebreaklocale "ja"\relax + \XeTeXlinebreakskip=0pt plus 1pt minus 0.1pt\relax + \XeTeXlinebreakpenalty=0\relax} +% \end{macrocode} +% \end{macro} +% +%^^A---------------- +% \subsection{後処理(エンジン共通)} % \begin{macrocode} \fi\fi\fi +% \end{macrocode} +% +% |simplejasetup| オプションの処理。 +% \begin{macrocode} +\ifx\bxjs@do@simplejasetup\@undefined\else + \AtBeginDocument{% + \ifbxjs@simplejasetup + \bxjs@do@simplejasetup + \fi} +\fi +% +% |precisetext| オプションの処理。 +% \begin{macrocode} +\ifbxjs@precisetext + \ifx\bxjs@do@precisetext\@undefined + \ClassWarning\bxjs@clsname + {The current engine does not supprt the\MessageBreak + 'precisetext' option\@gobble} + \else + \bxjs@do@precisetext + \fi +\fi +% \end{macrocode} +% +% 以上で終わり。 +% \begin{macrocode} %</minimal> % \end{macrocode} % @@ -6371,6 +6485,11 @@ \input{bxjsja-minimal.def} % \end{macrocode} % +% |simplejasetup| はstandardでは無効になる。 +% \begin{macrocode} +\bxjs@simplejasetupfalse +% \end{macrocode} +% % \paragraph{共通命令の実装} % % |\jQ| 等の「単位」系の共通命令を実装する。 @@ -6867,17 +6986,20 @@ % 「アクティブな高位バイトトークンがその場で展開されてしまう」 % ため困難である。 % \begin{macrocode} +\ifx\bxcjkjatypeHyperrefPatchDone\@undefined \begingroup \CJK@input{UTF8.bdg} \endgroup \g@addto@macro\pdfstringdefPreHook{% \@nameuse{CJK@UTF8Binding}% } +\fi % \end{macrocode} % % |~| が和欧文間空白である場合はPDF文字列中で空白文字で % なく空に展開させる。 % \begin{macrocode} +\ifx\bxcjkjatypeHyperrefPatchDone\@undefined \g@addto@macro\pdfstringdefPreHook{% \ifx~\bxjs@@CJKtilde \let\bxjs@org@LetUnexpandableSpace\HyPsd@LetUnexpandableSpace @@ -6891,6 +7013,7 @@ \def\bxjs@tmpa{#1}\ifx\bxjs@tmpa\bxjs@@tildecmd\else \bxjs@org@LetUnexpandableSpace#1% \fi} +\fi % \end{macrocode} % % \paragraph{共通命令の実装} |