Compartilhar via


Função TTLoadEmbeddedFont (t2embapi.h)

Lê uma fonte inserida do fluxo de documentos e a instala. Também permite que um cliente restrinja ainda mais os privilégios de inserção da fonte.

Sintaxe

LONG TTLoadEmbeddedFont(
  [out]          HANDLE        *phFontReference,
  [in]           ULONG         ulFlags,
  [out]          ULONG         *pulPrivStatus,
  [in]           ULONG         ulPrivs,
  [out]          ULONG         *pulStatus,
  [in]           READEMBEDPROC lpfnReadFromStream,
  [in]           LPVOID        lpvReadStream,
  [in, optional] LPWSTR        szWinFamilyName,
  [in, optional] LPSTR         szMacFamilyName,
  [in, optional] TTLOADINFO    *pTTLoadInfo
);

Parâmetros

[out] phFontReference

Um ponteiro para um identificador que identifica a fonte inserida instalada. Esse identificador faz referência a uma estrutura interna, não a um Hfont.

[in] ulFlags

Um sinalizador que especifica opções de carregamento e instalação. Atualmente, esse sinalizador pode ser definido como zero ou o seguinte valor:

Valor Significado
TTLOAD_PRIVATE
Carregue a fonte para que ela não seja enumerada para o usuário. Se a fonte não for instalável, ela permanecerá privada.

[out] pulPrivStatus

Um ponteiro para sinalizar indicando privilégios de inserção da fonte. Esse sinalizador é gravado após a conclusão dessa função e pode ter um dos valores a seguir. Essa função retorna a licença menos restritiva concedida.

Valor Significado
EMBED_PREVIEWPRINT
Visualizar e imprimir inserção. A fonte pode ser inserida em documentos, mas só deve ser instalada temporariamente no sistema remoto. Um documento que contém esse tipo de fonte só pode ser aberto como somente leitura. O aplicativo não deve permitir que o usuário edite o documento. O documento só pode ser exibido e/ou impresso.
EMBED_EDITABLE
Inserção Editável. A fonte pode ser inserida em documentos, mas só deve ser instalada temporariamente no sistema remoto. Um documento que contém esse tipo de fonte pode ser aberto "leitura/gravação", com edição permitida.
EMBED_INSTALLABLE
Inserção instalável. A fonte pode ser inserida e instalada permanentemente no sistema remoto. O usuário do sistema remoto adquire direitos, obrigações e licenças idênticos para essa fonte como o comprador original da fonte e está sujeito ao mesmo contrato de licença do usuário final, direitos autorais, patente de design e/ou marca registrada que foi o comprador original.
EMBED_NOEMBEDDING
Inserção de licença restrita. A fonte não deve ser modificada, inserida ou trocada de forma alguma sem primeiro obter a permissão do proprietário legal.

[in] ulPrivs

Um sinalizador que indica uma restrição adicional de privilégios de inserção, imposta pelo cliente que carrega a fonte. Esse sinalizador deve ter um dos valores a seguir.

Valor Significado
LICENSE_PREVIEWPRINT
Visualizar e imprimir inserção.
LICENSE_EDITABLE
Inserção Editável.
LICENSE_INSTALLABLE
Inserção instalável.
LICENSE_NOEMBEDDING
Inserção de licença restrita.
LICENSE_DEFAULT
Use o nível de inserção padrão.

[out] pulStatus

Um ponteiro para um campo de bits que contém status informações sobre a solicitação TTLoadEmbeddedFont. Esse campo é preenchido após a conclusão dessa função e pode ter zero ou mais dos valores a seguir.

Valor Significado
TTLOAD_FONT_SUBSETTED
A fonte carregada é um subconjunto da fonte original.
TTLOAD_FONT_IN_SYSSTARTUP
A fonte carregada foi rotulada como instalável e foi adicionada ao registro para que ela fique disponível após a inicialização.

[in] lpfnReadFromStream

Um ponteiro para a função de retorno de chamada definida pelo cliente que lê a estrutura da fonte do fluxo do documento.

[in] lpvReadStream

Um ponteiro para o fluxo (estrutura de fonte).

[in, optional] szWinFamilyName

Um ponteiro para o novo nome da família Unicode do Microsoft Windows de 16 bits da fonte. Defina como NULL para usar o nome existente. Ao alterar o nome de uma fonte ao carregar, você deve fornecer esse parâmetro e o parâmetro szMacFamilyName .

[in, optional] szMacFamilyName

Um ponteiro para o novo nome da família Macintosh de 8 bits da fonte. Defina como NULL para usar o nome existente. Ao alterar o nome de uma fonte ao carregar, você deve fornecer esse parâmetro e o parâmetro szWinFamilyName .

[in, optional] pTTLoadInfo

Um ponteiro para uma estrutura TTLOADINFO que contém a URL da qual o objeto de fonte inserido foi obtido. Se esse valor não corresponder a um dos contidos na estrutura TTEMBEDINFO , a fonte não será carregada com êxito.

Retornar valor

Se tiver êxito, retornará E_NONE.

Se o carregamento de fontes for bem-sucedido, uma fonte indicada por phFontReference será criada a partir da estrutura de fontes com os nomes referenciados em szWinFamilyName e szMacFamilyName. pulPrivStatus é definido indicando os privilégios de inserção da fonte; e pulStatus podem ser definidos indicando status informações sobre a operação de carregamento de fontes.

Caso contrário, retornará um código de erro descrito em Inserir Mensagens de Erro da Função.

Comentários

Para ajudar um cliente a determinar se uma fonte inserida já está instalada no sistema, a função de carregamento de fonte retornará uma mensagem de erro indicando que existe uma fonte com o mesmo nome no sistema (E_FONTNAMEALREADYEXISTS) e se essa fonte tiver a mesma soma de verificação que a fonte inserida (E_FONTALREADYEXISTS). Em seguida, o cliente tem duas opções:

  1. Suponha que a fonte instalada seja realmente a mesma que a fonte inserida e cubra os mesmos subconjuntos.
  2. Force a fonte inserida a ser instalada com um nome diferente para evitar incompatibilidades com a fonte já no sistema.
Para alterar o nome de uma fonte inserida antes da instalação, o cliente deve fornecer as cadeias de caracteres de 8 bits e de 16 bits como parâmetros. O nome da fonte será alterado na tabela de nomes da fonte recém-instalada. O novo nome só está disponível para o cliente e não será enumerado para o usuário.

Para usar o nome existente da fonte inserida, os parâmetros de cadeia de caracteres de nome precisam ser definidos como NULL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho t2embapi.h
Biblioteca T2embed.lib
DLL T2embed.dll

Confira também

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO