FONT PREVIEW 日本語書体 見本帳 68書体を実測 / CSS コピー対応
VERTICAL WRITING

縦書きに使える日本語フォント

Google Fonts の日本語68書体で、縦書きにすると形が変わる47字(句読点・長音と波線・括弧・小書きの仮名)が、縦書き用の字形に置き換わるかを1字ずつ数えました。 47字すべてそろうのは23ファミリー、縦書き用の字形を1つも持たないのは3ファミリーです。手元の文章を縦に組んで、2書体を並べて確かめられます。

縦書きテスター — 2書体を並べて縦に組む

入力した文章を、選んだ書体で縦に組みます(CSS の writing-mode: vertical-rl)。下の欄には、入力した字のうち、その書体では縦書き用の字形にならない字と、書体に無い字を出します(判定の対象は下の表と同じ47字)。

Noto Sans JP

「ちょっと待って」と、彼女は言った。 コーヒーはすっかり冷めていた〜。(午後三時)

Murecho

「ちょっと待って」と、彼女は言った。 コーヒーはすっかり冷めていた〜。(午後三時)

書体の後ろの数字は、47字のうち縦書き用の字形に置き換わる字の数です(◎○×は主要8字と vmtx での判定なので、◎でも数字が小さい書体があります)。書体は、入力した字だけを Google Fonts から読み込みます(入力の先頭400字から、重複を除いて200字まで)。

縦書きで形が変わる字と、フォント側の準備

縦書きでも、漢字や仮名の多くは横書きと同じ形のまま正立で並びます。ところが句読点・括弧・長音記号・小書きの仮名は、横書きの形のままだと向きや位置が合いません。Unicode の UAX #50(Unicode Vertical Text Layout)は字ごとに縦書きでの扱いを決めていて、このページで数えた47字のうち、句読点と小書きの仮名は「Tu」、長音記号・波線・括弧は「Tr」に分類されています(Unicode 18.0.0 の VerticalOrientation.txt)。

Tu: Characters which are not just upright or sideways, but generally require a different glyph than in the code charts when used in vertical texts. In addition, as a fallback, the character can be displayed with the code chart glyph upright. / Tr: Same as Tu except that, as a fallback, the character can be displayed with the code chart glyph rotated 90 degrees clockwise.

訳:Tu=正立か横倒しかだけでは済まず、縦書きでは一般にコード表とは別の字形が要る字。代替表示として、コード表の字形を正立で表示することもできる。Tr=Tu と同じだが、代替表示はコード表の字形を時計回りに90度回したもの。
出典:UAX #50 Unicode Vertical Text Layout(Unicode 18.0.0・2026-10-05 確認)

縦書き用の字形を用意するのはフォントの役目です。OpenType では vert(Vertical Alternates)という機能が、横書きの字形を縦書き用の字形に置き換えます。仕様には、小書きの「ぁ」を右上に寄せた字形に置き換える例が載っています。

In vertical writing mode, the glyph for HIRAGANA LETTER SMALL A (U+3041 “ぁ”) is transformed into a glyph that is shifted up and to the right, which is properly positioned for upright presentation in vertical writing mode.

訳:縦書きでは、小書きの「ぁ」(U+3041)の字形は、上と右に寄せた字形に置き換えられる。これが縦書きで正立に置くときの正しい位置になる。
出典:OpenType 1.9.1 Registered features u–z(vert)(2024-04-15 版)

CSS の仕様は、縦書きではこの vert を有効にするよう求めています。一方で、フォントが縦書き用の字形を持たない「Tr」の字について、ブラウザが横倒しで補うことは期待していません。

Additionally, font features (such as alternate glyphs and other transformation) intended for use in vertical typesetting must be used. (E.g. the OpenType vert feature must be enabled.) … In the case of Tr characters, if such vertical alternate glyphs are missing from the font, the UA may wish to [RFC6919] (but is not expected to) synthesize the missing glyphs by typesetting them sideways etc.

訳:縦組み用のフォント機能(代替字形など)は使わなければならない(例:OpenType の vert を有効にする)。…Tr の字について、フォントに縦書き用の代替字形が無い場合、UA(ブラウザ)は横倒しにするなどして補ってもよいが、そうすることは期待されていない。
出典:CSS Writing Modes Level 3(W3C 勧告 2019-12-10 版)

