Compartilhar via


estrutura DWRITE_SCRIPT_PROPERTIES (dwrite_1.h)

A estrutura DWRITE_SCRIPT_PROPERTIES especifica propriedades de script para navegação e justificativa de cursor.

Sintaxe

struct DWRITE_SCRIPT_PROPERTIES {
  UINT32 isoScriptCode;
  UINT32 isoScriptNumber;
  UINT32 clusterLookahead;
  UINT32 justificationCharacter;
  UINT32 restrictCaretToClusters : 1;
  UINT32 usesWordDividers : 1;
  UINT32 isDiscreteWriting : 1;
  UINT32 isBlockWriting : 1;
  UINT32 isDistributedWithinCluster : 1;
  UINT32 isConnectedWriting : 1;
  UINT32 isCursiveWriting : 1;
  UINT32 reserved : 25;
};

Membros

isoScriptCode

O código de quatro caracteres padronizado para o script especificado.

Nota Eles incluem apenas os scripts Unicode gerais, não nenhum script ISO 15924 adicional para distinção bibliográfica.
 

isoScriptNumber

O código numérico padronizado, variando de 0 a 999.

clusterLookahead

Número de caracteres a serem estimados com antecedência para scripts complexos. O latino e todos os Kana geralmente são 1. Os scripts índices são de até 15 e a maioria dos outros são 8.

Nota A combinação de marcas e seletores de variação pode produzir clusters mais longos do que esses look-aheads, portanto, essa estimativa é considerada um uso típico de idioma. Os diacríticos devem ser testados explicitamente separadamente.
 

justificationCharacter

Caractere apropriado para alongar o script especificado para justificativa. Por exemplo:

  • Árabe - U+0640 Tatweel
  • Ogham - Marca espacial U+1680 Ogham

restrictCaretToClusters

Restrinja o cursor a clusters inteiros, como Tailandês e Devanágari. Scripts como árabe, por padrão, permitem a navegação entre clusters. Outros, como tailandês, sempre navegam por clusters inteiros.

usesWordDividers

A linguagem usa divisores entre palavras, como espaços entre o latim ou o wordspace ethiopic. Exemplos incluem latino, grego, devanágaro e etépico. Chinês, coreano e tailandês são excluídos.

isDiscreteWriting

Os caracteres são unidades discretas entre si. Isso inclui scripts de bloco e scripts clusterizados. Exemplos incluem latino, grego, cirílico, hebraico, chinês e tailandês.

isBlockWriting

O idioma é um script de bloco, expandindo-se entre caracteres. Exemplos incluem chinês, japonês, coreano e Bopomofo.

isDistributedWithinCluster

A linguagem é justificada em clusters de glifo, não apenas entre clusters de glifo, como a sequência de caracteres de Thai Lu e Sara Am (U+E026, U+E033), que formam um único cluster, mas ainda se expandem entre eles. Exemplos incluem Tailandês, Lao e Khmer.

isConnectedWriting

Os clusters do script são conectados uns aos outros (como o Devanagari vinculado à linha de base) e nenhuma separação é adicionada entre caracteres.

Nota Scripts vinculados cursivamente, como árabe, também estão conectados (mas nem todos os scripts conectados são cursivos).
 
Exemplos incluem Devanagari, árabe, sírio, Bengala, Gurmukhi e Ogham. Latino, chinês e Thaana são excluídos.

isCursiveWriting

O script é naturalmente cursivo (árabe e sírio), o que significa que ele usa outros métodos de justificativa como a extensão kashida em vez de espaçamento entre caracteres.

Nota Embora outros scripts como latino e japonês possam realmente dar suporte a formulários cursivos manuscritos, eles não são considerados scripts cursivos.
 
Exemplos incluem árabe, sírio e mongol. Thaana, Devanagari, latino e chinês são excluídos.

reserved

Reservado

Requisitos

   
Cliente mínimo com suporte Windows 8 e Platform Update para Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 e Platform Update para Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho dwrite_1.h

Confira também

IDWriteTextAnalyzer1::GetScriptProperties