Función TTLoadEmbeddedFont (t2embapi.h)

Lee una fuente incrustada de la secuencia de documentos e la instala. También permite a un cliente restringir aún más los privilegios de inserción de la fuente.

Sintaxis

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

Puntero a un identificador que identifica la fuente incrustada instalada. Este identificador hace referencia a una estructura interna, no a un Hfont.

[in] ulFlags

Marca que especifica las opciones de carga e instalación. Actualmente, esta marca se puede establecer en cero o en el siguiente valor:

Valor Significado
TTLOAD_PRIVATE
Cargue la fuente para que no se enumere al usuario. Si la fuente no se puede instalar, permanecerá privada.

[out] pulPrivStatus

Puntero a marca que indica la inserción de privilegios de la fuente. Esta marca se escribe al finalizar esta función y puede tener uno de los siguientes valores. Esta función devuelve la licencia menos restrictiva concedida.

Valor Significado
EMBED_PREVIEWPRINT
Vista previa e inserción de impresión. La fuente puede estar incrustada en documentos, pero solo debe instalarse temporalmente en el sistema remoto. Un documento que contiene este tipo de fuente solo se puede abrir como de solo lectura. La aplicación no debe permitir que el usuario edite el documento. El documento solo se puede ver o imprimir.
EMBED_EDITABLE
Inserción editable. La fuente puede estar incrustada en documentos, pero solo debe instalarse temporalmente en el sistema remoto. Se puede abrir un documento que contenga este tipo de fuente "lectura y escritura" con la edición permitida.
EMBED_INSTALLABLE
Inserción instalable. La fuente se puede incrustar y instalar permanentemente en el sistema remoto. El usuario del sistema remoto adquiere los mismos derechos, obligaciones y licencias para esa fuente que el comprador original de la fuente, y está sujeto al mismo contrato de licencia de usuario final, derechos de autor, patente de diseño y/o marca comercial tal como era el comprador original.
EMBED_NOEMBEDDING
Inserción de licencias restringidas. La fuente no debe modificarse, incrustarse ni intercambiarse de ninguna manera sin obtener primero el permiso del propietario legal.

[in] ulPrivs

Marca que indica una restricción adicional de los privilegios de inserción, impuestas por el cliente que carga la fuente. Esta marca debe tener uno de los valores siguientes.

Valor Significado
LICENSE_PREVIEWPRINT
Vista previa e inserción de impresión.
LICENSE_EDITABLE
Inserción editable.
LICENSE_INSTALLABLE
Inserción instalable.
LICENSE_NOEMBEDDING
Inserción de licencias restringidas.
LICENSE_DEFAULT
Use el nivel de inserción predeterminado.

[out] pulStatus

Puntero a un campo de bits que contiene información de estado sobre la solicitud TTLoadEmbeddedFont . Este campo se rellena al finalizar esta función y puede tener cero o más de los siguientes valores.

Valor Significado
TTLOAD_FONT_SUBSETTED
La fuente cargada es un subconjunto de la fuente original.
TTLOAD_FONT_IN_SYSSTARTUP
La fuente cargada se etiquetó como instalable y se ha agregado al registro para que esté disponible al iniciarse.

[in] lpfnReadFromStream

Puntero a la función de devolución de llamada definida por el cliente que lee la estructura de fuente de la secuencia del documento.

[in] lpvReadStream

Puntero a la secuencia (estructura de fuente).

[in, optional] szWinFamilyName

Puntero al nuevo nombre de familia Unicode de Microsoft Windows de 16 bits. Establezca en NULL para usar el nombre existente. Al cambiar el nombre de una fuente al cargarse, debe proporcionar este parámetro y el parámetro szMacFamilyName .

[in, optional] szMacFamilyName

Puntero al nuevo nombre de familia macintosh de 8 bits de la fuente. Establezca en NULL para usar el nombre existente. Al cambiar el nombre de una fuente al cargarse, debe proporcionar este parámetro y el parámetro szWinFamilyName .

[in, optional] pTTLoadInfo

Puntero a una estructura TTLOADINFO que contiene la dirección URL desde la que se ha obtenido el objeto de fuente incrustado. Si este valor no coincide con uno de los contenidos en la estructura TTEMBEDINFO , la fuente no se cargará correctamente.

Valor devuelto

Si se ejecuta correctamente, devuelve E_NONE.

Si la carga de fuentes se realiza correctamente, se crea una fuente indicada por phFontReference a partir de la estructura de fuentes con los nombres a los que se hace referencia en szWinFamilyName y szMacFamilyName. pulPrivStatus se establece que indica los privilegios de inserción de la fuente; y pulStatus se pueden establecer que indiquen información de estado sobre la operación de carga de fuentes.

De lo contrario, devuelve un código de error descrito en Mensajes de error de función de inserción.

Comentarios

Para ayudar a un cliente a determinar si una fuente incrustada ya está instalada en el sistema, la función de carga de fuentes devolverá un mensaje de error que indica que existe una fuente con el mismo nombre en el sistema (E_FONTNAMEALREADYEXISTS) y si esa fuente tiene la misma suma de comprobación que la fuente incrustada (E_FONTALREADYEXISTS). A continuación, el cliente tiene dos opciones:

  1. Supongamos que la fuente instalada es realmente la misma que la fuente incrustada y cubre los mismos subconjuntos.
  2. Forzar la instalación de la fuente insertada con un nombre diferente para evitar incompatibilidades con la fuente ya en el sistema.
Para cambiar el nombre de una fuente incrustada antes de la instalación, el cliente debe proporcionar las cadenas de nombre de 8 bits y de 16 bits como parámetros. El nombre de fuente se cambiará en la tabla de nombres de la fuente recién instalada. El nuevo nombre solo está disponible para el cliente y no se enumerará al usuario.

Para usar el nombre existente de la fuente incrustada, los parámetros de cadena de nombre deben establecerse en NULL.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado t2embapi.h
Library T2embed.lib
Archivo DLL T2embed.dll

Consulte también

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO