InDesign居残り補習室

どれだけ勉強しても上達しない管理人の、InDesign備忘録を中心に。たまにブックレビューなども。

スポンサーサイト  --/--/--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


[ID][CS5][JS]run_Queries(せうぞー様作JS)  2010/11/05

せうぞーさんがお書きになったInDesignCS4用JSである「run_Queries 0.3」を、WIN版CS5で動作チェックしました。

まず、必要な段落スタイルを予め作成しておきます。
次に、検索クエリーを作ります。
条件は以下の通り。

● 行頭に「★」がある段落は、「段落スタイル A」を適用する。
● 行頭に「◆」がある段落は、「段落スタイル B」を適用する。
● 行頭に「■」がある段落は、「段落スタイル C」を適用する。
(※実際には★★や■■のようにふたつ重ねる、もしくは行頭と行末を★と☆で囲むなど、そのドキュメント中で目印をつけたい段落を確実に特定できるような工夫をした方が効率が良いかと思います)
WS000011.jpg

検索置換条件を設定したら、ディスクアイコンをクリックして設定を保存します。
(上図は実際に検索して、きちんとヒットすることを確認しています)

WS000012.jpg

必要な条件の分だけ繰り返し、「完了」を押してダイアログを閉じます。
次に、スクリプトを編集します。

WS000013_20101105103236.jpg

正規表現検索なのでgrepとし、クエリ名を入力したら保存します。
おっと、その前に。

WS000016_20101105123819.jpg

ESTK上で動作チェックしたい方は、プルダウンを“Adobe InDesign CS5”に変更することをお忘れなく。

WS000014_20101105103937.jpg

run_Queriesをスクリプトパネル上でダブルクリックすると、ダイアログが表示されます。
今回は“ドキュメント”を選択。
OKを押すと、選択したクエリーが表示されます。
確認し、それで良ければ再びOKを。

WS000015_20101105103938.jpg

うまく置換できました。

せうぞー様、大変便利なスクリプトをいつもありがとうございます。
今後とも活用させていただきます m(_ _)m

スポンサーサイト

[InDesign][JS]箇条書き  2010/02/24

InD-Boardのこの件を受けてのスクリプトです。
記号または自動番号の位置
このスクリプトのうち、タブ消去の部分は余計なお節介かもしんない。


//////選択した段落を記号つき箇条書きに
var mySel = app.activeDocument.selection[0];
mySel.bulletsAndNumberingListType = 1280598644; //箇条書き:記号
mySel.bulletsAlignment = 1818584692; //記号の揃え位置:左
mySel.firstLineIndent = -2.5; //先頭行インデント
mySel.leftIndent = 4; //左インデント

//あらかじめ設定されているタブ設定は消去
for (var i=0; i<mySel.tabStops.count(); i+1){
mySel.tabStops[i].remove();
}

mySel.tabStops.add({position:4}); //タブ位置



いき♂的不親切モード全開w
スクリプト中で特に指定してないので、箇条書き記号のダイアログの先頭に表示されている小さな●に続いてタブが自動挿入されると思います。
UI作ってないので、インデント値などの変更をしたければスクリプトを直接編集。
あと、インデントとかの単位を省略してるけど、今回はmmを基準に考えています。
13級程度の本文用ならいい感じ?

ちょっとした勘違い  2009/08/07

WS000049.jpg
息抜きです。
ダイアログに入力した数字を税込(1.05をかけて四捨五入)にした上で単位の「円」を追加し、アクティブなページ上にテキストフレームを作って表示します。ただそれだけ。
ただ、このアクティブページって奴を、私はついつい誤解してしまうんです。
サンプル画像のように、ページパネルで選択しておけば、そこにテキストフレームを作成できるような気がしてしまいまして。
実際にアクティブになっているページは、ページボックスで確認しないとダメですね(^^;
var my_dialog = app.dialogs.add({name:"金額を税込に", canCancel:true});
with(my_dialog){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"金額:"});
}
with(dialogColumns.add()){
var kingaku = realEditboxes.add({editContents:"", minWidth:100});
}
}
if (my_dialog.show() == true){
var zeibetu = kingaku.editContents;
my_dialog.destroy();
}
else {
my_dialog.destroy();
}

