tipografia personalizadas otf fuentes fuente font ejemplo dafont agregar automation applescript rename fontconfig ttx-fonttools

automation - personalizadas - Cambie el nombre del archivo ttf/woff/woff2 al nombre de la fuente PostScript con la secuencia de comandos



fuentes personalizadas css (1)

Ya que mencionaste Automator en tu pregunta, pensé que trataría de resolver esto mientras usaba eso para cambiar el nombre del archivo, junto con el estándar Mac bash para obtener el nombre de la fuente. Con suerte, es mejor aprender un lenguaje de programación completo.

No sé cuál es tu flujo de trabajo, así que te dejaré algunas desviaciones, pero aquí hay un método para seleccionar un archivo de fuente y desde Servicios, renombrar el archivo al nombre de postscript de la fuente ... basado en los metadatos de Apple, específicamente "com_apple_ats_name_postscript" . Esta es una de las piezas de datos recuperados usando ''mdls'' desde la Terminal en el archivo de fuente. Para centrarse en el nombre del postscript, grep el resultado para name_postscript. Para simplificar aquí, excluiré la ruta al archivo seleccionado.

Nombre de fuente Adquisición

Entonces ... ejecutando este comando ...

mdls GenBkBasBI.ttf | grep -A1 name_postscript

... genera esta salida, que contiene el nombre PostScript de FontBook. El ''A1'' en grep devuelve la línea encontrada y la primera línea después, que es la que contiene el nombre de la fuente real.

com_apple_ats_name_postscript = ( "GentiumBookBasic-BoldItalic"

Limpia esto con un poco más de bash (tr, tail) ...

tr -d / | tail -n 1 | tr -d /"

En orden, estos espacios de tira, todas las líneas excepto la última, y ​​comillas. Entonces, para la primera instancia ''tr'', hay un espacio extra después de la barra invertida.

En una sola línea, se ve así ...

mdls GenBkBasBI.ttf | grep -A1 name_postscript | tr -d / | tail -n 1 | tr -d /"

... y produce esto ...

GentiumBookBasic-BoldItalic

Ahora, aquí está el flujo de trabajo que incluye el comando bash anterior. Tengo la idea del uso variable de la respuesta a esta pregunta ...

Apple Automator "Nuevo PDF desde imágenes" manteniendo el mismo nombre de archivo

Flujo de trabajo de Automator

Captura de pantalla de Automator Workflow

En la cima; El servicio recibe ''archivos o carpetas'' seleccionados en ''Finder''.

  1. Obtener elementos seleccionados del buscador

Esto (o Get Specified ...) está ahí para permitir las pruebas. Se obvia al usar esto como un Servicio.

  1. Establecer el valor de la variable (archivo)

Esto es para recordar qué archivo quieres cambiar de nombre

  1. Ejecute el script de Shell

Aquí es donde usamos las cosas bash. El $ f es el archivo seleccionado / especificado. Estoy ejecutando ''zsh'' por cualquier razón. Puedes configurarlo para lo que sea que estés ejecutando, presumiblemente ''bash''.

  1. Establecer el valor de la variable (texto)

Asigna la salida bash a una variable. Esto será utilizado por la última acción para el nuevo nombre de archivo.

  1. Obtener valor de variable (archivo)

Recupere el archivo especificado / seleccionado para cambiar el nombre.

  1. Cambiar el nombre de los elementos del buscador: nombrar elemento único

Lo tengo configurado en ''Basename only'', por lo que dejará la extensión sola. Ingrese la variable ''Texto'' de la acción 4 aquí.

Soy un tipógrafo que trabaja con muchas fuentes que tienen nombres de archivo incorrectos o incompletos. Estoy en una Mac y he estado utilizando los flujos de trabajo de Hazel , AppleScript y Automator , intentando automatizar el cambio de nombre de estos archivos *. woff una secuencia de comandos para reemplazar el nombre de archivo existente de los archivos ttf , woff o woff2 en Finder con el nombre woff la fuente. Conozco las herramientas ( fc-scan / fontconfig , TTX , etc.) que pueden recuperar los valores nominales PostScript que necesito, pero me falta el conocimiento de programación para codificar un script para mis propósitos. Solo pude configurar un directorio mirado que puede ejecutar un script cuando se agregan los archivos que coinciden con ciertos parámetros.

* Para aclarar, estoy hablando de cambiar el nombre de archivo solamente, no los nombres reales almacenados dentro de la fuente. También estoy abierto a un script de cualquier lenguaje compatible o flujo de trabajo de scripts, si es posible, por ejemplo, esta publicación hace referencia a la incrustación de AppleScript dentro de los scripts de Shell a través de osascript .

Publicaciones de StackExchange que he consultado:
¿Cómo obtener Fontname del archivo OTF o TTF?
¿Cómo obtener el nombre PostScript de la fuente TTF en OS X?
¿Cómo cambiar el nombre de la fuente?
Automatizar el cambio de nombre de archivos en macOS

Otros:
https://github.com/dtinth/JXA-Cookbook/wiki/Using-JavaScript-for-Automation
https://github.com/fonttools/fonttools
https://github.com/devongovett/fontkit
https://www.npmjs.com/package/rename-js
https://opentype.js.org/font-inspector.html
http://www.fontgeek.net/blog/?p=343
https://www.lantean.co/osx-renaming-fonts-for-free

Editar: se agregó lo siguiente por solicitud.
1) Captura de pantalla de una fuente web algo típica, que ilustra cómo los campos de formulario para la familia de fuentes y los nombres de estilo a menudo están incompletos, en blanco o contienen caracteres ilegales.
2) El archivo woff representado (también, como base64 ). ¡Gracias a todos de antemano!