InDesign:テキスト流し込みスクリプト 5

既成機能の足まわり強化を図るうち、致命的な壁にぶち当たってしまい
 書いたり消したり戻したりしてるうちに原型すら失いそうになったので一旦なかった事にして、
気分転換に新機能をば



Place Optional Text ver1.3
InDesignCS3以降

CS2未満の環境では最初のでしのいで下さい
最新版はこっちです

今回、かなりクセがあるのでFTPには置いておりません。配布はメール添付でのみ行います。
 普段「いーもんめっけ、ラッキー、ぐぐった俺グッジョブ」とかいう感じの人もお気軽にどうぞ。
メールアドレスはその辺にありますので →
 どしどしご応募ください。2万回の実用テストにご協力の程。要点を押さえれば十分実用には堪えますが..
恐れ入りますが、こちらのテストは2010年内に終了しております。
最新版はこちらです。すみませんが現在は少々の料金をいただいております。
以後、こちらをご覧になった方からのメールへの返信は割愛させて頂きます。何卒ご了承下さい。
しかし、お師匠が何とも言えないタイミングで..(笑)これはほんとの偶然。

というわけで機能追加。パネル肥大化は今回どうにか回避。
 パッと見で追加されたのは右下の入力欄のみとなります。
ご覧の通り、空いてたスキマに考えるべくもなし、押し込んだわけで。


前回(ver1.2)からの変更点〉
●sample表示窓内でのテキスト編集の有効化(sample内でテキストを範囲選択した場合のみ)
●sample表示窓内で選択した部分のみの適用を可能に
●リストのアイテムをダイレクトに指定できる「合番呼出」窓(注意点あり)
●流し込み順に、任意の順番で一括流し込みできる「Original」を追加(やや注意あり)

●ストーリー以外の選択範囲のとき「対象:ストーリー」で流した時コケるエラーの解決
●読み込みダイアログをキャンセルすると以前の読み込み済みデータが飛ぶ不具合を修正

 他、ちょこちょこ不具合直してます。

●○△印刷を凹ませる機能
●○△□印刷を小〜さくする機能
●ザリガニにモテる機能
 これらはどうにもなりませんでした。
 いくつかはそのうち自然とどうにかなってる気もしますが。
 誰かどうにかしてください。

【今回の部材】
こういう架空のレイアウトがあります。
 いつにも増してださいですが



支給されたテキスト原稿に沿った流し込み順が、こう。


フレーム枠に注目。合番4〜9の6つは従来の方式では一括で流し込めません。
 9が8よりも右にいれば「N-左」でいけてしまうのですが、惜しい。

テキスト原稿が、こう。いつものザリガニはオフシーズン。
 ちなみに合番1の『ぶた品種名:』は実際には使用

EditTextのtextselectionを自分なりに使ってみる

PlaceOptionalTextの新機能盛り付けに着手する余裕が若干ながら出てきたので、

 現状の不具合なんかには目もくれずごてごてと肉付け中であります。

で、サンプル窓に表示されたテキストのうち一部だけを使用したい場合、
 これまではそこからドキュメント上にコピペしておったのですが、そこはもうちょっとどうにかしたい。
そんでEditTextのtextselectionとゆうのを長期にわたりいじくってたのですが、
 いちおうの区切りとして。

【当初の思い込み的見解】
●EditText内”ABCDEF” という文字列に対し、選択された範囲の文字列を読み込む事ができる
●EditText内”ABCDEF” という文字列に対し、任意の部分を選択された状態にする事ができる

【現状判明している実際できる事】

●EditText内の選択された範囲の文字列、及び挿入点を任意の文字列に置換する事ができる

【できたいのにまだできてない、或いは元々できないのかしらな事】

●EditText内”ABCDEF” という文字列に対し、選択された範囲の文字列を読み込む事ができる