Chromium 148 で実際に組んで確かめたところ、縦書き用の字形を持たない字は縦用の形に置き換わらず、横書きの形のまま並びました(Murecho の「ー」、Kosugi Maru の「〜」、Sawarabi Gothic の句読点・括弧・「ー」など)。「ー」が横棒のまま、句読点が横書きと同じ位置のまま並ぶので、縦書きでは目立ちます。逆に、縦書き用の字形に置き換わっても位置まで整うとは限りません。同じ Chromium 148 で Dela Gothic One はかぎ括弧(「 」)が縦書き用の字形に置き換わるものの、隣の字に重なって描かれました。下の表の数字は置き換えの有無なので、仕上がりは上のテスターで確かめてください。Firefox と Safari では確認していません。

このほか、68書体のうち64ファミリーが縦書き用の字送り(vmtx)を持ちます。vpal(縦組みのプロポーショナル詰め)と vkna(縦書き専用の仮名)は、OpenType の仕様で「既定ではオフ」とされる任意の機能で、使うときは CSS の font-feature-settings で指定します。vpal は14ファミリー、vkna は47ファミリーが持っています。

68書体の縦書き対応(47字を1字ずつ)

数字は、その群の字のうち縦書き用の字形(vert)に置き換わる字の数です。句読点4字(、 。 , .)・長音と波線3字(ー 〜 ~)・括弧18字・小書きの仮名22字。群ごとに全部そろう書体は、句読点 48、長音・波線 23、括弧 49、小書き仮名 55ファミリーでした。 判定(◎○×)は実測一覧と同じ基準で、◎=主要8字(、 。 ー 「 」 ( ) 〜)の縦用字形と vmtx がそろう/○=一部が欠ける/×=vert(vrt2)を持たない。「収録の無い字」は書体に字そのものが無く、別の書体で表示される字です。計測は Google Fonts が配布するフォントファイル(400 に最も近いウェイト)を fontTools で読み、vert の単純置換を数えました。

