Função ScriptPlace (usp10.h)
Gera a largura avançada do glifo e informações de deslocamento bidimensional da saída de ScriptShape.
Sintaxe
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
Parâmetros
[in] hdc
Opcional. Identificador para o contexto do dispositivo. Para obter mais informações, consulte Cache.
[in, out] psc
Ponteiro para uma estrutura SCRIPT_CACHE que identifica o cache de script.
[in] pwGlyphs
Ponteiro para um buffer de glifo obtido de uma chamada anterior para a função ScriptShape .
[in] cGlyphs
Contagem de glifos no buffer de glifo.
[in] psva
Ponteiro para uma matriz de estruturas SCRIPT_VISATTR indicando atributos visuais.
[in, out] psa
Ponteiro para uma estrutura SCRIPT_ANALYSIS . Na entrada, essa estrutura é obtida de uma chamada anterior para ScriptItemize. Na saída, essa estrutura contém valores recuperados pelo ScriptPlace.
[out] piAdvance
Ponteiro para uma matriz na qual essa função recupera informações de largura avançada.
[out] pGoffset
Opcional. Ponteiro para uma matriz de estruturas GOFFSET nas quais essa função recupera os deslocamentos x e y da combinação de glifos. Essa matriz deve ter o comprimento indicado por cGlyphs.
[out] pABC
Ponteiro para uma estrutura ABC na qual essa função recupera a largura abc para toda a execução.
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 .
A função retornará E_PENDING se o cache de script especificado pelo parâmetro psc não contiver informações suficientes para colocar os glifos e o parâmetro hdc for definido como NULL para que a função não possa concluir o processo de posicionamento. O aplicativo deve configurar um contexto de dispositivo correto para a execução e chamar essa função novamente com o contexto de dispositivo apropriado e com todos os outros parâmetros da mesma forma.
Comentários
Consulte Exibindo texto com Uniscribe para ver uma discussão sobre o contexto no qual essa função normalmente é chamada.
A largura abc composta do item inteiro identifica quanto os glifos se sobrepõem à esquerda da posição inicial e à direita do comprimento implícito pela soma das larguras avançadas. A largura de avanço total da linha é exatamente abcA+abcB+abcC. Os valores abcA e abcC são mantidos como proporções da altura da célula representada em 8 bits e, portanto, são aproximadamente +/-1%. A largura total recuperada, que é a soma dos valores abcA+abcB+abcC indicados por piAdvance, é preciso para a resolução do mecanismo de formatação TrueType.
Todas as matrizes estão em ordem visual, a menos que o membro fLogicalOrder seja definido na estrutura SCRIPT_ANALYSIS indicada pelo parâmetro psa .
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 |