縦書きってどうなるの?
まぁともかくフォントだけ縦書き用のやつを使うとこうなる。
内部一切いじらず、ただフォントを縦書き用にしただけでここまで行ける。
全然調べてないけどおそらく縦書き対応アプリは、裏画面でこれを描画して90度回転させた物を表画面にコピーしてると思うよ。真魚だと背景まで回転しちゃうと困るから、裏画面に反時計回り回転の背景を描いて、表画面で時計回り回転をすることで元に戻す事になるな。それだったら内部で縦書きモードと通常モードを分離して書けば出来ないこともない。でもそれが出来たとしても、このスクリーンショットの様子を回転させただけみたいな表示にしかならない。なんか美しくないと思う。いろいろ面倒なことしてもこの程度じゃ納得出来ないと思うんだよね。
これ等幅フォントならまだいいけどプロポーショナルフォントの場合、半角文字は縦書きじゃないときと一緒だからいいんだけど、全角文字はたぶんプロポーショナルって言う概念がないはずなのに、フォント幅だけは一つ一つ指定されてるんだよ。そのフォント幅にしたがって描画すると詰まっておかしいから、設定されたフォント幅を無視して描画しなきゃ行けないんだけど、じゃあどこから幅を知り得るのかしら。テキトーに設定するのであればオプションで字間設定も出来るようにしないと行けないかも。
IMEも回転しなきゃ行けない、キーボード入力も回転しなきゃ行けない、スクロールバーも回転しなきゃ行けない、ホイールも回転しなきゃ行けない、キャレットは回転できるの?マウスカーソルは回転した物を用意しなきゃ行けない、結構やることあるなぁ。しかも自分では使わないから正解がわからない事が多くて難しいな。
真魚のフォント選択ダイアログでは縦書き用のフォントを排除しているけれども、とりあえず選べるようにだけしてもいいかなぁ。印刷の方はたぶんフォントを指定することだけでも出来れば結構使うかも。