西海岸より

つらつらざつざつと

iPhoneで縦書きを表現する方法(nehan)

iPhoneで縦書きを表示する方法は提供されていないが、nehanという日本語のレイアウトエンジンを使うことで表示可能。

nehan

MITライセンスのOSSで公開されており、複数ブラウザに対応しておりiPhoneWebKit(UIWebview)でも同じく利用可能だした。
ルビ、引用、太字、リンク、さらには禁則処理まで提供されており、見た目にも違和感が無い縦書きが実現されてます。

少し実装を見たところ、レイアウトは縦に等幅フォント的に並べており、禁則処理は各行1字から2字程度あけていて、禁則文字が来たらそこに埋めるという実装に。
今回、行によって等幅揃え(justify)をしてほしいという要求があったので、そのままでは無理、ということで残念ながらパス。

あとは、外字を文字として挿入する場合にそのままではうまくいかなかった。。
挿絵として認識されて、回り込みの処理がされてしまうのかな。

でも利用するにはお手軽でよいライブラリです。