Fuentes incrustadas

Insertar una fuente es la técnica de agrupar un documento y las fuentes que contiene en un archivo para la transmisión a otro equipo. Insertar una fuente garantiza que una fuente especificada en un archivo transmitido estará presente en el equipo que recibe el archivo. Sin embargo, no todas las fuentes se pueden mover del equipo al equipo, ya que la mayoría de las fuentes tienen licencia a solo un equipo a la vez. Solo se pueden incrustar fuentes TrueType y OpenType.

Las aplicaciones solo deben insertar una fuente en un documento cuando lo solicite un usuario. Una aplicación no se puede distribuir junto con documentos que contienen fuentes incrustadas, ni una propia aplicación puede contener una fuente incrustada. Cada vez que una aplicación distribuye una fuente, en cualquier formato, se deben reconocer los derechos de propiedad del propietario de la fuente.

Puede ser una infracción de los derechos de propiedad o del contrato de licencia de usuario de un proveedor de fuentes para insertar cualquier fuente en la que no se permita la inserción o no se cumplan las siguientes directrices sobre la inserción de fuentes. La licencia de una fuente solo puede conceder permiso de lectura y escritura para una fuente que se va a instalar y usar en el equipo de destino. O bien, la licencia puede conceder permiso de solo lectura. El permiso de solo lectura permite que el equipo de destino vea e imprima un documento (pero no lo modifique); los documentos con fuentes incrustadas de solo lectura son de solo lectura. Es posible que las fuentes incrustadas de solo lectura no se desagrupen del documento y se instalen en el equipo de destino.

Una aplicación puede determinar el estado de la licencia llamando a la función GetOutlineTextMetrics y examinando el miembro otmfsType de la estructura OUTLINETEXTMETRIC . Si se establece el bit 1 de otmfsType , la inserción no se permite para la fuente. Si el bit 1 está desactivado, la fuente se puede insertar. Si se establece el bit 2, la inserción es de solo lectura.

Para insertar una fuente TrueType, una aplicación puede usar la función GetFontData para leer el archivo de fuente. Establecer los parámetros dwTable y dwOffset de GetFontData en 0L y el parámetro cbData en 1L garantiza que la aplicación lea todo el archivo de fuente desde el principio.

Hay varias funciones disponibles para insertar fuentes OpenType en función del ancho de caracteres y de dónde residen los datos de fuente. Para insertar una fuente Unicode OpenType que reside en un contexto de dispositivo, una aplicación puede usar TTEmbedFont. Para insertar una fuente OpenType UCS-4 que reside en un contexto de dispositivo, una aplicación puede usar TTEmbedFontEx. Para insertar una fuente Unicode OpenType que reside en un archivo de fuente, una aplicación puede usar TTEmbedFontFromFile. Para obtener información adicional sobre la inserción de fuentes OpenType, consulte referencia de inserción de fuentes.

Una vez que una aplicación recupera los datos de fuente, puede almacenar los datos con el documento mediante cualquier formato aplicable. La mayoría de las aplicaciones crean un directorio de fuentes en el documento, enumerando las fuentes incrustadas y si la inserción es de lectura y escritura o de solo lectura. Una aplicación puede usar los miembros otmpStyleName y otmFamilyName de la estructura OUTLINETEXTMETRIC para identificar la fuente.

Si el bit de solo lectura se establece para la fuente incrustada, las aplicaciones deben cifrar los datos de fuente antes de almacenarlos con el documento. El método de cifrado no necesita ser complicado; Por ejemplo, el uso del operador XOR para combinar los datos de fuente con una constante definida por la aplicación es adecuado y rápido.