Como posso obter o nome PostScript de uma fonte TTF instalada no OS X?

16

Eu tenho uma fonte TTF instalada no meu Mac que adicionei a um projeto de desenvolvimento do X-Code. Durante toda a minha vida, não consigo trabalhar com meu aplicativo, mas acho que é porque estou usando o nome da fonte incorreta.

Usando o Font Book, ou qualquer outra ferramenta, como posso obter o nome da fonte Postscript nos metadados da fonte?

Tenho um palpite de que o valor Postscript namepode ser diferente do Font name, mas preciso verificar.

RLH
fonte

Respostas:

24

Abra o aplicativo Catálogo de fontes . (Ele deve estar na sua pasta Aplicativos .)

Selecione a fonte para a qual você precisa do Nome do Postscript.

Selecione Mostrar informações da fonte no menu Visualizar . (Ou use + i).

captura de tela: fontbook info da fonte

Tom Gewecke
fonte
7

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-scanutilitá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/Fontsdiretório:

insira a descrição da imagem aqui

O script acima percorrerá todos os arquivos .ttfe .otfno 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

insira a descrição da imagem aqui

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!

radiovisual
fonte
2

Me deparei com um caso de uso um pouco diferente que eu pensei que deveria compartilhar para outras pessoas:

Um arquivo de fonte que comprei e baixei é restrito apenas ao uso do aplicativo. Normalmente, uso o FontBook, como a resposta aceita, para pegar o nome PostScript. No entanto, devido à restrição de uso do aplicativo, não foi possível importar a fonte para o FontBook.

O que funcionou para mim foi clicar com o botão direito do mouse no arquivo da fonte e selecionar "Obter informações". O valor no campo "Nome completo" na guia Geral é o que funcionou para mim e parece ser o nome PostScript. Verifiquei isso com alguns outros arquivos de fonte que eu sabia com certeza o nome PostScript.

Fácil e não envolve a abertura de outro aplicativo.

Rampancy
fonte
0

Você pode usar o FontDrop

Uma ferramenta on-line maravilhosa que permite extrair informações de seus arquivos de fontes

Solte seu arquivo de fonte na área droppable:

insira a descrição da imagem aqui

Role um pouco e selecione a guia "Dados":

insira a descrição da imagem aqui

Você encontrará o nome do postscript da sua fonte sob o nome da propriedade "postScriptName"

Abdelbasset E
fonte