開かれている最前面のInDesignドキュメント上(配置されたInDesignドキュメントも含む)で使用されているフォントのPDF埋め込み許可を検査して、許可されていないフォントが存在した場合は、フォント名の一覧をダイアログに表示します。
InDesignドキュメント内にInDesignドキュメントが配置されている場合、使用フォントをfontsでまとめて取得すると、配置されているドキュメント上の使用フォントが、なぜかひとつだけ取得されるという不思議な挙動が…。(しかも、このフォントへのプロパティ参照はエラー…。)
ということで、フォント数のみを取得して以下の様な処理で回避。
※使用環境にインストールされていないフォントが使用されている場合などは、デフォルトフォントに置き換えられたりして正常に判定ができませんのでご注意を。
on run
try
tell application id "com.adobe.InDesign"
activate
if (count of documents) is 0 then error "ドキュメントが開かれていません。"
set no_emb to ""
tell document 1
repeat with i from 1 to (count of fonts)
if (allow PDF embedding of font i is false) then set no_emb to no_emb & "\r・" & (full name native of font i)
end repeat
end tell
if (no_emb is "") then
error "すべての使用フォントのPDF埋め込みが、許可されています。"
else
error ("以下のフォントのPDF埋め込みが、許可されていません。" & no_emb)
end if
end tell
on error err_txt
activate
display dialog err_txt buttons {"OK"} default button 1 giving up after 60 * 10
return
end try
end run