47

Photoshop の JavaScript API を使用して、特定の PSD 内のフォントを検索しています。

API によって返されたフォント名を指定して、そのフォント名がディスク上で対応する実際の物理フォント ファイルを見つけたいと考えています。

これはすべて、OSX で実行されている python プログラムで発生しているため、次のいずれかを探していると思います。

  • 一部の Photoshop JavaScript
  • Python 関数
  • Python から呼び出せる OSX API
4

4 に答える 4

21

残念ながら、廃止されていない唯一の API は ApplicationServices フレームワークにあり、これにはブリッジ サポート ファイルがないため、ブリッジでは使用できません。ctypes を使用したい場合は、ATSFontRef を検索した後で ATSFontGetFileReference を使用できます。

Cocoa には、少なくとも 10.5 の時点では、フォントの場所を取得するためのネイティブ サポートがありません。

于 2008-08-06T03:01:23.890 に答える
7

ターミナルを開き (アプリケーション -> ユーティリティ -> ターミナル)、次のように入力します。

locate InsertFontHere

これにより、必要な名前を持つすべてのファイルが吐き出されます。

警告: 通り抜けなければならないことがたくさんあるかもしれません。

于 2008-08-02T16:56:53.893 に答える
6

これを直接行うものを見つけることができませんでした。システム上のさまざまなフォント フォルダーを反復処理する必要が/System/Library/Fontsある/Library/Fontsと思います:~/Library/Fonts

于 2008-08-02T17:42:28.607 に答える
5

フォントのリストを取得するには、Cocoa にメソッドが必要です。それを呼び出すには、PyObjC バインディングを使用する必要があります。

必要なものに応じて、おそらく次のようなものを使用できます..

import os
def get_font_list():
    fonts = []
    for font_path in ["/Library/Fonts", os.path.expanduser("~/Library/Fonts")]:
        if os.path.isdir(font_path):
            fonts.extend(
                [os.path.join(font_path, cur_font) 
                 for cur_font in os.listdir(font_path)
                ]
            )
    return fonts
于 2008-10-12T07:02:40.173 に答える