見出し画像

毎日イラレさん:行送りが癖ありすぎで笑う!

Illustrator(イラレ)では文字オブジェクトを用いることで、文字を表示することができますが、改行について調べていたところ、行送りに関するイラレの癖にわなわなしましたので、忘備録として記しておきます。


改行してもいいかな?

最初に、イラレの文字の扱いについて、使用している文字コード体系を調べておきましょう。ChatGPTに聞いてみます。

👦illustrator内ではどの文字体系が使われていますか?

💻Adobe Illustratorは、主にUnicode文字体系を使用してテキストを管理します。

当然という感じですが、Unicodeなんですね。せっかくなので、Shift-JISについても聞いてみます。

👦Shift-JISも使えますか?

💻Illustrator内では直接Shift-JISを使用することはできません。ただし、Shift-JISでエンコードされたテキストをIllustratorに取り込む際には、Unicodeに変換されます。これにより、Illustrator内部では常にUnicodeとして扱われます。

なるほど了解です。改行についても確認しておきましょう。

👦改行コードの種類と、illustratorが用いている改行コードが何かを教えてください。

💻主な改行コードの種類は以下の通りです:

  1. キャリッジリターン(Carriage Return(CR), \r)

    • 意味: 行の先頭に戻る。使用例: 古いMac OS(クラシック環境)

  2. ラインフィード(Line Feed(LF), \n)

    • 意味: 次の行に移動する。使用例: Unix系システム(Linux, macOS)、プログラミング言語の標準

  3. キャリッジリターン + ラインフィード(Carriage Return + Line Feed(CRLF), \r\n)

    • 意味: 行の先頭に戻り、次の行に移動する。使用例: Windows

Adobe Illustratorは、主にキャリッジリターン(\r)を使用します。

なるほどなるほど。

とはいえ鵜呑みにしちゃいけないのもAI遣いのお作法。そこで文字オブジェクト内の改行コードを調べてみました。結果、確かにキャリッジリターン(\r)になっていました(画面では¥rになっていますが、\は日本語フォントだと¥になります)。

改行コードの確認

行送り情報を探して三千里

さて、ここからが本題です。

イラレでは改行コードがあると、当然のように、見た目としてそこで改行されます。このとき、改行幅のことを「行送り」(leading)といいます。この行送りの情報、いったいどこに記憶されていると思いますか?

・各行ごとに行送りを記憶するところがあるのでは?
・「文字パネル」の「行送り」が設定されるんだろ?

違います。それは、

全部の文字に記録されている

のです。つまりleading情報は、すべての文字が持っているデータの1つということになります。

これは任意の文字を選択して「文字パネル」で値を選択してみればわかります。行送りの値を1文字単位で設定できることが確認できるでしょう。

文字毎に行送りは設定できる

以上の設定で「夏」に60pt、「が」に36pt、「来」に18pt、「た」に10ptの行送りが設定できました。

出ました! お楽しみの「行送りクイズ」

さて、ここで問題です。

「夏が来た」の「た」の次に改行コードがあった場合、実際の行送りはどうなるでしょうか? 図にするとこうなりますね。

ここで改行したら行送りはどうなるか?

そりゃー、「た」の次で改行するのだから、行送りは10ptになるんじゃないの? と思ったら大間違い。実際にやってみると、その行の一番大きい値の行送りになります。つまり60ptが正解です。即分かった人はイラレ・マスター様です(拍手!👏)。

解答:行送りは60ptになる

こうしたルールですから、このあと「夏が」の「が」の次に改行コードを入れるとどうなるかというと、「が」の後ろは60ptの行送りになり、「た」の後ろは60ptではなく、2行目の中で一番大きな値の18ptの行送りになります。

「夏が」で改行すると「来た」の次の行送りは18ptになる

まったくもって上手くできていやがる!

私がわなわなしたのは、この行送り情報、いくら設定しても、後に改行がない限り<値>の持ち腐れってことです。そもそも、プログラム構造的にも、行数分だけ行送り用のメモリを確保すればいいんじゃね? などと思ってしまったり・・・

しかし、冷静に考えてみたところ、確かに、より汎用的にするという意味でも、処理の分散という観点からしても、全文字に行送りの値を持たせたほうが良さそうな気持ちになってきました。あー、自分ってやっぱり浅はかだわー!

そもそも行送りは、1つの文字オブジェクトで統一した値を設定して使うのが基本ではありますが、ときどき、1行目は60ptの行送り、2行目は36ptの行送り、などと行ごとに設定したくなるシーンもないわけではありません。

そんなとき、行送りってどこをどうすればいいんだっけ? なんてモヤッとするいこともあるでしょう。というわけで、こうしたイラレの改行ルールの癖を頭に入れておけば、作業がちょっぴり捗るかも・・・ですね。

覚えるほどに楽しいイラレ・・・最高っす!

いいなと思ったら応援しよう!