InDesign:塗りの濃淡でハイイエ/イイエスを表現するのかい

項目ごとに定型のアイコングループが用意してあって、
 項目の特徴に各アイテムが適するか否かをアイコンの濃淡で表現する、
みたいなデータベース的な何かが膨大にある時にたぶん便利だと思うんです。



InDesignCS3以降
MacOSX 10.4.11〜10.6.2 で動作確認済み
Windowsとプレステは未検証。




スクリプトを実行すると、性懲りもなくパレットが出ます。


左端のドロップダウンリストから30%、40%いずれかを選びます。バリエーションが少ないですが自分用なので十分です。
 その先には5つのボタンが並んでいます。
それぞれに100%と書かれていますがあくまで初期&目安表示なので選択オブジェクトには連動しません。

ドキュメント上でオブジェクト群を選択します。
 例では4つのシルエットを選択しています。

パレットのボタンをどれか押します。
 左からn番目のボタンを押した時点で、選択されたオブジェクト群の左からn番目がターゲットとなります。
  選択状態はボタンを押した瞬間に毎回読み取り直しています。


もいっちょホーイ


カラーの濃淡が100%の場合、ドロップダウンで選択された濃淡にします。
 100%以外の場合は100%にします。ボタンをポチポチするたび、これをシーソー式に繰り返します。
※スウォッチ未定義カラーが使用されたオブジェクトでも濃淡は同様に変化しますが、スウォッチパレット上で濃淡を戻せないっぽいので注意が必要かも。

フレームの塗りについては以上の通り。
 次にテキストの塗りについてですが、
自分の用途上、選択された単独のテキストフレーム内のテキストを全角スペースで区分けたうちの左からn番目が変化、
 という挙動をします。


なんで、って、自分が直面したデータがそういう作りだったからです。

従って、選択したオブジェクトが1つだけの場合は左端のボタンで操作する事になりますが、


濃淡操作したいアイテムが例え1つだけでも、ターゲットがテキストの場合はこんなんなります。


ので、基本はメンバー全員選択した上でポチポチ、ですね。
 こんな物がまた、日本国内でほんの何人かのニーズにスポッとはまるわけですよ。
  ...たぶん。
Facebooktwittergoogle_plus

