Fontes incorporadas
A incorporação de uma fonte é a técnica de agregar um documento e as fontes que ele contém em um arquivo para transmissão para outro computador. A incorporaçã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, uma vez que a maioria das fontes é licenciada para apenas um computador de cada vez. Somente fontes TrueType e OpenType podem ser incorporadas.
Os aplicativos devem incorporar uma fonte em um documento somente quando solicitado por um usuário. Um aplicativo não pode ser distribuído junto com documentos que contêm fontes incorporadas, nem um aplicativo em si pode conter uma fonte incorporada. Sempre que um aplicativo distribui uma fonte, em qualquer formato, os direitos de propriedade do proprietário da fonte devem ser reconhecidos.
Pode ser uma violação dos direitos de propriedade de um fornecedor de fontes ou do contrato de licença de usuário incorporar quaisquer fontes onde a incorporação não é permitida ou deixar de observar as seguintes diretrizes sobre incorporação de fontes. A licença de uma fonte pode dar apenas permissão de leitura/gravação para uma fonte a ser 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 visualizado e impresso (mas não modificado) pelo computador de destino; Os documentos com fontes incorporadas somente leitura são somente leitura. As fontes incorporadas somente leitura não podem ser separadas do documento e instaladas no computador de destino.
Um aplicativo pode determinar o status da licença chamando a funçãoGetOutlineTextMetricse examinando o otmfsType membro da estrutura deOUTLINETEXTMETRIC. Se o bit 1 de otmfsType estiver definido, a incorporação não será permitida para a fonte. Se o bit 1 estiver limpo, a fonte pode ser incorporada. Se o bit 2 estiver definido, a incorporação será somente leitura.
Para incorporar uma fonte TrueType, um aplicativo pode usar a funçãoGetFontDatapara ler o arquivo de fonte. Definir o dwTable e dwOffset parâmetros de GetFontData para 0L e o parâmetro cbData para 1L garante que o aplicativo leia todo o arquivo de fonte desde o início.
Várias funções estão disponíveis para incorporar fontes OpenType dependendo da largura do caractere e onde os dados da fonte residem. Para incorporar uma fonte Unicode OpenType que reside em um contexto de dispositivo, um aplicativo pode usar TTEmbedFont. Para incorporar uma fonte OpenType UCS-4 que reside em um contexto de dispositivo, um aplicativo pode usar TTEmbedFontEx. Para incorporar uma fonte Unicode OpenType que reside em um arquivo de fonte, um aplicativo pode usar TTEmbedFontFromFile. Para obter informações adicionais sobre a incorporação de fontes OpenType, consulte o Font Embedding Reference.
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 incorporadas e se a incorporação é leitura/gravação ou somente leitura. Um aplicativo pode usar o otmpStyleName e otmFamilyName membros da estrutura deOUTLINETEXTMETRICpara identificar a fonte.
Se o bit somente leitura estiver definido para a fonte incorporada, os aplicativos deverão criptografar os dados da fonte antes de armazená-los com o documento. O método de encriptação não tem de ser complicado; por exemplo, usar o operador XOR para combinar os dados da fonte com uma constante definida pelo aplicativo é adequado e rápido.