¿Cómo puedo encontrar la ruta completa a una fuente de su nombre de visualización en una Mac? -- python campo con macos campo con fonts campo con photoshop camp Relacionados El problema

How can I find the full path to a font from its display name on a Mac?


41
vote

problema

Español

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 que el nombre de fuente corresponde en el disco.

Todo esto está sucediendo en un programa Python que se ejecuta en OSX, así que supongo que estoy buscando uno de:

  • algunos Photoshop Javascript
  • una función de pitón
  • una API OSX que puedo llamar desde Python
Original en ingles

I am using the Photoshop's javascript API to find the fonts in a given PSD.

Given a font name returned by the API, I want to find the actual physical font file that font name corresponds to on the disc.

This is all happening in a python program running on OSX so I guess I'm looking for one of:

  • Some Photoshop javascript
  • A Python function
  • An OSX API that I can call from python
</div
           

Lista de respuestas

19
 
vote
vote
La mejor respuesta
 

Lamentablemente, la única API que no está en desuso está ubicada en el marco de SemplyServices, que no tiene un archivo de soporte del puente, y por lo tanto no está disponible en el puente. Si desea utilizar CTYPES, puede usar AtsfontgetFilerefereference después de buscar el ATSFONTREF.

Cocoa no tiene ningún soporte nativo, al menos a partir de 10.5, para obtener la ubicación de una fuente.

 

Unfortunately the only API that isn't deprecated is located in the ApplicationServices framework, which doesn't have a bridge support file, and thus isn't available in the bridge. If you're wanting to use ctypes, you can use ATSFontGetFileReference after looking up the ATSFontRef.

Cocoa doesn't have any native support, at least as of 10.5, for getting the location of a font.

</div
 
 
8
 
vote

Abra un terminal (aplicaciones y gt; utilidades- & gt; terminal) y escriba esto en:

  locate InsertFontHere   

Esto escupirá cada archivo que tiene el nombre que desea.

ADVERTENCIA: Puede que haya mucho para atravesar.

 

open up a terminal (Applications->Utilities->Terminal) and type this in:

locate InsertFontHere 

This will spit out every file that has the name you want.

Warning: there may be alot to wade through.

</div
 
 
6
 
vote

Debe haber un método en el cacao para obtener una lista de fuentes, entonces tendrá que usar los enlaces de PyOBJC para llamarlo.

Dependiendo de lo que los necesite, probablemente podría usar algo como el 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   
 

There must be a method in Cocoa to get a list of fonts, then you would have to use the PyObjC bindings to call it..

Depending on what you need them for, you could probably just use something like the following..

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 
</div
 
 
6
 
vote

No he podido encontrar nada que haga esto directamente. Creo que tendrás que iterar a través de las diversas carpetas de fuentes en el sistema: /System/Library/Fonts , /Library/Fonts , y probablemente puede haber un directorio de nivel de usuario también ~/Library/Fonts .

 

I haven't been able to find anything that does this directly. I think you'll have to iterate through the various font folders on the system: /System/Library/Fonts, /Library/Fonts, and there can probably be a user-level directory as well ~/Library/Fonts.

</div
 
 

Relacionados problema

41  ¿Cómo puedo encontrar la ruta completa a una fuente de su nombre de visualización en una Mac?  ( How can i find the full path to a font from its display name on a mac ) 
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 encont...

4  Cambio de capas de texto seleccionado Idioma con Script de Photoshop  ( Changing selected text layers language with photoshop script ) 
A pesar de que logró poner un guión funcional para cambiar el idioma del diccionario de las capas seleccionadas en conjunto, no es exactamente lo que todavía ...

-1  Captura de pantalla de alta calidad  ( High quality screen capture ) 
Estoy haciendo un manual para una aplicación basada en la web. Tomo las capturas de pantalla y las colocas en Adobe Illustrator y pierden su calidad extremada...

1  Photoshop Javascript SaveasWeb no produce el mismo resultado usando script  ( Photoshop javascript saveasweb not producing the same result using script ) 
Cuando guardo un archivo PNG-24 usando (manualmente) Photoshop Recibo esta imagen (15.5kb): Al guardar usando JavaScript, obtengo esta imagen (14.1KB): ...

1  Photoshop CS6 Image Import  ( Photoshop cs6 image import ) 
No se pudo colocar el documento 'geniusbutton_1only_.png' porque el módulo de formato de archivo no puede analizar el archivo. Necesito saber cómo solucionar ...

10  Sombra interna en gráficos centrales  ( Inner shadow in core graphics ) 
Quiero hacer algo similar al efecto de sombra interior de los Photoshops en gráficos básicos. Si dibujo / llena un camino con este efecto, quiero obtener algo...

0  ¿Cómo cargar la acción de Photoshop con JavaScript?  ( How to load photoshop action with javascript ) 
¿Cómo carga la acción de Photoshop utilizando su idioma de scripts de JavaScript? Mayormente curioso en esta acción pasos: Añadir ruido DISTRIBUCI...

0  Un método para conocer el código de color en una imagen  ( A method to know the color code in an image ) 
¿Hay alguna manera, puedo conocer el código de color exacto de la imagen usando Photoshop? Por ejemplo, en la siguiente imagen: Quiero saber el código de...

5  Photoshop JSX - ¿Cómo copio el texto arbitrario al portapapeles?  ( Photoshop jsx how do i copy arbitrary text to the clipboard ) 
En este momento estoy usando el comando PRÁPGS como solución para copiar texto arbitrario de mi script JSX en Photoshop. prompt("to copy",(horizontalcenter...

4  Photoshop: ¿Cómo ejecuto / llamo a un script JSX de otro script de JSX en Photoshop?  ( Photoshop how do i run call a jsx script from another jsx script in photoshop ) 
Tengo variables y cuerdas en un script JSX que me gustaría usar en otro script de JSX en Photoshop. Quería volver a ejecutar el primer script en el segundo,...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos