構想
https://github.com/texjporg/japanese-otf-mirror/blob/7a7c3cc0e600f5d1a2716832c661255fc1a38dbc/japanese-otf-uptex/script/umkpkana.pl#L319
ここの__DATA__
以降を自動で生成すればよさそう。
そしてそれはtexluaでいけそう?
fontloaderのglyphs[\(i\)].width (http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf#%5B%7B%22num%22%3A791%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22Fit%22%7D%5D) とか。
さらについでに,font.read_tfm(...)
とかでTFM譜を直接読めるっぽい (http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf#%5B%7B%22num%22%3A209%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22Fit%22%7D%5D)。
font.read_tfm()で読んで,その.width
を↑で求めた幅に書き換えれば良い?
もしかしたらOTFの幅だけでは不足かも。kern情報とかありそう?
GPOSも必要?不要? (この記事によるとGPOSがないと詰組の情報取れない?)
luatexはGPOSも取れるので,もし必要でも大丈夫か (http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf#%5B%7B%22num%22%3A850%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22Fit%22%7D%5D)
とりあえず(u)pTeXで詰組できればいいので,まずは原ノ味で確かめる。OTF譜と詰組用TFM譜があるので,検証に便利。
https://github.com/zr-tex8r/PXharapro/tree/master/tfm
このへんのTFMが持つ幅をfont.read_tfm(...)
→.width
で読んだ値と
https://github.com/trueroad/HaranoAjiFonts
のOTFの幅をglyphs[\(i\)].widthで読んだ値とを見比べたりして仮定を確かめよ。