Incorporar fonte em um pacote do mac

Eu tenho um programa que estou escrevendo. Eu quero usar uma fonte de fantasia. Posso apenas incorporar minha fonte no meu pacote e usá-la de lá.

Meu código …

NSMutableAttributedString *recOf; recOf = [[NSMutableAttributedString alloc] initWithString:@"In Recognition of"]; length = [recOf length]; [recOf addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Edwardian Script ITC" size:50] range:NSMakeRange(0, length)]; [[NSColor blackColor] set]; px = (bounds.size.width/2)- (([recOf size].width)/2); py = (bounds.size.height/1.7); [recOf drawAtPoint:p]; [recOf release]; 

Sim você pode. Você deve adicionar uma fase de criação Copy Files ao seu destino (clique com o botão direito do mouse no destino e escolha Adicionar> Nova Fase de Construção> Nova Fase de Construção de Arquivos de Cópia ).

Defina o destino da fase de criação Copiar Arquivos para Recursos com um caminho de Fonts . Isso garantirá que a fonte seja copiada em uma pasta chamada Fonts no seu pacote de aplicativos.

Adicione seu arquivo de fonte à nova fase de compilation arrastando o arquivo de fonte para a fase de compilation.

Você então precisa adicionar a chave ATSApplicationFontsPath ao seu arquivo Info.plist , com o nome da pasta contendo sua fonte como seu valor:

 ATSApplicationFontsPath Fonts 

Você pode usar a fonte em seu aplicativo como se fosse uma fonte [NSFont fontWithName:@"yourFontName"] sistema chamando [NSFont fontWithName:@"yourFontName"] .

Claro, você deve se certificar de que você tem permissão para distribuir a fonte antes de fazer isso.

Algumas pessoas tiveram sucesso usando magia de carbono. Você deveria experimentá-lo.

Dito isto sobre o exemplo acima, ATSFontActivateFromFileSpecification foi preterido no Leopard. Aparentemente, a substituição usa um FSRef diretamente, o que é ainda melhor.