忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショの勉強中。。。

[イラレ]
イラレのスクリプトパネルっぽいやつに『テキストを複数選択する機能』などを追加した


・無変換キー+マウスドラッグで『テキストの複数選択&線幅・パターンも変形』ができる機能を追加
・Adobe Bridgeを常に最前面に表示する機能を追加(イラレ非起動時にも有効)
・『最前面』チェックボックスを削除し、かわりにIllustratorウィンドウの従属ウィンドウになるようにした

の3点を更新しました。便利だぞー
ダウンロードはこちら



テキストの複数選択



動画では単一テキストエリア内だけですが、複数のテキストエリアでも同時に選択できるようになりました。

ただし、複数テキストエリアで使うには、①文字ツールのキーボードショートカットが『T』になっていること②半角/全角キーで日本語入力のON/OFFができること、という条件が必要です。なんでそんなのが必要なのかといえば、よく分からん現象のせいで一旦ツールを切り替えなくてはならず、スクリプトからツールを切り替える手段は存在せず(たぶん)、仕方なくショートカットキーを送って切り替えたいが、IMEがONになってるとキーを送ってもツール切り替えができないからです。特にカスタマイズしてなければ満たす条件です。


線幅・パターンも変形



環境設定の『パターンも変形する』『線幅と効果も拡大・縮小』を普段はOFFにしておいて、無変換キーを押しながら変形するときだけONするという機能です。

つかいかた


AHK関数内に『テキストの複数選択&線幅・パターンも変形1』『テキストの複数選択&線幅・パターンも変形2』が現れるので、それぞれキー設定ボタンの横に『vk1Dsc07B & LButton』『vk1Dsc07B & LButton Up』を入力して適用します。


別に無変換キーじゃなきゃいけないわけじゃなく、他のキーにしたい場合は『vk1Dsc07B』のところを適当に書き換えればいいのですが、Alt、Shift、Ctrlは他の機能と被るし、Winキーは謎の不具合があってダメなので、他に選択肢が思いつかない。



Adobe Bridgeを常に最前面に表示する機能を追加

タスクトレイアイコンの右クリックメニューでON/OFFを切り替えられます。イラレと関係なく効果を発揮します。



『最前面』チェックボックスを削除し、かわりにIllustratorウィンドウの従属ウィンドウになるようにした

従属ウィンドウはタスクバーに表示されず、常に親ウィンドウより手前に表示され、親ウィンドウが最小化されると一緒に隠れます。
PR

[イラレ]
イラレのスクリプトパネルっぽいもの(Windows用)を作った

以下の情報は古いです。最新版はこちら




イラレのエクステンションではなく単体で動作するWindowsアプリケーションですが、ほとんどAutoHotkeyでできています。
具体的にはAutoHotkeyにホットキーを設定するためのGUIフロントエンドをAutoHotkeyで作り、AutoHotkey付属のコンパイラでexeファイルにしたものです。(AutoHotkeyの説明はこっち



ダウンロード

イラレのメニューコマンドをキーボードショートカットで実行できる機能を追加
スクリプトを右クリックメニューから編集できるようにした

詳しくはこちら


  • 2016.06.15 バージョン0.2 公開
無変換キー+マウスドラッグで『テキストの複数選択&線幅・パターンも変形』ができる機能を追加。
Adobe Bridgeを常に最前面に表示する機能を追加(イラレ非起動時にも有効)。
『最前面』チェックボックスを削除。
Illustratorウィンドウの従属ウィンドウになるようにした。

詳しくはこちら

  • 2016.05.31 バージョン0.1 公開



つかいかた


①AiScriptLauncher.exeを起動します。初回起動時にはフォルダ選択ダイアログが出るので、スクリプトが入ったフォルダを選択します。

②フォルダ内のスクリプト(*.jsx , *.js)がツリー表示されます。ダブルクリックでスクリプトが実行できます。

キーボードショートカットの設定


キーボードショートカットの設定は2つの方法があります。

[イラレ]
全角英数←→半角英数を変換するイラレスクリプト

選択物の中の全角英数を半角英数にするスクリプトと、その逆の2点セットです。

いやこんなものとっくに誰かが作ってると思うんですが、これを使ったテキストの複数選択に対応したものが欲しかったので自分で書いてみました。たとえば「2文字以上の数字を半角にする」などという操作も正規表現検索選択との合わせ技で柔軟にできるわけです。

[ダウンロード]

以下ソース(全角→半角の方)

(function(){

var sel=app.selection;
var selTexts=[];
if (sel.constructor.name=="TextRange") {
    selTexts.push(sel)
} else {
    (function (items){
        for (var i=0;i<items.length;i++){
            switch (items[i].constructor.name){
                case "TextRange":
                    selTexts.push(items[i])
                    break;
                case "TextFrame":
                    if (!lockedOrHidden(items[i])) selTexts=selTexts.concat(items[i].textSelection);
                    break;
                case "GroupItem":
                    if (!lockedOrHidden(items[i])) arguments.callee(items[i].pageItems);
                    break;
            }
        }
    })(sel);
}

for (var i=0;i<selTexts.length;i++){
    var str=selTexts[i].contents;
    var offset=selTexts[i].characterOffset;
    var c=selTexts[i].characters[0];
    var n,s;
    for (var j=0;j<str.length;j++){
        n=str.charCodeAt(j);
        s="";
        if (n==0x3000) s=" ";
        else if (0xFF01<=n && n<=0xFF5E) s=String.fromCharCode(n-0xFEE0);
        if (s!=="") {
            c.characterOffset=offset+j-1;
            c.contents=s;
        }
    }
}

function lockedOrHidden(pageItem){
    return pageItem.locked || pageItem.hidden || pageItem.layer.locked || pageItem.layer.hidden;
}
})();

[イラレ]
イラレスクリプトで正規表現検索したテキストを「すべて同時に選択」しちゃう

イラレってスクリプトからだと離れた箇所のテキストを同時に選択できるのですが、それを使ったスクリプトが出回ってるのを全く見ないあたり、単に知られてないのか、特定のバージョンでしかできないのか、はたまた何か深刻なバグを抱えているから避けられてるのか、よく分からないのです。別に私が発見したわけじゃなく、かなり前に誰かのツイートか何かで知ったので、知ってる人は知ってることだと思うんですが。

そういう事情ですので何かあっても泣かずに怒らずに報告してくれる人だけ使ってみてください。
・選択範囲内
・選択テキストまたはカーソルを含むストーリー(連結された一連のテキスト)
・ドキュメント全体
のいずれかを対象に正規表現でテキスト検索し、マッチした部分をすべて選択するスクリプトです。非表示やロックされてるオブジェクトは対象にしません。

選択しちゃえば文字スタイルを当てたり前後のアキを調整したりなんてことはすべて同時にできるので、使いどころは割りと多いのでは。


[ダウンロード]

なお正規表現はExtendScriptのRegExpをほぼそのまま使ったもので、
・\dは全角数字にヒットしない([0-9]を使おう)
・先読み(前に◯がつく△を検索)、否定先読みができない
などの特徴があります。

「正規表現」のチェックを外せば普通のテキスト検索ができます。

(16.04.17)$がちゃんと段落終わりにマッチするように修正)
(16.05.22)
 検索文字列入力欄を長くした
 \.で.にマッチしない問題を修正
 \kで漢字にマッチするようにした
(16.05.23)
 
$.writelnの消し忘れを修正

5つの「く」

ハタハタのすばらしさをまとめました。