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.ttf
y.otf
eneldirectorioactual,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!