sue@blog ~ /posts/ai-image-japanese-vertical-text
$ cd ../
$ cat post.metadata

画像生成AIに縦書きを描かせる — 単一列はいけるが、複数列の“右→左”が鬼門

date: 2026-06-16 生成AI 縦書き 検証
4つ目は組版の話。「縦書きは崩れる」と身構えていたが、短い縦書きは意外と描ける。崩れるのは字形そのものよりレイアウト(読み順・回転)のほうだった。
「周辺日本語トラブル」編(全8回)
画像内: A 和欧混植B 異体字・旧字体C 濁点・小書き・長音D 縦書き(この記事)E 擬似日本語の湧き | 画像の外: F OCRG LLMトークナイザH TTS
漢字崩れの本編は ① 症状と対処② なぜ崩れる③ 実装対策④ 崩れやすい字リスト

先に結論


1. 短い縦書きは描ける

和風の縦看板「新春初売り」で試した。左が弱経路(単一列)、右が gpt-image-2(2列の毛筆)。

弱経路で『新春初売り』が単一列の縦書きで正しく並んでいる
gpt-image-1.5 / 透過 / low。単一列「新春初売り」は縦に正しく並ぶ。
gpt-image-2で『新春/初売り』が2列の毛筆で右から左に並んでいる
gpt-image-2 / 不透明 / low。2列「新春/初売り」を右→左の正しい縦書きで毛筆描画。

どちらも縦に正しく並び、gpt-image-2 は2列を右の行から左へ読む正しい縦書きになっている。「縦書き=即崩れる」ではない、というのが正直な結果。短い祝い文句・のれん・短冊くらいなら生成でいける。


2. 鬼門は字形ではなくレイアウト

崩れるとしたら、字そのものより並べ方だ。縦書きでだけ起きる事故を整理する。

縦書き特有のトラブル中身
列の読み順が逆複数列で左→右に読ませてしまう(日本語の縦書きは右→左)。列が増えるほど崩れやすい。
行内の文字回転個々の文字が横倒し・90°回転して並ぶ。横書きを無理に縦に積んだような見た目。
約物・長音の向き長音「ー」が縦組みで横棒のまま、括弧「()」やダッシュが回転しない、句読点の位置がずれる。
列の高さ・字間の不揃い列ごとに文字数や字間が揃わず、整然と組めない。

本編②の力学で言えば、縦書きは訓練データ中での出現が横書きより少ない長尾レイアウト。だから「字は知っていても、正しい縦の並べ方」は安定しない。列が増え、文字種が混ざるほど不利になる。


3. 対策

生成で出すなら短い単一列に寄せる

のれん・短冊・一行看板のような1列・数文字に絞り、gpt-image-2・不透明を使う。これなら今回のように実用的な縦書きが出る。

配置が意味を持つ縦書きは組版で作る

住所・俳句・縦メニュー・複数列の本文など、読み順と改行が意味を持つものは生成任せにしない。文字なし背景を生成 → 文字は CSS writing-mode: vertical-rl や縦組み対応の描画で重ねる。読み順も改行も約物の向きも、こちらで正しく制御できる(本編③のフォント合成の縦書き版)。

避ける工夫


まとめ

縦書きは「全部崩れる」ではなく、短い単一列はいける/複数列のレイアウトが鬼門。字形より読み順と回転が問題になるのが横書きとの違い。短い看板は gpt-image-2 で、配置が命の縦書きは writing-mode や合成で組むのが落とし所。次は擬似日本語の湧き(頼んでないのに看板に崩れ文字が出る問題)へ。

シリーズ
周辺トラブル編: A 和欧混植B 異体字・旧字体C 濁点・小書き・長音D(この記事)E 擬似日本語の湧きF OCRG LLMトークナイザH TTS | 本編: ① 症状と対処② なぜ崩れる③ 実装対策④ 崩れやすい字リスト
sue@blog ~ $ _