主にInDesignによる新聞組版Tips中心です。Mac使いですが業務はWin多め。Win DTP Tipsを増やしたい

【InDesign】EDI COLOR機能を再現(2)現在の選択数を表示

シリーズ第二弾。続く時は一気なんですけどねえ、ブログって…←

第一弾はこちら

t.co

Adobeソフトで、みんなも愛用しているであろうコントロール。EDICOLORではステータスと呼びます。

f:id:chocomarine:20200315014902j:plain

文字コードも表示(これはInDesignにもあります)

f:id:chocomarine:20200315014953j:plain

テキスト中のインライン・割注・外字などの属性も表示

f:id:chocomarine:20200315010927j:plain

オブジェクトを複数選択時。

そう、選択数の表示。これがInDesign情報パネルには、ナイッッ

 

自分の複数選択クリックに自信がない時って、ありますよね。 えっ、ない?

私はテキストを部分的に「選択順」にまとめて書き出すスクリプトを多用するので、数の確認にこれが非常に有用なのです。 その節は鯵ぼんさん、大変大変お世話になりました

 

取得は簡単として、どう表示させるか…

したら、やはり世の中先人がいるのですよ。

sysys.blog.shinobi.jp

いつものあるふぁ(仮)さん。

ここ、これです丸ごと頂きます、いつもありがとうございます(一方的に)←

 

------------------以下、記述------------------

//DESCRIPTION:現在の選択数を表示パレット(らーで閣下)
#targetengine "InDesign"


var w0 = new Window("palette","選択数");

var myCount = w0.add("statictext",[50,100,160,110],"選択数:0")
var ev0 = app.addEventListener("afterSelectionChanged", function(ev)

{

try {

var mySel = app.selection;

if (mySel.length == 0)

{ myCount.text= "選択数:0"; return; }

else if (mySel.length == 1)

{ myCount.text= "1:" + mySel[0].constructor.name; return; }

else { myCount.text = mySel.length; }

}catch(e){}

})

w0.onClose = function()

{ ev0.remove() }

w0.show();

------------------ここまで------------------

 

tryする意味はあまり無さげに思えますが、まあ一応… Startup Scripts に入れる入れないは自由。必要な時に実行して隅に追いやっておけばOK。邪魔になればバツで閉じるだけ。

Startupにパレットを仕込むと、私の環境では物により場合により起動でモタついて、固まってしまうんですよね。

※Startup Scripts とは… ggってみて下さい(毎度)←

 

 var mySel = app.selection;

は、ev.target.selection にしなくても狙った挙動になってはいるけど、良くないんだろうか? 特に問題なさげなんだけれど。

f:id:chocomarine:20200315013045j:plain

(初期状態及び、何も選択されていない時)

f:id:chocomarine:20200315013314j:plain

複数選択すると、自動でカウントが増える

f:id:chocomarine:20200315013717j:plain

選択数1の時は、属性も表示します

各属性:

  • 文字枠… TextFrame
  • 長方形(画像枠含む)… Rectangle
  • 楕円… Oval
  • 多角形(三角など)… Polygon
  • 線… GraphicLine
  • (画像枠の中の)画像(ビットマップ)… image
  • (画像枠の中の)EPS… EPS
  • (画像枠の中の)PDF… PDF ※多分aiも
  • グループ化されたオブジェクト… Group
  • ガイド線… Guide
  • (テキスト入力モード)カーソルを立てた状態… InsertionPoint
  • (テキスト入力モード)テキストを1字選択時… charactor
  • (テキスト入力モード)テキストを2字以上… Text
  • (テキスト入力モード)表全体の選択時… Table
  • (テキスト入力モード)表の行・列・セル選択時… Cell
    ※テキスト入力モード・表の時、Countは「1」固定(現状)。まあそれは、情報パネルに詳しく載るので

印刷で使うのは、このくらいでしょうか。

詳しくは以下の各項目を参照下さい。

indesign.cs5.xyz

変数で日本語表示に仕込む事もできますが、この機能を有り難がってるお客様(&同僚)が嘗てなかったので()私が分かればいいです、これは、、

charactor 1w選択時に16進数を取得させれば、変換してUnicodeを属性として表示させる事も可能になりますね。そこまで作り込む根性が私にあれば、ですが (^^; それは情報パネルに表示されていますし、最小限に抑えた小さいパレットの方が、作業の邪魔にならない気もします。ウチ、小さなモニタ1つしか与えて貰えないし…

ああ、そういえば4Kディスプレイとかだったら、フォントサイズどうなるんでしょう。身の回りに実機がないので、確認ができません。

アイコン表示など取り入れて更に視認性を上げるとなると、プラグインとして完全に新しく作る必要があり、新しい知識も更に更に必要になります。。 多分やりませんできません

プラグインInDesignの細かいバージョンアップ毎に自身も対応が必要になるので、汎用性の高いjsxと比べ管理も大変になります。