« WPF TextBox の Visual Tree | Main | WPF の縦書き、さらに続く »

2007.11.28

WPF の縦書き実証実験

句読点がこんな形の縦書き画面ショット だけ掲載しても後味が悪いので、さらに実証実験を続けます。

WPF の縦書き実証実験まず Word でメイリオを指定して、縦書きにして XPS で保存します。その中を覗くと、メイリオの句点「。」の縦書き用グリフインデックスが 9236 であることが分かります。

あとは、TextBox の Visual Tree を解析して GlyphRun を作る時に、「。」の場所だけ GlyphIndices を置き換えてやります。結果がこちら⇒

さて。できることは分かりました。句点の位置が少しずれただけだけど、先の画面での不思議な落ち着かなさがなくなりました。

あとは、フォントから GSUB を読み取って、vertvrt2 のテーブルに従って GlyphIndices を置き換えてやれば、すごく基本的な縦書きの表示まではできそうです。

問題は、これらのテーブルを読み取るための API が WPF にはないので、自作するか、Uniscribe を触ってみるか、というあたりで迷い中。

気がつけば、Microsoft Typography Specifications にはこれだけの言語のフォントの作り方がある のに、その中に日本語の縦書きについては記述がないですね。WPF 1.0 で縦書きを忘れられたのはこの辺から来ているのでは、という気もします。

|

« WPF TextBox の Visual Tree | Main | WPF の縦書き、さらに続く »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

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

Listed below are links to weblogs that reference WPF の縦書き実証実験:

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

Tracked on 2007.11.28 at 10:47 PM

» WPF の縦書き、さらに続く [さすらいの .NET プログラマー]
縦書き用の GSUB vert/vrt2 テーブルは、なんとか取れました。メイリ [Read More]

Tracked on 2007.11.30 at 12:28 PM

« WPF TextBox の Visual Tree | Main | WPF の縦書き、さらに続く »