Sua suposição está correta. O iOS exige que você identifique uma fonte com base no nome do Postscript (ou Nome completo), que nem sempre é igual ao nome do arquivo real da fonte .
Você pode obter o nome PostScript usando o FontBook (como mostrado na resposta aceita aqui), mas existem outras maneiras.
De dentro do XCode, você pode extrair o Nome PostScript das fontes instaladas do projeto via UIFont
. Simplesmente execute isso para imprimir os nomes PostScript das fontes do projeto instaladas:
No Objective-C ( fonte ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
Ou Swift 3.0 ( fonte )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
Ou a partir do terminal , de dentro do diretório em que você possui seus arquivos de fonte, você pode executar este script para imprimir todos os nomes PostScript das fontes dentro do diretório atual (usa o fc-scan
utilitário fontconfig que provavelmente já está instalado) ( fonte ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Aqui está uma captura de tela do comando acima em execução no meu ~/Library/Fonts
diretório:
O script acima percorrerá todos os arquivos .ttf
e .otf
no diretório atual e imprimirá o Nome PostScript para cada fonte que você pode usar para fazer referência ao arquivo de fonte no XCode ou em outro local.
Se você quiser ter alguma informação adicional (PostScriptName, Nome do arquivo) e algum código de cores, execute este script alternativo:
for file in "$arg"*.{ttf,otf}; do
postscriptname=$(fc-scan --format "%{postscriptname}\n" $file);
printf "\033[36m PostScript Name:\033[0m %s \e[90m(%s)\033[0m\n" "$postscriptname" "$file";
done
Isso é um pouco mais rápido que o código de copiar e colar dentro do seu arquivo AppDelegate.m para imprimir os nomes toda vez que você deseja adicionar um novo arquivo de fonte, que é o método popular, e também é mais rápido do que abrir a Fonte no FontBook para inspecione o nome PostScript.
DICA ÚTIL: Se você alternar o script acima em seu terminal, basta digitar um único comando para obter todos os nomes de fontes PostScript para todos os arquivos no diretório atual, economizando tempo no fluxo de trabalho de desenvolvimento e tenha esse script prático pronto para usar quando você precisar.
Espero que isto ajude!