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 las fuentes TrueType y OpenType.
Las aplicaciones deben insertar una fuente en un documento solo cuando un usuario lo solicite. Una aplicación no se puede distribuir junto con documentos que contienen fuentes incrustadas, ni puede una propia aplicación contener una fuente incrustada. Siempre que una aplicación distribuya una fuente, en cualquier formato, se deben confirmar 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 incrustación o no observe las siguientes instrucciones 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 ver e imprimir un documento (pero no modificado) por el equipo de destino; los documentos con fuentes incrustadas de solo lectura son de solo lectura. Es posible que las fuentes insertadas 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ónGetOutlineTextMetrics y examinando el miembro otmfsType de la estructuraOUTLINETEXTMETRIC de. Si se establece el bit 1 de otmfsType, no se permite insertar para la fuente. Si el bit 1 está claro, la fuente se puede incrustar. 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 del carácter 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 la 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, enumeran 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 estructuraOUTLINETEXTMETRICpara 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 debe 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.