Função ScriptTextOut (usp10.h)
Exibe texto para a forma de script especificada e informações de local.
Sintaxe
HRESULT ScriptTextOut(
[in] const HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] int x,
[in] int y,
[in] UINT fuOptions,
[in, optional] const RECT *lprc,
[in] const SCRIPT_ANALYSIS *psa,
[in] const WCHAR *pwcReserved,
[in] int iReserved,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const int *piAdvance,
[in, optional] const int *piJustify,
[in] const GOFFSET *pGoffset
);
Parâmetros
[in] hdc
Identificador para o contexto do dispositivo. Para obter mais informações, consulte Cache. Observe que, ao contrário de algumas outras funções Uniscribe relacionadas, essa função define o identificador como obrigatório.
[in, out] psc
Ponteiro para uma estrutura SCRIPT_CACHE que identifica o cache de script.
[in] x
Valor da coordenada x do primeiro glifo.
[in] y
Valor da coordenada y do primeiro glifo.
[in] fuOptions
Opções equivalentes ao parâmetro fuOptions de ExtTextOut. Esse parâmetro pode ser definido como ETO_CLIPPED ou ETO_OPAQUE, para ambos os valores ou para nenhum dos valores.
[in, optional] lprc
Ponteiro para uma estrutura RECT que contém o retângulo usado para recortar a exibição. O aplicativo pode definir esse parâmetro como NULL.
[in] psa
Ponteiro para uma estrutura SCRIPT_ANALYSIS obtida de uma chamada anterior para ScriptItemize.
[in] pwcReserved
Reservados; deve ser definido como NULL.
[in] iReserved
Reservados; deve ser 0.
[in] pwGlyphs
Ponteiro para uma matriz de glifos obtidos de uma chamada anterior para ScriptShape.
[in] cGlyphs
Contagem dos glifos na matriz indicada por pwGlyphs. O número máximo de glifos é 65.536.
[in] piAdvance
Ponteiro para uma matriz de larguras avançadas obtidas de uma chamada anterior para ScriptPlace.
[in, optional] piJustify
Ponteiro para uma matriz de larguras avançadas justificadas (larguras de célula). O aplicativo pode definir esse parâmetro como NULL.
[in] pGoffset
Ponteiro para uma estrutura GOFFSET que contém os deslocamentos x e y para o glifo de combinação.
Valor retornado
Retorna 0 se for bem-sucedido. A função retornará um valor HRESULT diferente de zero se não for bem-sucedida. O aplicativo pode testar o valor retornado com as macros SUCCEEDED e FAILED .
Comentários
Essa função chama a função ExtTextOut do sistema operacional para exibição de texto. Para obter mais informações, consulte Exibindo texto com Uniscribe.
Todas as matrizes estão em ordem de exibição, a menos que o membro fLogicalOrder seja definido na estrutura SCRIPT_ANALYSIS indicada pelo psa.
Para qualquer execução renderizada da direita para a esquerda e gerada em ordem lógica forçando o membro fLogicalOrder do SCRIPT_ANALYSIS, o aplicativo deve chamar SetTextAlign (hdc, TA_RIGHT) e fornecer a coordenada do lado direito antes de chamar ScriptTextOut.
A matriz indicada por piJustify fornece larguras de célula para cada glifo. Quando a largura de um glifo difere da largura injustificada, especificada por piAdvance, o espaço é adicionado ou removido da célula do glifo em sua borda à direita. O glifo é sempre alinhado com a borda superior de sua célula. Essa regra se aplica até mesmo na ordem visual.
Quando uma célula de glifo é estendida, o espaço extra geralmente é composto pela adição de espaço em branco. No entanto, para scripts árabes, o espaço extra é composto por um ou mais glifos kashida, a menos que o espaço extra seja insuficiente para o glifo kashida mais curto na fonte. A largura do kashida mais curto está disponível chamando ScriptGetFontProperties.
O aplicativo deve passar um valor para piJustify somente se a cadeia de caracteres precisar ser justificada por ScriptTextOut. Normalmente, o aplicativo deve passar NULL.
O aplicativo não deve usar ScriptTextOut para gravar em um metarquivo, a menos que o metarquivo seja reproduzido sem nenhuma substituição de fonte, por exemplo, imediatamente no mesmo sistema para visualização de página escalonável. ScriptTextOut registra números de glifo no metarquivo. Como os números de glifo variam consideravelmente de uma fonte para outra, é improvável que o arquivo reproduza corretamente quando fontes diferentes são substituídas. Por exemplo, quando um meta-arquivo é reproduzido em uma escala diferente, uma solicitação CreateFont registrada no metarquivo pode resolve a um bitmap em vez de uma fonte TrueType. Da mesma forma, se o metarquivo for reproduzido em um computador diferente, as fontes solicitadas poderão não ser instaladas. Para escrever scripts complexos em um metarquivo de maneira independente de fonte, o aplicativo deve usar ExtTextOut para gravar os caracteres lógicos diretamente, para que a geração e o posicionamento do glifo não ocorram até que o texto seja reproduzido.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | usp10.h |
Biblioteca | Usp10.lib |
DLL | Usp10.dll |
Redistribuível | Internet Explorer 5 ou posterior no Windows Me/98/95 |