フォント検索の自動化について

[10799]フォント検索の自動化について 投稿者:まっちん 投稿日:2007/02/14(Wed) 16:48
お世話になっております。MAC OSX(10.4.8)を利用しております。
QuarkXPressからInDesignCS2への切り替え作業にてCIDフォントをOTFにフォント検索を使用し切り替えていたのですが、同じ作業の繰り返しのためAppleScriptにて自動化を検討しています。
検索置換コマンドの基本文字形式の設定画面にて検索側にCIDのフォントを選択し、置換側にOTFを設定すれば、置換が可能なことはわかったのですが、AppleScriptにて以下のように記述すると検索側のフォント指定部分にて、「要求されたフォントは利用できません」というエラーが発生してしまいます。
手動での設定は実行可能なのに、AppleScriptでの実行だとエラーになるのはどうしてでしょうか?記述が間違っているのでしょうか?
ご教授いただければありがたいです。よろしくお願いします。
検索置換コマンドではなくフォント検索コマンドでの自動化など他によいやり方などありましたらこちらもご教授いあだけるとありがたいです。
(一文字一文字フォントを切り替える方法は知っているのですが時間がかかるのでフォント検索みたいに一気にできる方法を検討しています)

tell application "Adobe InDesign CS2_J"
set find preferences to nothing
set change preferences to nothing
tell find preferences
set applied font to "[A-CID リュウミン M-KL]"--ここでエラーになります。
--set applied font to "A-CID リュウミン M-KL"--色々ためしてみました
--set applied font to "A-CID リュウミン M-KL Regular"
--set applied font to "A-CID リュウミン M-KL" & (ASCII character 9) & "Regular"
--set applied font to "A-CID リュウミン" & (ASCII character 9) & "M-KL"
--set font style to ""
end tell
tell change preferences
set applied font to "A-OTF リュウミン Pr5"
set font style to "M-KL"
end tell
end tell
» 1
[10799へのレス]Re: フォント検索の自動化について 投稿者:せうぞー 投稿日:2007/02/14(Wed) 21:07
こんな感じでどうですか?

tell application "Adobe InDesign CS2_J"
set find preferences to nothing
set change preferences to nothing
search document 1 with find attributes {applied font:("A-CID リュウミン" as Unicode text), font style:"M-KL"} with change attributes {applied font:("A-OTF リュウミン Pr5" as Unicode text), font style:"M-KL"}
end tell
» 2
[10799へのレス]Re: フォント検索の自動化について 投稿者:まっちん 投稿日:2007/02/14(Wed) 22:46
せうぞー様
返答ありがとうございます。
このプログラムにて実行しましたら、エラーにはなりませんでしたが、置換もされませんでした。
「検索と置換」コマンドを確認すると、
検索形式の基本文字形式のフォント欄がブランクで、スタイルのみM-KLに設定されていました。(置換形式側はフォント欄スタイル欄ともに設定されていました)
検索側のフォント欄に"A-CID リュウミン”が設定されていなかった事で検索対象が見つからずエラーにはならなかったようです。
何とかしてフォント欄にCIDフォントを設定したいのですが。。。悪戦苦闘中です。

根本的に、環境にないフォントを”プログラミング”にて設定する事は不可能なのでしょうか?
手動(検索置換機能使用)でできて、プログラミングでできない事に納得いかないのは私だけでしょうか。。。悔しい。。。

記述に何かしらの工夫が必要なのですかね?
» 3
[10799へのレス]Re: フォント検索の自動化について 投稿者:流星 投稿日:2007/02/14(Wed) 23:56
当方winでvbしか使えないのですが、
CSでOCFOTFに置換するソースが
ありますので、公開します。
詳しい方サポートしてあげてください。
JSでも行けるだろうけど、私には壁が
高すぎます。すいません。

#ソース汚いのも、カンベンしてくださいね。


Call FontReplace("A-CID 新ゴ L", "Regular", "A-OTF 新ゴ Pro", "L")

