Partager via


Fonction ScriptGetLogicalWidths (usp10.h)

Convertit les largeurs d’avance du glyphe pour une police spécifique en largeurs logiques.

Syntaxe

HRESULT ScriptGetLogicalWidths(
  [in]  const SCRIPT_ANALYSIS *psa,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const int             *piGlyphWidth,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [out] int                   *piDx
);

Paramètres

[in] psa

Pointeur vers une structure SCRIPT_ANALYSIS .

[in] cChars

Nombre de points de code logique dans l’exécution.

[in] cGlyphs

Nombre de glyphes dans l’exécution.

[in] piGlyphWidth

Pointeur vers un tableau de largeurs d’avance de glyphes.

[in] pwLogClust

Pointeur vers un tableau de clusters logiques.

[in] psva

Pointeur vers une structure SCRIPT_VISATTR définissant des attributs visuels.

[out] piDx

Pointeur vers un tableau de largeurs logiques.

Valeur retournée

Retourne actuellement S_OK dans tous les cas.

Remarques

Cette fonction est utile pour enregistrer les largeurs de manière indépendante de la police. Il convertit les largeurs d’avance de glyphe calculées pour une police spécifique en largeurs logiques, une par point de code, dans le même ordre que les points de code. Si la même chaîne est ensuite affichée sur un autre appareil à l’aide d’une police différente, les largeurs logiques peuvent être appliquées à l’aide de ScriptApplyLogicalWidth pour se rapprocher de l’emplacement d’origine. Ce mécanisme est utile lors de l’implémentation de l’aperçu avant impression. Sur l’écran d’aperçu, il est important de faire correspondre la disposition et l’emplacement du résultat final imprimé.

Note Les largeurs de glyphe de ligature sont réparties uniformément entre les caractères qu’elles représentent.
 
Important À compter de Windows 8 : pour conserver la possibilité de s’exécuter sur Windows 7, un module qui utilise Uniscribe doit spécifier Usp10.lib avant gdi32.lib dans sa liste de bibliothèques.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête usp10.h
Bibliothèque Usp10.lib
DLL Usp10.dll
Composant redistribuable Internet Explorer 5 ou version ultérieure sur Windows Me/98/95

Voir aussi

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptApplyLogicalWidth

Uniscribe

Fonctions uniscribe