diff options
author | Karl Berry <karl@freefriends.org> | 2017-10-29 21:23:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-10-29 21:23:46 +0000 |
commit | 8cc8cfc8f5818e0c3c080617d7c1ebd074f334d4 (patch) | |
tree | 90b18555b30aa581f4dfe10882798ad64ce2ad96 /Master/texmf-dist/source/uplatex/base/uplfonts.dtx | |
parent | 1866893238afb5431339c6bde5f1055ddeff8093 (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.dtx | 131 |
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} |