Comparaison de l’API de texte Win32
Pour les développeurs qui migrent leur code d’application Win32, le tableau suivant répertorie les API texte Win32 et l’équivalent approximatif dans DirectWrite.
Appels de texte GDI | Description | DirectWrite Équivalent |
---|---|---|
AddFontMemResourceEx | Ajoute une police incorporée à la table de polices système. | CreateCustomFontFileReference + CreateCustomFontCollection |
AddFontResource | Ajoute une ressource de police à la table de polices système. | Il n’y a pas d’équivalent. AddFontResource ajoute à la collection de polices système dans le cadre de l’étape d’installation de la police GDI. DirectWrite remplit la collection de polices système à l’avance et surveille automatiquement les mises à jour de celle-ci, de sorte qu’aucune installation n’est nécessaire. |
AddFontResourceEx | Ajoute une police privée ou non énumérable à la table de polices système. | Identique à ce qui précède |
CreateFont | Crée une police logique. | Au lieu d’une police logique, les applications peuvent spécifier un ensemble de propriétés de police (par exemple le nom de famille, le poids, le style, l’étirement et la taille) pour créer un IDWriteTextFormat. Seules les applications nécessitant l’énumération de la police accèdent à un IDWriteFont par le biais de l’IDWriteFontCollection. |
CreateFontIndirect | Crée une police logique à partir d’une structure. | Identique à ce qui précède |
CreateFontIndirectEx | Crée une police logique à partir d’une structure. | Identique à ce qui précède |
DrawText | Dessine le texte mis en forme dans un rectangle. | IDWriteTextLayout::D raw |
DrawTextEx | Dessine le texte mis en forme dans un rectangle. | IDWriteTextLayout::D raw |
EnumFontFamExProc | Fonction de rappel définie par l’application utilisée avec EnumFontFamiliesEx pour traiter les polices. | Interface IDWriteFontCollection , via IDWriteFactory::GetSystemFontCollection |
EnumFontFamiliesEx | Énumère toutes les polices du système avec certaines caractéristiques. | Interface IDWriteFontCollection , via IDWriteFactory::GetSystemFontCollection |
ExtTextOut | Dessine une chaîne de caractères. | IDWriteTextLayout::D raw ou IDWriteRenderBitmapTarget::D rawGlyphRun |
GetAspectRatioFilterEx | Obtient le paramètre du filtre de proportions. | N/A |
GetCharABCWidths | Obtient les largeurs des caractères consécutifs de la police TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsFloat | Obtient les largeurs des caractères consécutifs de la police actuelle. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsI | Obtient les largeurs des index de glyphes consécutifs ou un tableau d’index de glyphes à partir de la police TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharacterPlacement | Obtient des informations sur une chaîne de caractères. | IDWriteTextAnalyzer |
GetCharWidth32 | Obtient les largeurs des caractères consécutifs de la police actuelle. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetCharWidthFloat | Obtient les largeurs fractionnaires des caractères consécutifs de la police actuelle. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetCharWidthI | Obtient les largeurs des index de glyphes consécutifs ou un tableau d’index de glyphes à partir de la police actuelle. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetFontData | Obtient les données de métrique pour une police TrueType. | IDWriteFontFace::TryGetFontTable |
GetFontLanguageInfo | Retourne des informations sur la police sélectionnée pour un contexte d’affichage. | N/A |
GetFontUnicodeRanges | Indique les caractères Unicode pris en charge par une police. | boucle d’IDWriteFont::HasCharacter |
GetGlyphIndices | Convertit une chaîne en tableau d’index de glyphes. | IDWriteFontFace::GetGlyphIndices |
GetGlyphOutline | Obtient le contour ou la bitmap d’un caractère dans la police TrueType. | Métriques de glyphe -- IDWriteFontFace::GetDesignGlyphMetrics, informations de plan réelles --IDwriteFontFace::GetGlyphRunOutline, si vous voulez des bitmaps de glyphes, IDWriteRenderBitmapRenderTarget::D rawGlyphRun |
GetKerningPairs | Obtient les paires de crénage de caractères pour une police. | Crénage autorisé via les propriétés typographiques de la disposition (DirectWrite effectue le crénage lui-même, il n’existe donc aucune méthode pour renvoyer ces informations). |
GetOutlineTextMetrics | Obtient des métriques de texte pour les polices TrueType. | IDWriteFontFace::GetMetrics |
GetRasterizerCaps | Indique si les polices TrueType sont installées. | (Les polices TrueType sont installées sur Windows Vista et Windows 7 par défaut.) |
GetTabbedTextExtent | Calcule la largeur et la hauteur d’une chaîne de caractères, y compris les onglets. | IDWriteTextLayout::GetMetrics |
GetTextAlign | Obtient le paramètre d’alignement du texte pour un contexte d’appareil. | IDWriteTextFormat::GetTextAlignment |
GetTextCharacterExtra | Obtient l’espacement entre caractères actuel pour un contexte d’appareil. | N/A |
GetTextColor | Obtient la couleur du texte d’un contexte d’appareil. | N/A. (DirectWrite est indépendant du rendu et ne connaît donc pas la couleur. Les applications doivent en assurer le suivi elles-mêmes.) |
GetTextExtentExPoint | Obtient le nombre de caractères d’une chaîne qui tiennent dans un espace. | IDWriteTextLayout::GetMetrics |
GetTextExtentExPointI | Obtient le nombre d’index de glyphes qui vont tenir dans un espace. | IDWriteTextLayout::GetMetrics |
GetTextExtentPoint32 | Calcule la largeur et la hauteur d’une chaîne de texte. | IDWriteTextLayout::GetMetrics |
GetTextExtentPointI | Calcule la largeur et la hauteur d’un tableau d’index de glyphes. | IDWriteTextLayout::GetMetrics |
GetTextFace | Obtient le nom de la police sélectionnée dans un contexte d’appareil. | IDWriteFont::GetFaceNames (renvoie tous les noms) |
GetTextMetrics | Remplit une mémoire tampon avec les métriques d’une police. | IDWriteFontFace::GetMetrics |
PolyTextOut | Dessine plusieurs chaînes à l’aide des couleurs de police et de texte dans un contexte d’appareil. | N/A; créer plusieurs objets de disposition |
RemoveFontMemResourceEx | Supprime de la table de polices système une police dont la source a été incorporée dans un document. | IUnknown::Release sur l’objet associé |
RemoveFontResource | Supprime les polices d’un fichier de la table de polices système | N/A |
RemoveFontResourceEx | Supprime une police privée ou non énumérable de la table de polices système. | N/A |
SetMapperFlags | Modifie l’algorithme utilisé pour mapper les polices logiques aux polices physiques. | N/A |
SetTextAlign | Définit les indicateurs d’alignement du texte pour un contexte d’appareil. | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | Définit l’espacement entre les caractères. | N/A |
SetTextColor | Définit la couleur du texte d’un contexte d’appareil. | Une application doit s’occuper de spécifier la couleur dans l’un des appels Draw . |
SetTextJustification | Spécifie la quantité d’espace que le système doit ajouter aux caractères d’arrêt d’une chaîne. | N/A. La justification et l’espacement des caractères ne sont pas pris en charge dans cette version. |
TabbedTextOut | Écrit une chaîne de caractères à un emplacement, en développant les onglets aux valeurs spécifiées. | IDWriteTextLayout::D raw |
Textout | Écrit une chaîne de caractères à un emplacement | IDWriteTextLayout::D raw |