2009年7月アーカイブ

19)検索置換

| コメント(9) | トラックバック(0)

IllustratorCS3で選択されたtextFrameの文字を検索置換リストにしたがって検索置換します。このサンプルでは全角数字を半角にします。
スクリプトの最初のほうの

findrepAry.push("1,1");
findrepAry.push("2,2");

の部分を書き換えると、さまざまな検索置換に対応できます。

ただし、一度テキストを取ってきて検索置換してからテキストを戻すので細かい設定をしているテキストの場合は全ての文字が最初の1文字目の設定になってしまいます。ご注意下さい。

たぶん他のバーションのIllustratorでも動くと思います。

ダウンロードはこちら
findrep.zip

■■■使い方■■■
Illustratorドキュメントを開いた状態で
テキストを選択して実行してください。
ファイルメニューのスクリプトから実行してください。

Illustrator19

名古屋のDTP勉強会のあとデニーズで徹夜中にcheshire-Katzeさんとお話ししながら作成したスクリプトです。

var regStr = "/"+"1"+"/g";
var rep = "1";
var replaceStr = motoStr.replace (regStr, rep);

正規表現の上の書き方は出来ないのですが、

var regStr = "/"+"1"+"/g";
var rep = "1";
var replaceStr = motoStr.replace (eval(regStr), rep);

このようにevalを使うとうまくいきます。

勉強会用タイムキーパー

| コメント(3) | トラックバック(0)

名古屋DTP勉強会でお話しする時に行きの電車で作りました。

勉強会で講師をする時のタイムキーパーです。
起動してスタートボタンを押せばタイムキーパーが画面の右下であなたの講演をサポートします。

・現在のセッションのタイトルと残り時間を表示します。
・セッションの残り時間を小さなバーが表示します。
・セッションが残り短くなるとオレンジ→赤になって警告します。
・自分への戒めをランダムに表示します。

起動直後状態

スタートするとあらかじめ設定しておいた文字が表示される。
左の数字は残り時間(分)

残り2分を切るとオレンジになります。下のグレーのバーがだんだん短くなります。

残り1分を切ると赤になります。けっこう気がつきます。
残り0になると次のセッションのタイトルが表示されます。

自分への戒めはときどき表示されます。

■■■使い方■■■
アプリケーションStydy-room-omamoriを起動すると画面の右下に小さなパレットが表示されます。スタートボタンをクリックして下さい。

タイムテーブルの設定方法
アプリケーションと同じ階層に「timetable.txt」という名前で
セッション名 タブ 分
で書いたテキストファイルを置いて下さい。文字コードはUTF-8です。

自分への戒めの設定方法
アプリケーションと同じ階層に「imasime.txt」という名前で1行に1つ自分への戒めを書いておいて下さい。

スピードの設定
「bak」フォルダに入っている「speed.txt」をアプリケーションと同じ階層に動かして下さい。30倍の速度で動きます。「speed.txt」に10と書くと10倍です。好きな数字を書いて実験に使って下さい。

ダウンロードはこちら
IntelMac用

PowerPCMac用

REALbasicソースコード

else06
名古屋DTP勉強会でお話しする時に行きの電車で作りました。
アップするためにちょっとパワーアップしています。
どれくらい使えるかなぁと思ったのですが、意外と便利で、画面の右下で自分が今何を話している予定だったかを表示してくれます。気付かないかなとも思ったのですが結構目が行きました。

090725DTP勉強会名古屋復習

| コメント(0) | トラックバック(0)

私の説明ではつたわらなかったかもしれないのでDTP勉強会名古屋の復習としてカスタマイズ方法をアップしました。参考にしていただければ幸いです。

スクリプトの読み方

カスタマイズ

エラー処理を入れる

03)エラー処理を入れる

| コメント(0) | トラックバック(1)

さて、完成したスクリプトなのですがこれを自分だけで使う場合はこれでOKです。もし自分以外の人が使うとなるとちと問題ありです。というのもこのスクリプトはセルが選択されているというのが前提になっています。もしドキュメントが開いてなければ?もしなにも選択されていなければ?
ここではエラー処理を加えるというお話をします。
せうぞーさんのブログはわざとエラー処理を入れていません。エラー処理を入れると一気に行数が増えて肝心な部分が見にくくなるからです。

//エラー処理
//ダイアログ表示のおまじない
app.scriptPreferences.userInteractionLevel=1699311169;

main();

function main(){
	if (app.documents.length == 0){
		alert("ドキュメントを開いてください");
		return;
	}
	if (app.selection.length == 0){
		alert("セルを選択してください");
		return;
	}
	myDocu = app.activeDocument;
	mySele = myDocu.selection;
	for(var s = 0; s<app.selection.length; s++){
		table_choutai(app.selection[s]);
	}
}

function table_choutai(myObj){
	var seltype = myObj.constructor.name
	if(seltype == "Cell"){
		table_choutai2(myObj);
	}
}

//ここから下が市川せうぞーさんの名もないテクノ手を参考にしています。
function table_choutai2(myObj){
	for (var i = 0; i < myObj.cells.length; i++) {
	var txtObj = myObj.cells[i];
	var danraku = txtObj.paragraphs[-1];
	var gyou = txtObj.lines[-1];
	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ
		var danraku_str = danraku.contents;
		var gyou_str = gyou.contents;
		if (danraku_str == gyou_str) {break}
			danraku.horizontalScale = w;
		}	
	}
}
//エラー処理
//ダイアログ表示のおまじない
app.scriptPreferences.userInteractionLevel=1699311169;

main();

ダイアログ表示のおまじないはおまじないなので入れておいて下さい。
ダイアログが表示されないスクリプトを未然に防いでくれます。
main();
でコマンド(サブルーチン)main();を呼び出しています。();が付くのはコマンド(サブルーチン)でしたね。

function main(){

ここがコマンド(サブルーチン)mainのスタートです。

	if (app.documents.length == 0){
		alert("ドキュメントを開いてください");
		return;
	}

もしドキュメントが0ならメッセージを出して終了します。
alert("ドキュメントを開いてください");もコマンド(サブルーチン)です。
();がついてるでしょ。
return;はコマンド(サブルーチン)から処理を抜けます。

	if (app.selection.length == 0){
		alert("セルを選択してください");
		return;
	}

こちらは選択されていなければメッセージを出します。

	myDocu = app.activeDocument;
	mySele = myDocu.selection;
	for(var s = 0; s<app.selection.length; s++){
		table_choutai(app.selection[s]);
	}
}

ここで選択されているものを取り出しています。
for文がありますが、これは選択は1つだけとは限らないからです。
InDesignは何個も選択できますよね。選択の数だけ繰り返します。
でも、まだ問題があります。選択されているものがセルとは限らないのです。
なので次のtable_choutai(app.selection[s]);を呼び出しています。
コマンド(サブルーチン)のtable_choutaiにapp.selection[s]なので選択されたものを1つづつ送っています。

function table_choutai(myObj){
	var seltype = myObj.constructor.name
	if(seltype == "Cell"){
		table_choutai2(myObj);
	}
}

このコマンド(サブルーチン)table_choutaiは選択されたものが何かを調べるコマンド(サブルーチン)です。変数 seltype に選択された物のタイプを入れてもしセルなら次のコマンド(サブルーチン)table_choutai2を呼び出します。(myObj);のmyObjには送られて綺羅選択が入っていますので、それもそのまま次のコマンド(サブルーチン)table_choutai2に送ります。セルでないものが選択されていた場合は処理をしません。

//ここから下が市川せうぞーさんの名もないテクノ手を参考にしています。
function table_choutai2(myObj){
	for (var i = 0; i < myObj.cells.length; i++) {
	var txtObj = myObj.cells[i];
	var danraku = txtObj.paragraphs[-1];
	var gyou = txtObj.lines[-1];
	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ
		var danraku_str = danraku.contents;
		var gyou_str = gyou.contents;
		if (danraku_str == gyou_str) {break}
			danraku.horizontalScale = w;
		}	
	}
}

コマンド(サブルーチン)table_choutai2は先ほどカスタマイズしたスクリプトとほとんど同じです。先ほどと違うのは選択範囲を取り出していません。選択はもう一段階前のコマンド(サブルーチン)で調べているからです。ここでは送られてきた選択(セル)を処理しています。

02)カスタマイズ

| コメント(0) | トラックバック(1)

それをカスタマイズして
「セル内で1行に収まっていない段落を解消するスクリプト」にする方法です。
上のスクリプトではオーバーフローしていると長体がかかってくれますが、セルの天地を自動にしていてオーバーフローしない場合にちょっと不便です。なので1つのセルに入る文字がかならず1行ならば2行になっているのを1行になるまで長体にカスタマイズしてみます。

段落は改行までが1段落です。
それに対して行は見かけ改行されていれば2行です。

という事は段落内の文字と段落の最初の行内の文字が同じならば長体をかけなくても良いそれ以外は長体をかける。
と考えるとうまくいきそうです。

var sel = app.activeDocument.selection[0];
for (var i = 0; i < sel.cells.length; i++) {
	var txtObj = sel.cells[i];
	var danraku = txtObj.paragraphs[-1];

ここまではせうぞーさんのと同じです。

	var gyou = txtObj.lines[-1];

ここで変数gyouに行を入れます。[-1]で最終行を入れていますがlines0;のほうがいいですね。

	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ

ここはせうぞーさんのと同じ

		var danraku_str = danraku.contents;
		var gyou_str = gyou.contents;

ここで
変数danraku_strに段落を
変数gyou_strに行を入れています。

		if (danraku_str == gyou_str) {break}

もし段落の内容と行の内容が同じなら長体をしなくてよいので繰り返しを抜けます。

		danraku.horizontalScale = w;
	}
}

