Função ScriptXtoCP (usp10.h)
Gera a borda à esquerda ou à direita de um cluster de caracteres lógicos do deslocamento x de uma execução.
Sintaxe
HRESULT ScriptXtoCP(
[in] int iX,
[in] int cChars,
[in] int cGlyphs,
[in] const WORD *pwLogClust,
[in] const SCRIPT_VISATTR *psva,
[in] const int *piAdvance,
[in] const SCRIPT_ANALYSIS *psa,
[out] int *piCP,
[out] int *piTrailing
);
Parâmetros
[in] iX
Deslocamento, em unidades lógicas, do final da execução especificada pelo membro fLogicalOrder da estrutura SCRIPT_ANALYSIS indicada pelo parâmetro psa .
[in] cChars
Contagem de pontos de código lógicos na execução.
[in] cGlyphs
Contagem de glifos na execução.
[in] pwLogClust
Ponteiro para uma matriz de clusters lógicos.
[in] psva
Ponteiro para uma matriz de estruturas de SCRIPT_VISATTR que contém os atributos visuais do glifo.
[in] piAdvance
Ponteiro para uma matriz de larguras avançadas.
[in] psa
Ponteiro para uma estrutura SCRIPT_ANALYSIS . O membro fLogicalOrder indica TRUE para usar a borda superior da execução ou FALSE para usar a borda à direita.
[out] piCP
Ponteiro para um buffer no qual essa função recupera a posição do caractere correspondente à coordenada x.
[out] piTrailing
Ponteiro para um buffer no qual essa função recupera a distância, em pontos de código, da borda superior do caractere lógico até a posição iX . Se esse valor for 0, a posição iX estará na borda superior do caractere lógico. Para obter mais informações, consulte a seção Comentários.
Retornar valor
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
Os valores passados para essa função normalmente são os resultados de chamadas anteriores para outras funções Uniscribe. Consulte Gerenciando o Posicionamento do Cursor e o Teste de Ocorrência para obter detalhes.
As bordas à esquerda e à direita do caractere lógico são determinadas pela direção do texto na execução (da esquerda para a direita ou da direita para a esquerda). Para a direção da esquerda para a direita, a borda superior é a mesma que a borda esquerda. Para a direção da direita para a esquerda, a borda superior é a borda direita.
Para scripts nos quais o cursor é colocado convencionalmente no meio de um cluster, por exemplo, árabe e hebraico, a posição de caractere recuperada pode ser para qualquer ponto de código na linha. Nesse caso, o parâmetro piTrailing é definido como 0 ou 1.
Para scripts nos quais o cursor é convencionalmente ajustado para os limites de um cluster, a posição de caractere recuperada é sempre a posição do primeiro ponto de código em um cluster (considerado logicamente). O parâmetro piTrailing é definido como 0 ou para o número de pontos de código no cluster.
A posição de cursor apropriada para um clique do mouse é sempre a posição de caractere recuperada mais a distância indicada por piTrailing.
Quando iX indica uma posição fora da execução, ScriptXtoCP atua como se houvesse um caractere infinitamente grande extra além de cada extremidade da execução. Isso resulta no comportamento mostrado na tabela a seguir.
Posição iX (fora da execução) | Result |
---|---|
Antes da execução, ou seja: iX< 0 se a execução for da esquerda para a direita ou iX>= soma de avanços se a execução for da direita para a esquerda | O valor de piCP é -1 e o valor de piTrailing é 0 |
Após a execução, ou seja: iX>= soma de avanços se a execução for da esquerda para a direita ou iX< 0 se a execução for da direita para a esquerda | O valor de piCP é o valor de cChars e o valor de piTrailing é 1 |
Requisitos
Requisito | Valor |
---|---|
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 |