diff options
author | Karl Berry <karl@freefriends.org> | 2016-07-01 22:02:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-07-01 22:02:58 +0000 |
commit | 511d12ce71d7023f76adc3e05490d24638bd0d69 (patch) | |
tree | 333b108d0def6e5625e9164444055bd9a657b8c8 /Master/texmf-dist/source/uplatex/base/uplfonts.dtx | |
parent | 32d874778719320f86ce71995a941d97f907edb4 (diff) |
uplatex (1jul16)
git-svn-id: svn://tug.org/texlive/trunk@41594 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 | 190 |
1 files changed, 114 insertions, 76 deletions
diff --git a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx index 61aeaf62327..016758a51c6 100644 --- a/Master/texmf-dist/source/uplatex/base/uplfonts.dtx +++ b/Master/texmf-dist/source/uplatex/base/uplfonts.dtx @@ -14,7 +14,7 @@ % % \fi % -% \CheckSum{2029} +% \CheckSum{2061} %% \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 @@ -79,13 +79,17 @@ % 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} % \changes{v1.6c-u00}{2016/06/06}{p\LaTeX{}の変更に追随。} % \changes{v1.6d}{2016/06/19}{アクセント付き文字をさらに修正(forum:1951)} +% \changes{v1.6d-u00}{2016/06/19}{p\LaTeX{}の変更に追随。} +% \changes{v1.6e}{2016/06/26}{v1.6a以降の修正で全てのアクセント付き文字で +% トラブルが相次いだため、いったんパッチを除去。} +% \changes{v1.6e-u00}{2016/06/29}{p\LaTeX{}の変更に追随。} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{uplfonts.dtx}[2016/06/19 v1.6d-u00 upLaTeX New Font Selection Scheme] +\ProvidesFile{uplfonts.dtx}[2016/06/29 v1.6e-u00 upLaTeX New Font Selection Scheme] % \iffalse \documentclass{jltxdoc} \GetFileInfo{uplfonts.dtx} @@ -1647,33 +1651,42 @@ % \begin{macrocode} %<*pldefs> \ProvidesFile{upldefs.ltx} - [2016/06/19 v1.6d-u00 upLaTeX Kernel (Default settings)] + [2016/06/29 v1.6e-u00 upLaTeX Kernel (Default settings)] %</pldefs> % \end{macrocode} % % \subsection{合成文字} % \LaTeXe{}のカーネルのコードをそのまま使うと、p\TeX{}のベースライン % 補正量がゼロでないときに合成文字がおかしくなっていたため、対策します。 -% \begin{macrocode} -%<platexrelease>\plIncludeInRelease{2016/06/10}{\@text@composite} -%<platexrelease> {Fix for non-zero baselineshift}% -%<*pldefs|platexrelease> -% \end{macrocode} +% % \begin{macro}{\g@tlastchart@} % \TeX\ Live 2015で追加された\cs{lastnodechar}を利用して、 % 「直前の文字」の符号位置を得るコードです。\cs{lastnodechar}が未定義の場合は % $-1$が返ります。 % \changes{v1.6c}{2016/06/06}{マクロ追加} % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2016/06/10}{\g@tlastchart@} +%<platexrelease> {Added \g@tlastchart@}% +%<*pldefs|platexrelease> \def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi} +%</pldefs|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\g@tlastchart@} +%<platexrelease> {Added \g@tlastchart@}% +%<platexrelease>\let\g@tlastchart@\@undefined +%<platexrelease>\plEndIncludeInRelease % \end{macrocode} % \end{macro} +% % \begin{macro}{\pltx@isletter} % 第一引数のマクロ(|#1|)の置換テキストが、カテゴリコード11か12の文字トークン1文字であった % 場合に第二引数の内容に展開され、そうでない場合は第三引数の内容に展開されます。 % \changes{v1.6c}{2016/06/06}{マクロ追加} % \changes{v1.6d}{2016/06/19}{アクセント付き文字をさらに修正(forum:1951)} % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2016/06/10}{\pltx@isletter} +%<platexrelease> {Added \pltx@isletter}% +%<*pldefs|platexrelease> \def\pltx@mark{\pltx@mark@} \let\pltx@scanstop\relax \long\def\pltx@cond#1\fi{% @@ -1692,83 +1705,114 @@ \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi {\@firstoftwo}{\@secondoftwo}% }{\@secondoftwo}} +%</pldefs|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@isletter} +%<platexrelease> {Added \pltx@isletter}% +%<platexrelease>\let\pltx@isletter\@undefined +%<platexrelease>\plEndIncludeInRelease % \end{macrocode} % \end{macro} +% % \begin{macro}{\@text@composite} -% \begin{macro}{\@text@composite@x} +% 合成文字の内部命令です。v1.6aで誤って\LaTeX{}の定義を上書きしてしまいました +% が、v1.6cで外しました。 % \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに -% \cs{AA}など一部の合成文字がおかしくなることへの対応。} -% \changes{v1.6c}{2016/06/06}{v1.6aでの修正で\'e など全てのアクセント付き文字で -% 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} +% \cs{AA}など一部の合成文字がおかしくなることに対応するため再定義} +% \changes{v1.6c}{2016/06/06}{v1.6aでの誤った再定義を削除(forum:1941)} % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2016/06/10}{\@text@composite} +%<platexrelease> {Wrong 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} -\def\@text@composite@x#1#2{% - \ifx#1\relax - #2% - \else\pltx@isletter{#1}{#1}{% - \begingroup - \setbox\z@\hbox\bgroup% - \ybaselineshift\z@\tbaselineshift\z@ - #1% - \g@tlastchart@\@tempcntb - \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}% - \aftergroup\pltx@composite@temp - \egroup -% \end{macrocode} -% \begin{macrocode} - \ifnum\@tempcntb<\z@ - \@tempdima=\iftdir - \ifmdir - \ifmmode\tbaselineshift\else\ybaselineshift\fi - \else - \tbaselineshift - \fi - \else - \ybaselineshift - \fi - \@tempcntb=\@cclvi - \else\@tempdima=\z@ - \fi -% \end{macrocode} -% アクセントが付く「本体の文字」が欧文文字と推測される場合には、 -% 一旦数式モードに入ることによって\cs{xkanjiskip}が前後に入るようにします。 -% 必要なら、数式モードの前後に\cs{null}を補って\cs{xkanjiskip}の挿入を抑制します。 -% \begin{macrocode} - \ifnum\@tempcntb<\@cclvi - \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi - \ifodd\xspcode\@tempcntb\else\leavevmode\hbox{}\fi - \fi\fi - \begingroup\mathsurround\z@$% - \ifx\textbaselineshiftfactor\@undefined\else - \textbaselineshiftfactor\z@\fi - \box\z@ - $\endgroup% - \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi - \ifnum\xspcode\@tempcntb<2\hbox{}\fi - \fi\fi -% \end{macrocode} -% \begin{macrocode} - \else - \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}% - \else\lower\@tempdima\box\z@\fi - \fi - \endgroup}% - \fi -} -%</pldefs|platexrelease> %<platexrelease>\plEndIncludeInRelease %<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite} -%<platexrelease> {Fix for non-zero baselineshift}% -%<platexrelease>\let\g@tlastchart@\@undefined -%<platexrelease>\let\pltx@isletter\@undefined +%<platexrelease> {Wrong fix for non-zero baselineshift}% %<platexrelease>\def\@text@composite#1#2#3#{% %<platexrelease> \begingroup %<platexrelease> \setbox\z@=\hbox\bgroup% %<platexrelease> \ybaselineshift\z@\tbaselineshift\z@ %<platexrelease> \expandafter\@text@composite@x %<platexrelease> \csname\string#1-\string#2\endcsname} +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite} +%<platexrelease> {Wrong 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>\plEndIncludeInRelease +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@text@composite@x} +% 合成文字の内部命令です。|\g@tlastchart@|と|\pltx@isletter|を使います。 +% \changes{v1.6a}{2016/04/01}{ベースライン補正量が0でないときに +% \cs{AA}など一部の合成文字がおかしくなることへの対応。} +% \changes{v1.6c}{2016/06/06}{v1.6aでの修正で\'e など全てのアクセント付き文字で +% 周囲に\cs{xkanjiskip}が入らなくなっていたのを修正。} +% \changes{v1.6e}{2016/06/26}{v1.6a以降の修正で全てのアクセント付き文字で +% トラブルが相次いだため、いったんパッチを除去。} +% \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2016/07/01}{\@text@composite@x} +%<platexrelease> {Fix for non-zero baselineshift}% +%<platexrelease>\def\@text@composite@x#1{% +%<platexrelease> \ifx#1\relax +%<platexrelease> \expandafter\@secondoftwo +%<platexrelease> \else +%<platexrelease> \expandafter\@firstoftwo +%<platexrelease> \fi +%<platexrelease> #1} +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{2016/06/10}{\@text@composite@x} +%<platexrelease> {Fix for non-zero baselineshift}% +%<platexrelease>\def\@text@composite@x#1#2{% +%<platexrelease> \ifx#1\relax +%<platexrelease> #2% +%<platexrelease> \else\pltx@isletter{#1}{#1}{% +%<platexrelease> \begingroup +%<platexrelease> \setbox\z@\hbox\bgroup% +%<platexrelease> \ybaselineshift\z@\tbaselineshift\z@ +%<platexrelease> #1% +%<platexrelease> \g@tlastchart@\@tempcntb +%<platexrelease> \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}% +%<platexrelease> \aftergroup\pltx@composite@temp +%<platexrelease> \egroup +%<platexrelease> \ifnum\@tempcntb<\z@ +%<platexrelease> \@tempdima=\iftdir +%<platexrelease> \ifmdir +%<platexrelease> \ifmmode\tbaselineshift\else\ybaselineshift\fi +%<platexrelease> \else +%<platexrelease> \tbaselineshift +%<platexrelease> \fi +%<platexrelease> \else +%<platexrelease> \ybaselineshift +%<platexrelease> \fi +%<platexrelease> \@tempcntb=\@cclvi +%<platexrelease> \else\@tempdima=\z@ +%<platexrelease> \fi +%<platexrelease> \ifnum\@tempcntb<\@cclvi +%<platexrelease> \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi +%<platexrelease> \ifodd\xspcode\@tempcntb\else\leavevmode\hbox{}\fi +%<platexrelease> \fi\fi +%<platexrelease> \begingroup\mathsurround\z@$% +%<platexrelease> \ifx\textbaselineshiftfactor\@undefined\else +%<platexrelease> \textbaselineshiftfactor\z@\fi +%<platexrelease> \box\z@ +%<platexrelease> $\endgroup% +%<platexrelease> \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi +%<platexrelease> \ifnum\xspcode\@tempcntb<2\hbox{}\fi +%<platexrelease> \fi\fi +%<platexrelease> \else +%<platexrelease> \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}% +%<platexrelease> \else\lower\@tempdima\box\z@\fi +%<platexrelease> \fi +%<platexrelease> \endgroup}% +%<platexrelease> \fi +%<platexrelease>} +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite@x} +%<platexrelease> {Fix for non-zero baselineshift}% %<platexrelease>\def\@text@composite@x#1#2{% %<platexrelease> \ifx#1\relax %<platexrelease> \expandafter\@secondoftwo @@ -1790,13 +1834,8 @@ %<platexrelease> \box\z@ %<platexrelease> \endgroup} %<platexrelease>\plEndIncludeInRelease -%<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite} +%<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite@x} %<platexrelease> {Fix for non-zero baselineshift}% -%<platexrelease>\let\g@tlastchart@\@undefined -%<platexrelease>\let\pltx@isletter\@undefined -%<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 @@ -1808,7 +1847,6 @@ %<*pldefs> % \end{macrocode} % \end{macro} -% \end{macro} % % \subsection{イタリック補正} % \changes{v1.3i}{2000/07/13}{\cs{text..}コマンドの左側に\cs{xkanjiskip}が |