//ドキュメントのrulerOriginを保存
var oldRular = app.activeDocument.viewPreferences.rulerOrigin ;
//ドキュメントのrulerOriginをページに変更(10進法で指定)
app.activeDocument.viewPreferences.rulerOrigin = 1380143215 ;

var zeikomi = Math.round(zeibetu*1.05)+"円";
var my_obj = app.activeWindow.activePage.textFrames.add();
my_obj.geometricBounds = ["20mm","25mm","30mm","75mm"];
my_obj.contents = zeikomi;
my_obj.paragraphs[0].pointSize = "11pt";
my_obj.paragraphs[0].appliedFont = app.fonts.item("小塚ゴシック Pro M"); //サンプル画像は新ゴです(^^;

//ドキュメントのrulerOriginをもとに戻す
app.activeDocument.viewPreferences.rulerOrigin = oldRular ;


[InDesign][JS]上アキ0/上端線幅0  2009/07/16

今日もまた InDesign CS3 表組支援JSシリーズっ!
動作確認環境:WindowsXP/CS3(5.0.4)

横組の表で、下図のように、行によってセル横幅の違うものって結構ある。
WS000039_20090716100056.jpg
こういうのを、セルを分割したり連結したりして無理矢理ひとつの表組でやろうとすると、修正時に面倒臭いことになりがち。
「このセルだけ5mm伸ばして。伸ばした分は右隣のセルを縮めてくれればいいから」
いやー! 表全体が影響うけちゃうもんっ(^^;

つーわけで、ひとつのテキストフレームに複数の表を入れて、上下のアキをゼロにした。下の表の上アキをゼロにした。
表と表が重なるところは線が太くなっちゃうんで、下の表の上端の罫線を線幅ゼロにする。
こんな感じ。
WS000040.jpg

実際には、たくさん行数があるうちの、こことここだけが列数が違う!っていう感じの表組が多いんだけれどもね。
WS000041_20090716100056.jpg

そこで、この例で言えば2つ目以降の表組について、上端の罫線幅をゼロにして、表の前(上)アキもゼロにする部分だけを支援するスクリプト。
なんて控え目な自動化支援(笑) 
でもこうして作った表組、たとえばある列を選択しようと思っても選択範囲が途中で途切れるので、第三者が修正する時面食らうだろうなw


//表の前アキを0にして上端の線幅も0にする
//下の表を選択して実行する
(function (){
var tableObj = app.activeDocument.selection[0];
tableObj.spaceBefore = "0";
for (var i=0; i<tableObj.columns.length; i++)
{
var cellObj = tableObj.rows[0].cells[i];
cellObj.topEdgeStrokeWeight = "0";
}
})();



続きを読む »

[InDesign][JS]表セルの背景色  2009/07/10

動作確認環境:WindowsXP/CS3(5.0.4)

今回の内容はmixi日記で書いたものです。
表の選択行にアミガケを施すものですが、mixiのほうは行単位でアミガケするものです。
こちらに書いたものは選択範囲にアミガケをするように変更しました。
あと、せうぞーさんの名もないテクノ手「JSONで属性を表現する」を参考に、既にドキュメント上で作成済みのスウォッチが同名だった場合はそのスウォッチを使う(エラー終了させない)ようにしました。

では、順を追って説明します。

InDesignの仕様(というべきか?)……
表組の背景色として、濃淡を適用して色付けすると、いったん「なし」を適用しても濃淡の情報が残ったままになってしまうのはご存知でしょうか。


1枚目:
スウォッチで「黒」、濃淡15%のアミガケを行った。
しかし、校正が戻り、アミガケが不要となったのでスウォッチパネルで「なし」を適用した。※
WS000028.jpg


2枚目:
次の校正で再びスミ15%のアミガケを施す指示が入った。
しかし対応したのは別の担当者だった。
その担当者は、「K15」という名のスウォッチを作成して適用した。
しかし、前回の濃淡15%の設定が生きており、結果としてわずかスミ2.25%のアミガケとなってしまった。
WS000029.jpg


3枚目:
今回の例に限っていえば、スウォッチ[黒]を適用することでスミアミ15%の背景色を適用させられるわけですが、これがたとえば別の濃いめの色80%とかで、新しい担当者がスウォッチパネルを注意深く見なかった場合など、ヒューマンエラーの原因となり得ることは確かです。
そこでスクリプト。ソースは後述。
WS000030_20090710121443.jpg






function swatches_add(my_properties) {
  var my_swatch = false;//初期値
  var my_doc = app.activeDocument;//ターゲットドキュメントは

  //同名ならそのオブジェクトを返す
  for (i = 0; i < my_doc.swatches.length; i++) {
    if (my_doc.swatches[i].name == my_properties.name) {return my_doc.swatches[i];}
  }
  //Swatchの作成
  my_swatch = my_doc.colors.add(my_properties);
  return my_swatch;
}
var my_swatch_01 = swatches_add({name:"K15", colorValue:[0, 0, 0, 15], model:ColorModel.PROCESS, space:ColorSpace.CMYK});

var tableObj = app.activeDocument.selection[0].cells;
for (var j=0; j<tableObj.length; j++)
  {
  tableObj[j].fillColor = my_swatch_01;
  tableObj[j].fillTint = 100;
  }



※スウォッチパネルで「なし」を適用する前にスウォッチ名をダブルクリックしてやれば、濃淡100%の状態に戻ります。まあ、しかし余程癖をつけておかないと、いちいちダブルクリックしてから「なし」を適用することはないかと。やはりヒューマンエラーの原因となり得るだろうと予測します。

[InDesign][JS]選択した表の各列を行方向にマージ  2009/07/08

動作確認環境:WindowsXP/CS3(5.0.4)

勉強部屋の件で、表組を列方向にマージするにはこう書けばよさげ。
挿入点ではなく、セルを一つ以上選んでから実行すると、選択した部分の列を上から下までマージします。

(function (){
    var tableObj = app.activeDocument.selection;
    for (var i=0; i<tableObj[0].columns.length; i++)
    {
        var cell1 = tableObj[0].columns[i].cells[0];
        var cell2 = tableObj[0].columns[i];
        cell1.merge(cell2);
    }
}) ();

【2009/07/08 18:13訂正】※
(function (){
    var tableObj = app.activeDocument.selection[0];
    for (var i=0; i<tableObj.columns.length; i++)
    {
        var cell1 = tableObj.columns[i].cells[0];
        var cell2 = tableObj.columns[i];
        cell1.merge(cell2);
    }
}) ();

結果は下図のような感じ。表全体を選んだとき、セルの高さを最小値に設定してたら1行の細長い表になっちゃう(^^;
あと、表全体をマージしちゃうと、「表を結合しない」がグレーアウトしちゃうので要注意。アンドゥは効く。
WS000026.jpg
なお、すでに結合した列がある状態で表全体を選んでこのスクリプトを実行すると下図のようなエラーが出る。まあ、エラーは出るけど、結合済みの列の左側の列は結合される。
こういうときは、結合されてないところを選んで結合する方法もアリw
WS000027.jpg

※訂正箇所
 訂正前: var tableObj = app.activeDocument.selection;
 訂正後: var tableObj = app.activeDocument.selection[0];
mixiでミシマバイカモさんに教えていただきました。
いつもありがとうございます m(_ _)m
最初の行でこうしておけば、以後3回登場する変数 tableObj について [0] を入れなくて済みます。

[InDesign][JS]num_glyph0.34を修正  2008/11/11

[InDesign][JS]再びnum_glyph 0.3を編集してみた

の処理の一番上、該当箇所はスクリプトのずーっと下の方の
////////////////検索の実行
var hit_obj = my_regex(myselection, "[0-9.,]+", "");
var hit_obj2 = my_regex(myselection, "[.,]+", "");

if (ans_int == 0) {//すべてを標準字形にする
for (var i = 0; i < hit_obj.length; i++) {
if (hit_obj[i].contents.length == 1) {
hit_obj[i].glyphForm = AlternateGlyphForms.NONE;
hit_obj[i].leadingAki = 0;
hit_obj[i].trailingAki = 0;
}
}
all_glyph_change(hit_obj, AlternateGlyphForms.NONE);
}

ですが、leadingAki と trailingAki の値を“0”にしていると文字前のアキ量と文字後のアキ量がベタになってしまいます。
ここを両方とも“-1”に直してやると、それぞれ自動になります。
2009/07/28追記前回のエントリにも上記の訂正を加えておきました。

ミシマバイカモさんのInDesignスクリプト配給所のスクリプトをダウンロードしてくるとついてくるReadmeファイル“InDesignスクリプトmemo.txt”を読んでいたのですが、その中に「前後アキ量設定.jsx」についての説明がありました。
そういえばnum_glyph0.34について、ここの値を0にしたまま「あれ? 自動にするにはどうすればいいんだっけ?」とぼんやり思ったっきり忘れていたのでした。上記Readmeファイルを読むことで、その中に答えが書かれていました。
ミシマバイカモさん、ありがとうございました。
そして私の記事を読んでくださった皆様、おそまつさまでした。

[JS]CropMarksを改造してみた  2008/11/06

変なバグが見つかったからバグではないがエントリ起こしてみました。
何かというと、InDesign CS3のサンプルスクリプトとして添付されている、
CropMarks.jsx”という、選択オブジェクトの周囲にトンボを描くスクリプトがあるのですが……。
WS000176.jpg
これを日本語化(←あまり意味ないけど)、
ミリ対応(ポイントが嫌いなのではありません。ミリが好きなんです)
ドブ用に線を追加(CropMarksは裁ちトンボしか描いてくれない)
のスクリプトへと書き換え、動作チェックをして気付いたんです。

JavaScript中で手っ取り早くミリをエディットボックスの初期値に使おうと思ったら、
editValueにミリをポイントに換算した数値をセットし、
editUnits:MeasurementUnits.millimeters
としておけばよいはずでした。

ところが、線の太さだけ、スクリプト中でセットした数値がそのままドキュメントの単位の数値としてInDesignに渡ってしまうのです。
追記の最後に書きましたが、これはスクリプトの記述が不足していたためでした。

具体的には、トンボなので線の太さを0.1mmにしようと思い、初期値を0.2835としました。
こいつを走らせると……
WS000177.jpg
ダイアログには確かにmmに換算後の数値である0.1が入力されています。
しかーし。
WS000178.jpg
太いやんけ。

そこで、スクリプト中で線の太さだけ、0.1と記述することにしました。
そのままだと、エディットボックスには0.035と表示されやがります。(実際に描画される線の太さは0.1mmとなることを確認しました/証拠の画像省略)
でも万が一0.12mmとか0.08mmにしたいとき、面倒じゃないですか。
もちろん、エディットボックス内で0.035*1.2とか0.035*0.8とか入力してやればいいんですけどね。

渋々、数値は0.1と記述、単位はpointsとしてやり、再度実験。
WS000179-1.jpg
当然、エディットボックスには0.1ptと表示されることになります。
それなのに、描画される線の太さは0.1mmです。
WS000180-1.jpg
バグですよ。多分CS2も同様。
CSの時はきちんと一致しましたから。
ま、こういう気持ち悪い部分が残っちゃうことを承知で、改造版CropMarksを追記に置いておきます。
追記に紹介したスクリプトは不完全版です。
線幅の単位がきちんと一致する修正版がこちらに置いてあります。

続きを読む »

[JavaScript]TableReplaceもどきコピペ版  2008/11/04

TableReplaceもどき使用例のレスにおいて、バイカモさんが書き込んでくださった訂正版スクリプトを私の環境(winXP sp2/CS3 v5.0.4)で動作チェックした結果、良好に動作したのでご紹介します。
バイカモさんの了解を得ましたので、以下にスクリプトの内容を記述いたします。
なお、バイカモさんの前回のレスもご参照ください。

では、追記から。バイカモさんが書いてくださったJavaScriptです。


続きを読む »

[InDesign][JS]再びnum_glyph 0.3を編集してみた  2008/06/11

市川せうぞーさんのとても便利なInDesign CS3用JavaScriptnum_glyph 0.3に、以前処理を追加しましたが、本日さらに改造してみました。
※OTFの異体字を利用して算用数字の字形を変更するツールです。
念のため再掲しておきますが、以下2行は上記リンク先に同梱されているReadmeファイルの一部です。

このツールを改造して配布することはできません。もし、ソースを改変して使用される場合は、あなたが制作者であり、わたくし(市川)は何等無関係であることをご承知ください。
わたくし(市川)はこのツールのいかなる不具合についても、それを保全する義務および責任がありません。ご承知置きください。


9つ目以降のラジオボタンが追加した処理です。
10個目以降のラジオボタンが追加した処理です。
追記のソースをコピーして利用した場合、カンマとピリオドも数字の仲間と見做して処理してしまいます。その点ご留意くださいませ。

【横組】1桁を二分字形中付に、2桁以上を二分字形にする
   横組用の処理を想定しています。
   算用数字を等幅半角字形に変更します。
   ただし一桁数字は、文字前のアキ量および文字後のアキ量を四分に変更します。

【共通】1桁を全角字形に、2桁以上を二分字形にする
   縦組/横組共通の処理を想定しています。
   一桁数字を等幅全角字形に、二桁以上を等幅半角字形に変更します。

【縦組】1桁と4桁以上を全角、2桁と3桁を二分字形に
   縦組用の処理を想定しています。

【戻し置換】カンマとピリオドを標準字形に
   カンマやピリオドが等幅半角だと、隣接する数字との間隔が気になる場合もあろうかと思いますので、カンマとピリオドのみ標準字形に戻すためのボタンを追加しました。

すべてを標準字形にする
   ラジオボタンの一番上にある、元からあった処理ですが、オリジナルのスクリプトは文字前/後のアキ量は変更しません。
   ところが、上記の横組用の処理を行うと、一桁数字については文字前/後のアキ量が変わってしまいます。
   作業の途中で元に戻したい場合を想定し、この処理を行うと字形だけでなくアキ量もベタになるように変更しました。


動作確認はWindows XP Pro SP2でしかとっておりません。
ご利用は自己責任でお願いします。
ここのソースをコピーして利用した上での疑問点は、間違っても市川せうぞーさんに直接問い合わせることはおやめください。

では、追記から。

続きを読む »

 | HOME |  »

カレンダー

05 | 2017/03 | 07
- - - 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 -

FC2カウンター

2006年3月28日カウント開始

Amazon

FC2 Affiliate

動くPDF

プロフィール

あわせて読みたい

あわせて読みたいブログパーツ

最近の記事

最近のコメント

最近のトラックバック

Lc.ツリーリンク

RSSリンク

直感カテゴリーツリーV1.1

ブログ内検索

ブロとも一覧

marumi

神楽崎 ゆう


■ ブログ名:I'm writing NOVEL

七篠 銀字


■ ブログ名:風と夜空と氷の国

MS


■ ブログ名:へなちょこDTP

桜桃


■ ブログ名:追憶の桜吹雪

瑪瑙 輝遊


■ ブログ名:千里の道も一歩から

magatu


■ ブログ名:unsigned

暁 鷲 (あかつき しゅう)


■ ブログ名:空を裂け!

NewMark

C-Roll


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。