Compartilhar via


Usando mecanismos de modelagem

O Uniscribe usa vários mecanismos de modelagem que contêm o conhecimento de layout para scripts específicos. Ele também aproveita o mecanismo de formatação de layout OpenType para lidar com recursos de script específicos da fonte, como geração de glifo, medida de extensão e suporte à quebra de palavras. O Uniscribe gerencia a reordenação de caractere bidirecional usando o algoritmo bidirecional Unicode e entende formatos de fonte de layout não OpenType para formatação árabe, hebraica e tailandesa.

Como os intervalos exatos de ponto de código atribuídos a cada mecanismo de modelagem podem variar, os números de script não são publicados, com exceção de SCRIPT_UNDEFINED. No entanto, seu aplicativo pode testar os atributos de scripts chamando a função ScriptGetProperties , que acessa a tabela de propriedades de script global. O aplicativo pode usar as propriedades de script global para ajudar a combinar suas próprias regras de layout com as divisões de mecanismo de modelagem necessárias.

O aplicativo acessa um mecanismo de modelagem com uma chamada para a função ScriptShape . Todos os mecanismos complexos de formatação de script, os mecanismos de formatação de dígitos e os mecanismos de modelagem ASCII validam a fonte indicada no identificador de contexto do dispositivo antes da formatação. Scripts complexos devem ser moldado usando o script retornado pela função ScriptItemize para serem legíveis. Outras execuções permanecem legíveis se formadas com SCRIPT_UNDEFINED especificadas no membro eScript da estrutura SCRIPT_ANALYSIS , embora possam perder a qualidade tipográfica.

ScriptShape retornará 0 se tiver êxito ou USP_E_SCRIPT_NOT_IN_FONT se a fonte fornecida pelo aplicativo não contiver glifos suficientes ou tabelas de formatação. Se o aplicativo especificar SCRIPT_UNDEFINED e alguns caracteres não forem compatíveis com a fonte, a função ainda terá êxito. Nesse caso, o aplicativo deve verificar o buffer de saída de glifo para a presença de glifos ausentes. Para obter estratégias para lidar com glifos ausentes, consulte Usando fallback de fonte.

Usando Uniscribe