Métricas de texto
Para ayudar a su diseño, la selección de fuentes personalizada y otras operaciones intensivas de métricas, a partir de Windows 8, DirectWrite tiene una serie de NUEVAS API para expresar toda la información sobre las fuentes que podría necesitar para desarrollar aplicaciones de texto enriquecido.
PANOSE
PANOSE es un sistema de clasificación visual para identificar tipos de letra. La clasificación PANOSE contiene información sobre la familia, estilo serif, peso, proporción, contraste, trazo, estilo de brazo, altura X, etc. Esta información describe el estilo visual de la fuente. Esta información es importante porque las fuentes con valores PANOSE similares tienen un aspecto similar. Esto es muy útil en situaciones en las que una fuente no está disponible y la aplicación debe revertir a una fuente disponible. Comparar valores PANOSE para fuentes le permite elegir una fuente similar visualmente a la fuente original.
Para acceder a la información de PANOSE de una fuente, use el métodoGetPanose en laIDWriteFont1y interfaces de IDWriteFontFace1. Este método devuelve una enumeración DWRITE_PANOSE que contiene toda la información de PANOSE para esa fuente.
Métricas adicionales
A partir de Windows 8, la API de DirectWrite también admite varias métricas nuevas para expresar información útil sobre las fuentes de la aplicación. Estas nuevas métricas incluyen esta información.
- Métricas de rectángulo delimitador izquierda, derecha, superior e inferior.
- Posicionamiento X e Y para los elementos superíndice y subíndice.
- Información de escalado X e Y para los elementos superíndice y subíndice.
- Si la fuente tiene o no métricas tipográficas.
Esta información está disponible a través del nuevo método GetMetrics en las interfaces IDWriteFontFace1 y IDWriteFont 1. Este método devuelve una estructura DWRITE_FONT_METRICS1 que contiene toda esta información.
Métricas de intercalación
Para crear aplicaciones de edición de texto, necesita acceso a información sobre cómo dibujar el símbolo de intercalación que navega por el texto. A partir de Windows 8, DirectWrite proporciona el método GetCaretMetrics en laidWriteFontFace1 dey IDWriteFont1 para este escenario. GetCaretMetrics devuelve una enumeración DWRITE_CARET_METRICS que contiene información sobre la pendiente y el desplazamiento del símbolo de intercalación a lo largo de la línea base.
Esta información es especialmente útil si desea poder tener su pendiente de intercalación adecuadamente con texto cursiva.
Detectabilidad monoespacial
Las aplicaciones que permiten a los usuarios escribir código de equipo suelen usar fuentes monoespaciales en lugar de fuentes más tradicionales. Por lo tanto, puede tener más control sobre la selección de fuentes en aplicaciones relacionadas con el desarrollo, DirectWrite expresa si una fuente es monoespacial a través de la API. El método IsMonospacedFont en la interfazIDWriteFontFace1devuelve un valor Boolean que indica si la fuente es monoespacial.
Coincidencia de nombre de fuente
Las aplicaciones de texto enriquecido, como los lectores de PDF, deben poder hacer coincidir las fuentes de su contenido con las fuentes del sistema, necesitan tener acceso a los nombres completos de fuentes en varios formatos. Por lo tanto, puede coincidir mejor con las fuentes, DirectWrite contiene una enumeración que expresa información de nomenclatura completa sobre una fuente en muchos formatos.
use la enumeración DWRITE_INFORMATIONAL_STRING_ID para obtener el nombre completo, el nombre postScript y el nombre CID de PostScript de cualquier fuente del sistema. Esta información es valiosa cuando necesitas hacer coincidir las fuentes de la aplicación con las fuentes adecuadas en el sistema local.
Avances del glifo
El método GetGlyphAdvances en elIDWriteFontFace1y IDWriteFont1 toma el recuento de glifos e índices sobre los que necesita información de avance y, a continuación, devuelve los avances de los glifos en cuestión.
Intervalos Unicode
Las aplicaciones que quieran controlar su propia selección de fuentes necesitan acceder a los intervalos Unicode admitidos por la fuente. De este modo, si la fuente no admite un punto de código Unicode, la aplicación puede elegir una fuente adecuada que contenga ese glifo. Sin esta información, la aplicación puede usar una fuente que no contenga todos los glifos necesarios para mostrar la información presente.
El métodoGetUnicodeRanges del IDWriteFontFace 1 y las interfaces IDWriteFont1 toma el número máximo de intervalos pasados desde el cliente y devuelve los intervalos reales admitidos por la fuente.
Colección de fuentes EUDC
Use el métodoGetEudcFontCollection en la interfaz IDWriteFactory1 acceda a la colección de fuentes EUDC. Este método funciona de la misma manera que GetSystemFontCollection, pero en su lugar devuelve un puntero a una colección de fuentes EUDC.