段落の内容と行の内容が違うなら長体をかけていきます。これもせうぞーさんのと同じ。

ほかにも段落が1つに対して行が2つあれば長体ということは段落の中の行の数を数えて1ならば長体しない。それのほうが良かったかもしれないですね。

01)スクリプトの読み方

| コメント(0) | トラックバック(2)

市川せうぞーさんの名もないテクノ手の
せうぞーさんの「セル内のオーバーフローを解消するスクリプト」
http://d.hatena.ne.jp/seuzo/20080923/1222106561

の読み方です。すいません。スクリプト全文掲載させていただきます。
(メールでは許可とったつもり)
せうぞーさんのこのスクリプトは便利な上に10行しかなくてソースも奇麗なのでカスタマイズや説明には最高の題材です。せうぞーさんありがとうございます。

スクリプトは上から順に実行されていきます。なので下記スクリプトも上から読んでいけばいいわけです。varとついているのは変数が最初に出てくるところです。

var sel = app.activeDocument.selection[0];
for (var i = 0; i < sel.cells.length; i++) {
	var txtObj = sel.cells[i];
	var danraku = txtObj.paragraphs[-1];
	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ
		if (txtObj.overflows == false) {break}
		danraku.horizontalScale = w;
	}	
}
var sel = app.activeDocument.selection[0];

変数selにアクティブドキュメントの選択されたものの0番目を入れています。JavaScriptでは1番目からでなく0番目が最初です。

for (var i = 0; i < sel.cells.length; i++) {

forは繰り返しです。
var i = 0;
 変数iは0からスタート
i < sel.cells.length;
 変数iが選択されたセルの数より少ない間まで繰り返す。
i++
 1回繰り返すごとに変数iに1を足していく。
と言う意味です。対応する"}"は●1です。

	var txtObj = sel.cells[i];

変数txtObjに選択されたセルのi番目を入れる。

	var danraku = txtObj.paragraphs[-1];

変数danrakuに上のtxtObjの最終段落を入れる。[-1];は最後のという事です。AdobeInDesignScript独特の書き方です。普通のJavaScriptではエラーが出ます。

	for (var w=danraku.horizontalScale; w >= 10; w--){

こちらもforがあるので繰り返し文ひとつづつバラすと
var w=danraku.horizontalScale;
 変数wにdanrakuの水平方向の比率(たぶん100)を入れる。
 それがスタートの値
w >= 10;
 変数wが10より大きい間実行(長体が10%で止まるという事ですね。)
w--
 1回繰り返すごとに変数wから1を引いていく。
対応する"}"は●2です。

		txtObj.recompose();//★ここ

これはオーバーフローしているかどうかを再評価するコマンド(サブルーチン)です。
コマンド(サブルーチン)は();で終わっているのが特徴です。
()の中に何か入っている場合があります。

		if (txtObj.overflows == false) {break}

もしオーバーフローしていなければこの繰り返しを抜けます。●2に行きます。
もしもの処理はif文といいます。if(もしも文が正しいなら){実行内容}
となっています。

		danraku.horizontalScale = w;

オーバーフローしているとこの行が実行されます。
段落danrakuの長体を変数wにセットします。
このwは繰り返しがつづくごとに-1されていきます。

	}	

閉じ}●2です

}

閉じ}●1です

今回は90分時間をいただいたので、大阪のに付け加えてカスタマイズの説明を入れました。
プレゼンの資料はYUJIさんに教えてもらったKeyNoteを使って作成しました。前回大活躍だった「ゆっくり、大きな声で、前を見ろ」と書いた「ふせん」をわすれてしまったので、急遽、タイムキーパーがわりになるアプリケーションを行きの電車で作りました。このアプリケーションは画面の右下で今何の話をしているべきかタイムテーブルを表示してくれます。
前回YUJIさんにおそわった、「これだけはおぼえて帰ってください」というのをセクションの頭で言うのも意識しました。

自己紹介 5分
ダウンロードとインストール 5分
Illustrator 15分
InDesign 15分
else 5分
ExtendScriptToolkit2 5分
カスタマイズ1 10分
読み方 10分
カスタマイズ2 20分
WordXML 5分
IDML 5分

自己紹介は前回通り。今回は大切な「ふせん」の写真を見せてみなさんに同情してもらう作戦(笑)
ダウンロードとインストールはけっこうメモを取っている音が聞こえる。
Illustratorのデモでは、

線を範囲で選択、繰り返し複製、部分角版、エクセルグラフ整形、トンボ、
さらにトンボの外にトンボ、数値地図をMapにする、重ね文字、
Illustratorの配置に色付、excelをIllustratorの子組に流す