というわけで、『EditText内の選択された範囲の文字列、及び挿入点を任意の文字列に置換』して、
置換前と置換後の文字列を比較する事で選択範囲にいた文字列を割り出すテスト。



dlg=
“palette{orientation:’row’ ,text:’test’,\
edit1:EditText{characters:30},\
btn1:Button{text:’カチッと’},\
}”;
win=new Window(dlg);
win.edit1.text=“0123456”; //元のテキスト
dammyObj=”絶対かぶらない文字列”; //選択範囲に置換する文字列
win.btn1.onClick = function(){
textObj=win.edit1.text; //置換前テキスト
win.edit1.textselection=dammyObj; //選択範囲の置換
repObj=win.edit1.text.split(dammyObj); //置換文字列を挟む前後を分割
win.edit1.text=textObj; //表示テキストを元に戻しておく
regObj=new RegExp(repObj[0]+“(.+)”+repObj[1]); //選択されていた部分を抜き出す正規表現
selObj=textObj.replace(regObj,“$1”); //抜き出し
alert(“選択された文字列は\n『 “+selObj+” 』\nであるべきなのです”); //結果
}
win.show();


ボタンをカチッと押すとテキストの選択範囲の文字列をアラートで表示します。

 選択が文字列ではなく挿入点だった場合、元テキスト全体が返ります。

  なんかreplace()じゃなくてmatch()だけでかっちょよく済ませたかったのですが。まだよくわかっていない。
1行だけのEditTextであればこれでいちおう問題ないかと。
 しかし複数行になり改行コード(\n)が混ざると挙動がおかしくなる。


regObj.multiline = true;


 としてみても改善なし。まだよくわかっていない。
なので、本番ではreplaceを諦めて(早い)


selObj=orgObj.slice(repObj[0].length,);
if(repObj[1].length !=0){
selObj=selObj.slice(0,-(repObj[1].length));
}


としてみた。非常にかっこよくないが、なんとか動いたモヨウ。
 もうちょっとエレガントになりませんかこれ。


10.4.24

最後のsliceの行の書き間違いを修正。しつれいおば

おさかな:ノーコンテスト

日時:100417 22:40〜02:30 中潮
場所:東扇島西公園テトラ側
仕掛:道糸4号、電気ウキ1号、オモリ1号+2B、ハリス2.5号、ハリ管付チヌ5号
エサ:青イソメ(極太)

ひさびさーっ。
 忙しかったり、天気が悪かったり、前回のスズキさんがマズかったり、いろいろで。
で、ご覧の通りの大物対応。エサも、毎回どうせ余るので一番太いのにしてみた。
 (売り物の容器は均一サイズなので、一匹が太い=匹数が少ないという理屈)
小物の中でも、おちょぼ口のメジナなんかだとたぶんこれは食えない。それもよし。
出撃前に家でウキ回りの仕掛けを作って竿を伸ばせばいいだけの状態にして行ったつもりが、
 ウキ止めゴムを入れ忘れてて結局現地で作り直し(ブランクの弊害)。
が、いつもより道糸が太いので、いつも用のゴムが通らない。焦る。
 予備に買っておいた種類の違うゴムが柔軟性ばつぐんでどうにかなった。
いざ。
前日まで雨やらミゾレやら降ってたわけですが。海面もやや荒れ。落ちたら泣く。荒れてなくても落ちたら泣くけど。
 道糸とリールがいつものと違うので多少勝手が悪く、狙った岸壁沿いに飛ばせない(ブランクの弊害)。
何度かやり直すうち、不意にウキが反応したのでしゅぴっと合わせた。
 よろしめの引きっぷり。セイゴかフッコか、ぐらいの。
安物リールの耐久性、ワゴン売りのナイロン糸の信頼性、久々なので引きを楽しみたい、ついでにドラグも調整したい、
 などいろいろでゆっくり寄せる。
タモ入れは気持ちわるいぐらいスンナリ。ああ気持ち悪い。
で、フッコ。推定45cmぐらい。写真は撮り忘れた(ブランクの弊害)。
 ぜひキープ。
