Come posso trovare il percorso completo di un carattere dal suo nome visualizzato su un Mac?

StackOverflow https://stackoverflow.com/questions/469

  •  08-06-2019
  •  | 
  •  

Domanda

Sto utilizzando l'API JavaScript di Photoshop per trovare i caratteri in un determinato PSD.

Dato il nome di un carattere restituito dall'API, voglio trovare il file di carattere fisico effettivo a cui corrisponde il nome del carattere sul disco.

Tutto questo sta accadendo in un programma Python in esecuzione su OSX quindi immagino che sto cercando uno di:

  • Alcuni JavaScript di Photoshop
  • Una funzione Python
  • Un'API OSX che posso chiamare da Python
È stato utile?

Soluzione

Sfortunatamente l'unica API che non è deprecata si trova nel framework ApplicationServices, che non dispone di un file di supporto del bridge e quindi non è disponibile nel bridge.Se desideri utilizzare i ctypes, puoi utilizzare ATSFontGetFileReference dopo aver cercato ATSFontRef.

Cocoa non ha alcun supporto nativo, almeno a partire dalla versione 10.5, per ottenere la posizione di un carattere.

Altri suggerimenti

apri un terminale (Applicazioni->Utilità->Terminale) e digita questo:

locate InsertFontHere

Questo sputerà fuori ogni file che ha il nome che desideri.

Avvertimento:potrebbe esserci molto da superare.

Deve esserci un metodo in Cocoa per ottenere un elenco di caratteri, quindi dovresti usare i collegamenti PyObjC per chiamarlo..

A seconda dello scopo per cui ti servono, probabilmente potresti semplicemente usare qualcosa di simile al seguente..

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

Non sono riuscito a trovare nulla che lo faccia direttamente.Penso che dovrai scorrere le varie cartelle di caratteri sul sistema: /System/Library/Fonts, /Library/Fonts, e probabilmente può esserci anche una directory a livello di utente ~/Library/Fonts.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top