summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/bxjscls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-03-27 22:17:49 +0000
committerKarl Berry <karl@freefriends.org>2016-03-27 22:17:49 +0000
commit513cfe82c1eaea7d0951e08cbcd92248367567c8 (patch)
tree07ccb6b5aa794a9f53ab7791742ba53287cde9c0 /Master/texmf-dist/source/latex/bxjscls
parent6338f4358f37f44799d7d3c66d8363b6798043fd (diff)
bxjscls (27mar16)
git-svn-id: svn://tug.org/texlive/trunk@40156 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/bxjscls')
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx129
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{共通命令の実装}