OSDN Git Service

fix regression
[luatex-ja/luatexja.git] / src / ltjsclasses.dtx
index 9868084..c255f6a 100644 (file)
@@ -3,23 +3,10 @@
 %  -----------------------------------------
 %  Original: jsclasses.dtx
 %
-%  pLaTeX2ε新ドキュメントクラス
+%  pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
+%  原作者:奥村晴彦 <okumura@okumuralab.org>
 %
-%  これは LaTeX3 Project の classes.dtx と株式会社アスキーの jclasses.dtx
-%  に基づいて,もともと奥村晴彦 <okumura@okumuralab.org> により
-%  作成されたものです。
-%  現在は日本語\TeX 開発コミュニティにより管理されています。
-%
-%  [2002-12-19] いろいろなものに収録していただく際にライセンスを明確にする
-%  必要が生じてきました。アスキーのものが最近はmodified BSDライセンスになっ
-%  ていますので,私のものもそれに準じてmodified BSDとすることにします。
-%
-%  [2016-07-11] abenoriさんによる\texttt{nomag}オプションをマージしました。
-%  なお,ソースコードの管理はGitHubで行うことにしました。
-%
-%  [2016-07-13] 日本語\TeX 開発コミュニティによる管理に移行しました。
-%
-%  Copyright 1993 1994 1995 1996 1997 1998 1999
+%  Copyright 1993-2016
 %  The LaTeX3 Project and any individual authors listed elsewhere
 %  in this file.
 %
@@ -57,7 +44,7 @@
 %<*driver>
 \ProvidesFile{ltjsclasses.dtx}
 %</driver>
-  [2017/08/28 ltjsclasses ]
+  [2018/01/14 ltjsclasses ]
 %<*driver>
 \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
 \documentclass{ltjsarticle}
 % 将来どうなるかわからないので\texttt{nomag}で無効化することができるようにしました。
 %
 % \texttt{noxreal},~\texttt{real}は旧来の互換性として今は残してありますが,2017年7月に削除する予定です。
+%
+% [2018-01-14] \texttt{noxreal},~\texttt{real} を削除しました.また,内部命令の名称を
+% \texttt{jsclasses}に合わせました.
+%
 %    \begin{macrocode}
-\newif\if@ltjs@mag@xreal
-\@ltjs@mag@xrealtrue
-\DeclareOption{nomag*}{\@ltjs@mag@xrealtrue}
-\DeclareOption{nomag}{\@ltjs@mag@xrealfalse}
-\DeclareOption{noxreal}{%
-  \ClassWarningNoLine{\jsc@clsname}{%
-    The class option `noxreal' is obsolete. \MessageBreak
-    Please use the `nomag' option instead}%
-  \@ltjs@mag@xrealfalse}
-\DeclareOption{real}{%
-  \ClassWarningNoLine{\jsc@clsname}{%
-    The class option `real' is obsolete. \MessageBreak
-    Please use the `nomag' option instead}%
-  \@ltjs@mag@xrealfalse}
+\newif\ifjsc@mag@xreal
+\jsc@mag@xrealtrue
+\DeclareOption{nomag*}{\jsc@mag@xrealtrue}
+\DeclareOption{nomag}{\jsc@mag@xrealfalse}
 \DeclareOption{usemag}{%
   \ClassWarningNoLine{\jsc@clsname}{%
     This \jsc@clsname\space cls does not support `usemag'\MessageBreak
        option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}%
-  \@ltjs@mag@xrealtrue}
+  \jsc@mag@xrealtrue}
 
 
 %    \end{macrocode}
 % [2017-02-17 LTJ] |\directlua|中で出力される数字のカテゴリーコードが12になるようにしました.
 % この保証をしないと例えば\texttt{listings}パッケージで無限ループになります.
 %    \begin{macrocode}
-\if@ltjs@mag@xreal
+\ifjsc@mag@xreal
 \ifdim\jsc@mpt=\p@\else
   \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
   \expandafter\let\csname TU/lmr/m/n/10\endcsname\relax
 %
 % [2014-07-26 LTJ] なお,現状のところ,縦組用JFMは\texttt{jfm-ujisv.lua}しか準備していません。
 %
-% [2016-03-21 LTJ] 拡大率の計算で1~ptを$1/72.27$インチでなく0.3514~mmと間違えて扱っていたのを修正。
+% [2016-03-21 LTJ] 拡大率の計算で1~ptを$1/72.27$インチでなく0.3514\,mmと間違えて扱っていたのを修正。
+%
+% [2017-12-31] 和文スケール($1\,\mathrm{zw} \div \hbox{要求サイズ}$)を
+% 表す実数値マクロ |\Cjascale| を定義しました。
+%
 %    \begin{macrocode}
-%<*!jspf>
-\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
-\ifmingoth
-  \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=min}{}
-  \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=min}{}
-\else
-  \ifptexjis
-    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=jis}{}
-    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=jis}{}
-  \else
-    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=ujis}{}
-    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=ujis}{}
-  \fi
-\fi
-\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=ujisv}{}
-\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=ujisv}{}
-%</!jspf>
+%<!jspf> \def\Cjascale{0.924715}
 %    \end{macrocode}
 %
 % これにより,公称10ポイントの和文フォントを0.924715倍したことにより,
 % $0.9*72.27/72 \simeq 0.903375$ 倍します。
 %
 %    \begin{macrocode}
-%<*jspf>
+%<jspf> \def\Cjascale{0.903375}
+%    \end{macrocode}
+%
+% 実際にフォントの再定義を行う部分です.
+%
+%    \begin{macrocode}
 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
 \ifmingoth
-  \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=min}{}
-  \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=min}{}
+  \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=min}{}
+  \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=min}{}
 \else
   \ifptexjis
-    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=jis}{}
-    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=jis}{}
+    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=jis}{}
+    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=jis}{}
   \else
-    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=ujis}{}
-    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujis}{}
+    \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=ujis}{}
+    \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=ujis}{}
   \fi
 \fi
-\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.903375] \ltj@stdmcfont:jfm=ujisv}{}
-\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.903375] \ltj@stdgtfont:jfm=ujisv}{}
-%</jspf>
+\DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [\Cjascale] \ltj@stdmcfont:jfm=ujisv}{}
+\DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [\Cjascale] \ltj@stdgtfont:jfm=ujisv}{}
 %    \end{macrocode}
 %
 % 和文でイタリック体,斜体,サンセリフ体,
 % \texttt{jsclasses}で行われていた |\textmc|, |\textgt| の再定義は不要のように思われます。
 %
 % \texttt{jsclasses.dtx}中で行われていた |\reDeclareMathAlphabet| の再定義は削除。
+% また,Yue ZHANGさん作の\texttt{fixjfm}パッケージ対応のコードもLua\TeX-jaでは削除しています.
 %
 %    \begin{macrocode}
 \AtBeginDocument{%
 % パラメータに実際の値を設定します。
 % たとえば |\Cwd| は |\normalfont| の全角幅(|1\zw|)です。
 %
+% [2017-08-31] 基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から
+% 「漢」(JISコード\texttt{0x3441})へ変更しました。
+%
+% [2017-09-19] 内部的に使った |\box0| を空にします。
 %    \begin{macrocode}
-\setbox0\hbox{\char"3000}% 全角スペース
+\setbox0\hbox{漢}
 \setlength\Cht{\ht0}
 \setlength\Cdp{\dp0}
 \setlength\Cwd{\wd0}
 \setlength\Cvs{\baselineskip}
 \setlength\Chs{\wd0}
+\setbox0=\box\voidb@x
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}