'-------------------------------------------------------------------

Function FontReplace( FindFontName , _
FindFontTypeFace , _
ReplaceFontName , _
ReplaceFontTypeFace )
Set MyInDesign = CreateObject("InDesign.Application.CS")
With MyInDesign
.FindPreferences = Nothing
.ChangePreferences = Nothing
.FindPreferences.AppliedFont = FindFontName
if FindFontTypeFace<>"" then .FindPreferences.FontStyle = FindFontTypeFace
.ChangePreferences.AppliedFont = ReplaceFontName
If ReplaceFontTypeFace<>"" then .ChangePreferences.FontStyle = ReplaceFontTypeFace
Set Dummy = .Search("^?", False, False, False, False, "")
End With
Set Dummy = Nothing
Set MyInDesign = Nothing
End Function
» 4
[10799へのレス]Re: フォント検索の自動化について 投稿者:小泉 投稿日:2007/02/15(Thu) 04:22
tell document 1 of application "Adobe InDesign CS2_J"
set applied font of text style ranges of stories whose name of applied font is "A-CID リュウミン M-KL Regular" to font "A-OTF 新ゴ Pro5 M"
end tell

これでいけるかな?

ちょっと表記が違うかもしれないので、エラーになったら
tell document 1 of application "Adobe InDesign CS2_J" to name of fonts

これで出てくる名前を最初のスクリプトに当ててみてください。
» 5
[10799へのレス]Re: フォント検索の自動化について 投稿者:four 投稿日:2007/02/15(Thu) 10:00
フォント置換のスクリプトは随分昔に書いたことがありました。InDesignを使い始めたばかりのことでしょうか。QuarkXPressからの乗り換え時期でもあり、とうぜんQuarkXPressのドキュメントを InDesignで開くことも頻繁にあったので、その時に OCFフォントを OTFに置き換える作業を想定して検証用プログラムとして作成しました。

すでにバックアップの中に片付けてしまっていたので、CD-ROMを探してようやく見つけました。このプログラムは結局最後まで完成させなかったのですが、とりあえず、今 CS2で試したら置換できました。QuarkXPressで作成されていたスタイルシートの中のフォント指定の部分も念のために置き換えています。

まっちんさんの状況に近いので、参考になるかもしれません。ただ、検証用なので実用的ではありません。また、私自身、フォント置換を実践で処理したことはありませんので、アーカイブ内のスクリプトが使い物になるかどうか保証できません。

アーカイブの中のスクリプトでは OCFの"リュウミンR-KL Regular"を OTF の "小塚明朝 Pro R" に置き換えるようになっています。

http://psychocat.net/scriptNote/temp/replaceFont.zip
(420KB:OS X 10.4.8上でアーカイブ作成)

1.QuarkXPress 3.3J で作成したドキュメント。
2.InDesign CS2_J で上記のファイルを開いて、そのまま保存したドキュメント。
3.AppleScriptのスクリプトファイル。

が入っています。
» 6
[10799へのレス]Re: フォント検索の自動化について 投稿者:小泉 投稿日:2007/02/15(Thu) 10:33
先ほどのやつだと、ドキュメント使用されていないフォントを当てられないので、
tell application "Adobe InDesign CS2_J"
set applied font of text style ranges of stories of document 1 whose name of applied font is "A-CID リュウミン M-KL Regular" to font "A-OTF 新ゴ Pro5 M"
end tell

に訂正します。document 1 の位置を変えました。
» 7
[10799へのレス]Re: フォント検索の自動化について 投稿者:まっちん 投稿日:2007/02/16(Fri) 20:19
返信遅れて申し訳ありません。
>皆様
皆様のプログラムを参考し置換ができました。
記述方法などかなりよい勉強になりました。あとは、作業に導入できるよう色々試してみたいと思います。
本当に助かりました。ありがとうございました。(そしてまた悩み事がでましたらよろしくお願い致します。)
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア