summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/uplatex/base/uplfonts.dtx')
-rw-r--r--Master/texmf-dist/source/uplatex/base/uplfonts.dtx166
1 files changed, 107 insertions, 59 deletions
diff --git a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
index eeff52edb43..5f21c1e7c14 100644
--- a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
+++ b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
@@ -38,7 +38,7 @@
% 入らないのを修正}
% \changes{v1.3j}{2000/10/24}{\cs{adjustbaseline}で余分なアキが入らない
% ようにした}
-% \changes{v1.3k}{2001/05/10}{\cs{adjustbaseline}の調整量}
+% \changes{v1.3k}{2001/05/10}{欧文書体の基準を再び`/`から`M'に変更}
% \changes{v1.3l}{2002/04/05}{\cs{adjustbaseline}でフォントの基準値が縦書き
% 以外では設定されないのを修正}
% \changes{v1.3m}{2004/06/14}{\cs{fontfamily}コマンド内部フラグ変更}
@@ -75,13 +75,16 @@
% \changes{v1.6f-u00}{2017/03/05}{p\LaTeX{}の変更に追随。}
% \changes{v1.6g}{2017/03/07}{ベースライン補正量を修正}
% \changes{v1.6g-u00}{2017/03/08}{p\LaTeX{}の変更に追随。}
+% \changes{v1.6h}{2017/08/05}{和文書体の基準を全角空白から「漢」に変更}
+% \changes{v1.6h}{2017/08/05}{traceのコードの\texttt{\%}忘れを修正}
+% \changes{v1.6h-u00}{2017/08/05}{p\LaTeX{}の変更に追随。}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
-\ProvidesFile{uplfonts.dtx}[2017/03/08 v1.6g-u00 upLaTeX New Font Selection Scheme]
+\ProvidesFile{uplfonts.dtx}[2017/08/05 v1.6h-u00 upLaTeX New Font Selection Scheme]
% \iffalse
\documentclass{jltxdoc}
\GetFileInfo{uplfonts.dtx}
@@ -155,7 +158,7 @@
%<*trace>
\NeedsTeXFormat{pLaTeX2e}
\ProvidesPackage{uptrace}
- [2017/03/05 v1.6f-u00 Standard upLaTeX package (font tracing)]
+ [2017/08/05 v1.6h-u00 Standard upLaTeX package (font tracing)]
\RequirePackageWithOptions{tracefnt}
%</trace>
% \end{macrocode}
@@ -1156,6 +1159,8 @@
\set@fontsize\baselinestretch\f@size\f@baselineskip
\fi
\size@update}
+%</plcore|trace>
+%<*plcore>
% \end{macrocode}
% \end{macro}
%
@@ -1174,7 +1179,7 @@
% |\fontsize|コマンドの内部形式です。
% ベースラインの設定と、支柱の設定を行ないます。
% \begin{macrocode}
-%</plcore|trace>
+%</plcore>
%<platexrelease|trace>\plIncludeInRelease{2017/04/08}{\set@fontsize}
%<platexrelease|trace> {Construct \ystrutbox}%
%<*plcore|platexrelease|trace>
@@ -1258,7 +1263,7 @@
%</trace>
%<platexrelease|trace> \let\size@update\relax}}
%<platexrelease|trace>\plEndIncludeInRelease
-%<*plcore|trace>
+%<*plcore>
% \end{macrocode}
% \end{macro}
%
@@ -1268,30 +1273,41 @@
% 現在の欧文フォントの``/''の中央がくるようにベースラインシフトを設定します。
% \changes{v1.0c}{1995/08/31}{欧文書体の基準を`M'から`/'に変更}
% \changes{v1.2}{1995/11/21}{縦組時のみ調整するようにした}
-% \changes{v1.3j}{2000/10/24}{文頭に鈎括弧などがあるときに余計なアキがで
-% る問題に対処}
-% \changes{v1.3l}{2002/04/05}{\cs{adjustbaseline}でフォントの基準値が縦書き
-% 以外では設定されないのを修正}
%
% 当初はまずベースラインシフト量をゼロにしていましたが、
% \cs{tbaselineshift}を連続して変更した後に鈎括弧類を使うと余計なアキが
% でる問題が起こるため、\cs{tbaselineshift}をゼロクリアする処理を削除し
% ました。
+% \changes{v1.3j}{2000/10/24}{文頭に鈎括弧などがあるときに余計なアキがで
+% る問題に対処}
%
% しかし、それではベースラインシフトを調整済みの欧文ボックスと比較して
% しまうため、計算した値が大きくなってしまいます。そこで、このボックス
% の中でゼロにするようにしました。また、``/''と比較していたのを``M''に
% しました。
-% \changes{v1.3k}{2001/05/10}{\cs{adjustbaseline}の調整量
-% (再び`M'を基準にした)}
+% \changes{v1.3k}{2001/05/10}{欧文書体の基準を再び`/`から`M'に変更}
+% \changes{v1.3l}{2002/04/05}{\cs{adjustbaseline}でフォントの基準値が縦書き
+% 以外では設定されないのを修正}
+%
+% 全角空白(EUCコード\texttt{0xA1A1})はJFMで特殊なタイプに分類される可能性
+% があるため、和文書体の基準を「漢」(JISコード\texttt{0x3441})へ変更しました。
+% \changes{v1.6h}{2017/08/05}{和文書体の基準を全角空白から「漢」に変更}
+%
% \begin{macrocode}
\newbox\adjust@box
\newdimen\adjust@dimen
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</plcore>
+%<platexrelease|trace>\plIncludeInRelease{2017/07/29}{\adjustbaseline}
+%<platexrelease|trace> {Change zenkaku reference}%
+%<*plcore|platexrelease|trace>
\def\adjustbaseline{%
% \end{macrocode}
% 和文フォントの基準値を設定します。
% \begin{macrocode}
- \setbox\adjust@box\hbox{\char\euc"A1A1}%"
+ \setbox\adjust@box\hbox{\char\jis"3441}%"
\cht\ht\adjust@box
\cdp\dp\adjust@box
\cwd\wd\adjust@box
@@ -1305,10 +1321,11 @@
%
% \begin{eqnarray*}
% \textmc{ベースラインシフト量} &=&
-% \{ (\textmc{全角空白の深さ}) - (\textmc{Mの深さ}) \} \\
-% &&- \frac{(\textmc{全角空白の高さ$+$深さ})
+% \{ (\textmc{漢の深さ}) - (\textmc{Mの深さ}) \} \\
+% &&- \frac{(\textmc{漢の高さ$+$深さ})
% - (\textmc{Mの高さ$+$深さ})}{2}
% \end{eqnarray*}
+% \changes{v1.6h}{2017/08/05}{traceのコードの\texttt{\%}忘れを修正}
%
% \begin{macrocode}
\iftdir
@@ -1320,11 +1337,38 @@
\advance\adjust@dimen\cdp
\advance\adjust@dimen-\dp\adjust@box
\tbaselineshift\adjust@dimen
-%<trace> \ifnum \tracingfonts>\tw@
-%<trace> \typeout{baselineshift:\the\tbaselineshift}
-%<trace> \fi
+%<trace> \ifnum \tracingfonts>\tw@
+%<trace> \typeout{baselineshift:\the\tbaselineshift}%
+%<trace> \fi
\fi}
-%</plcore|trace>
+%</plcore|platexrelease|trace>
+%<platexrelease|trace>\plEndIncludeInRelease
+%<platexrelease|trace>\plIncludeInRelease{0000/00/00}{\adjustbaseline}
+%<platexrelease|trace> {Change zenkaku reference}%
+%<platexrelease|trace>\def\adjustbaseline{%
+%<platexrelease|trace> \setbox\adjust@box\hbox{\char\euc"A1A1}%"
+%<platexrelease|trace> \cht\ht\adjust@box
+%<platexrelease|trace> \cdp\dp\adjust@box
+%<platexrelease|trace> \cwd\wd\adjust@box
+%<platexrelease|trace> \cvs\normalbaselineskip
+%<platexrelease|trace> \chs\cwd
+%<platexrelease|trace> \cHT\cht \advance\cHT\cdp
+%<platexrelease|trace> \iftdir
+%<platexrelease|trace> \setbox\adjust@box\hbox{\tbaselineshift\z@ M}%
+%<platexrelease|trace> \adjust@dimen\ht\adjust@box
+%<platexrelease|trace> \advance\adjust@dimen\dp\adjust@box
+%<platexrelease|trace> \advance\adjust@dimen-\cHT
+%<platexrelease|trace> \divide\adjust@dimen\tw@
+%<platexrelease|trace> \advance\adjust@dimen\cdp
+%<platexrelease|trace> \advance\adjust@dimen-\dp\adjust@box
+%<platexrelease|trace> \tbaselineshift\adjust@dimen
+%<*trace>
+%<platexrelease|trace> \ifnum \tracingfonts>\tw@
+%<platexrelease|trace> \typeout{baselineshift:\the\tbaselineshift}
+%<platexrelease|trace> \fi
+%</trace>
+%<platexrelease|trace> \fi}
+%<platexrelease|trace>\plEndIncludeInRelease
%<*plcore>
% \end{macrocode}
% \end{macro}
@@ -1418,7 +1462,9 @@
}
\let\kenc@update\relax
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\@changed@kcmd}
% |\@changed@cmd|の和文エンコーディングバージョン。
% \changes{v1.3n}{2004/08/10}{和文エンコーディングの切り替えを有効化}
% \begin{macrocode}
@@ -1765,42 +1811,6 @@
% \end{macro}
%
%
-%
-% \subsection{デフォルト設定ファイルの読み込み}
-% 最後に、デフォルト設定ファイルである、\file{upldefs.ltx}を読み込みます。
-% このファイルについての詳細は、第\ref{plfonts:pldefs}節を参照してください。
-% \TeX{}の入力ファイル検索パスに設定されているディレクトリに\file{upldefs.cfg}%
-% ファイルがある場合は、そのファイルを使います。
-% \begin{macrocode}
-\InputIfFileExists{upldefs.cfg}
- {\typeout{*************************************^^J%
- * Local config file upldefs.cfg used^^J%
- *************************************}}%
- {\input{upldefs.ltx}}
-%</plcore>
-% \end{macrocode}
-%
-%
-%
-%
-% \section{デフォルト設定ファイル}\label{plfonts:pldefs}
-% ここでは、フォーマットファイルに読み込まれるデフォルト値を設定しています。
-% この節での内容は\file{pldefs.ltx}に出力されます。
-% このファイルの内容を\file{plcore.ltx}に含めてもよいのですが、
-% デフォルトの設定を参照しやすいように、別ファイルにしてあります。
-% \file{pldefs.ltx}は\file{plcore.ltx}から読み込まれます。
-%
-% プリロードサイズは、\dst{}プログラムのオプションで変更することができます。
-% これ以外の設定を変更したい場合は、\file{pldefs.ltx}を
-% 直接、修正するのではなく、このファイルを\file{pldefs.cfg}という名前で
-% コピーをして、そのファイルに対して修正を加えるようにしてください。
-% \begin{macrocode}
-%<*pldefs>
-\ProvidesFile{upldefs.ltx}
- [2016/06/29 v1.6e-u00 upLaTeX Kernel (Default settings)]
-%</pldefs>
-% \end{macrocode}
-%
% \subsection{合成文字}
% \LaTeXe{}のカーネルのコードをそのまま使うと、p\TeX{}のベースライン
% 補正量がゼロでないときに合成文字がおかしくなっていたため、対策します。
@@ -1811,11 +1821,12 @@
% $-1$が返ります。
% \changes{v1.6c}{2016/06/06}{マクロ追加}
% \begin{macrocode}
+%</plcore>
%<platexrelease>\plIncludeInRelease{2016/06/10}{\g@tlastchart@}
%<platexrelease> {Added \g@tlastchart@}%
-%<*pldefs|platexrelease>
+%<*plcore|platexrelease>
\def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi}
-%</pldefs|platexrelease>
+%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\g@tlastchart@}
%<platexrelease> {Added \g@tlastchart@}%
@@ -1832,7 +1843,7 @@
% \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2016/06/10}{\pltx@isletter}
%<platexrelease> {Added \pltx@isletter}%
-%<*pldefs|platexrelease>
+%<*plcore|platexrelease>
\def\pltx@mark{\pltx@mark@}
\let\pltx@scanstop\relax
\long\def\pltx@cond#1\fi{%
@@ -1851,7 +1862,7 @@
\pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
{\@firstoftwo}{\@secondoftwo}%
}{\@secondoftwo}}
-%</pldefs|platexrelease>
+%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@isletter}
%<platexrelease> {Added \pltx@isletter}%
@@ -1990,10 +2001,46 @@
%<platexrelease> \fi
%<platexrelease> #1}
%<platexrelease>\plEndIncludeInRelease
-%<*pldefs>
+%<*plcore>
% \end{macrocode}
% \end{macro}
%
+%
+% \subsection{デフォルト設定ファイルの読み込み}
+% 最後に、デフォルト設定ファイルである、\file{upldefs.ltx}を読み込みます。
+% このファイルについての詳細は、第\ref{plfonts:pldefs}節を参照してください。
+% \TeX{}の入力ファイル検索パスに設定されているディレクトリに\file{upldefs.cfg}%
+% ファイルがある場合は、そのファイルを使います。
+% \begin{macrocode}
+\InputIfFileExists{upldefs.cfg}
+ {\typeout{*************************************^^J%
+ * Local config file upldefs.cfg used^^J%
+ *************************************}}%
+ {\input{upldefs.ltx}}
+%</plcore>
+% \end{macrocode}
+%
+%
+%
+%
+% \section{デフォルト設定ファイル}\label{plfonts:pldefs}
+% ここでは、フォーマットファイルに読み込まれるデフォルト値を設定しています。
+% この節での内容は\file{pldefs.ltx}に出力されます。
+% このファイルの内容を\file{plcore.ltx}に含めてもよいのですが、
+% デフォルトの設定を参照しやすいように、別ファイルにしてあります。
+% \file{pldefs.ltx}は\file{plcore.ltx}から読み込まれます。
+%
+% プリロードサイズは、\dst{}プログラムのオプションで変更することができます。
+% これ以外の設定を変更したい場合は、\file{pldefs.ltx}を
+% 直接、修正するのではなく、このファイルを\file{pldefs.cfg}という名前で
+% コピーをして、そのファイルに対して修正を加えるようにしてください。
+% \begin{macrocode}
+%<*pldefs>
+\ProvidesFile{upldefs.ltx}
+ [2017/08/05 v1.6h-u00 upLaTeX Kernel (Default settings)]
+%</pldefs>
+% \end{macrocode}
+%
% \subsection{イタリック補正}
% \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が
% 入らないのを修正(ありがとう、乙部@東大さん)}
@@ -2001,6 +2048,7 @@
% 「\verb|あ\texttt{abc}い|」としたとき、書体の変更を指定された欧文の左側に
% 和欧文間スペースが入らないのを修正します。
% \begin{macrocode}
+%<*pldefs>
\def \check@nocorr@ #1#2\nocorr#3\@nil {%
\let \check@icl \relax% \maybe@ic から変更
\def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%