Compartilhar via


Fontes Inseridas

Inserir uma fonte é a técnica de agrupar um documento e as fontes que ele contém em um arquivo para transmissão para outro computador. A inserção de uma fonte garante que uma fonte especificada em um arquivo transmitido estará presente no computador que recebe o arquivo. No entanto, nem todas as fontes podem ser movidas de computador para computador, pois a maioria das fontes é licenciada para apenas um computador por vez. Somente fontes TrueType e OpenType podem ser inseridas.

Os aplicativos devem inserir uma fonte em um documento somente quando solicitados por um usuário. Um aplicativo não pode ser distribuído junto com documentos que contêm fontes inseridas, nem um aplicativo em si pode conter uma fonte inserida. Sempre que um aplicativo distribui uma fonte, em qualquer formato, os direitos proprietários do proprietário da fonte devem ser confirmados.

Pode ser uma violação dos direitos proprietários de um fornecedor de fontes ou do contrato de licença de usuário para inserir fontes em que a inserção não é permitida ou deixar de observar as diretrizes a seguir sobre a inserção de fontes. A licença de uma fonte pode dar apenas permissão de leitura/gravação para que uma fonte seja instalada e usada no computador de destino. Ou a licença pode dar permissão somente leitura. A permissão somente leitura permite que um documento seja exibido e impresso (mas não modificado) pelo computador de destino; documentos com fontes inseridas somente leitura são somente leitura. Fontes inseridas somente leitura podem não ser desagrupadas do documento e instaladas no computador de destino.

Um aplicativo pode determinar a licença status chamando a função GetOutlineTextMetrics e examinando o membro otmfsType da estrutura OUTLINETEXTMETRIC. Se o bit 1 de otmfsType estiver definido, a inserção não será permitida para a fonte. Se o bit 1 estiver claro, a fonte poderá ser inserida. Se o bit 2 estiver definido, a inserção será somente leitura.

Para inserir uma fonte TrueType, um aplicativo pode usar a função GetFontData para ler o arquivo de fonte. Definir os parâmetros dwTable e dwOffset de GetFontData como 0L e o parâmetro cbData como 1L garante que o aplicativo leia todo o arquivo de fonte desde o início.

Várias funções estão disponíveis para inserir fontes OpenType, dependendo da largura do caractere e onde residem os dados da fonte. Para inserir uma fonte Unicode OpenType que reside em um contexto de dispositivo, um aplicativo pode usar TTEmbedFont. Para inserir uma fonte OpenType UCS-4 que reside em um contexto de dispositivo, um aplicativo pode usar TTEmbedFontEx. Para inserir uma fonte Unicode OpenType que reside em um arquivo de fonte, um aplicativo pode usar TTEmbedFontFromFile. Para obter informações adicionais sobre a inserção de fontes OpenType, consulte a Referência de inserção de fontes.

Depois que um aplicativo recupera os dados da fonte, ele pode armazenar os dados com o documento usando qualquer formato aplicável. A maioria dos aplicativos cria um diretório de fontes no documento, listando as fontes inseridas e se a inserção é de leitura/gravação ou somente leitura. Um aplicativo pode usar os membros otmpStyleName e otmFamilyName da estrutura OUTLINETEXTMETRIC para identificar a fonte.

Se o bit somente leitura estiver definido para a fonte inserida, os aplicativos deverão criptografar os dados da fonte antes de armazená-los com o documento. O método de criptografia não precisa ser complicado; por exemplo, usar o operador XOR para combinar os dados de fonte com uma constante definida pelo aplicativo é adequado e rápido.