15 thoughts on “InDesign:塗りの濃淡でハイイエ/イイエスを表現するのかい

  1. おくれ。隠さずに。

  2. 「%」トルツメました。もう大丈夫です。
    うっかり。すませんっ

  3. へへへっ。
    教授、ID でのパネルからのコールバックでオブジェクト操作ができなかった件、解決いたしました事をご報告させて頂きまする。
    UI ウインドウ作成時「パレット」で作成しました所、目出たく。
    AI では「ダイアログ」でないとダメダメでしたのでそのままでした。
    また、オブジェクト情報は、コールバック関数内で読みなおす事無く、グローバルに置いておいても認識した模様です。(突っ込んでませんが)
    この辺りの事を、この教授のスクリプトから盗み取ろうと思っていましたが。。。^^
    とにかく頂いて参ります。

  4. >「パレット」で作成しました所、目出たく
    あ.....
    そうか、パレットでもウィンドウでも、確定ボタンでデストローイするようにしちゃえば使用感はダイアログとほぼ同じなんですね。
    ダイアログ表示中にドキュメントの様子(選択範囲など)を変更できてしまうところは果たしてメリットなのかエッセンシャルなのか。
    ウチの出し物のうちUI関連とBridgeTalk関連はほぼ全てカネムーメモさんとkamisetoの姉御、ご両人のサイトからの劣化借用なので、あまり参考にはならないかもです。
    師匠、スライダーで行の文字詰めをニュルニュル動かせるやつ作って下さい(ひどい)

  5. >ドキュメントの様子(選択範囲など)を変
    ひょぇ〜。そう言う事ね。^o^ 味噌の溝が増えた!
    でも ID と AI で違っちゃうのは何とかならないのでしょうかね。。
    >スライダーで行の文字詰めをニュルニュル動かせるやつ作って下さい
    無理ですっ!

  6. >ID と AI で違っちゃう
    いま思えば、IDでパレットでイイ物を作ればAIへの移植は夢じゃないのでは、なーどと思うんですが、ウチらことごとく逆を行ってますわけで。。このだささの差はなんだ↓
    I.F.A. AI版(先発。無反響につき放置)
    http://pub.ne.jp/ajabon/?entry_id=2383395
    I.F.A. ID版(後発。自分の需要の都合で機能的に追い越してもうたが)
    http://pub.ne.jp/ajabon/?entry_id=2383475
    パレットの野郎も出しっぱなしで作業の端々でポチポチするのはいいんですが一旦パレットをアクティブにする都合で、ひとカチ余計にかかるのがいまいち可愛くないです。JSだけでどうにかなるのかならないのか。
    し、師匠! スライダーでおおつかGirlの顔面神経痛がヒクヒクするやつ作って下さヒッ
    ボインがボインボインでもいいですけど

  7. 私の至らぬ所で、ターゲット-セッション? を書かなければいけない事が、やっととこさ解り、AI でのパレットが使える事が分かりました。
    何これ。どこに書いてあるのよ。。。
    今、ID 用に「ルビ振り名人-仲村友彦先生」の完成を間近に、ドキュメントに選択文字があるとパレット文字入力で書き込まれてしまう事に、目を丸くしております。
    先の教授の
    >ダイアログ表示中にドキュメントの様子(選択範囲など)を変更できてしまうところは果たして
    の事なのでしょうか、
    制御できないのでしょうかね。。。
    >I.F.A.
    盗ませて頂きます。
    >スライダーで
    はい、分かりました。お任せ下さい。。。出来るんだろうな。。。
    しかし、パレットは荷が重い。ダイアログでインチキノンモーダルの方が、幸せかなあたしゃ。
    ID のダイアログモードで、ドキュメント弄れないのはイタイ。

  8. ダイアログで、一旦消し、ドキュメントに反映、また何食わぬ顔でダイアログ出す、とゆうインチキのインチキをむかし作った(古畑さんの自動化作戦からもいだんですが)んですが、あまりうまくないですね。
    http://pub.ne.jp/ajabon/?entry_id=2011487
    >ドキュメントに選択文字があるとパレット文字入力で書き込まれてしまう
    試してみました(珍しく)
    なんだこれ..きもちわるい
    dialogでもpaletteでもない、windowならどうか、と思ったんですがまったく改善なしです。
    EditTextのプロパティにTextSelectionってぇのがある(はずな)んですが、窓の中の選択文字を読んだり任意の範囲を選択でける代物だと思ってたんですが全く言う事ききません。。
    案外ドキュメント上の選択範囲に作用したりして。。マニュアルのあのへん英語力の限界です

  9. 古畑さんの無理矢理って奴ですね。
    >EditTextのプロパティにTextSelectionって
    確かにその語句は載ってますね、一括りのプロパティリストに。
    (見てるマニュアルが違う?)
    英語ですけど、知ってる語句の拾い読みなので、ぜんぜん逆だったりしてる私です。
    そこまで試験してないので何とも。。。
    教授の解析を待つ!^^

  10. 2人してお名前誤記しててすみません古旗さん。。
    とはいえ、コレ本当にちゃんと走ったのを確認したのかお聞きしたい。
    http://www.openspc2.org/reibun/AdobeJS/CS3/GUI_control/textselection/index.html
    EditTextフィールドからフォーカスが外れた時点で選択範囲が反故になってるような感じなので、ひょっとしたらパネルの組み立て如何でどうにか..無理か。ドキュメント上の選択範囲はやっぱり無関係っぽです>textSelection

  11. んっ
    editTextObj.onChange = function(){
    editTextObj.textselection=”ぞなもし”;
    }
    という使い方、使い方として正しいのかわからんが語尾に付く。。
    そしてtextSelectionではなくtextselectionだったという
    これはtexts election なのだろうか。官能小説かっ!
    上記onChangeをonChangingに変えると、ぞなもし大会になるなあ。
    onChangingに当たった時点での選択範囲(空の挿入点)が”ぞなもし”に置換される、と考えればよいのだろうか。
    エレメント名で検索しても極端にヒットが少なく、例文が公開されているフォーラムでも外人がバグだバギーだ騒いでいるような。
    そして根本的に使い方の概念が違っているような...

  12. ×畑 ×旗 ○籏
    つくづく失礼しました

  13. 古籏さま、失礼いたしました。
    textselection の所で
    Note: Setting the textselection property before the edittext
    control’s parent Window exists is an undefined operation.
    何て事書いてありますが、なんざんしょ。
    ウチでもtextselection 読みとれません。

  14. 親のeditTextがウィンドウ上に出現する以前にtextselectionを定義してもさっぱり無効ですよ、このハラキリジャップ、と書いてあるようです。
    そこまでうるさいなら例文つけとけよ、この駄メリケン、と思いました。
    その前に書いてある、カレンとリチャードが兄妹でカーペンターズをどうのこうの、という本文の記述がイマイチわかりませんねえ。
    ゆうべ、テキスト入力するだけして、何文字か選択した状態でShift+ReturnでonChangeに飛ばすというのを試したんですが(あまり意味はなかった)
    とりゃえず
    editTextObj.textselection=”ぞなもし”;
    だと選択範囲or0文字選択の挿入点 を”ぞなもし”に置換するだけみたい、でFAです。欲しいのはその選択された範囲にいる文字列なんだけどなあ。でもよくよく考えるまでもなく、こういう用途でReadもWriteもStringだと具合が悪いわけで(開始点、文字数とかの配列ならわかる)、きっとウチの目論見とは別次元のメソッドなのでしょう。ちくしょう。
    選択範囲の文字列を拾うだけなら
    AB’CD’EFG という文字(’ ‘ 内が選択状態)からtextselection=”てきとう文字”するだけして、editText.textの処理前後を比較すればどうにか?
    ABCDEFG を AB’CD’EFG の状態に、てのはとにかく無理みたい。どちくしょう。

  15. 分かりました。
    選択されていれば、置き換えるよ、
    選択されていなければ、挿入ポインタにブチ入れるよ。
    って事の様ですね。
    ただ、それだけ。。。。

コメントを残す

メールアドレスが公開されることはありません。

*