Função ScriptPositionSingleGlyph (usp10.h)
Posiciona um único glifo com um único ajuste usando um recurso especificado fornecido na fonte para processamento OpenType. Na maioria das vezes, os aplicativos usam essa função para alinhar um glifo de forma óptica no início ou no final de uma linha.
Sintaxe
HRESULT ScriptPositionSingleGlyph(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] LONG lParameter,
[in] WORD wGlyphId,
[in] int iAdvance,
[in] GOFFSET GOffset,
[out] int *piOutAdvance,
[out] GOFFSET *pOutGoffset
);
Parâmetros
[in, optional] hdc
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, optional] psa
Ponteiro para uma estrutura SCRIPT_ANALYSIS obtida de uma chamada anterior para ScriptItemizeOpenType. Essa estrutura identifica o mecanismo de formatação para que as larguras avançadas possam ser recuperadas.
Como alternativa, o aplicativo pode definir esse parâmetro como NULL para recuperar resultados não filtrados.
[in] tagScript
Uma estrutura OPENTYPE_TAG definindo a marca de script para formatação.
[in] tagLangSys
Uma estrutura OPENTYPE_TAG definindo a marca de idioma para formatação.
[in] tagFeature
Uma estrutura OPENTYPE_TAG definindo a marca de recurso a ser usada para formatação do glifo alternativo.
[in] lParameter
Um sinalizador que especifica se a substituição única deve ser aplicada ao identificador especificado em wGlyphId. O aplicativo define esse parâmetro como 1 para aplicar o recurso de substituição única ao identificador. O aplicativo define o parâmetro como 0 se a função não deve aplicar o recurso.
[in] wGlyphId
O identificador do glifo original que está sendo moldado.
[in] iAdvance
A largura de avanço do glifo original.
[in] GOffset
O deslocamento de glifo original. Normalmente, esse valor é uma saída de ScriptPlaceOpenType ou ScriptPlace.
[out] piOutAdvance
Ponteiro para o local em que essa função recupera a nova largura avançada ajustada para o glifo alternativo.
[out] pOutGoffset
Ponteiro para o local em que essa função recupera o novo deslocamento de glifo ajustado para o glifo alternativo.
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
Essa função posiciona um glifo individual ajustando a largura avançada e/ou o deslocamento do glifo fornecido. A função pressupõe que a fonte requer apenas um ajuste.
Um uso típico dessa função é o pequeno ajuste da margem para considerar a impressão visual feita por determinados caracteres. No script latino, por exemplo, no início de uma linha é comum fazer um pequeno ajuste à esquerda para um capital inicial (como "T" ou "O") que não tem uma linha vertical na parte esquerda do glifo. Embora isso interrompa a margem linear estrita, o olho percebe a margem como mais uniforme.
Os exemplos a seguir demonstram esse efeito. O primeiro exemplo mostra alinhamento estrito; os dois exemplos a seguir mostram um ajuste do "T" inicial à esquerda. Os ajustes são de um pixel e dois pixels, respectivamente. As imagens ampliadas à direita mostram como o "T" empurra um pouco mais para a margem esquerda em cada caso sucessivo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | usp10.h |
Biblioteca | Usp10.lib |
DLL | Usp10.dll |
Redistribuível | Usp10.dll versão 1.600 ou superior no Windows XP |