書体判定句読点長音・波線括弧小書き仮名vmtxvpalvkna縦用字形にならない字収録の無い字
Noto Sans JP◎4/43/318/1822/22ありあり—なしなし
M PLUS 1p◎4/43/318/1822/22あり——なしなし
Noto Serif JP◎4/43/318/1822/22ありあり—なしなし
M PLUS Rounded 1c◎4/43/318/1822/22あり——なしなし
Stick◎4/43/318/1822/22ありあり—なしなし
Rampart One◎4/43/318/1822/22ありありありなしなし
Yusei Magic◎4/43/318/1822/22あり—ありなしなし
Shippori Mincho◎4/43/318/1822/22ありありありなしなし
BIZ UDPGothic◎4/43/318/1822/22あり—ありなしなし
LINE Seed JP◎4/43/318/1822/22あり——なしなし
IBM Plex Sans JP◎4/43/318/1822/22ありあり—なしなし
Hachi Maru Pop◎4/43/318/1822/22あり—ありなしなし
DotGothic16◎4/43/318/1822/22あり——なしなし
Klee One◎4/43/318/1822/22ありありありなしなし
Shippori Mincho B1◎4/43/318/1822/22ありありありなしなし
RocknRoll One◎4/43/318/1822/22ありありありなしなし
BIZ UDGothic◎4/43/318/1822/22あり—ありなしなし
Kiwi Maru◎4/43/318/1822/22あり—ありなしなし
Train One◎4/43/318/1822/22ありありありなしなし
BIZ UDPMincho◎4/43/318/1822/22あり—ありなしなし
Reggae One◎4/43/318/1822/22ありありありなしなし
Yomogi◎4/43/318/1822/22あり—ありなしなし
BIZ UDMincho◎4/43/318/1822/22あり—ありなしなし
Zen Maru Gothic◎4/42/318/1822/22あり—ありなし~
Mochiy Pop One◎4/42/318/1822/22あり—あり~なし
Zen Old Mincho◎4/42/318/1822/22あり—ありなし~
Kaisei Opti○4/42/318/1822/22あり——〜なし
Kaisei Decol○4/42/318/1822/22あり——〜なし
Zen Kaku Gothic New◎4/42/318/1822/22あり—ありなし~
Zen Kaku Gothic Antique◎4/42/318/1822/22あり—ありなし~
Kosugi Maru○4/42/318/1822/22あり—あり〜なし
Kosugi○4/42/318/1822/22あり—あり〜なし
Hina Mincho○4/42/318/1822/22あり—あり〜なし
Yuji Syuku○4/42/318/1822/22あり—ありなし〜
Murecho○4/42/318/1822/22あり—ありーなし
Zen Antique◎4/42/318/1822/22あり—ありなし~
Shippori Antique◎4/42/318/1822/22ありありありなし~
Yuji Mai○4/42/318/1822/22あり—ありなし〜
Zen Kurenaido◎4/42/318/1822/22あり—ありなし~
Yuji Boku○4/42/318/1822/22あり—ありなし〜
Kaisei HarunoUmi○4/42/318/1822/22あり——〜なし
Zen Antique Soft◎4/42/318/1822/22あり—ありなし~
Kaisei Tokumin○4/42/318/1822/22あり——〜なし
Mochiy Pop P One◎4/42/318/1822/22あり—あり~なし
Shippori Antique B1◎4/42/318/1822/22ありありありなし~
Potta One◎4/42/318/1821/22あり—あり~ ゎなし
WDXL Lubrifont JP N○3/42/318/1822/22あり——,〜
Chokokutai◎4/42/318/1821/22あり—あり~ ゎなし
New Tegomin○2/41/318/1822/22あり—あり, . ~〜
Tsukimi Rounded○2/42/316/1821/22ありありありヮ, . 〜 { }
Sawarabi Mincho○4/42/312/1819/22なし——~ ( ) [ ] { } ヮ ヵ ヶなし
Cherry Bomb One○2/41/310/1822/22あり—あり〜, . ~ 【 】 〈 〉 《 》 [ ]
M PLUS 1◎2/42/38/1822/22あり—あり, . ~ 【 】 〔 〕 《 》 [ ] { }なし
M PLUS 2◎2/42/38/1822/22あり—あり, . ~ 【 】 〔 〕 《 》 [ ] { }なし
M PLUS U◎2/42/38/1822/22あり—あり, . ~ 【 】 〔 〕 《 》 [ ] { }なし
Aoboshi One◎2/42/34/1822/22あり—あり~ [ ], . 『 』 【 】 〔 〕 〈 〉 《 》 { }
Palette Mosaic○2/41/32/1822/22あり—ありなし, . 〜 ~ 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { }
Shizuru○2/41/32/1822/22あり—ありなし, . 〜 ~ 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { }
Rock 3D○2/41/32/1822/22あり—ありなし, . 〜 ~ 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { }
Yuji Hentaigana Akari○2/41/30/1810/22あり—ありなし, . 〜 ~ 「 」 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { } ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ
Yuji Hentaigana Akebono○2/41/30/1810/22あり—ありなし, . 〜 ~ 「 」 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { } ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ
Monomaniac One○0/40/312/180/22あり——、 。 ー 〜 ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ, . ~ ( ) [ ] { }
Darumadrop One○0/40/312/180/22なし——、 。 ー 〜 ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ, . ~ ( ) [ ] { }
Slackside One○0/40/312/180/22あり——、 。 ー 〜 ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ, . ~ ( ) [ ] { }
Dela Gothic One○2/41/32/180/22あり——, . 〜 ~ 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { } ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶなし
Sawarabi Gothic×0/40/30/180/22なし——、 。 , . ー 〜 ~ 「 」 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { } ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶなし
M PLUS 1 Code×0/40/30/180/22あり——、 。 ー 「 」 『 』 ( ) 〈 〉 ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ, . 〜 ~ 【 】 〔 〕 《 》 [ ] { }
Kapakana×0/40/30/180/22なし——、 ー ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ ゎ ァ ィ ゥ ェ ォ ッ ャ ュ ョ ヮ ヵ ヶ。 , . 〜 ~ 「 」 『 』 ( ) 【 】 〔 〕 〈 〉 《 》 [ ] { }

字ごとの集計 — そろいにくいのは波線と全角の約物

68書体のうち、縦書き用の字形を持つ書体が少ない字は、「~」36ファミリー・「〜」42ファミリー・「,」48ファミリー・「.」49ファミリーの順です。「〜」(波ダッシュ U+301C)と「~」(全角チルダ U+FF5E)は見た目が似ていても別の字で、片方だけ縦書き用の字形を持つ書体が30ファミリーあります。UAX #50 の分類は Unicode 18.0.0 の値です。

