FontBBox Viewer 開発記録

FontBBox Viewerの説明のつもりでしたが、途中でいろいろ仕様を変えたので、開発記録ということにしましたよ。
25
前へ 1 ・・ 3 4
ものかの @monokano

1.2.0変更点③「embox」でボディを矩形表示できるようにしました。 pic.twitter.com/pF9dm486cF

2017-03-27 00:43:52
拡大
ものかの @monokano

1.2.0変更点④「横組み/縦組み」で表示を切り替えるようにしました。 pic.twitter.com/2TantV6TqC

2017-03-27 00:48:39
拡大
拡大
ものかの @monokano

1.2.0変更点⑤CJKのTrueTypeフォントのemboxをなるべく正確に表示するようにしました。 pic.twitter.com/gYoqvUmTct

2017-03-27 00:54:44
拡大
ものかの @monokano

#FontBBoxViewer v1.2でどのようにemboxを判定するのかを書いておきます。microsoft.com/typography/ots… のIdeographic Em-Boxに判定方法が書いてあるんだけど、これだとCJKのTrueTypeでうまく判定できないものがある。

2017-03-27 01:02:23
ものかの @monokano

#FontBBoxViewer とにかく、embox判定には「EmboxTopがどこなのか」「横組時のEmboxHeightは何なのか」をはっきりさせないといけない。Base.HorizAxis.idtpがまさにEmboxTopのことなので、これがあれば無問題。

2017-03-27 01:09:40
ものかの @monokano

#FontBBoxViewer でもBase.HorizAxis.idtpを明示しているのは、自宅のmacOS環境ではHannotateとHanziPenくらいで、実はほとんどすべてで明示されていない。 pic.twitter.com/EwbWgSaYj5

2017-03-27 01:14:47
拡大
ものかの @monokano

#FontBBoxViewer でもBaseテーブルがあればHorizAxis.ideoは必ず明示されているので「head.unitsPerEm+HorizAxis.ideo」をEmboxTopと見なすことができる。

2017-03-27 01:19:45
ものかの @monokano

#FontBBoxViewer あ、書き忘れたけど、emboxで描画するかどうかはvmtxテーブルの有無で決めている。vmtxがなければ、描画するのはadvanceWidthだけ。ここで説明しているEmbox判定は、vmtxがあるフォントだけが対象。

2017-03-27 01:25:44
ものかの @monokano

#FontBBoxViewer で、問題はBaseテーブルがないフォントの場合。そこでCFFのCID-keyedはOS/2.sTypoAscenderをEmboxTopと決めつけることにした。InDesignもそうしているように見えたので。

2017-03-27 01:29:23
ものかの @monokano

#FontBBoxViewer で、残るはTrueTypeなんだけど、EmboxTopを決めるには、OS/2.sTypoAscenderか、任意のグリフのyMax + vmtx.topSideBearing、この2つのどちらかということになる。たぶん。

2017-03-27 01:37:37
ものかの @monokano

#FontBBoxViewer で、TrueTypeのOS/2.sTypoAscenderが全然あてにならないんだわ。ということで、任意のグリフのyMax + vmtx.topSideBearingで算出することにした。

2017-03-27 01:41:21
ものかの @monokano

#FontBBoxViewer 本当はInDesignと同じになるようにしたかったんだけど、InDesignはTrueTypeでOS/2.TypoAscenderだったりそうじゃなかったりして、どこでその違いが発生するのか全然分からなかった…

2017-03-27 01:46:48
ものかの @monokano

#FontBBoxViewer まとめると、こういうことになる。これでいいのかどうか全然自信ない。でも落とし所として、今はこれしかできない… pic.twitter.com/e5I2iBqgvw

2017-03-27 01:53:01
拡大
ものかの @monokano

1.2.0変更点⑥VORGがなくてもvmtxがあればそこからVORGのシミュレーション値を算出するようにした。 pic.twitter.com/l6BiaXbicE

2017-03-27 02:52:53
拡大
ものかの @monokano

#FontBBoxViewer vmtxを反映するようにしたので、Wawati SCやWeibei SCのvmtxがぶっ壊れてるのも分かるようになった。macOSバンドルフォントとは思えないレベル… pic.twitter.com/pMGnLZvxoY

2017-03-27 03:07:04
ものかの @monokano

当初は #FontBBoxViewer のバグかと思ったけど、InDesignで縦組みにすると全く同じ挙動になるのでフォント側のバグでござる。

2017-03-27 03:15:13
ものかの @monokano

#FontBBoxViewer あ、そうだ。Wawati SCやWeibei SCは、VORGテーブル自体はあるんだけど、中身が空なんだ。VORGが空のときもシミュレーション値を算出して、vmtxを反映するようにしている。

2017-03-27 03:21:49
ものかの @monokano

FontBBox全然関係ないな(リピート)

2017-03-27 03:30:03
前へ 1 ・・ 3 4