« WPF の縦書き実証実験 | Main | 縦書きの XPS »

2007.11.30

WPF の縦書き、さらに続く

image縦書き用の GSUB vert/vrt2 テーブルは、なんとか取れました。メイリオでは 99 のグリフが置換されるようになっているようです。ちなみに MS Gothic では 101。この差は何でしょうね。

ちなみに TrueType/OpenType のフォントテーブルはフォントのメーカーやフォントそのものによってかなりつくりに差があり、またデータのおかしいフォントも数多くあります。昔の Windows では、壊れたフォントを入れて表示すると Blue Screen、なんてこともよくありました。ので、直接テーブルを読みたくはない。

この実験コードでは、一応公開 API だけでなんとかここまで来れています。Interop は使っていますが。

image しかしフォントによってはこんなことに。句点「。」の位置もおかしいですが、他の文字も微妙に上下左右におかしくずれています。

グリフ置換はきちんと入って処理しているので、他の縦書きメトリックス系のテーブルをきちんと読まないと正しくレンダリングできないフォントは、もっときちんとやらなければいけないようです。

|

« WPF の縦書き実証実験 | Main | 縦書きの XPS »

Comments

ほうほう。なるほど。
Wordでは縦書きの際にグリフの横位置や縦位置をレンダリングしてから調整しているのでしょうね。
本来の微妙な位置を考えると、縦書きフォントと横書きフォントはベースラインが変わるはずなので、すべての文字が置き換えられるようになっていないといけないはずですものね。

Posted by: 中博俊 | 2007.11.30 at 04:59 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/2111/17231137

Listed below are links to weblogs that reference WPF の縦書き、さらに続く:

» re: XPSの縦書き [中の技術日誌ブログ]
re: XPSの縦書き [Read More]

Tracked on 2007.11.30 at 12:30 PM

» 縦書きの XPS [さすらいの .NET プログラマー]
WPF の縦書き、さらに続く でそこそこ表示できるようにはなったものの。 フォン [Read More]

Tracked on 2007.12.02 at 05:28 PM

« WPF の縦書き実証実験 | Main | 縦書きの XPS »