summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-10-29 21:23:46 +0000
committerKarl Berry <karl@freefriends.org>2017-10-29 21:23:46 +0000
commit8cc8cfc8f5818e0c3c080617d7c1ebd074f334d4 (patch)
tree90b18555b30aa581f4dfe10882798ad64ce2ad96 /Master/texmf-dist/source/uplatex/base/uplfonts.dtx
parent1866893238afb5431339c6bde5f1055ddeff8093 (diff)
uplatex (28oct17)
git-svn-id: svn://tug.org/texlive/trunk@45637 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/uplatex/base/uplfonts.dtx')
-rw-r--r--Master/texmf-dist/source/uplatex/base/uplfonts.dtx131
1 files changed, 105 insertions, 26 deletions
diff --git a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
index 5f21c1e7c14..2ddcf10c984 100644
--- a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
+++ b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
@@ -78,13 +78,17 @@
% \changes{v1.6h}{2017/08/05}{和文書体の基準を全角空白から「漢」に変更}
% \changes{v1.6h}{2017/08/05}{traceのコードの\texttt{\%}忘れを修正}
% \changes{v1.6h-u00}{2017/08/05}{p\LaTeX{}の変更に追随。}
+% \changes{v1.6i}{2017/09/24}{2010年のp\TeX{}本体の修正により、v1.3iで入れた
+% 対処が不要になっていたので削除}
+% \changes{v1.6i}{2017/09/24}{\cs{<}が段落頭でも効くようにした}
+% \changes{v1.6i-u00}{2017/09/24}{p\LaTeX{}の変更に追随。}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
-\ProvidesFile{uplfonts.dtx}[2017/08/05 v1.6h-u00 upLaTeX New Font Selection Scheme]
+\ProvidesFile{uplfonts.dtx}[2017/09/24 v1.6i-u00 upLaTeX New Font Selection Scheme]
% \iffalse
\documentclass{jltxdoc}
\GetFileInfo{uplfonts.dtx}
@@ -2041,34 +2045,81 @@
%</pldefs>
% \end{macrocode}
%
-% \subsection{イタリック補正}
-% \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が
-% 入らないのを修正(ありがとう、乙部@東大さん)}
+% \subsection{イタリック補正と\cs{xkanjiskip}}
+%
% \begin{macro}{\check@nocorr@}
% 「\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}%
- \def \reserved@a {\nocorr}%
- \def \reserved@b {#1}%
- \def \reserved@c {#3}%
- \ifx \reserved@a \reserved@b
- \ifx \reserved@c \@empty
- \let \check@icl \@empty
- \else
- \let \check@icl \@empty
- \let \check@icr \@empty
- \fi
- \else
- \ifx \reserved@c \@empty
- \else
- \let \check@icr \@empty
- \fi
- \fi
-}
+% \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が
+% 入らないのを修正(ありがとう、乙部@東大さん)}
+%
+% コミュニティ版の修正:p\TeX{}のバージョンp3.1.11以前は、イタリック補正
+% (以下|\/|と記す)と|\xkanjiskip|の挿入が衝突\footnote{和文のイタリック
+% 補正用kernが、通常のexplicitな(\cs{kern}による)kernと同じ扱いを受けて
+% いたため。}し
+% \begin{enumerate}
+% \item 「欧文文字 → |\/|」の場合には|\/|を無視する
+% (つまり後に|\xkanjiskip|挿入可能)
+% \item 「和文文字 → |\/|」の場合にはこの後に|\xkanjiskip|は挿入できない
+% \end{enumerate}
+% という挙動になっていました。p3.2(2010年)の修正で
+% \begin{itemize}
+% \item |\xkanjiskip|挿入時にはいかなる場合も|\/|を無視する
+% \end{itemize}
+% という挙動に変更されました。p\LaTeX{}カーネルの|\check@nocorr@|の修正は、
+% p3.1.11以前の2.への対処でしたが、これは「|\text...{}|の左への|\/|挿入」を
+% 無効化しているので、|\textit{f\textup{a}}|で本来入るべきイタリック補正が
+% 入りませんでした。p3.2以降ではp\TeX{}の|\xkanjiskip|対策が不要になって
+% いますので、コミュニティ版では削除しました。
+% \changes{v1.6i}{2017/09/24}{2010年のp\TeX{}本体の修正により、v1.3iで入れた
+% 対処が不要になっていたので削除}
+% \begin{macrocode}
+%<platexrelease>\plIncludeInRelease{2017/10/28}{\check@nocorr@}
+%<platexrelease> {Italic correction before \textt...}%
+%<platexrelease>\def \check@nocorr@ #1#2\nocorr#3\@nil {%
+%<platexrelease> \let \check@icl \maybe@ic
+%<platexrelease> \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%
+%<platexrelease> \def \reserved@a {\nocorr}%
+%<platexrelease> \def \reserved@b {#1}%
+%<platexrelease> \def \reserved@c {#3}%
+%<platexrelease> \ifx \reserved@a \reserved@b
+%<platexrelease> \ifx \reserved@c \@empty
+%<platexrelease> \let \check@icl \@empty
+%<platexrelease> \else
+%<platexrelease> \let \check@icl \@empty
+%<platexrelease> \let \check@icr \@empty
+%<platexrelease> \fi
+%<platexrelease> \else
+%<platexrelease> \ifx \reserved@c \@empty
+%<platexrelease> \else
+%<platexrelease> \let \check@icr \@empty
+%<platexrelease> \fi
+%<platexrelease> \fi
+%<platexrelease>}
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\check@nocorr@}
+%<platexrelease> {Italic correction before \textt...}%
+%<platexrelease>\def \check@nocorr@ #1#2\nocorr#3\@nil {%
+%<platexrelease> \let \check@icl \relax % changed from \maybe@ic
+%<platexrelease> \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%
+%<platexrelease> \def \reserved@a {\nocorr}%
+%<platexrelease> \def \reserved@b {#1}%
+%<platexrelease> \def \reserved@c {#3}%
+%<platexrelease> \ifx \reserved@a \reserved@b
+%<platexrelease> \ifx \reserved@c \@empty
+%<platexrelease> \let \check@icl \@empty
+%<platexrelease> \else
+%<platexrelease> \let \check@icl \@empty
+%<platexrelease> \let \check@icr \@empty
+%<platexrelease> \fi
+%<platexrelease> \else
+%<platexrelease> \ifx \reserved@c \@empty
+%<platexrelease> \else
+%<platexrelease> \let \check@icr \@empty
+%<platexrelease> \fi
+%<platexrelease> \fi
+%<platexrelease>}
+%<platexrelease>\plEndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
@@ -2079,6 +2130,7 @@
% \noindent
% 縦横エンコード共通:
% \begin{macrocode}
+%<*pldefs>
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY2}{mc}{m}{n}{10}
% \end{macrocode}
@@ -2247,12 +2299,39 @@
% \begin{macrocode}
\jcharwidowpenalty=500
% \end{macrocode}
+%
+% \begin{macro}{\<}
% 最後に、|\inhibitglue|の簡略形を定義します。
% このコマンドは、和文フォントのメトリック情報から、自動的に挿入される
% グルーの挿入を禁止します。
+%
+% 2014年のp\TeX{}の|\inhibitglue|のバグ修正に伴い、
+% |\inhibitglue|が垂直モードでは効かなくなりました。
+% \LaTeX{}では垂直モードと水平モードの区別が隠されていますので、
+% p\LaTeX{}の追加命令である|\<|は段落頭でも効くように修正します。
+%
+% |\DeclareRobustCommand|を使うと|\protect|の影響で前方の文字に対する
+% |\inhibitglue|が効かなくなるので、e-\TeX{}の|\protected|が必要です。
+% \changes{v1.6i}{2017/09/24}{\cs{<}が段落頭でも効くようにした}
% \begin{macrocode}
+%</pldefs>
+%<platexrelease>\plIncludeInRelease{2017/10/28}{\<}
+%<platexrelease> {\inhibitglue in vertical mode}%
+%<*pldefs|platexrelease>
+\ifx\protected\@undefined
\def\<{\inhibitglue}
+\else
+\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
+\fi
+%</pldefs|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\<}
+%<platexrelease> {\inhibitglue in vertical mode}%
+%<platexrelease>\def\<{\inhibitglue}
+%<platexrelease>\plEndIncludeInRelease
+%<*pldefs>
% \end{macrocode}
+% \end{macro}
%
% ここまでが、\file{pldefs.ltx}の内容です。
% \begin{macrocode}