字符号位置UAX #50縦用字形あり置換なし収録なし
句読点
、U+3001Tu6260
。U+3002Tu6251
,U+FF0CTu48713
.U+FF0ETu49613
長音・波線
ーU+30FCTr6170
〜U+301CTr421313
~U+FF5ETr361220
括弧
「U+300CTr6323
」U+300DTr6323
『U+300ETr5837
』U+300FTr5837
(U+FF08Tr5549
)U+FF09Tr5549
【U+3010Tr5459
】U+3011Tr5459
〔U+3014Tr5558
〕U+3015Tr5558
〈U+3008Tr5738
〉U+3009Tr5738
《U+300ATr5459
》U+300BTr5459
[U+FF3BTr50711
]U+FF3DTr50711
{U+FF5BTr50612
}U+FF5DTr50612
小書き仮名
ぁU+3041Tu6170
ぃU+3043Tu6170
ぅU+3045Tu6170
ぇU+3047Tu6170
ぉU+3049Tu6170
っU+3063Tu6170
ゃU+3083Tu6170
ゅU+3085Tu6170
ょU+3087Tu6170
ゎU+308ETu5990
ァU+30A1Tu5972
ィU+30A3Tu5972
ゥU+30A5Tu5972
ェU+30A7Tu5972
ォU+30A9Tu5972
ッU+30C3Tu5972
ャU+30E3Tu5972
ュU+30E5Tu5972
ョU+30E7Tu5972
ヮU+30EETu5792
ヵU+30F5Tu5882
ヶU+30F6Tu5882

CSS で縦書きにする

writing-mode: vertical-rl で縦書きになります。text-orientation の初期値 mixed のままなら、漢字や仮名は正立、英字は横倒しで並びます。2桁の数字などを横に並べて1字分に収めるときは text-combine-upright: all、vpal を持つ書体で字間を詰めるときは font-feature-settings: "vpal" を指定します。

.tategaki { writing-mode: vertical-rl; /* 縦書き・行は右から左へ */ font-family: "Noto Sans JP", sans-serif; } .tategaki .tcy { text-combine-upright: all; /* 「12」などを1字分に収めて縦中横にする */ } .tategaki.tsume { font-feature-settings: "vpal"; /* 縦組みの詰め(vpal を持つ書体だけ変わる) */ }

書体の読み込み方は使い方・ダウンロードにまとめ、そこで埋め込みコードを作れます。縦書き用の字形がそろう書体は用途別のおすすめからも選べます。

タイポグラフィ・デザイン書籍

※ Amazon アソシエイト・プログラム経由のリンクを含みます。リンク経由のご購入で運営者が紹介料を受け取る場合があります。最新の価格・在庫はAmazonでご確認ください。

デザイン書籍を読み放題・聴き放題でPR

縦組みや文字組みの参考書は、Amazonの定額サービスで対象タイトルを追加料金なしで読んだり聴いたりできます。

※ Amazonのアソシエイトとして適格販売により収入を得ています。各サービスの無料体験・対象範囲・料金は予告なく変更される場合があります。詳細はAmazonでご確認ください。

よくある質問

縦書きに向く日本語フォントはどれですか?
このページで数えた47字がすべて縦書き用の字形に置き換わるのは、68書体のうち23ファミリーです(Noto Sans JP・M PLUS 1p・Noto Serif JP・M PLUS Rounded 1c・Stick・Rampart One・Yusei Magic・Shippori Mincho・BIZ UDPGothic・LINE Seed JP・IBM Plex Sans JP・Hachi Maru Pop・DotGothic16・Klee One・Shippori Mincho B1・RocknRoll One・BIZ UDGothic・Kiwi Maru・Train One・BIZ UDPMincho・Reggae One・Yomogi・BIZ UDMincho)。句読点・長音・括弧など主要8字(、 。 ー 「 」 ( ) 〜)に絞ると40ファミリーがそろいます。
縦書きで長音記号「ー」が横棒のままになるのはなぜですか?
その書体が「ー」の縦書き用の字形(OpenType の vert)を持っていないためです。68書体のうち7ファミリー(Monomaniac One・Darumadrop One・Sawarabi Gothic・Murecho・M PLUS 1 Code・Kapakana・Slackside One)が該当します。CSS の仕様は、縦書き用の字形が無い字をブラウザが回転で補うことを求めていません。縦書きで使うなら「ー」の縦用字形を持つ書体を選んでください。
「〜」と「~」は何が違いますか?
見た目は似ていますが別の字です。「〜」は波ダッシュ(U+301C)、「~」は全角チルダ(U+FF5E)。縦書き用の字形を持つのは「〜」が42ファミリー、「~」が36ファミリーで、どちらを使っているかで縦書きの見え方が変わるので、使う書体で両方を確かめてください(書体ごとの結果は表)。
vpal を指定すると何が変わりますか?
全角の高さで並ぶ字を、字ごとの高さに詰めて組みます(縦組みのプロポーショナル詰め)。OpenType の仕様で既定はオフとされていて、CSS の font-feature-settings: "vpal" で指定します。vpal を持たない書体では指定しても変わりません。持つ書体は表の vpal 列で確かめられます。