をしました。いったんトンボを作っておいて、さらにその外にオブジェクトがあるとどうするかという問題を解決する、トンボの外にさらに大きなトンボを付けるはウケた(^^)

InDesignのデモでは、

ルビ、(1)の検索置換、再リンク、PDF配置、図とキャプの位置調整
個別に変形、繰り返し複製、訂正シール、表の便利ツール、表に長体。

をしました。訂正シールは大阪よりウケなかった。訂正シール少ないのか?>名古屋
欧文大文字を小文字にするスクリプトが基本機能でできるという説明はウケてた(^^)

ほかのスクリプトはファイル名の検索置換やファイル収集を紹介。

ExtendScriptToolkit2の起動と使い方を説明した後、いよいよカスタマイズの説明へ
ここから難しくなります。スクリプトの初期設定値を変更する説明や(1)の置換を①にする説明をしたあと
さらに難しくなって、せうぞーさんの表のオーバーフローしたセルに長体をかけるスクリプトの解説。スクリプトは上から読んでいくんですよとかforは繰り返しですよ。とかそんな感じで。そしてオーバーフローではなく段落が1行に収まっていない場合に長体をかけるスクリプトにカスタマイズする方法と、エラー処理を加えた場合どうなるかを解説。このあたり会場もかなりシーンとなってて話しにくかった。やっぱり難しかったかなぁ。

時間ぴったりで終わってしまったなぁと思ってたらYUJIさんから多少オーバーOKのお許しがでたので
WordをXML保存してphpを使ってテキスト属性を取り出してInDesignタグ付きテキストにするデモや、Illustratorの半自動組版のデモ、そしてIDMLのデモをさせていただきました。これで時間ややオーバーで終了。ありがとうございました。

本番のレジュメをアップいたしました。
恥ずかしいから見るな!

PsycoCatさんのデモは熱くて、超マニアック。おもしろかったです。大きさが適当なオブジェクトをしきつめて並べるスクリプト、どうやって実現したかぜんぜんわかんない。あれすごいよなぁ。

2次会、3次会と時にはPCを広げて即席にスクリプト書いたり、IDMLの話しをしたり楽しかったー。

さてさて、結局電車で行った私は、1時半くらいにお開きになったので、ネットカフェを探して放浪することに。ところがどこのネットカフェも満席。電話してもダメでどうしよう状態。せうぞーさんからのお助け電話もあったのですがそれでもダメでデニーズで夜を明かす事にしました。いやぁ。見通しが甘かった。ファミレスで徹夜なんて学生みたい。といいつつこのレポをデニーズで書いている。もう3時半だよ。

これでおつとめが終わったので、しばらくさぼるぞー。放置中のサイトとかメンテします。

090725DTP勉強会名古屋予習

| コメント(0) | トラックバック(0)

もう明日の話なのですが

市川せうぞーさんの名もないテクノ手の
せうぞーさんの「セル内のオーバーフローを解消するスクリプト」
http://d.hatena.ne.jp/seuzo/20080923/1222106561
の解説と。それをカスタマイズして
「セル内で1行に収まっていない段落を解消するスクリプト」にする方法

var sel = app.activeDocument.selection[0];
for (var i = 0; i < sel.cells.length; i++) {
	var txtObj = sel.cells[i];
	var danraku = txtObj.paragraphs[-1];
	var gyou = txtObj.lines[-1];
	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ
		var danraku_str = danraku.contents;
		var gyou_str = gyou.contents;
		if (danraku_str == gyou_str) {break}
		danraku.horizontalScale = w;
	}
}

さらにエラー処理を加えるというお話をします。ぎりぎりで申し訳ないのですが
予習していただければ、さらに分かりやすいかもしれません。
もちろん予習なしで大丈夫です。

//エラー処理
//ダイアログ表示のおまじない
app.scriptPreferences.userInteractionLevel=1699311169;

main();

function main(){
	if (app.documents.length == 0){
		alert("ドキュメントを開いてください");
		return;
	}
	if (app.selection.length == 0){
		alert("セルを選択してください");
		return;
	}
	myDocu = app.activeDocument;
	mySele = myDocu.selection;
	for(var s = 0; s<app.selection.length; s++){
		table_choutai(app.selection[s]);
	}
}

function table_choutai(myObj){
	var seltype = myObj.constructor.name
	if(seltype == "Cell"){
		table_choutai2(myObj);
	}
}

//ここから下が市川せうぞーさんの名もないテクノ手を参考にしています。
function table_choutai2(myObj){
	for (var i = 0; i < myObj.cells.length; i++) {
	var txtObj = myObj.cells[i];
	var danraku = txtObj.paragraphs[-1];
	var gyou = txtObj.lines[-1];
	for (var w=danraku.horizontalScale; w >= 10; w--){
		txtObj.recompose();//★ここ
		var danraku_str = danraku.contents;
		var gyou_str = gyou.contents;
		if (danraku_str == gyou_str) {break}
			danraku.horizontalScale = w;
		}	
	}
}

