選択したセルのoverflowsがおかしい?

このエントリはセルに絡んだバグ?のおはなしなんだ。いや、仕様ですって言われればそれまでなのだけどね。前回自動的にオーバーセットしたセルの内容を長体をかけて追込む方法をお伝えしたのだけど、ちょいと思い立って選択したセルのオーバーセットをちょこっと長体をかけて追込んじゃうってスクリプトを書いてみたんだ。

続きを読む

オーバーセットテキストを探そう 2

オフトピックが連続するけど、こちらも結構有用だと思うので先に書いてしまうね。
前回のエントリではテキストフレームに対する処理だったのだけど、今回はセルに対する処理をやってみようと思うんだ。特にセルが対象の場合だと追込み方はほほ長体のみで完結してしまうのではないかいな、と思うのでこちらの方が実務には役立つかもしれないね。
基本はテキストフレームの時と同じで、手順もそのままで大丈夫。何が違うかと言うと処理対象だけだとwww

今回はテキストフレーム中に表が一つだけ存在するケースを想定してコードを書いてみるんだ。表が含まれるテキストフレームを選択した状態でスクリプトを走らせるんだよ。

まずはこの2行から

slct = app.activeDocument.selection[0];
cellNum = slct.tables[0].cells.length;

slctの中身はtextFramesが入ることになるね。次の行はテキストフレームに含まれるテーブルのセル数を取得しているんだ。前回のテキストフレームの数を調べるのと同様の処理だね。これがループの回数になるわけだね。

for (i=0;i<cellNum;i++){
    flow = slct.tables[0].cells[i].overflows;
    scale = 100;
    if (flow){
        txObj = slct.tables[0].cells[i].characters.everyItem();
        while (flow){
            scale–;
            txObj.horizontalScale = scale;
            flow=slct.tables[0].cells[i].overflows;
            }
        }
    }

ループの方をみてみよう。前回とほぼ同様なのは分かってもらえると思うんだ。違うのは処理対象

    flow = slct.tables[0].cells[i].overflows;

slctはtextFramesなので、「選択したテキストフレームの最初のテーブルのセルのオーバーフロープロパティ」を順番に参照するかたちになるね。
その他は変わらないので解説は割愛するよ。前回のエントリを参照してね。
それから、テキストフレーム内にtableが複数あるケースでは、予めtableの数を調べてループを作って、その中で今回のコードを走らせる形にすれば良いんだ。需要のある人は考えてみてね。

オーバーセットテキストを探そう

表組にしてもテキストフレームにしても、勝手はみ出てしまうオーバーフローはとっても厄介なんだ。特に高解像度表示で編集作業を行っている場合、オーバーセットの警告マークが表示されないので見逃しがちになって、プリント時にオーバーセットがあるからなんとかしろ!みたいなこと云われて涙目になってしまったよいこが全国で推定120人程度はいると思うんだ。そんな気の弱いおぺ&でざ達のためにオーバーセットテキストをスクリプトで調整しちゃおうみたいなエントリなんだ。

続きを読む

Indesignでsocketを利用する 2

なんだかんだで引き延ばしでいるようだけど、それもこれも、ひとえにわたしの低スペックのなせる技なんだ、すまないwwwだれかCore2Quad提供してくれないだろうか。脳みそせれろんなみなものでwww
このところ、前振りなげぇ〜よなんて思われている様なので早速本題に入る事にするね。今回は要になるルビ振りAPIの利用方法についてなんだ。

続きを読む