2016-05-20 13 views
0

私はOSX 10.11.4を使用しています。私はすべてのインストールされたフォントのstdoutへのリストを取得したいと思います。具体的には、私は "フレンドリー"な名前とファイル名が好きです。 Applescriptは最も「ネイティブ」な方法ですが、私はそれが初めてです。これは簡単な質問かもしれません。Applescriptにクエリ結果をグループ化する方法を教えてください。

osascript -e 'tell application "Font Book" to {name, files} of typefaces'

私が欲しいものを私に与えますが、名前とファイル名が2つの連結リストとして返されること:これまでのところ、私はほとんど働くこれを持っています。たとえば:

{Arial, file Arial.ttf}, {Arial Bold, file ArialBold.ttf} ...

それは正確にその形式だが、私はできるようにする必要がある場合、私は気にしない:

Arial, Arial Bold, file Arial.ttf, file ArialBold.ttf ...

は、より多くの同様のAppleScript出力に何かを持っている簡単な方法はあります出力を簡単に解析し、結果をタプルにグループ化することも好ましい。この種のもののために

答えて

1

、レコードなどを検討:

set fontData to {} 

tell application "Font Book" 
    set fff to every typeface 
    repeat with fx in fff 
     set end of fontData to {FontFile:fx's files, FontDisplayName:fx's displayed name} 
    end repeat 
end tell 

レコードを持っていたら、あなたは何度もスクリプトを実行しなくても、それは複数の方法を解析し、その後、ファイルにリストを保存することができます再び。

+0

チップのおかげで。 MBPでこれを実行したところ、2.5分かかりました。上の私の1ライナーは3秒かかります。なぜこれが桁違いに遅いのでしょうか? AS Recordsの操作は遅いですか? – DaveBurns

+1

作成が遅いです。だから、私はあなたが一度それを実行し、あなたが望むデータを取得し、ディスクにリストを保存し、そしてあなたの余暇でより具体的なクエリと操作を行うことを提案したのです。 –

関連する問題