From c143a4632d967b1831be9a77ea54f6ceac5da3ec Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 9 May 2016 23:41:02 +0000
Subject: uplatex (9may16)

git-svn-id: svn://tug.org/texlive/trunk@40991 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/uplatex/base/uplfonts.dtx | 141 ++++++++++++++++++---
 1 file changed, 123 insertions(+), 18 deletions(-)

(limited to 'Master/texmf-dist/source/uplatex/base/uplfonts.dtx')

diff --git a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
index 8dfb4d48195..010a5c43b0b 100644
--- a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
+++ b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx
@@ -5,12 +5,16 @@
 %       Copyright 1995-2001 ASCII Corporation.
 %    and modified for upLaTeX
 %
-%  This file is part of the upLaTeX2e system.
-%  -------------------------------------
+%  Copyright (c) 2010 ASCII MEDIA WORKS
+%  Copyright (c) 2016 Takuji Tanaka
+%  Copyright (c) 2016 Japanese TeX Development Community
+%
+%  This file is part of the upLaTeX2e system (community edition).
+%  --------------------------------------------------------------
 %
 % \fi
 %
-% \CheckSum{1685}
+% \CheckSum{1811}
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -44,7 +48,7 @@
 % \changes{v1.3d}{1997/06/25}{\cs{em},\cs{emph}で和文を強調書体に}
 % \changes{v1.3e}{1997/07/10}{fdファイル名の小文字化が効いていなかったのを修正}
 % \changes{v1.3f}{1998/08/10}{\cs{DeclareFixedCommand}を\cs{@onlypreamble}に
-%	 してしまっていたのを修正}
+%    してしまっていたのを修正}
 % \changes{v1.3g}{1999/04/05}{plpatch.ltxの内容を反映}
 % \changes{v1.3h}{1999/08/09}{\cs{strut}の改善}
 % \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が
@@ -63,14 +67,21 @@
 %    ありがとう、ymtさん。}
 % \changes{v1.5}{2006/11/10}{\cs{reDeclareMathAlphabet}を修正。
 %    ありがとう、ymtさん。}
-% \changes{v1.5_u01}{2011/05/07}{pLaTeX用からupLaTeX用に修正。}
+% \changes{v1.5-u01}{2011/05/07}{p\LaTeX{}用からup\LaTeX{}用に修正。}
+% \changes{v1.6}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}での\cs{em}の
+%    定義変更に対応。\cs{eminnershape}を追加。}
+% \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに
+%    \cs{AA}など一部の合成文字がおかしくなることへの対応。}
+% \changes{v1.6a-u00}{2016/04/06}{p\LaTeX{}の変更に追随。}
+% \changes{v1.6b-u00}{2016/04/30}{uptrace.styの冒頭でtracefnt.styを
+%    \cs{RequirePackageWithOptions}するようにした}
 % \fi
 %
 % \iffalse
 %<*driver>
 \NeedsTeXFormat{pLaTeX2e}
 % \fi
-\ProvidesFile{uplfonts.dtx}[2011/05/07 v1.5_u00 upLaTeX New Font Selection Scheme]
+\ProvidesFile{uplfonts.dtx}[2016/04/30 v1.6b-u00 upLaTeX New Font Selection Scheme]
 % \iffalse
 \documentclass{jltxdoc}
 \GetFileInfo{uplfonts.dtx}
@@ -137,6 +148,17 @@
 % 和文フォントの属性を格納するオブジェクトや長さ変数、
 % 属性を切替える際の判断材料として使うリストなどを定義しています。
 %
+% \file{uptrace}パッケージは\LaTeX{}の\file{tracefnt}パッケージに依存します。
+% \changes{v1.6b-u00}{2016/04/30}{uptrace.styの冒頭でtracefnt.styを
+%    \cs{RequirePackageWithOptions}するようにした}
+%    \begin{macrocode}
+%<*trace>
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{uptrace}
+     [2016/04/30 v1.6b-u00 Standard upLaTeX package (font tracing)]
+\RequirePackageWithOptions{tracefnt}
+%</trace>
+%    \end{macrocode}
 %
 % \subsubsection{和文フォント属性}
 % ここでは、和文フォントの属性を格納するためのオブジェクトについて
@@ -484,7 +506,7 @@
 % 欧文エンコードを宣言するためのコマンドです。
 % \file{ltfssbas.dtx}で定義されているものを、
 % |\fenc@list|を作るように再定義をしています。
-% \changes{v1.3p}{2006/01/04}{\cs{DeclareFontEncoding@}中で
+% \changes{v1.3p}{2006/01/04}{\break\cs{DeclareFontEncoding@}中で
 %    \cs{LastDeclaredEncodeng}の再定義が抜けていたので追加}
 %    \begin{macrocode}
 \def\DeclareFontEncoding{%
@@ -723,7 +745,7 @@
 % \begin{macro}{\DeclareFixedFont}
 % フォント名を宣言するコマンドです。
 %
-% \changes{v1.2}{1995/11/09}{\cs{DeclareFixedFont}の日本語化}
+% \changes{v1.2}{1995/11/09}{\break\cs{DeclareFixedFont}の日本語化}
 % \changes{v1.3c}{1997/04/09}{縦横エンコード・リストの分離による拡張}
 % \changes{v1.3f}{1998/08/10}{プリアンブル・コマンドにしてしまっていたのを解除}
 %    \begin{macrocode}
@@ -759,11 +781,11 @@
 %
 %
 % \begin{macro}{\reDeclareMathAlphabet}
-% \changes{v1.0}{1997/01/30}{\cs{reDeclareMathAlphabet}を追加。
+% \changes{v1.0}{1997/01/30}{\break\cs{reDeclareMathAlphabet}を追加。
 %    ありがとう、ymtさん。}
-% \changes{v1.4}{2006/06/27}{\cs{reDeclareMathAlphabet}を修正。
+% \changes{v1.4}{2006/06/27}{\break\cs{reDeclareMathAlphabet}を修正。
 %    ありがとう、ymtさん。}
-% \changes{v1.5}{2006/11/10}{\cs{reDeclareMathAlphabet}を修正。
+% \changes{v1.5}{2006/11/10}{\break\cs{reDeclareMathAlphabet}を修正。
 %    ありがとう、ymtさん。}
 % 数式モード内で、数式文字用の和欧文フォントを同時に切り替えるコマンドです。
 %
@@ -1031,8 +1053,8 @@
   \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
   \pickup@font
   \font@name
-%<trace>\ifnum \tracingfonts>\tw@
-%<trace>  \@font@info{Roman:Switching to \font@name}\fi
+%<trace>  \ifnum \tracingfonts>\tw@
+%<trace>    \@font@info{Roman:Switching to \font@name}\fi
   \enc@update
 %    \end{macrocode}
 % 最後に、サイズが変更されていれば、ベースラインの調整などを行ないます。
@@ -1136,7 +1158,7 @@
 %    \end{macrocode}
 % 和文フォントの基準値を設定します。
 %    \begin{macrocode}
-    \setbox\adjust@box\hbox{\char\euc"A1A1}%
+    \setbox\adjust@box\hbox{\char\euc"A1A1}%"
     \cht\ht\adjust@box
     \cdp\dp\adjust@box
     \cwd\wd\adjust@box
@@ -1523,7 +1545,7 @@
     \romanseries{\seriesdefault}%
     \romanshape{\shapedefault}%
     \selectfont\ignorespaces}
-	\adjustbaseline
+\adjustbaseline
 \let\reset@font\normalfont
 %    \end{macrocode}
 % \end{macro}
@@ -1621,8 +1643,66 @@
 %    \begin{macrocode}
 %<*pldefs>
 \ProvidesFile{upldefs.ltx}
-      [2000/07/13 v1.2u01 upLaTeX Kernel (Default settings)] 
+      [2016/04/06 v1.6a-u00 upLaTeX Kernel (Default settings)] 
+%    \end{macrocode}
+%
+% \subsection{合成文字}
+% \begin{macro}{\@text@composite}
+% \begin{macro}{\@text@composite@x}
+% \LaTeXe{}のカーネルのコードをそのまま使うと、p\TeX{}のベースライン
+% 補正量がゼロでないときに合成文字がおかしくなっていたため、対策します。
+% \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに
+%    \cs{AA}など一部の合成文字がおかしくなることへの対応。}
+%    \begin{macrocode}
+%</pldefs>
+%<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite}
+%<platexrelease>                   {Fix for non-zero baselineshift}%
+%<*pldefs|platexrelease>
+\def\@text@composite#1#2#3#{%
+  \begingroup
+  \setbox\z@=\hbox\bgroup%
+  \ybaselineshift\z@\tbaselineshift\z@
+  \expandafter\@text@composite@x
+  \csname\string#1-\string#2\endcsname}
+\def\@text@composite@x#1#2{%
+  \ifx#1\relax
+    \expandafter\@secondoftwo
+  \else
+    \expandafter\@firstoftwo
+  \fi
+  #1{#2}\egroup
+  \leavevmode
+  \expandafter\lower
+    \iftdir
+      \ifmdir
+        \ifmmode\tbaselineshift\else\ybaselineshift\fi
+      \else
+        \tbaselineshift
+      \fi
+    \else
+      \ybaselineshift
+    \fi
+    \box\z@
+  \endgroup}
+%</pldefs|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite}
+%<platexrelease>                   {Fix for non-zero baselineshift}%
+%<platexrelease>\def\@text@composite#1#2#3\@text@composite{%
+%<platexrelease>   \expandafter\@text@composite@x
+%<platexrelease>      \csname\string#1-\string#2\endcsname}
+%<platexrelease>\def\@text@composite@x#1{%
+%<platexrelease>   \ifx#1\relax
+%<platexrelease>      \expandafter\@secondoftwo
+%<platexrelease>   \else
+%<platexrelease>      \expandafter\@firstoftwo
+%<platexrelease>   \fi
+%<platexrelease>   #1}
+%<platexrelease>\plEndIncludeInRelease
+%<*pldefs>
 %    \end{macrocode}
+% \end{macro}
+% \end{macro}
 %
 % \subsection{イタリック補正}
 % \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が
@@ -1716,16 +1796,41 @@
 %
 % \begin{macro}{\em}
 % \begin{macro}{\emph}
+% \begin{macro}{\eminnershape}
 % \changes{v1.3d}{1997/06/25}{\cs{em},\cs{emph}で和文を強調書体に}
+% \changes{v1.6}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}での\cs{em}の
+%    定義変更に対応。\cs{eminnershape}を追加。}
 % 従来は|\em|, |\emph|で和文フォントの切り替えは行っていませんでしたが、
 % 和文フォントも|\gtfamily|に切り替えるようにしました。
+% \LaTeX\ \texttt{<2015/01/01>}で追加された|\eminnershape|も取り入れ、
+% 強調コマンドを入れ子にする場合の書体を自由に再定義できるようになりました。
 %    \begin{macrocode}
+%</pldefs>
+%<platexrelease>\plIncludeInRelease{2016/04/17}{\eminnershape}{\eminnershape}%
+%<*pldefs|platexrelease>
 \DeclareRobustCommand\em
-        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ 
-                       \mcfamily \upshape \else \gtfamily \itshape \fi}
+        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+                       \eminnershape \else \gtfamily \itshape \fi}%
+\def\eminnershape{\mcfamily \upshape}%
+%</pldefs|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
+%<platexrelease>\DeclareRobustCommand\em
+%<platexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ 
+%<platexrelease>                       \mcfamily \upshape \else \gtfamily \itshape \fi}
+%<platexrelease>\def\eminnershape{\upshape}% defined by LaTeX, but not used by pLaTeX
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+%<platexrelease>\DeclareRobustCommand\em
+%<platexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ 
+%<platexrelease>                       \mcfamily \upshape \else \gtfamily \itshape \fi}
+%<platexrelease>\let\eminnershape\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<*pldefs>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 %
 % \changes{v1.3b}{1997/01/30}{数式用フォントの宣言をクラスファイルに移動した}
-- 
cgit v1.2.3

