見出し画像

Illustratorで行送りを「110%」にする

Illustratorで行送りを「110%」にするKeyboard Maestroをマクロを作りました。むっちゃ地味ですが、タブでフォーカス移動しながらフォントサイズをコピーし、行送りにペーストして「*1.1」と入力する、といういうもの。

画像1

こういうのこそ、スクリプトでやったらよさそうだけど、次の2つしか見つからず…

app.activeDocument.textFrames[index].paragraphs[index].paragraphAttributes.autoLeadingAmount

app.activeDocument.textFrames[index].paragraphs[index].paragraphAttributes.leadingType

「0.5秒を積み上げろ」さんのスクリプトはautoLeadingAmountを変更していると思うんだけど、自動行送りの値ではなく、選択しているテキストのみ変更したい。

ダウンロード

追記(それ、スクリプトで!)

三階ラボの宮澤さんがスクリプトを作ってくださいました!

「3flab-change_texts_leading-110.jsx」の「110」の値を変更することで柔軟に対応できる、という優れもの!!

ありがたい! 迷わず、こちらを使います。

追記(2)

がんばってスクリプトを準備しました。

行送りを自動にする

(function() {
    // ドキュメントがアクティブでない場合、スクリプトを終了します
    if (!app.documents.length) {
        alert("ドキュメントが開かれていません。");
        return;
    }

    // 現在の選択オブジェクトを取得します
    var selectedObjects = app.activeDocument.selection;

    // 選択オブジェクトが空である場合、スクリプトを終了します
    if (selectedObjects.length === 0) {
        alert("何も選択されていません。");
        return;
    }

    // 選択された各オブジェクトを処理します
    for (var i = 0; i < selectedObjects.length; i++) {
        var currentObject = selectedObjects[i];

        // オブジェクトがテキストオブジェクトであるか確認します
        if (currentObject.textRange) {
            var textRange = currentObject.textRange;

            // 自動行送りを有効にします
            textRange.characterAttributes.autoLeading = true;
        }
    }

    // 処理終了メッセージを表示します
    alert("自動行送りを有効にしました。");
})();

行送りを110%にする

// 必要な変数の定義
var selection = app.activeDocument.selection; // 現在選択されているオブジェクトを取得

// 選択範囲が存在しない場合は終了
if (selection.length === 0) {
    alert("テキストオブジェクトを選択してください。");
} else {
    // 最初の選択テキストのフォントサイズを取得し、行送りを計算
    var fontSize = selection[0].textRange.characterAttributes.size; // フォントサイズ
    var calculatedLeading = fontSize * 1.1; // 行送りの計算(1.1倍)

    // 選択されたすべてのテキストオブジェクトを処理
    for (var i = 0; i < selection.length; i++) {
        var currentTextRange = selection[i].textRange; // 現在のテキスト範囲を取得

        // 自動行送りを無効化し、新しい行送りを設定
        currentTextRange.characterAttributes.autoLeading = false; // 自動行送りを無効化
        currentTextRange.characterAttributes.leading = calculatedLeading; // 行送りを設定
    }

    // 処理完了メッセージ
    alert("行送りをフォントサイズの1.1倍に設定しました。");
}

行送りをなしにする(autoLeading = false;)を入れないと、うまく動かないようです。

Keyboard Maestro+MaestroPackの場合、次のようにargumentsを利用すると汎用性が高まります。

ダウンロード

4つのKeyboard Maestroマクロを用意しました。

  • 行送りを110%に変更

  • 行送りを150%に変更

  • 行送りを自動(175%)に変更

  • 行送りをダイアログボックスで指定

ここから先は

0字 / 1ファイル
月に10-20本くらいの記事を投稿しています。定期購読されると、更新のお知らせを受け取ったり、マガジン限定記事やサンプルファイルをダウンロードできます。

マガジン限定記事やサンプルファイルをダウンロードできます。

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5