DTP Booster 006 08/26
●DTP Booster 006(Tokyo/09915)が決定したそうです。
日時:2009年9月15日(火)19:00〜21:00
会場:デジタルハリウッド本校セミナーホール(東京都千代田区神田駿河台2-3 DH2001Bldg.)
参加費:2,500円(事前決済)
定員:120名(事前登録制)
内容・講師:
「ソフトフォーカスのシミュレーションとランダムなブラシによるオブジェクトの配置」
藤本圭氏(株式会社テイク・フォト・システムズ)
「現場でスグに使える人物合成」
まめこ氏(ウープスデザイン)
今回は「Photoshop特集」です。羨ましい。
この内容、名古屋でもやってほしいなあ。
ちょっとした勘違い 08/07

息抜きです。
ダイアログに入力した数字を税込(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 ;num_glyph034.jsxを実際に使っている様子を動画にしてみた 07/28
旧タイトル:JINGテスト
JINGっていう動画キャプチャ入れたんで、ちょっとテスト。
せうぞーさんのnum_glyphをカスタマイズしてラジオボタンを追加したやつを実際に使ってるとこ。
SWFファイルなんでflashプレーヤー必須。
2009-07-28_1314.swf
追記。
上記は一桁数字を全角、二桁以上(およびカンマとピリオド)を等幅半角にしたもの。
全てを2分字形にしたものを、フォントだけ新ゴに変えてみたところ、数字とカンピリとのアキが気になるということがある。
そこで用意したのが【戻し置換】。こちらも動画を撮ってみた。
2009-07-28_1550.swf
JINGっていう動画キャプチャ入れたんで、ちょっとテスト。
せうぞーさんのnum_glyphをカスタマイズしてラジオボタンを追加したやつを実際に使ってるとこ。
SWFファイルなんでflashプレーヤー必須。
2009-07-28_1314.swf
追記。
上記は一桁数字を全角、二桁以上(およびカンマとピリオド)を等幅半角にしたもの。
全てを2分字形にしたものを、フォントだけ新ゴに変えてみたところ、数字とカンピリとのアキが気になるということがある。
そこで用意したのが【戻し置換】。こちらも動画を撮ってみた。
2009-07-28_1550.swf
CS4さわってみた 07/21
わが部署では、共有MACに1ライセンスだけCS4が入っている。
時間ないのでちょっとだけ検証^^
InDesignの勉強部屋のStudy Room CS4 No.06の情報を確かめたかったので。

フリーソフトのInstantShot!というMAC用スクリーンキャプチャを利用して画面キャプチャ。
オブジェクトをドラッグすると座標値が表示され(上の画像ではそこまではキャプチャできなかった)、環境設定での設定に応じて既に描画されているオブジェクトやドキュメントに対するスマートガイドが表示され簡単にオブジェクトを揃えることができる。
ただこれ、ページ内オブジェクトが大量にある仕事の場合、オフにしておかないと鬱陶しいことになりそう(^^;
時間ないのでちょっとだけ検証^^
InDesignの勉強部屋のStudy Room CS4 No.06の情報を確かめたかったので。

フリーソフトのInstantShot!というMAC用スクリーンキャプチャを利用して画面キャプチャ。
オブジェクトをドラッグすると座標値が表示され(上の画像ではそこまではキャプチャできなかった)、環境設定での設定に応じて既に描画されているオブジェクトやドキュメントに対するスマートガイドが表示され簡単にオブジェクトを揃えることができる。
ただこれ、ページ内オブジェクトが大量にある仕事の場合、オフにしておかないと鬱陶しいことになりそう(^^;
[InDesign][JS]上アキ0/上端線幅0 07/16
今日もまた InDesign CS3 表組支援JSシリーズっ!
動作確認環境:WindowsXP/CS3(5.0.4)
横組の表で、下図のように、行によってセル横幅の違うものって結構ある。

こういうのを、セルを分割したり連結したりして無理矢理ひとつの表組でやろうとすると、修正時に面倒臭いことになりがち。
「このセルだけ5mm伸ばして。伸ばした分は右隣のセルを縮めてくれればいいから」
いやー! 表全体が影響うけちゃうもんっ(^^;
つーわけで、ひとつのテキストフレームに複数の表を入れて、上下のアキをゼロにした。
表と表が重なるところは線が太くなっちゃうんで、下の表の上端の罫線を線幅ゼロにする。
こんな感じ。

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

そこで、この例で言えば2つ目以降の表組について、上端の罫線幅をゼロにして、表の前(上)アキもゼロにする部分だけを支援するスクリプト。
なんて控え目な自動化支援(笑)
でもこうして作った表組、たとえばある列を選択しようと思っても選択範囲が途中で途切れるので、第三者が修正する時面食らうだろうなw
続きを読む »
動作確認環境:WindowsXP/CS3(5.0.4)
横組の表で、下図のように、行によってセル横幅の違うものって結構ある。

こういうのを、セルを分割したり連結したりして無理矢理ひとつの表組でやろうとすると、修正時に面倒臭いことになりがち。
「このセルだけ5mm伸ばして。伸ばした分は右隣のセルを縮めてくれればいいから」
いやー! 表全体が影響うけちゃうもんっ(^^;
つーわけで、ひとつのテキストフレームに複数の表を入れて、上下のアキをゼロにした。
表と表が重なるところは線が太くなっちゃうんで、下の表の上端の罫線を線幅ゼロにする。
こんな感じ。

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

そこで、この例で言えば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]表セルの背景色 07/10
動作確認環境:WindowsXP/CS3(5.0.4)
今回の内容はmixi日記で書いたものです。
表の選択行にアミガケを施すものですが、mixiのほうは行単位でアミガケするものです。
こちらに書いたものは選択範囲にアミガケをするように変更しました。
あと、せうぞーさんの名もないテクノ手「JSONで属性を表現する」を参考に、既にドキュメント上で作成済みのスウォッチが同名だった場合はそのスウォッチを使う(エラー終了させない)ようにしました。
では、順を追って説明します。
InDesignの仕様(というべきか?)……
表組の背景色として、濃淡を適用して色付けすると、いったん「なし」を適用しても濃淡の情報が残ったままになってしまうのはご存知でしょうか。
1枚目:
スウォッチで「黒」、濃淡15%のアミガケを行った。
しかし、校正が戻り、アミガケが不要となったのでスウォッチパネルで「なし」を適用した。※

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

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

※スウォッチパネルで「なし」を適用する前にスウォッチ名をダブルクリックしてやれば、濃淡100%の状態に戻ります。まあ、しかし余程癖をつけておかないと、いちいちダブルクリックしてから「なし」を適用することはないかと。やはりヒューマンエラーの原因となり得るだろうと予測します。
今回の内容はmixi日記で書いたものです。
表の選択行にアミガケを施すものですが、mixiのほうは行単位でアミガケするものです。
こちらに書いたものは選択範囲にアミガケをするように変更しました。
あと、せうぞーさんの名もないテクノ手「JSONで属性を表現する」を参考に、既にドキュメント上で作成済みのスウォッチが同名だった場合はそのスウォッチを使う(エラー終了させない)ようにしました。
では、順を追って説明します。
InDesignの仕様(というべきか?)……
表組の背景色として、濃淡を適用して色付けすると、いったん「なし」を適用しても濃淡の情報が残ったままになってしまうのはご存知でしょうか。
1枚目:
スウォッチで「黒」、濃淡15%のアミガケを行った。
しかし、校正が戻り、アミガケが不要となったのでスウォッチパネルで「なし」を適用した。※

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

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

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]選択した表の各列を行方向にマージ 07/08
動作確認環境:WindowsXP/CS3(5.0.4)
勉強部屋の件で、表組を列方向にマージするにはこう書けばよさげ。
挿入点ではなく、セルを一つ以上選んでから実行すると、選択した部分の列を上から下までマージします。
【2009/07/08 18:13訂正】※
結果は下図のような感じ。表全体を選んだとき、セルの高さを最小値に設定してたら1行の細長い表になっちゃう(^^;
あと、表全体をマージしちゃうと、「表を結合しない」がグレーアウトしちゃうので要注意。アンドゥは効く。

なお、すでに結合した列がある状態で表全体を選んでこのスクリプトを実行すると下図のようなエラーが出る。まあ、エラーは出るけど、結合済みの列の左側の列は結合される。
こういうときは、結合されてないところを選んで結合する方法もアリw

※訂正箇所
訂正前: var tableObj = app.activeDocument.selection;
訂正後: var tableObj = app.activeDocument.selection[0];
mixiでミシマバイカモさんに教えていただきました。
いつもありがとうございます m(_ _)m
最初の行でこうしておけば、以後3回登場する変数 tableObj について [0] を入れなくて済みます。
勉強部屋の件で、表組を列方向にマージするにはこう書けばよさげ。
挿入点ではなく、セルを一つ以上選んでから実行すると、選択した部分の列を上から下までマージします。
(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行の細長い表になっちゃう(^^;
あと、表全体をマージしちゃうと、「表を結合しない」がグレーアウトしちゃうので要注意。アンドゥは効く。

なお、すでに結合した列がある状態で表全体を選んでこのスクリプトを実行すると下図のようなエラーが出る。まあ、エラーは出るけど、結合済みの列の左側の列は結合される。
こういうときは、結合されてないところを選んで結合する方法もアリw

※訂正箇所
訂正前: var tableObj = app.activeDocument.selection;
訂正後: var tableObj = app.activeDocument.selection[0];
mixiでミシマバイカモさんに教えていただきました。
いつもありがとうございます m(_ _)m
最初の行でこうしておけば、以後3回登場する変数 tableObj について [0] を入れなくて済みます。
DTPの勉強会 会場変更 06/30
DTPの勉強部屋:会場変更のお知らせ
リンク先の通り、第14回 DTPの勉強会の会場が変更になりました。
すでに申し込まれた方、受験票のプリントアウトをしてご用意の上、会場が変更になったことをお忘れなく。
■新会場
名古屋会議室 名駅モリシタ名古屋駅前中央店 第2+3会議室
リンク先の通り、第14回 DTPの勉強会の会場が変更になりました。
すでに申し込まれた方、受験票のプリントアウトをしてご用意の上、会場が変更になったことをお忘れなく。
















