texjporg / japanese-otf-mirror

Unofficial mirror of japanese-otf(-uptex) and hiraprop
Other
4 stars 1 forks source link

\UTF{}, \UTFM{}の半角片仮名 #17

Closed t-tk closed 2 years ago

t-tk commented 4 years ago

現状、otfパッケージ (japanese-otf) の \UTF{}, \UTFM{} で半角片仮名 U+FF61..FF9F の文字幅が全角のままになっています。japanese-otf-uplatexも同じフォントを使うので同様の結果になります。これを半角で出せるようにパッチを書いてみました。

私の手元では上手く動いているようです。 しばらくここで検討した後、原作者の齋藤さんにリクエストを出そうと思います。

t-tk commented 4 years ago

今回私が触ったコードの一部で既存のコードにtypoがあったようです。

https://github.com/texjporg/japanese-otf-mirror/commit/241394ccebb2343c31e8ac52c13751e1617956a7 https://github.com/texjporg/japanese-otf-mirror/commit/22d98c42f26fc98a9055cc46baa704d84eea698a

生成される\UTFM{} 用のvf 64個が影響を受けてバイナリーの中身が変わります。しかし、組版結果には影響は及ばないと思っています。 utfgr[0-9a-f]-[hv].vf :: 32個 utfmr[0-9a-f]-[hv].vf :: 32個

t-tk commented 4 years ago

半角片仮名対応で修整したスクリプトは script/mktfm.pl, script/mkutfvf.pl, script/mkaltutfvf.pl

更新されるvf,tfmは

\UTF{}用

vf/utfj*f-[hv].vf (7書体,14個)
tfm/utfj*f-[hv].tfm (7書体,14個)
tfm/otf-uj*-[hv].tfm (7書体,14個)

\UTF{}かつjis2004オプション用

vf/utfj*nf-[hv].vf (7書体,14個)
tfm/utfj*nf-[hv].tfm (7書体,14個)
tfm/otf-uj*n-[hv].tfm (7書体,14個)

\UTFM{}用

vf/utf{mr,gr}f-[hv].vf (2書体,14個)

7書体とは 明朝体・細字(\mcfamily\ltseries) ml 明朝体・中字(\mcfamily\mdseries) mr 明朝体・太字(\mcfamily\bfseries) mb ゴシック体・中字(\gtfamily\mdseries) gr ゴシック体・太字(\gtfamily\bfseries) gb ゴシック体・極太(\gtfamily\ebseries) ge 丸ゴシック体(\mgfamily) mgr

サブフォントの対応関係は U+FF61..FF6F → 0x6D5x U+FF70..FF7F → 0x6D6x U+FF80..FF8F → 0x6E3x U+FF90..FF9F → 0x6E4x

テストサンプル

test/hankana_test.tex
t-tk commented 3 years ago

18 と重複になりますが、備忘録として現状(2020/11時点)を記載します。

package engine macro internal code halfwidth-kana support
japanese-otf pLaTeX \UTF{} subfont no
japanese-otf pLaTeX \UTFM{} subfont no
japanese-otf-uptex upLaTeX \UTF{} Unicode yes
jjapanese-otf-uptex upLaTeX \UTFM{} subfont no
aminophen commented 3 years ago

Karl さんからの「tfm file conflicts between japanese-otf{,-uptex}」のメールの件ですが,そもそも j-otf と j-otf-uptex を CTAN に別々にアップロードする意義は薄いのではないか?という気がしてきました。j-otf 自体も齋藤さんご自身ではなく texjporg が代理で CTAN に上げていますので,j-otf-uptex だけに統一してしまうのはどうでしょうか。

t-tk commented 2 years ago

本機能はTeX JP org版という位置づけで master にマージして先ほど CTAN に投稿しました。ここは閉じます。 現状、以下のようになっていると思います。japanese-otf-uptex の \UTFM{} はどうだったか、記憶が定かではありません。気が向いたら再調査します。

package engine macro internal code halfwidth-kana support
japanese-otf pLaTeX \UTF{} subfont yes
japanese-otf pLaTeX \UTFM{} subfont yes
japanese-otf-uptex upLaTeX \UTF{} Unicode yes
jjapanese-otf-uptex upLaTeX \UTFM{} subfont yes

(2022/02/20追記) upLaTeX & \UTFM{} も半角片仮名が正常に組めることを確認しました。

t-tk commented 2 years ago

upLaTeX & \UTFM{} も半角片仮名が正常に組めることを確認しました。 subfont形式でpLaTeXに使用するものと同じ vf & tfm が使われるので、確かにこうなるはずです。 サンプル: https://github.com/t-tk/japanese-otf-uptex/blob/master/japanese-otf-uptex/test/uplatex/uotftest-utf8.tex