30)画像配置04コンタクトシート

| コメント(11) | トラックバック(0)

InDesignCS3に画像を配置してコンタクトシートを作成します。
画像の配置時のフィット方法も設定できます。
ドキュメントを開いて実行してください。

おそらく他のバージョンのInDesignでも動くと思います。

■■■使い方■■■
スクリプトパレットの「画像配置コンタクトシート.jsx」をダブルクリックします。
ダイアログが出てきますので設定し、OKボタンをクリックすると配置したい
PDFファイルを聞いてきますので選択してください。

ダイアログ
配置スタートページはドキュメントの配置をスタートさせるページです。

天と小口の余白
天の空きを設定してください。
左右は「左右センター」にするとセンター配置です。
小口を入力する場合はポップアップメニューで「小口の空きを指定」を選択してください。

繰り返し
X方向とY方向の繰り返し数を入力してください。
空きも同様に設定できます。

小組みの設定
配置方法で画像のフィットの方法を選ぶ事が出来ます。
比率を指定してセンターの時のみWの変倍率、Hの変倍率が動作します。
Wの変倍率、Hの変倍率はそれぞれ水平方向、垂直方向の変倍率です。

画像の幅、高さは画像の入っているフレームの大きさです。
また、キャプションも設定できます。

キャプションを出したくない場合は
画像とキャプションの空き「0 mm」キャプションの高さ「0 mm」にしてください。

「画像配置コンタクトシート.jsx」をテキストエディタで開いて初期値を編集する事もできます。

ダウンロードはこちら
img04.zip

InDesign27

InDesignCS3で開いているドキュメントに画像を配置していきます。
右ページ、左ページ個別にフレームサイズを指定する事ができ、
さらに画像の配置時の空きも右ページ、左ページ個別に設定できます。
おそらく他のバージョンのInDesignでも動くと思います。

■■■使い方■■■
スクリプトパレットの「画像配置領域絶対値指定.jsx」をダブルクリックします。
ダイアログが出てきますので設定し、OKボタンをクリックすると配置したい
画像が入ったフォルダを聞いてきますので選択してください。

絶対指定とはここの値を入力します。厳密に左右の大きさを設定する時に使って下さい。

ダイアログ
配置スタートページはドキュメントの配置をスタートさせるページです。

左ページの塗りたし、右ページの塗りたしを個別に設定できます。
ノドを0 mmにすればノドだけ0 mm でほかは3mmぺージより大きいフレームが出来ます。

左ページ画像の配置方法、右ページ画像の配置方法を個別に設定できます。
InDesignに画像を配置した状態で白矢印ツールで選択した時のX,Y,W,Hの値を
絶対領域のX,絶対領域のY,絶対領域のW,絶対領域のHに入れてください。

「画像配置領域絶対値指定.jsx」をテキストエディタで開いて初期値を編集する事もできます。

ダウンロードはこちら
img03.zip

InDesign26

InDesignCS3で開いているドキュメントにフォルダ内の画像を配置していきます。
※不可視ファイル以外は配置しますので、InDesignに配置することが出来ない画像があればエラーで止まります。
右ページ、左ページ個別にフレームサイズを指定する事ができ、
さらに画像の配置時のフィット方法も右ページ、左ページ個別に設定できます。
おそらく他のバージョンのInDesignでも動くと思います。

■■■使い方■■■
スクリプトパレットの「画像配置比率またはFIT.jsx」をダブルクリックします。
ダイアログが出てきますので設定し、OKボタンをクリックすると配置したい
画像が入ったフォルダを聞いてきますので選択してください。

ダイアログ
配置スタートページはドキュメントの配置をスタートさせるページです。

左ページの塗りたし、右ページの塗りたしを個別に設定できます。
ノドを0 mmにすればノドだけ0 mm でほかは3mmぺージより大きいフレームが出来ます。

左ページ画像の配置方法、右ページ画像の配置方法を個別に設定できます。
配置方法で画像のフィットの方法を選ぶ事が出来ます。
比率を指定してセンターの時のみWの変倍率、Hの変倍率が動作します。
Wの変倍率、Hの変倍率はそれぞれ水平方向、垂直方向の変倍率です。

「画像配置比率またはFIT.jsx」をテキストエディタで開いて初期値を編集する事もできます。

ダウンロードはこちら
img02FIT.zip

InDesign25

30)画像配置01比率指定

| コメント(0) | トラックバック(0)