ちょこちょことタナを変えつつ続行。周囲ではまったく釣れてる気配なし。
 こっちもたまたま早いうちに肴用の魚は確保できたので気楽ではあるけど、本命の登場を願ってやまんわけで。
と、23:30〜1:00がだいたい「来る」時間帯です。ウチには。
0:00ちょうど。
 珍しく狙った通りのピンポイントに届いたウキが、願った通りの不気味な沈み方を..
したので、昨年末の悔しさを冷静にぶつけてみました。
しゅびっと合わせ、がつっと掛かり、あとはもう暴れようが潜ろうが、ただただ強引に岸壁から引き剥がす。
 ぶっとい糸にモノを言わせ、もう駆け引きとかそういうのナシで、闇雲にぐいぐい。漢だぜ。
もう岩でや壁で糸を切られる心配はない、ぐらいまで離したあたりで、やおら跳ねだした。
 でもスズキさん一家と違って妙にボテボテッと重たい感じ。
足下まで寄せたら銀色の魚影が。ぼしゃぼしゃっ。
 ンもう、魚も自分も大興奮。
もう、「やったー」思ってるし。誰か見てくれてないかキョロキョロするし。
 肝心のタモ入れ..
これがまた、ホントに気持ち悪いぐらい一発で決まった。調子が狂う。
 猫の死体ぐらいの重さ。
で、ホクホクしながら手元にうやうやしくスズキを
..スズキでした orz
推定では体長は最低でも80cmオーバー、重量は3.5kgはかたい。
 いや、でも、これ、頭だけでケムリ二箱半ありますよ。
  頭はだいたい全長の4分の1なので、少なく見積もって口先〜エラブタが22cmだとしても88cm。
 少なく見てもソレですよ。新記録ですよ。もっと喜ぼうよ。
  しかし、とにかく前回のひどい味を忘れられないもんで笑顔が輝かない。
不味スズキだった場合の不味指数は大きさに比例するわけで、持ち帰りの手間、下処理のグロさなど思うとちょっと。
 魚体は銀ならオイシィ、黒ならマジィという話であるが、手元のライトで照らすぶんにはどっちともつかず。
エラ回りが汚れていたら超NGという話であるが、今回のは全然キレイ。前回のは確かに汚かった。
 相当悩む。
と、ともかく、記録用に体長と重量を計ってからリリースかキープか決めようという事に。時間がもったいない。
 けっこう喉の奥に刺さってたハリを外すにあたり、
ウチの手がヒジの半分まで余裕でクチの中に入った。なんという大物。
 先発のフッコと一緒にストリンガーで待機して頂く事にした。
  ツラの皮が厚くてストリンガーがなかなか通らなかったが。
以後、ライントラブルもなくウキの破損・紛失もなく、
 アタリもなく。
2:30、納竿。
 そそくさと道具を畳み、わきわきとストリンガーをたぐる。抵抗はあるが、軽いような。
記録的スズキ、華麗に逃亡済みでした。
 これまでもカサゴの唇が切れていなくなってたり、とかは何度となくあったものの
今回のはストリンガーが解放状態になってでの逃亡でした。力づく。恐るべし。計りたかった。
フッコは何の処理もせず冷えてないクーラーBOXに押し込み、帰宅してからJの字に固まったやつを血抜きしておろした。
 前回、現地の海水で血抜きしたのも原因の一端かも、と思って。
おさかな大好きのももこに味見(毒味)して頂き、 ※前回のは一口っきりしか食べなかった
 オッケーっぽいので刺身に。
皮をはぐ前に入念にタワシで擦ってみた。はいだ皮を低温長時間の素揚げに。塩ひとふり。
 頭はなんとなく煮た(いつも通り)
総評:まあまあでした。
ナイスファイトではあった。
次回こそ本命を。