fc2ブログ


FC2カウンター
ブログ内検索
プロフィール

流星光輝

Author:流星光輝
InDesignを仕事で使っています。
まんどい作業をScriptで解決すべく
精進の日々を過ごしております。

カレンダー
11 | 2024/12 | 01
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

遅いの困っちゃう
昼間はクソ忙しいのにクソ遅いプレーンテキストファイルの
書き出し画面を見つめていた(おぃ)のですが、
反射的にキャプチャ撮ってた(右手が)みたいです。

テキストを書き出すだけなのに、なぜカラーリストを処理するんでしょうか…
たぶん意味なし処理かなぁと思うのです。(キャプチャはInDesignCS6のやつ)
CCでも治ってねぇって確認できた場合は開発元へ(ひどい

pic0001.png

※たぶんね。タグ付きテキストとかの吐き出しと処理が同じなのか流用してきていて、
コメントアウトするのを忘れたのか、意図はさっぱり分かんないんですけれどもね。
ちゃんとしようね。自戒次回
続きを読む...
未分類 TB(0) CM(0) 

InDesignのExtendedScriptでprompt使うときの注意とか

Scriptをjsxbinでバイナリ化して、わざわざjsxにリネームしてフリー配布してる人たちがいるみたいですけど、
こういう意味不明な挙動への対処方法とかを仕込んでるんだったら、jsxbinで配布しててもいいんだけど、
コードオープン化してくれませんかねぇ?w ググっても出てこないっすわよw


気を取り直して、まずは、Windows版のESTKでの例です。バージョンは現行のCCです。
winCC.png

下記のソースコードを、さりげなく実行してみます。

var a="";
for(var i=100;i<300;i++){
    a+=i+"/"
}
alert(a);
var b=prompt("check",a,"test");
alert(b);

(1)
winCC_1.png
(2)
winCC_2a.png
(3)
winCC_3.png

えっ!? クラッシュしちゃったよ! どうなってんすかー!!!

※1 なぜかCS1(3.0.1_838_J)環境だけはクラッシュしなかったです。えろい人教えて(人∀・)
※2 手元の旧環境を起動して確認したところCS2以降でクラッシュし、現行バージョンのCC2015環境下のESTKまででクラッシュしました。


次に上記のソースコードをmac環境で実行してみたいと思います。
※1 ESTKのバージョンは同じです。10.10.4環境下ですが…
※2 確認したESTKバージョンはCS3~CCです。

macCC.png

(1)
macCC_1.png
(2)
macCC_2.png
(3)
macCC_3.png

結果が違う!!!

Adobeさん、こういうのホント勘弁してー

InDesignでmacでもwinでも動作するScriptで入力させる必要があるときは、
回避する方法としてdialogを作ってtextEditboxesに入力してもらうということが必要ってことか…

#target indesign
var a="";
for(var i=100;i<300;i++){
    a+=i+"/"
}
alert(a);
var dlg=app.dialogs.add({name:"prompt代用"});
with(dlg.dialogColumns.add()){
    var tx=textEditboxes.add({minWidth:480, editContents:a});
}
if(dlg.show()){
    var b=tx.editContents;
    dlg.destroy();
    alert(b);
}

みたいなコードを書いておく必要があります…
InDesign Scripting TB(0) CM(1) 

spot遊び
AFDKOに含まれてるspot.exeで遊ぶとき、めっちゃ楽しいのですが、
InDesign上の適用しているフォント情報を使えないかなぁー、
って思う時ないですか? (ありますよね?w

普段ならVBで書いてしまうのですが、今回は敢えてExtendedScriptでやってみよー、ということで書いてみました。
※VBSを絡ませてるので、winのみで動作します。
win7(x86)+InDesignCS6の環境で、試しました。

jsxファイルと同じ階層にspot.exeが必要です。
続きを読む...
InDesign Scripting TB(0) CM(0) 

アクセラレータキーの割り当てについて(感想)
■CSの場合
accelerator_CS1.png

■CS6の場合
accelerator_CS6.png

アクセラレータキーを使って「ツール」を表示したい時に、CSの時は「Altキーを押しっぱなしの状態で、Wキーを押し、Oキーを押忍押す」ことで実現できました。
CSとCS6を持ち替えて作業していると、CS6ではツールを表示することが出来ないんです。
で、CS6のメニューに「O」が使われていて、外れたのかなーと思いながら「O」を探してみたのですが、「O」は使われていないんですよね。
コントロールには「C」が割り当てられたママなのだ!
(((CS3だと「ツール(o)」「コントロール(C)」の割り当てなんですよ… 「割り当て忘れ」なら戻してちょーだい)))
イラレ TB(0) CM(0) 

「すまる」のような行をチェックするScript
段落の最終行で、1文字と句点(端丸)のみの行が出てしまいますね。
「すまる」のような行をチェックしたいというツイートを目撃したので、Script書いてみました。
※実際には、1文字+句点or受けカギ括弧を正規表現で指定していますが、実情に合わせて適宜書き換えて下さい。
■テスト用のドキュメントの作り方
1)InDesignで新規ドキュメントを作成
2)テキストフレームを作成
3)上記2)のテキストフレームに文字を入力し、"す。"の状態を作る
さて、ここまでの手順で、ドキュメントフォントの使用されたinddが準備できたと思います。
下記の適当なコードをESTKにコピペして適当に保存して、InDesignのスクリプトパネルでダブルクリックできるようにします。
#target indesign
(function(){
if (app.documents.length!=0){
    var doc=app.activeDocument;
    var a=doc.stories.everyItem().lines;
    for (var i=a.length-1;i>-1;i--){
        var a1=a[i].contents.toString();
        if (a1.match(/^.[。」$]/)){
            // 段落先頭かチェックしなきゃ…
            var a2=a[i].paragraphs[0].contents.toString();
            if (a1!=a2){
                app.select(a[i]);
                alert("この段落ツメたい!");
                return;
            }
            }
        }
    }
})();
行としてマッチする場所を8行目の正規表現で指定しているので、書き換えれば別物にもなります。
何かに流用する場合、11行目は段落の先頭行かどうかのチェックなので、不要なら外して下さい。
該当する場所を選択してくださるだけのScriptなので勝手にツメてくれたりするわけではないですが、
チェックするのは大変ではなかろうかと思ったので、何かの役に立てば幸いです。
未分類 TB(0) CM(0) 


PREV PAGE   TOP   NEXT PAGE