InDesignCS3で開いているドキュメントに画像を配置していきます。
右ページ、左ページ個別にフレームサイズを指定する事ができ、
さらに画像の配置時の空きも右ページ、左ページ個別に設定できます。
おそらく他のバージョンのInDesignでも動くと思います。

スクリプトパレットの「画像配置比率指定.jsx」をダブルクリックします。
ダイアログが出てきますので設定し、OKボタンをクリックすると配置したい
画像が入ったフォルダを聞いてきますので選択してください。

ダイアログ
配置スタートページはドキュメントの配置をスタートさせるページです。

左ページの塗りたし、右ページの塗りたしを個別に設定できます。
ノドを0 mmにすればノドだけ0 mm でほかは3mmぺージより大きいフレームが出来ます。

左ページ画像の配置方法、右ページ画像の配置方法を個別に設定できます。
Wの変倍率、Hの変倍率はそれぞれ水平方向、垂直方向の変倍率です。
X方向の空き、Y方向の空きはフレームからの空きの値です。

「画像配置比率指定.jsx」をテキストエディタで開いて初期値を編集する事もできます。

ダウンロードはこちら
img01.zip

InDesign24

DTP Booster 005が開催されます。

| コメント(2) | トラックバック(0)

イベント名 DTP Booster 005(Tokyo/090827)
日時 2009年8月27日(木)午後
会場 大塚商会セミナールーム(水道橋)
参加費 有料(金額は調整中です)
対象 クリエイター、学生、印刷会社ほか
出演 市川せうぞー、森 裕司、大石 十三夫、杏珠

DTP Booster 005(Tokyo/090827)(2009年8月27日、大塚商会セミナールームで開催)

今回のDTP Boosterはなんといってもすごいのは講師陣
市川せうぞーさん森 裕司さんのコンビからはじまり
なんでやねんDTPのおっちゃんこと大石 十三夫さん
Design × Lifehack × CrossOver Labの杏珠さん

なんだよ、このぜいたくな講師陣。すごいです。うらやましい。
大石 十三夫さんは大阪のこてこてのおっちゃんなので
東京に殴り込みって感じでおもしろそう。大阪から行きたい。行きたいなぁ。なんで木曜日???金曜じゃダメなのか???むむむむ

IIllustratorCS3でExcelで作成されたグラフを整形します。
ExcelのグラフをPDFにしてIllustratorで開き、あちこち修正して整えてという作業なのですが、面倒ですよね。あちこちに意味不明なクリッピングマスクがあったりして。
このスクリプトは
・クリッピングマスクを削除します。
・線幅を適当な数値に変更します。
・通常の文字と線幅のある文字がかさなっているときに線幅のある文字を削除します。
でもサンプルのようなグラフのみに効果があると思いますので、開発はきっと続きます。Office製品の何かをつくると必ずイタチごっこになるのです。

たぶん他のバーションのIllustratorでも動くと思います。

エクセルのグラフ。きれいに作っていますね。

Illustratorに持っていくとクリッピングマスクだらけ

ボールド文字はこんな感じ

スクリプト後。少しすっきりします。

ダウンロードはこちら
excel_graph.zip

■■■使い方■■■
Illustratorドキュメントを開いた状態で
ファイルメニューのスクリプトから実行してください。
削除する機能があるので使用には十分注意して下さい。

Illustrator17

18)重ね文字

| コメント(0) | トラックバック(0)

IllustratorCS3で重ね文字を作成します。(Pokus書体の効果です。)
チラシで文字を重ねる際に便利です。

トラッキングで重ねた文字を選択して実行すると重ね文字になります。複数選択可
重ね文字を作る時は対象のテキストフレームを選択して下さい。グループになっていないようにして下さい。
重ね文字はkasaneという名前でグループ化されます。
数字の変更。一番下の数字を編集します。そしてkasaneグループを選択した状態でスクリプトを実行してください。
新しく重ね文字ができます。文字を重ねているだけなのでドロップシャドウ等に透明を入れると思った重ね効果にならない場合があります。

たぶん他のバーションのIllustratorでも動くと思います。

あらかじめIllustratorで重ね具合をトラッキングで設定しておく

実行するとこんなふうに文字を重ねます。

左揃えだと逆に重なります。

種明かしはこんなふうに文字を重ねているだけです。

文字を変えたい場合は一番下の値段を打ち変えます。(見えにくいですが)

kasaneグループを選択して実行すると、このように内容が更新されます。

ダウンロードはこちら
kasane.zip

■■■うまくいかない時■■■
テキストフレームを選択して下さい。グループを選択してもダメです。
(グループ内のテキストフレームをダイレクト選択ツールで選択するのは可能)
左揃えか右揃えのテキストのみに使用して下さい。

変更できない場合。
kasaneグループだけをを選択して下さい。

■■■使い方■■■
Illustratorドキュメントを開いた状態で
テキストを選択して実行してください。
ファイルメニューのスクリプトから実行してください。

