Métricas de texto
Para ajudar seu layout, seleção de fontes personalizadas e outras operações intensivas de métricas, a partir do Windows 8, DirectWrite tem várias novas APIs para expressar todas as informações sobre fontes que você pode precisar para desenvolver aplicativos de rich text.
PANOSE
PANOSE é um sistema de classificação visual para identificar tipos de letra. A classificação PANOSE contém informações sobre a família, estilo da serifa, peso, proporção, contraste, traço, estilo do braço, altura do X, etc. Estas informações descrevem o estilo visual da fonte. Esta informação é importante porque fontes com valores de PANOSE semelhantes são semelhantes. Isso é muito útil em situações em que uma fonte não está disponível e o aplicativo precisa voltar para uma fonte que está disponível. A comparação dos valores PANOSE para fontes permite que você escolha uma fonte que seja visualmente semelhante à fonte original.
Para acessar as informações PANOSE de uma fonte, use o método GetPanose no IDWriteFont1 e interfaces de IDWriteFontFace1. Esse método retorna uma enumeração DWRITE_PANOSE que contém todas as informações PANOSE para essa fonte.
Métricas adicionais
A partir do Windows 8, o DirectWrite API também oferece suporte a uma série de novas métricas para expressar informações úteis sobre as fontes do seu aplicativo. Essas novas métricas incluem essas informações.
- Métricas da caixa delimitadora do glifo esquerdo, direito, superior e inferior.
- Posicionamento X e Y para elementos sobrescritos e subscritos.
- Informações de dimensionamento X e Y para elementos sobrescritos e subscritos.
- Se a fonte tem ou não métricas tipográficas.
Essas informações estão disponíveis através do novo método GetMetrics nas interfaces IDWriteFontFace1 e IDWriteFont1. Esse método retorna uma estrutura DWRITE_FONT_METRICS1 que contém todas essas informações.
Métricas Caret
Para criar aplicativos de edição de texto, você precisa acessar informações sobre como desenhar o cursor que navega pelo texto. A partir do Windows 8, DirectWrite fornece o métodoGetCaretMetricsnoIDWriteFontFace1e interfaces de IDWriteFont1 para esse cenário. GetCaretMetrics retorna uma enumeração DWRITE_CARET_METRICS que contém informações sobre a inclinação e o deslocamento para o cursor ao longo da linha de base.
Essas informações são especificamente úteis se você quiser ter sua inclinação de cursor apropriadamente com texto em itálico.
Descoberta monoespaçada
Os aplicativos que permitem que os usuários escrevam código de computador geralmente usam fontes monoespaçadas no lugar de fontes mais tradicionais. Assim, você pode ter mais controle sobre a seleção de fontes em aplicativos relacionados ao desenvolvimento, DirectWrite expressa se uma fonte é ou não monoespaçada por meio da API. O método IsMonospacedFont na interface deIDWriteFontFace1 doretorna um Boolean que indica se a fonte é ou não monoespaçada.
Correspondência de nome de fonte
Aplicativos de rich text, como leitores de PDF, precisam ser capazes de combinar fontes em seu conteúdo com fontes no sistema, precisam acessar os nomes completos das fontes em vários formatos. Para que você possa corresponder melhor às fontes, DirectWrite contém uma enumeração que expressa informações completas de nomenclatura sobre uma fonte em muitos formatos.
você usa a enumeração DWRITE_INFORMATIONAL_STRING_ID para obter o nome completo, o nome PostScript e o nome CID PostScript de qualquer fonte no sistema. Essas informações são valiosas quando você precisa fazer a correspondência entre fontes em seu aplicativo e fontes apropriadas no sistema local.
Avanços do glifo
O GetGlyphAdvances método no IDWriteFontFace1 e interfaces de IDWriteFont1 recebe a contagem de glifos e índices sobre os quais você precisa de informações avançadas e, em seguida, retorna os avanços para os glifos em questão.
Intervalos Unicode
Os aplicativos que desejam lidar com sua própria seleção de fontes precisam acessar os intervalos Unicode suportados pela fonte. Dessa forma, se um ponto de código Unicode não for suportado pela fonte, o aplicativo poderá escolher uma fonte apropriada que contenha esse glifo. Sem essas informações, o aplicativo pode usar uma fonte que não contém todos os glifos necessários para exibir as informações presentes.
O método GetUnicodeRanges no IDWriteFontFace1 e interfaces IDWriteFont1 recebe o número máximo de intervalos passados do cliente e retorna os intervalos reais suportados pela fonte.
Coleção de fontes EUDC
Use o GetEudcFontCollection método na interface IDWriteFactory1 acessar a coleção de fontes EUDC. Esse método funciona da mesma maneira que GetSystemFontCollection, mas em vez disso retorna um ponteiro para uma coleção de fontes EUDC.