見出し画像

「Illustrator で InDesign のような “字取り” ができる」 スクリプト

Illustratorでテキスト処理をしていると、たまに「InDesignのように “字取り” ができれば…」という場面に出くわすのですが、今回は、そんなIllustratorでInDesignのような “字取り” を実現するスクリプトです。

◆ 字取りしたい部分を選択してスクリプトを実行

文字ツールで字取りしたいテキスト部分を選択、または選択ツールで字取りしたいテキストフレームを選択(複数選択も可)して、スクリプトを実行してください。
その後ダイアログが現れるので、希望の字取りの文字数をドロップダウンリストから選択してOKをクリックしてください。選択されたテキスト部分が、希望の字取り数で処理されます。
なお、字取りの文字数は0~20文字の間で設定可能です(InDesignの仕様と同じ)
0文字を選択すると、選択されたテキスト部分のトラッキング値が、全て0になります。
これも実行結果はInDesignと同じです。

◆ テキストを1文字選択して、任意の字取り数で字取りをすると…

選択されたテキスト1文字の前後にアキができます。例えば、ドロップダウンリストから3文字を選ぶと、選択されたテキストの前後に1文字ずつアキができます。これもInDesignの字取りと同じです。
なお、後ろのアキは、選択されたテキストのトラッキングで設定されているのですが、前のアキは、選択されたテキストのカーニングで設定されています。こういう仕様は良くないのかもしれませんが、例えば、選択されたテキスト1文字が段落の先頭だった場合、トラッキングだけでは選択テキストの前のアキを実現できません。ですので、仕方無くカーニングを使うことにしました。
でも、1文字だけを選択して字取りをする人はほとんどいないと思われるので、これで良しとしてください。あまり使うことも無いと思います…

◆ テキストを無理に詰め込みたくない場合は…

InDesignの字取りの仕様では、字取り数が現在の文字数より少ない場合、文字が重なり合って処理されます。例えば字取り数を1文字にすると、何文字分テキストが選択されていたとしても、見た目が1文字に重なります。
でも、こんなふうにテキストを無理に詰め込みたくないという場合は、ダイアログの「字取り数より現在の文字数が多い場合は詰め込まない」にチェックを入れて、スクリプトを実行してください。そうすると、字取り数より選択されたテキスト部分の文字数が多い場合は、その部分のトラッキングは0に保たれて詰め込まれません

◆ スクリプトを実行してもトラッキングに変化が無い場合は…

特に、事前にトラッキングを広げた後、ダイアログで字取りを「0」文字にしてスクリプトを実行した際に、選択テキストのトラッキング値が0にならない場合があります。これは、Illustratorのバグの可能性があります。
こちらのサイト(イラレスクリプトで文字の属性が変えられないときは…)で紹介されていたので、参考にしてください。
バグに遭遇した場合は、スクリプトではトラッキングを変えられないので、トラッキングを0に戻したい箇所をテキストツールで選択して、文字パネルのトラッキングの箇所を0に設定してください。

◆ ダウンロードはこちらから

ここから先は

0字 / 1ファイル

¥ 500

この記事が気に入ったらサポートをしてみませんか?