Illustrator18

DTP用ファイル収集

| コメント(2) | トラックバック(0)

テキストボックスに入力されたファイルを指定のフォルダから収集します。
指定のフォルダ以下は下のフォルダまですべて検索します。
同じファイル名が複数見つかった場合はどれか1つが収集されます。

■■■インストール方法■■■
Mac専用です。HDの好きな場所にコピーしてお使い下さい。

■■■使い方■■■
ファイル収集を起動して
「収集もとフォルダをドロップしてください」の部分に収集するファイルが入ったフォルダ
「収集先フォルダをドロップしてください」の部分にファイルを集めるフォルダ
をドロップします。ドロップがうまくいかない場合は(エイリアスの時)参照ボタンをクリックして下さい。

テキストボックスにファイル名を入力します。タブ・改行・カンマ区切りのいずれかで
複数ファイルを集めます。(エクセルからコピペするイメージです。)

収集ボタンをクリックするとファイルが収集されます。

なかなか終わらない時は停止ボタンをクリックして下さい。
※Aフォルダの中にAフォルダのエイリアスを入れたりすると無限に集めますのでご注意下さい。

ダウンロードはこちら

MacOSX10.9で動かないとのご指摘をいただき修正しました。
IntelMacOS10.9用

下記はMacOSX10.5以下ぐらいのマシン用
IntelMac用

PowerPCMac用

REALbasicソースコード

else05

10)WordでSymbolのαを検索置換

| コメント(2) | トラックバック(1)

InDesignCS3で文字を検索置換します。
WordでSymbolを使ってαを入力された原稿の場合
InDesignにコピペすると文字化けします。そこにSymbolフォントを適応しても
どういうわけか化けたままなのです。
※Word2000はUnicodeの対応がイマイチらしくもっとおかしな事になります。

ダウンロードはこちら findrep5.zip

WordをPDFにしてそこからコピペするとある程度は復活しますが
不便なので検索置換するスクリプトを作りました。
どういうわけか♦だけは置換されずに•になりますのでご注意下さい。
また、検索置換には細心の注意をお願いします。
まちがって変換しなくて良い文字が変換されたりとかあるかもしれません。
全置換ではなく確認しながら置換していけば問題ないかと思います。

imeパッドから入力

WORDの画面

InDesignにペースト。見事に文字化け

PDFを作りそこからInDesignにペースト。これもイマイチ

スクリプトで置換するとこんなかんじ。文字化け部分はもともとSymbolにも無い文字

実はSymbolは文字コード違いで同じ文字が存在する。

Wordで文字コード0061のαを入力してコピーすると
文字コードF061に置き換わります。
Symbolは00番台の文字コードとまったく同じものがF0番台の自由領域にも存在します。
これをInDesignにぺーストするとF061のままペーストされますが自由領域のため文字が無い状態になります。

InDesignの字形パレットでSymbolのすべての文字を表示するとαの文字コードは03B1になっています。どうしてそうなのかは私にはわかりません。が変換テーブルを作成しました。

あとWedingsなどの記号フォントも同様の結果になるようです。

下記テーブルのPDF版 table.pdf
文字コード1文字コード2InDにコピペInDでのコード画面表示
0021F021F0210021!
0022F022F0222200
0023F023F0230023#
0024F024F0242203
0025F025F0250025%
0026F026F0260026&
0027F027F027220B
0028F028F0280028(
0029F029F0290029)
002AF02AF02A2217
002BF02BF02B002B+
002CF02CF02C002C,
002DF02DF02D2212
002EF02EF02E002E.
002FF02FF02F002F/
0030F030F03000300
0031F031F03100311
0032F032F03200322
0033F033F03300333
0034F034F03400344
0035F035F03500355
0036F036F03600366
0037F037F03700377
0038F038F03800388
0039F039F03900399
003AF03AF03A003A:
003BF03BF03B003B;
003CF03CF03C003C<
003DF03DF03D003D=
003EF03EF03E003E>
003FF03FF03F003F?
0040F040F0402245
0041F041F0410391Α
0042F042F0420392Β
0043F043F04303A7Χ
0044F044F0442206
0045F045F0450395Ε
0046F046F04603A6Φ
0047F047F0470393Γ
0048F048F0480397Η
0049F049F0490399Ι
004AF04AF04A03D1ϑ
004BF04BF04B039AΚ
004CF04CF04C039BΛ
004DF04DF04D039CΜ
004EF04EF04E039DΝ
004FF04FF04F039FΟ
0050F050F05003A0Π
0051F051F0510398Θ
0052F052F05203A1Ρ
0053F053F05303A3Σ
0054F054F05403A4Τ
0055F055F05503A5Υ
0056F056F05603C2ς
0057F057F0572126Ω
0058F058F058039EΞ
0059F059F05903A8Ψ
005AF05AF05A0396Ζ
005BF05BF05B005B[
005CF05CF05C2234
005DF05DF05D005D]
005EF05EF05E22A5
005FF05FF05F005F_
0060F060F060F8E5
0061F061F06103B1α
0062F062F06203B2β
0063F063F06303C7χ
0064F064F06403B4δ
0065F065F06503B5ε
0066F066F06603C6φ
0067F067F06703D2ϒ
0068F068F06803B7η
0069F069F06903B9ι
006AF06AF06A03D5ϕ
006BF06BF06B03BAκ
006CF06CF06C03BBλ
006DF06DF06D00B5µ
006EF06EF06E03BDν
006FF06FF06F03BFο
0070F070F07003C0π
0071F071F07103B8θ
0072F072F07203C1ρ
0073F073F07303C3σ
0074F074F07403C4τ
0075F075F07503C5υ
0076F076F07603D6ϖ
0077F077F07703C9ω
0078F078F07803BEξ
0079F079F07903C8ψ
007AF07AF07A03B6ζ
007BF07BF07B007B{
007CF07CF07C007C|
007DF07DF07D007D}
007EF07EF07E223C
00A1F0A1F0A103D2ϒ
00A2F0A2F0A22032
00A3F0A3F0A32264
00A4F0A4F0A42044
00A5F0A5F0A5221E
00A6F0A6F0A60192ƒ
00A7F0A7F0A72663
00A8F0A8F0A82666
00A9F0A9F0A92665
00AAF0AAF0AA2660
00ABF0ABF0AB2194
00ACF0ACF0AC2190
00ADF0ADF0AD2191
00AEF0AEF0AE2192
00AFF0AFF0AF2193
00B0F0B0F0B000B0°
00B1F0B1F0B100B1±
00B2F0B2F0B22033
00B3F0B3F0B32265
00B4F0B4F0B400D7×
00B5F0B5F0B5221D
00B6F0B6F0B62202
00B7F0B7F0B72022
00B8F0B8F0B800F7÷
00B9F0B9F0B92260
00BAF0BAF0BA2261
00BBF0BBF0BB2248
00BCF0BCF0BC2026...
00BDF0BDF0BDF8E6
00BEF0BEF0BEF8E7
00BFF0BFF0BF21B5
00C0F0C0F0C02135
00C1F0C1F0C12111
00C2F0C2F0C2211C
00C3F0C3F0C32118
00C4F0C4F0C42297
00C5F0C5F0C52295
00C6F0C6F0C62205
00C7F0C7F0C72229
00C8F0C8F0C8222A
00C9F0C9F0C92283
00CAF0CAF0CA2287
00CBF0CBF0CB2284
00CCF0CCF0CC2282
00CDF0CDF0CD2286
00CEF0CEF0CE2208
00CFF0CFF0CF2209
00D0F0D0F0D02220
00D1F0D1F0D12207
00D2F0D2F0D2F6DA
00D3F0D3F0D3F6D9
00D4F0D4F0D4F6DB
00D5F0D5F0D5220F
00D6F0D6F0D6221A
00D7F0D7F0D722C5
00D8F0D8F0D800AC¬
00D9F0D9F0D92227
00DAF0DAF0DA2228
00DBF0DBF0DB21D4
00DCF0DCF0DC21D0
00DDF0DDF0DD21D1
00DEF0DEF0DE21D2
00DFF0DFF0DF21D3
00E0F0E0F0E025CA
00E1F0E1F0E12329
00E2F0E2F0E2F8E8
00E3F0E3F0E3F8E9
00E4F0E4F0E4F8EA
00E5F0E5F0E52211
00E6F0E6F0E6F8EB
00E7F0E7F0E7F8EC
00E8F0E8F0E8F8ED
00E9F0E9F0E9F8EE
00EAF0EAF0EAF8EF
00EBF0EBF0EBF8F0
00ECF0ECF0ECF8F1
00EDF0EDF0EDF8F2
00EEF0EEF0EEF8F3
00EFF0EFF0EFF8F4
00F1F0F1F0F1232A
00F2F0F2F0F2222B
00F3F0F3F0F32320
00F4F0F4F0F4F8F5
00F5F0F5F0F52321
00F6F0F6F0F6F8F6
00F7F0F7F0F7F8F7
00F8F0F8F0F8F8F8
00F9F0F9F0F9F8F9
00FAF0FAF0FAF8FA
00FBF0FBF0FBF8FB
00FCF0FCF0FCF8FC
00FDF0FDF0FDF8FD
00FEF0FEF0FEF8FE

CS4でも動くと思います。

ダウンロードはこちら findrep5.zip

InDesign23

カテゴリ

OpenID対応しています OpenIDについて
Powered by Movable Type 6.0.3
印刷会社、大阪の遊文舎