無料の Affinity を使って今年の年賀状用に簡単な日本語の縦書きを実現する方法を試したので、備忘録がてら残しておきます。
テキストフレームの列を増やして順番を変える
使った方法は長い文章ではなく数行の文章で改行位置を手動で指定する文字列の場合のみできます。長い文章の場合は縦書きのできるアプリを使ったほうがよいと思います。
例文は以下にしました。
まず Affinity を開き「テキストフレームツール」で枠を作って文字列を入力します。そして上部メニューから「 T 」のアイコンをクリックします。「テキストフレーム」というパネルが表示されるので、列数を「 2 」にします。

これで縦書きっぽくなりますが、文章の始まりが左からになってしまっています。

そこで左の文字列をコピペで末尾に移動させます。改行位置がおかしかったら改行を増やします。
「タイポグラフィ」にて代替文字を選ぶ
それっぽくなってきましたが、伸ばし棒や小さいひらがな、句読点がおかしいです。以下を参考に縦書き用文字に変更しました。
→ CS5 : Affinity Publisher で縦組合成フォント (3) 縦組の実現方法

上部メニューの「 a 」のアイコンをクリックして「文字」パネルを開きます。文字を全部選択して「タイポグラフィスクリプト」を「ひらがな」にします。

そして「タイポグラフィ」の「…」をクリックすると「タイポグラフィ」のパネルが表示されます。伸ばし棒や小さいひらがな、句読点をひとつ選択して、「すべての代替文字」から縦書き用の文字を選択します。

すべて伸ばし棒や小さいひらがな、句読点に同じ操作をすると、縦書きでも日本語フォントがそれっぽく表示されるようになりました。あとは行間等を調整して仕上げます。
この方法は年賀状程度の文字列ならばいけれど大量の文字列で行うととても面倒です。 Affinity のいいところをあげると、ひとつのソフトでベクターやピクセルをシームレスにいききできるところでしょうか。
2026 年の 10 月にオープンソースの ArtCraft というアプリ群から PhotoCraft や VectorCraft が発表されました。まだアルファ版ですが、縦書きもできるようなのでそちらを使った方が簡単に実現できると思います。
→ ArtCraft




