¿Cómo puedo obtener el nombre PostScript de una fuente TTF instalada en OS X?

11

Tengo una fuente TTF instalada en mi Mac que agregué a un proyecto de desarrollo de X-Code. Por mi vida, no puedo hacer que funcione con mi aplicación, pero creo que es porque estoy usando el nombre de fuente incorrecto.

Utilizando Font Book, o cualquier otra herramienta, ¿cómo puedo obtener el nombre de fuente PostScript de los metadatos de fuente?

Tengo la corazonada de que Postscript name podría ser diferente de Font name , pero debo verificar.

    
pregunta RLH 24.01.2013 - 18:14

2 respuestas

14

Abre la aplicación Libro de fuentes . (Debería estar en su carpeta Aplicaciones .)

Seleccione la fuente para la que necesita el nombre Postscript.

Seleccione Mostrar información de fuente en el menú Vista previa . (O use + i ).

    
respondido por el Tom Gewecke 24.01.2013 - 21:06
5

Tu suposición es correcta. iOS requiere que identifiques una fuente en función de su nombre PostScript (o Nombre completo), que no siempre es el mismo que el nombre de archivo real de la fuente .

Puede obtener el nombre de PostScript utilizando FontBook (como se muestra en la respuesta aceptada aquí), pero hay otras formas.

Desde directamente dentro de XCode, puede extraer el Nombre PostScript de las fuentes instaladas del proyecto a través de UIFont . Simplemente ejecute esto para imprimir los nombres PostScript de sus fuentes de proyecto instaladas:

En Objective-C ( fuente ):

for (NSString *fontFamilyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
        NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
    }
}

O Swift 3.0 ( fuente )

for familyName in UIFont.familyNames {
    for fontName in UIFont.fontNames(forFamilyName: familyName ) {
        print("\(familyName) : \(fontName)")
    }
}

O desde el terminal , desde dentro del directorio donde tiene sus archivos de fuentes, puede ejecutar este script para imprimir todos los nombres PostScript de las fuentes dentro del directorio actual (usa fc-scan utilidad de fontconfig que probablemente ya esté instalada) ( fuente ):

for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done

Aquí hay una captura de pantalla del comando anterior que se ejecuta en mi directorio ~/Library/Fonts :

Elscriptanteriorseejecutaráatravésdetodoslosarchivos.ttfy.otfeneldirectorioactual,luegoimprimiráelNombrePostScriptparacadafuentequepuedeusarparahacerreferenciaalarchivodefuenteenXCodeoenotrolugar.

Sideseaobtenerunpocodefantasíaconinformaciónadicional(PostScriptName,Filename)yalgunoscódigosdecolores,puedeejecutarestescriptalternativo:

forfilein"$arg"*.{ttf,otf}; do 
    postscriptname=$(fc-scan --format "%{postscriptname}\n" $file);
    printf "3[36m PostScript Name:3[0m %s \e[90m(%s)3[0m\n" "$postscriptname" "$file";
done

Esto es un poco más rápido que copiar y pegar código dentro de su archivo AppDelegate.m para imprimir los nombres cada vez que quiera agregar un nuevo archivo de fuente, que es el método más popular, y también es más rápido que abrir la Fuente. en FontBook para inspeccionar el nombre PostScript.

CONSEJO ÚTIL: si crea un alias del script anterior en su terminal, de modo que todo lo que necesita hacer es escribir un solo comando para obtener todos los nombres de fuentes PostScript para todos los archivos en el directorio actual, luego ahorrará tiempo en su flujo de trabajo de desarrollo y tendrá este práctico script listo para usar cuando lo necesite.

¡Espero que esto ayude!

    
respondido por el radiovisual 07.03.2017 - 09:56

Lea otras preguntas en las etiquetas