VPLファイルについて

Re: VPLファイルについて

- しっぽ 愛好家 の投稿
返信数: 2
そもそも,「左側」のイタリック補正というのはなかったような……(添付の書庫内の 20250617-1.tex のタイプセット結果を参照してください)
もっとも,添付の書庫内の 20250617-2.tex のようなことは可能といえば可能ですが.
# 仮想フォント altcmti10.vf を用いているので,このファイルおよび altcmti10.tfm を適切なディレクトリにおいてください.
# なお,これらのサンプルは私の作業環境(TeX Live 2018,非 LuaTeX)に基づいています.
 
[バグフィクス]
ファイル 20250617-2.tex の冒頭の
\@namedef{@dummychar@cmr/m/it}{128}
\expandafter\chardef\csname @dummychar@cmr/m/it\endcsname 128
に変更してください.
しっぽ 愛好家 への返信

Re: VPLファイルについて

- ut の投稿
しっぽ愛好家 さん

貴重なご指摘並びに、素晴らしい作例をご投稿くださり、誠にあり
がとうございます。

かず さん

しっぽ愛好家さんのご回答が、まさにかずさんが求めてらした回答
だと思いますので、そちらをご参照ください。


# なお、この件に限らず、よく分かってもいないのに私がでしゃば
# ってばかりいて、それが多くの上級者のみなさんをイラつかせて
# しまっていることは想像に難くなく、今さらながら申し訳なく思
# います。

# 私の回答もどきが、しっぽ愛好家さんによる正しいご回答のきっ
# かけとなったのであれば、私のでしゃばりも少しは役に立ったの
# かもしれないと、大目に見ていただけましたらありがたいです。

下の画像は、
 (1)しっぽ愛好家さんの 20250617-2.tex によるもの(f、j、p の
    イタリックに左側の補正あり、右側の補正も通常通りあり)
 (2)通常のイタリック(イタリック補正なし)
 (3)通常のイタリック(右側のイタリック補正のみあり)
です:

添付 3969_2.jpg
しっぽ 愛好家 への返信

Re: VPLファイルについて

- 本田 知亮 の投稿

私もこういう階層に手を入れるのは好きなんですが, なかなか小回りがききにくいというのもあるので ちょっと手軽なフェイク的なものを.

\textitの直前が空白ではないときに \textitの中の最初の文字がf,j,pのときに それぞれ5pt,10pt,15ptの\hskipを入れています.

\futureletで取得したトークンに\meaningをつけて \edefして文字列を取得する手法を真似させてもらいました. ちょっと泥臭いのとthe characterのケースは省いているのと フォントの大きさとか関係なくアキが固定なのは手抜きです.

\documentclass{article}

\makeatletter

\def \DeclareTextFontCommand@leftic #1#2{%
  \DeclareRobustCommand#1[1]{%
    \ifmmode
      \nfss@text{#2##1}%
    \else
      \hmode@bgroup
       \text@command{##1}%
       #2\check@icl\left@ic##1\check@icr
       \expandafter
      \egroup
    \fi
                       }%
}
\DeclareTextFontCommand@leftic{\textit}{\itshape}

\@namedef{fakeic@the letter f}{5pt}
\@namedef{fakeic@the letter j}{10pt}
\@namedef{fakeic@the letter p}{15pt}

\def\dofakeic{\edef\meaning@next@token{\meaning\token@next}%
              \hskip\csname fakeic@\meaning@next@token\endcsname}

\def\left@ic{%
\ifnum\lastnodetype=11\relax
\else
\expandafter\futurelet\expandafter\token@next\expandafter\dofakeic
\fi
}


\makeatother
\begin{document}
[\textit{f}]

[\textit{j}]

[\textit{p}]

aaa \textit{f} aaa \textit{f}

aaa \textit{j} aaa\textit{j}

aaa \textit{p} aaa\textit{p}

\end{document}