Convertendo arquivos AFM em arquivos NTF
Importante
A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Para Windows 2000 e posterior, os arquivos do Adobe Font Metrics (AFM) devem ser convertidos em arquivos .ntf. Uma ferramenta de linha de comando para executar essa conversão, chamada makentf.exe, foi fornecida com o Windows Driver Development Kit (DDK).
Para converter um ou mais arquivos .afm, use a seguinte sintaxe de comando:
makentf {-win32|-win64} **** [-v]**** [-o] **** NTF_FileName.ntf AFM_FileNames
onde NTF_FileName é o nome do arquivo .ntf a ser produzido e AFM_FileNames é um conjunto de um ou mais arquivos AFM a serem convertidos.
As seguintes opções de linha de comando tem suporte:
-win32
Crie um arquivo NTF para um driver Win32. Se essa opção de linha de comando for especificada, -win64 não poderá ser especificado.
-win64
Crie um arquivo NTF para um driver Win64. Se essa opção de linha de comando for especificada, -win32 não poderá ser especificado.
-v
Detalhado. Essa opção cria um fluxo de saída de comando que contém uma exibição textual das estruturas de arquivos NTF que estão sendo geradas.
-o
Omita conjuntos de glifos ocidentais padrão. Por padrão, Makentf.exe inclui os conjuntos de glifos ocidentais padrão ao gerar um arquivo .ntf. Se você estiver criando vários arquivos .ntf, só precisará incluir os conjuntos de glifos ocidentais em um dos arquivos, desde que todos os arquivos sejam usados juntos. Por exemplo, suponha que você esteja criando um arquivo .ntf que contém métricas de fonte romana e outro que contém métricas de fonte japonesas. Você pode usar os seguintes comandos:
makentf -win32 roman.ntf roman1.afm roman2.afm roman3.afm
makentf -win32 -o jpn.ntf jpn1.afm jpn2.afm jpn3.afm
Se esses arquivos forem usados juntos, as informações do conjunto de glifos ocidentais sempre serão obtidas de roman.ntf, portanto, duplicar as informações em jpn.ntf não é necessário e consome espaço extra. Por outro lado, se jpn.ntf for usado sozinho, -o não deve ser especificado.
Uma segunda sintaxe de comando também é suportada, da seguinte maneira:
makentf filename
onde filename é o nome de um arquivo para receber texto de saída. Essa sintaxe faz com que Makentf.exe crie um arquivo contendo listas de nomes de glifos PostScript e valores Unicode para cada página de código conhecida por Makentf.exe.
Um arquivo adicional, PSFamily.dat, é fornecido com o WDK e deve residir no mesmo diretório que contém Makentf.exe. O arquivo adicional é um arquivo de texto que fornece Makentf.exe com os nomes de exibição e família de cada fonte.
Antes que um arquivo .afm padrão possa ser convertido, você deve adicionar uma linha semelhante ao exemplo a seguir:
Comment UniqueID IDnumber
em que IDnumber representa o identificador exclusivo da fonte, emitido pelo fornecedor da fonte.
Quando está processando o arquivo .afm de uma fonte do Leste da Ásia, Makentf.txt requer alguns arquivos .map e .ps adicionais, que devem residir no mesmo diretório que -o e PSFamily.dat. Os arquivos .map e .ps adicionais, que são fornecidos no WDK (junto com PSFamily.dat), são necessários para criar uma tabela de mapeamento do código Unicode para CID para a fonte. Para obter mais informações, consulte Convertendo arquivos AFM do Leste da Ásia em arquivos NTF.
Um arquivo .afm que será convertido em um arquivo .ntf pode conter a palavra-chave FontBBox2. Os argumentos dessa palavra-chave são semelhantes aos argumentos FontBBox (consulte a Especificação de formato de arquivo Adobe Font Metrics, da Adobe Systems, Inc.), exceto que os argumentos FontBBox2 descrevem a caixa delimitadora para glifos usados em um conjunto de caracteres específico (como 90 ms), enquanto os argumentos FontBBox descrevem a caixa delimitadora para a união de todos os caracteres descritos no arquivo .afm. Se FontBBox2 não for encontrado, os valores especificados para FontBBox serão usados para a caixa delimitadora.