Compartir a través de


Métricas de texto

Con el fin de ayudar al diseño, la selección de fuentes personalizadas y otras operaciones intensivas de métricas, a partir de Windows 8, DirectWrite tiene varias API nuevas 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 son similares. 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étodo GetPanose en las interfaces IDWriteFont1 e 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 cuadro de límite de glifo izquierdo, derecho, 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 e IDWriteFont1 . 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 las interfaces IDWriteFontFace1 e 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 apropiadamente 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 de la interfaz IDWriteFontFace1 devuelve un valor booleano que indica si la fuente es monoespacial.

Coincidencia de nombres de fuente

Las aplicaciones de texto enriquecido, como los lectores de PDF, deben poder hacer coincidir fuentes en su contenido con fuentes del sistema, necesitan tener acceso a los nombres completos de las fuentes en varios formatos. Por lo tanto, puede hacer coincidir mejor 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 las interfaces IDWriteFontFace1 e 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 acceso 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étodo GetUnicodeRanges en las interfaces IDWriteFontFace1 e 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étodo GetEudcFontCollection en la interfaz IDWriteFactory1 para acceder 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.