Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2009-03-06

[][][]SINGが使われているInDesignドキュメントを探せ!

SINGが使われているInDesignドキュメントを見つけ、ラベルをつけるスクリプトです。ドラッグ&ドロップするだけ。


SINGグリフレットがインストールされていない環境で、InDesignドキュメントに埋め込まれているSINGは、ドキュメント上に表示されるまで少しタイムラグがあります。SING文字が未表示のままプリントやPDF書き出しなどをすると、文字抜けの状態でプリントされます。

PDFに埋め込めばいいんでしょうけれど... 生ドキュメントでやりとりするものだから、これが大きな問題になったりします。SING自体はすばらしいアーキテクチャなのに、使われないで消えていく運命なのか... 嫌われ者のSING、可哀想なSING、今夜の唄はレクイエムかい?


特にPDFを自動で書き出す人などはご注意あれ。アドビフォーラムでも回避できないと検証していただきました。お礼。

scriptによるPDF書出しについてSING使用の場合 --アドビユーザーフォーラム

ここに書いたスクリプトは、要するに生ドキュメント中の「<ADOBE_BuildStamp>」を探しているわけです。InD Boardの書き込みを参考にしました。ですから、一度SINGを使ってしまうと文字を削除しても(別名保存しない限り)このスクリプトにはヒットします。

on open of theFiles
	tell application "Finder"
		set my_counter to 0
		activate
		repeat with i in theFiles
			if name extension of i = "indd" then
				set my_file to (quoted form of POSIX path of contents of i) as Unicode text
				try
					set exists_sing to do shell script "grep -ac '<ADOBE_BuildStamp>' " & my_file
					if exists_sing is not "0" then
						try
							set label index of i to 2 --Redラベルを付ける
							set my_counter to my_counter + 1
						on error errMsg number errNum
							display dialog "ラベル付けでエラーが発生しました。書き込み不可である可能性があります。" & return & errMsg & return & errNum
						end try
					end if
				on error errMsg number errNum
					--なぜか終了ステータスで終わらない^^
				end try
			end if
		end repeat
		if my_counter is 0 then
			display dialog "SINGが使われているInDesignドキュメントは見つかりませんでした"
		else
			beep
			display dialog "SINGが使われている可能性のあるファイルが、" & my_counter & "ファイル見つかりました。" & return & "赤ラベルで印をつけました"
		end if
	end tell
end open

参照

IndesignCS2 SING外字を検出できますか?--InD Board

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/seuzo/20090306/1236265942