python - tamaño - ¿Cómo puedo encontrar la ruta completa a una fuente desde su nombre para mostrar en una Mac?
tipo de letra python (4)
Debe haber un método en Cocoa para obtener una lista de fuentes, entonces tendría que usar los enlaces de PyObjC para llamarlo.
Dependiendo de para qué los necesite, probablemente pueda usar algo como lo siguiente ...
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
Estoy usando la API de JavaScript de Photoshop para encontrar las fuentes en un PSD determinado.
Dado un nombre de fuente devuelto por la API, quiero encontrar el archivo de fuente física real al que corresponde el nombre de la fuente en el disco.
Todo esto sucede en un programa python que se ejecuta en OSX, así que supongo que estoy buscando uno de los siguientes:
- Algunos Photoshop Javascript
- Una función de Python
- Una API OSX a la que puedo llamar desde python
Lamentablemente, la única API que no está en desuso se encuentra en el marco ApplicationServices, que no tiene un archivo de soporte de puente y, por lo tanto, no está disponible en el puente. Si quiere usar ctypes, puede usar ATSFontGetFileReference luego de buscar ATSFontRef.
Cocoa no tiene ningún soporte nativo, al menos a partir de 10.5, para obtener la ubicación de una fuente.
No he podido encontrar nada que lo haga directamente. Creo que tendrá que iterar a través de varias carpetas de fuentes en el sistema: /System/Library/Fonts
, /Library/Fonts
, y probablemente también exista un directorio de nivel de usuario ~/Library/Fonts
.
abre un terminal (Aplicaciones-> Utilidades-> Terminal) y escribe esto en:
locate InsertFontHere
Esto escupirá cada archivo que tenga el nombre que desee.
Advertencia: puede que haya mucho por recorrer.