DirectWrite

Overview of the DirectWrite technology.

To develop DirectWrite, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
DWRITE_BASELINE The DWRITE_BASELINE enumeration contains values that specify the baseline for text alignment.
DWRITE_BREAK_CONDITION Indicates the condition at the edges of inline object or text used to determine line-breaking behavior.
DWRITE_CONTAINER_TYPE Specifies the container format of a font resource. A container format is distinct from a font file format (DWRITE_FONT_FILE_TYPE) because the container describes the container in which the underlying font file is packaged.
DWRITE_FACTORY_TYPE Specifies the type of DirectWrite factory object.
DWRITE_FLOW_DIRECTION Indicates the direction of how lines of text are placed relative to one another.
DWRITE_FONT_FACE_TYPE Indicates the file format of a complete font face.
DWRITE_FONT_FEATURE_TAG A value that indicates the typographic feature of text supplied by the font.
DWRITE_FONT_FILE_TYPE The type of a font represented by a single font file. Font formats that consist of multiple files, for example Type 1 .PFM and .PFB, have separate enum values for each of the file types.
DWRITE_FONT_LINE_GAP_USAGE Specify whether DWRITE_FONT_METRICS::lineGap value should be part of the line metrics.
DWRITE_FONT_PROPERTY_ID Identifies a string in a font.
DWRITE_FONT_SIMULATIONS Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations can be combined via bitwise OR operation.
DWRITE_FONT_STRETCH Represents the degree to which a font has been stretched compared to a font's normal aspect ratio.
DWRITE_FONT_STYLE Represents the style of a font face as normal, italic, or oblique.
DWRITE_FONT_WEIGHT Represents the density of a typeface, in terms of the lightness or heaviness of the strokes.
DWRITE_GLYPH_IMAGE_FORMATS Specifies which formats are supported in the font, either at a font-wide level or per glyph.
DWRITE_GLYPH_ORIENTATION_ANGLE The DWRITE_GLYPH_ORIENTATION_ANGLE enumeration contains values that specify how the glyph is oriented to the x-axis.
DWRITE_GRID_FIT_MODE Specifies whether to enable grid-fitting of glyph outlines (also known as hinting).
DWRITE_INFORMATIONAL_STRING_ID The informational string enumeration which identifies a string embedded in a font file.
DWRITE_LINE_SPACING_METHOD The method used for line spacing in a text layout.
DWRITE_LOCALITY Specifies the location of a resource.
DWRITE_MEASURING_MODE Indicates the measuring method used for text layout.
DWRITE_NUMBER_SUBSTITUTION_METHOD Specifies how to apply number substitution on digits and related punctuation.
DWRITE_OPTICAL_ALIGNMENT The optical margin alignment mode.
DWRITE_OUTLINE_THRESHOLD The DWRITE_OUTLINE_THRESHOLD enumeration contains values that specify the policy used by the IDWriteFontFace1::GetRecommendedRenderingMode method to determine whether to render glyphs in outline mode.
DWRITE_PANOSE_ARM_STYLE The DWRITE_PANOSE_ARM_STYLE enumeration contains values that specify the style of termination of stems and rounded letterforms for text.
DWRITE_PANOSE_ASPECT The DWRITE_PANOSE_ASPECT enumeration contains values that specify the ratio between the width and height of the character face.
DWRITE_PANOSE_ASPECT_RATIO The DWRITE_PANOSE_ASPECT_RATIO enumeration contains values that specify info about the ratio between width and height of the character face.
DWRITE_PANOSE_CHARACTER_RANGES The DWRITE_PANOSE_CHARACTER_RANGES enumeration contains values that specify the type of characters available in the font.
DWRITE_PANOSE_CONTRAST The DWRITE_PANOSE_CONTRAST enumeration contains values that specify the ratio between thickest and thinnest point of the stroke for a letter such as uppercase 'O'.
DWRITE_PANOSE_DECORATIVE_CLASS The DWRITE_PANOSE_DECORATIVE_CLASS enumeration contains values that specify the general look of the character face.
DWRITE_PANOSE_DECORATIVE_TOPOLOGY The DWRITE_PANOSE_DECORATIVE_TOPOLOGY enumeration contains values that specify the overall shape characteristics of the font.
DWRITE_PANOSE_FAMILY The DWRITE_PANOSE_FAMILY enumeration contains values that specify the kind of typeface classification.
DWRITE_PANOSE_FILL The DWRITE_PANOSE_FILL enumeration contains values that specify the type of fill and line treatment.
DWRITE_PANOSE_FINIALS The DWRITE_PANOSE_FINIALS enumeration contains values that specify how character ends and miniscule ascenders are treated.
DWRITE_PANOSE_LETTERFORM The DWRITE_PANOSE_LETTERFORM enumeration contains values that specify the roundness of letterform for text.
DWRITE_PANOSE_LINING The DWRITE_PANOSE_LINING enumeration contains values that specify the handling of the outline for the decorative typeface.
DWRITE_PANOSE_MIDLINE The DWRITE_PANOSE_MIDLINE enumeration contains values that specify info about the placement of midline across uppercase characters and the treatment of diagonal stem apexes.
DWRITE_PANOSE_PROPORTION The DWRITE_PANOSE_PROPORTION enumeration contains values that specify the proportion of the glyph shape by considering additional detail to standard characters.
DWRITE_PANOSE_SCRIPT_FORM The DWRITE_PANOSE_SCRIPT_FORM enumeration contains values that specify the general look of the character face, with consideration of its slope and tails.
DWRITE_PANOSE_SCRIPT_TOPOLOGY The DWRITE_PANOSE_SCRIPT_TOPOLOGY enumeration contains values that specify the topology of letterforms.
DWRITE_PANOSE_SERIF_STYLE The DWRITE_PANOSE_SERIF_STYLE enumeration contains values that specify the appearance of the serif text.
DWRITE_PANOSE_SPACING The DWRITE_PANOSE_SPACING enumeration contains values that specify character spacing (monospace versus proportional).
DWRITE_PANOSE_STROKE_VARIATION The DWRITE_PANOSE_STROKE_VARIATION enumeration contains values that specify the relationship between thin and thick stems of text characters.
DWRITE_PANOSE_SYMBOL_ASPECT_RATIO The DWRITE_PANOSE_SYMBOL_ASPECT_RATIO enumeration contains values that specify the aspect ratio of symbolic characters.
DWRITE_PANOSE_SYMBOL_KIND The DWRITE_PANOSE_SYMBOL_KIND enumeration contains values that specify the kind of symbol set.
DWRITE_PANOSE_TOOL_KIND The DWRITE_PANOSE_TOOL_KIND enumeration contains values that specify the kind of tool that is used to create character forms.
DWRITE_PANOSE_WEIGHT The DWRITE_PANOSE_WEIGHT enumeration contains values that specify the weight of characters.
DWRITE_PANOSE_XASCENT The DWRITE_PANOSE_XASCENT enumeration contains values that specify the relative size of the lowercase letters.
DWRITE_PANOSE_XHEIGHT The DWRITE_PANOSE_XHEIGHT enumeration contains values that specify info about the relative size of lowercase letters and the treatment of diacritic marks (xheight).
DWRITE_PARAGRAPH_ALIGNMENT Specifies the alignment of paragraph text along the flow direction axis, relative to the top and bottom of the flow's layout box.
DWRITE_PIXEL_GEOMETRY Represents the internal structure of a device pixel (that is, the physical arrangement of red, green, and blue color components) that is assumed for purposes of rendering text.
DWRITE_READING_DIRECTION Specifies the direction in which reading progresses.
DWRITE_RENDERING_MODE Represents a method of rendering glyphs.
DWRITE_RENDERING_MODE1 Specifies how glyphs are rendered.
DWRITE_SCRIPT_SHAPES Indicates additional shaping requirements for text.
DWRITE_TEXT_ALIGNMENT Specifies the alignment of paragraph text along the reading direction axis, relative to the leading and trailing edge of the layout box.
DWRITE_TEXT_ANTIALIAS_MODE The DWRITE_TEXT_ANTIALIAS_MODE enumeration contains values that specify the type of antialiasing to use for text when the rendering mode calls for antialiasing.
DWRITE_TEXTURE_TYPE Identifies a type of alpha texture.
DWRITE_TRIMMING_GRANULARITY Specifies the text granularity used to trim text overflowing the layout box.
DWRITE_VERTICAL_GLYPH_ORIENTATION The DWRITE_VERTICAL_GLYPH_ORIENTATION enumeration contains values that specify the desired kind of glyph orientation for the text.
DWRITE_WORD_WRAPPING Specifies the word wrapping to be used in a particular multiline paragraph.

Functions

Title Description
AddFontFaceReference Adds a reference to a font to the set being built. The necessary metadata will automatically be extracted from the font upon calling CreateFontSet.
AddFontFaceReference Adds a reference to a font to the set being built. The necessary metadata will automatically be extracted from the font upon calling CreateFontSet.
AddFontFeature Adds an OpenType font feature.
AddFontFile Adds references to all the fonts in the specified font file.
AddFontSet Appends an existing font set to the one being built, allowing one to aggregate two sets or to essentially extend an existing one.
AddListener Registers a client-defined listener object that receives download notifications. All registered listener's DownloadCompleted will be called after BeginDownloadcompletes.
AddMapping Appends a single mapping to the list. Call this once for each additional mapping.
AddMappings Add all the mappings from an existing font fallback object.
Analyze Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system.
AnalyzeBidi Analyzes a text range for script directionality, reading attributes from the source and reporting levels to the sink callback SetBidiLevel.
AnalyzeContainerType The AnalyzeContainerType method analyzes the specified file data to determine whether it is a known font container format (e.g., WOFF or WOFF2).
AnalyzeLineBreakpoints Analyzes a text range for potential breakpoint opportunities, reading attributes from the source and reporting breakpoint opportunities to the sink callback SetLineBreakpoints.
AnalyzeNumberSubstitution Analyzes a text range for spans where number substitution is applicable, reading attributes from the source and reporting substitutable ranges to the sink callback SetNumberSubstitution.
AnalyzeScript Analyzes a text range for script boundaries, reading text attributes from the source and reporting the Unicode script ID to the sink callback SetScript.
AnalyzeVerticalGlyphOrientation Analyzes a text range for script orientation, reading text and attributes from the source and reporting results to the sink callback SetGlyphOrientation.
ApplyCharacterSpacing Applies spacing between characters, properly adjusting glyph clusters and diacritics.
AreCharactersLocal Determines whether the specified characters are local.
AreGlyphsLocal Determines whether the specified glyphs are local.
BeginDownload Begins an asynchronous download operation. The download operation executes in the background until it completes or is cancelled by a CancelDownload call.
BeginDownload Begins downloading all or part of the font file.
CancelDownload Removes all download requests from the queue and cancels any active download operations.
CheckTypographicFeature Checks if a typographic feature is available for a glyph or a set of glyphs.
ComputeGlyphOrigins Converts glyph run placements to glyph origins.
ComputeGlyphOrigins Converts glyph run placements to glyph origins.
ConvertFontFaceToLOGFONT Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font.
ConvertFontToLOGFONT Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font.
CreateAlphaTexture Creates an alpha texture of the specified type for glyphs within a specified bounding rectangle.
CreateBitmapRenderTarget Creates an object that encapsulates a bitmap and memory DC (device context) which can be used for rendering glyphs.
CreateCustomFontCollection Creates a font collection using a custom font collection loader.
CreateCustomFontFileReference Creates a reference to an application-specific font file resource.
CreateCustomRenderingParams Creates a rendering parameters object with the specified properties.
CreateCustomRenderingParams Creates a rendering parameters object with the specified properties.
CreateCustomRenderingParams Creates a rendering parameters object with the specified properties.
CreateCustomRenderingParams Creates a rendering parameters object with the specified properties.
CreateEllipsisTrimmingSign Creates an inline object for trimming, using an ellipsis as the omission sign.
CreateEnumeratorFromKey Creates a font file enumerator object that encapsulates a collection of font files. The font system calls back to this interface to create a font collection.
CreateFontCollectionFromFontSet Create a weight/width/slope tree from a set of fonts.
CreateFontFace Creates an object that represents a font face.
CreateFontFace Creates a font face object for the font.
CreateFontFace Creates a font face object for the font.
CreateFontFace Creates a font face from the reference for use with layout, shaping, or rendering.
CreateFontFaceFromHdc Creates an IDWriteFontFace object that corresponds to the currently selected HFONT of the specified HDC.
CreateFontFaceReference Creates a reference to a font given a full path.
CreateFontFaceReference Creates a reference to a font given a full path.
CreateFontFaceWithSimulations Creates a font face with alternate font simulations, for example, to explicitly simulate a bold font face out of a regular variant.
CreateFontFallback Creates the finalized fallback object from the mappings added.
CreateFontFallbackBuilder Creates a font fallback builder object.
CreateFontFileReference Creates a font file reference object from a local font file.
CreateFontFileReferenceFromUrl Creates a font file reference from a URL if the loader supports this capability.
CreateFontFromLOGFONT Creates a font object that matches the properties specified by the LOGFONT structure.
CreateFontFromLOGFONT Creates a font object that matches the properties specified by the LOGFONT structure.
CreateFontSet Creates a font set from all the font face references added so far with AddFontFaceReference.
CreateFontSetBuilder Creates an empty font set builder to add font face references and create a custom font set.
CreateFontSetBuilder Creates an empty font set builder to add font face references and create a custom font set.
CreateGdiCompatibleTextLayout Takes a string, format, and associated constraints, and produces an object representing the result, formatted for a particular display resolution and measuring mode.
CreateGlyphRunAnalysis Creates a glyph run analysis object, which encapsulates information used to render a glyph run.
CreateGlyphRunAnalysis Creates a glyph-run-analysis object that encapsulates info that DirectWrite uses to render a glyph run.
CreateGlyphRunAnalysis Creates a glyph run analysis object, which encapsulates information used to render a glyph run.
CreateHttpFontFileLoader Creates a remote font file loader that can create font file references from HTTP or HTTPS URLs. The caller is responsible for registering and unregistering the loader.
CreateInMemoryFontFileLoader Creates a loader object that can be used to create font file references to in-memory fonts. The caller is responsible for registering and unregistering the loader.
CreateInMemoryFontFileReference Creates a font file reference (IDWriteFontFile object) from an array of bytes.
CreateMonitorRenderingParams Creates a rendering parameters object with default settings for the specified monitor. In most cases, this is the preferred way to create a rendering parameters object.
CreateNumberSubstitution Creates a number substitution object using a locale name, substitution method, and an indicator whether to ignore user overrides (use NLS defaults for the given culture instead).
CreateRemoteStreamFromKey Creates a remote font file stream object that encapsulates an open file resource and can be used to download remote file data.
CreateRenderingParams Creates a rendering parameters object with default settings for the primary monitor. Different monitors may have different rendering parameters, for more information see the How to Add Support for Multiple Monitors topic.
CreateStreamFromKey Creates a font file stream object that encapsulates an open file resource.
CreateTextAnalyzer Returns an interface for performing text analysis.
CreateTextFormat Creates a text format object used for text layout.
CreateTextLayout Takes a string, text format, and associated constraints, and produces an object that represents the fully analyzed and formatted result.
CreateTypography Creates a typography object for use in a text layout.
DetermineMinWidth Determines the minimum possible width the layout can be set to without emergency breaking between the characters of whole words occurring.
DownloadCompleted The DownloadCompleted method is called back on an arbitrary thread when a download operation ends.
Draw The application implemented rendering callback (IDWriteTextRenderer::DrawInlineObject) can use this to draw the inline object without needing to cast or query the object type. The text layout does not call this method directly.
Draw Draws text using the specified client drawing context.
DrawGlyphRun Draws a run of glyphs to a bitmap target at the specified position.
DrawGlyphRun IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs.
DrawGlyphRun IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs.
DrawInlineObject IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object.
DrawInlineObject IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object.
DrawStrikethrough IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough.
DrawStrikethrough IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough.
DrawUnderline IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline.
DrawUnderline IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline.
DWRITE_MAKE_OPENTYPE_TAG Creates an OpenType tag as a 32-bit integer, such that the first character in the tag is the lowest byte (least significant on little endian architectures), which can be used to compare with tags in the font file.
DWriteCreateFactory Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects.
EnqueueCharacterDownloadRequest Adds a request to the font download queue (IDWriteFontDownloadQueue).
EnqueueFileFragmentDownloadRequest Adds a request to the font download queue (IDWriteFontDownloadQueue).
EnqueueFontDownloadRequest Adds a request to the font download queue (IDWriteFontDownloadQueue).
EnqueueGlyphDownloadRequest Adds a request to the font download queue (IDWriteFontDownloadQueue).
Equals Compares two instances of font references for equality.
FindFamilyName Finds the font family with the specified family name.
FindFontFace Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.
FindFontFaceReference Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations.
FindLocaleName Gets the zero-based index of the locale name/string pair with the specified locale name.
GetAlphaBlendParams Gets alpha blending properties required for ClearType blending.
GetAlphaTextureBounds Gets the bounding rectangle of the physical pixels affected by the glyph run.
GetBaseline Retrieves the given baseline from the font.
GetBreakConditions Layout uses this to determine the line-breaking behavior of the inline object among the text.
GetCaretMetrics Gets caret metrics for the font in design units.
GetCharacterSpacing Gets the spacing between characters.
GetClearTypeLevel Gets the ClearType level of the rendering parameters object.
GetClusterMetrics Retrieves logical properties and measurements of each glyph cluster.
GetColorPaletteCount Gets the number of color palettes defined by the font.
GetCount Gets the number of language/string pairs.
GetCount Gets the number of strings in the string list.
GetCurrentFontFile Gets a reference to the current font file.
GetCurrentRun Gets the current color glyph run.
GetCurrentRun Returns the current glyph run of the enumerator.
GetCurrentTransform Gets the transform that maps abstract coordinates to DIPs. By default this is the identity transform. Note that this is unrelated to the world transform of the underlying device context.
GetCurrentTransform Gets a transform that maps abstract coordinates to DIPs.
GetDesignGlyphAdvances Retrieves the advances in design units for a sequences of glyphs.
GetDesignGlyphMetrics Obtains ideal (resolution-independent) glyph metrics in font design units.
GetDrawingEffect Gets the application-defined drawing effect at the specified text position.
GetEnhancedContrast Gets the enhanced contrast property of the rendering parameters object. Valid values are greater than or equal to zero.
GetEudcFontCollection Gets a font collection representing the set of EUDC (end-user defined characters) fonts.
GetFaceNames Gets a localized strings collection containing the face names for the font (such as Regular or Bold), indexed by locale name.
GetFaceNames Creates a localized strings object that contains the face names for the font (for example, Regular or Bold), indexed by locale name.
GetFamilyNames Creates a localized strings object that contains the family names for the font family, indexed by locale name.
GetFamilyNames Creates a localized strings object that contains the family names for the font family, indexed by locale name.
GetFileCount Returns the number of font file references that have been created using this loader instance.
GetFileFragmentLocality Returns information about the locality of a byte range (i.e., font fragment) within the font file stream.
GetFilePathFromKey Obtains the absolute font file path from the font file reference key.
GetFilePathLengthFromKey Obtains the length of the absolute file path from the font file reference key.
GetFiles Obtains the font files representing a font face.
GetFileSize Obtains the total size of a file.
GetFileSize Get the total size of the font face in bytes.
GetFileTime Get the last modified date.
GetFirstMatchingFont Gets the font that best matches the specified properties.
GetFlowDirection Gets the direction that text lines flow.
GetFont Gets a font given its zero-based index.
GetFont Gets a font given its zero-based index.
GetFont Gets a font given its zero-based index.
GetFontCollection Gets the font collection that contains the fonts in the font list.
GetFontCollection Gets the current font collection.
GetFontCollection Gets the font collection associated with the text at the specified position.
GetFontCount Gets the number of fonts in the font list.
GetFontCount Get the number of total fonts in the set.
GetFontDownloadQueue Gets the font download queue associated with this factory object.
GetFontFaceIndex Obtains the zero-based index of the font face in its font file or files. If the font files contain a single face, the return value is zero.
GetFontFaceReference Gets a font face reference that identifies this font.
GetFontFaceReference Gets a font face reference that identifies this font.
GetFontFaceReference Gets a font face reference given its zero-based index.
GetFontFaceReference Gets a font face reference given its zero-based index.
GetFontFaceReference Gets a reference to the font at the specified index, which may be local or remote.
GetFontFallback Gets the current fallback. If none was ever set since creating the layout, it will be nullptr.
GetFontFallback Get the current font fallback object.
GetFontFamily Gets the font family to which the specified font belongs.
GetFontFamily Creates a font family object given a zero-based font family index.
GetFontFamilyCount Gets the number of font families in the collection.
GetFontFamilyName Gets a copy of the font family name.
GetFontFamilyName Copies the font family name of the text at the specified position.
GetFontFamilyNameLength Gets the length of the font family name.
GetFontFamilyNameLength Get the length of the font family name at the current position.
GetFontFeature Gets the font feature at the specified index.
GetFontFeatureCount Gets the number of OpenType font features for the current font.
GetFontFile Obtains the font file representing a font face.
GetFontFromFontFace Gets the font object that corresponds to the same physical font as the specified font face object. The specified physical font must belong to the font collection.
GetFontLocality Gets the current location of a font given its zero-based index.
GetFontLocality Gets the current location of a font given its zero-based index.
GetFontSet Gets the underlying font set used by this collection.
GetFontSignature Reads the font signature from the given font.
GetFontSignature Reads the font signature from the given font.
GetFontSize Gets the font size in DIP unites.
GetFontSize Gets the font em height of the text at the specified position.
GetFontStretch Gets the font stretch of the text.
GetFontStretch Gets the font stretch of the text at the specified position.
GetFontStyle Gets the font style of the text.
GetFontStyle Gets the font style (also known as slope) of the text at the specified position.
GetFontWeight Gets the font weight of the text.
GetFontWeight Gets the font weight of the text at the specified position.
GetGamma Gets the gamma value used for gamma correction. Valid values must be greater than zero and cannot exceed 256.
GetGdiCompatibleGlyphAdvances Returns the pixel-aligned advances for a sequences of glyphs.
GetGdiCompatibleGlyphMetrics Obtains glyph metrics in font design units with the return values compatible with what GDI would produce.
GetGdiCompatibleGlyphPlacements Place glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.
GetGdiCompatibleMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations.
GetGdiCompatibleMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations.
GetGdiInterop Creates an object that is used for interoperability with GDI.
GetGenerationCount Gets the current generation number of the download queue, which is incremented every time after a download completes, whether failed or successful. This cookie value can be compared against cached data to determine if it is stale.
GetGlyphCount Obtains the number of glyphs in the font face.
GetGlyphImageData Gets a pointer to the glyph data based on the desired image format.
GetGlyphImageFormats Gets all the glyph image formats supported by the entire font.
GetGlyphImageFormats Gets all the glyph image formats supported by the entire font.
GetGlyphIndices Returns the nominal mapping of UCS4 Unicode code points to glyph indices as defined by the font 'CMAP' table.
GetGlyphOrientationTransform Returns 2x3 transform matrix for the respective angle to draw the glyph run.
GetGlyphOrientationTransform Returns 2x3 transform matrix for the respective angle to draw the glyph run.
GetGlyphPlacements Places glyphs output from the GetGlyphs method according to the font and the writing system's rendering rules.
GetGlyphRunOutline Computes the outline of a run of glyphs by calling back to the outline sink interface.
GetGlyphs Parses the input text string and maps it to the set of glyphs and associated glyph data according to the font and the writing system's rendering rules.
GetGrayscaleEnhancedContrast Gets the amount of contrast enhancement to use for grayscale antialiasing.
GetGridFitMode Gets the grid fitting mode.
GetIncrementalTabStop Gets the incremental tab stop position.
GetIndex Obtains the index of a font face in the context of its font files.
GetInformationalStrings Gets a localized strings collection containing the specified informational strings, indexed by locale name.
GetInformationalStrings Gets a localized strings collection that contains the specified informational strings, indexed by locale name.
GetInlineObject Gets the inline object at the specified position.
GetJustificationOpportunities Retrieves justification opportunity information for each of the glyphs given the text and shaping glyph properties.
GetJustifiedGlyphs Fills in new glyphs for complex scripts where justification increased the advances of glyphs, such as Arabic with kashida.
GetKerningPairAdjustments Retrieves the kerning pair adjustments from the font's kern table.
GetLastLineWrapping Gets the wrapping mode of the last line.
GetLastLineWrapping Get whether or not the last word on the last line is wrapped.
GetLastWriteTime Obtains the last modified time of the file.
GetLastWriteTimeFromKey Obtains the last write time of the file from the font file reference key.
GetLineMetrics Retrieves the information about each individual text line of the text string.
GetLineMetrics Retrieves properties of each line.
GetLineSpacing Gets the line spacing adjustment set for a multiline text paragraph.
GetLineSpacing Gets the line spacing adjustment set for a multiline text paragraph.
GetLineSpacing Gets line spacing information.
GetLoader Obtains the file loader associated with a font file object.
GetLocaleName Copies the locale name with the specified index to the specified array.
GetLocaleName Gets the locale name on the range affected by the text analysis.
GetLocaleName Gets a copy of the locale name.
GetLocaleName Gets the locale name of the text at the specified position.
GetLocaleName Copies the locale name with the specified index to the specified array.
GetLocaleNameLength Gets the length in characters (not including the null terminator) of the locale name with the specified index.
GetLocaleNameLength Gets the length of the locale name.
GetLocaleNameLength Gets the length of the locale name of the text at the specified position.
GetLocaleNameLength Gets the length in characters (not including the null terminator) of the locale name with the specified index.
GetLocalFileSize Get the local size of the font face in bytes, which will always be less than or equal to GetFullSize. If the locality is remote, this value is zero. If full, this value will equal GetFileSize.
GetLocalFileSize GetLocalFileSize returns the number of bytes of the font file that are currently local, which should always be less than or equal to the full file size returned by GetFileSize.
GetLocality Gets the current locality of the font.
GetLocality Get the locality of this font face reference.
GetLocality Gets the current locality of the file.
GetLocalityFromKey Gets the locality of the file resource identified by the unique key.
GetMatchingFonts Gets a list of fonts in the font family ranked in order of how well they match the specified properties.
GetMatchingFonts Returns a subset of fonts filtered by the given properties.
GetMatchingFonts Returns a subset of fonts filtered by the given properties.
GetMatchingFontsByLOGFONT Gets a list of matching fonts based on the specified LOGFONT values. Only fonts of that family name will be returned.
GetMaxHeight Gets the layout maximum height.
GetMaxWidth Gets the layout maximum width.
GetMemoryDC Gets a handle to the memory device context.
GetMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.
GetMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.
GetMetrics IDWriteTextLayout calls this callback function to get the measurement of the inline object.
GetMetrics Retrieves overall metrics for the formatted string.
GetMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.
GetMetrics Obtains design units and common metrics for the font face. These metrics are applicable to all the glyphs within a font face and are used by applications for layout calculations.
GetMetrics Retrieves overall metrics for the formatted string.
GetNumberSubstitution Gets the number substitution from the text range affected by the text analysis.
GetOpticalAlignment Gets the optical margin alignment for the text format.
GetOpticalAlignment Get how the glyphs align to the edges the margin.
GetOverhangMetrics IDWriteTextLayout calls this callback function to get the visible extents (in DIPs) of the inline object. In the case of a simple bitmap, with no padding and no overhang, all the overhangs will simply be zeroes.
GetOverhangMetrics Returns the overhangs (in DIPs) of the layout and all objects contained in it, including text glyphs and inline objects.
GetPairKerning Gets whether or not pair-kerning is enabled at given position.
GetPaletteEntries Gets color values from the font's color palette.
GetPaletteEntryCount Get the number of entries in each color palette.
GetPanose Gets the PANOSE values from the font and is used for font selection and matching.
GetPanose Gets the PANOSE values from the font, used for font selection and matching.
GetParagraphAlignment Gets the alignment option of a paragraph which is relative to the top and bottom edges of a layout box.
GetParagraphReadingDirection Gets the paragraph reading direction.
GetPixelGeometry Gets the pixel geometry of the rendering parameters object.
GetPixelsPerDip Gets the number of bitmap pixels per DIP.
GetPixelsPerDip Gets the number of physical pixels per DIP.
GetPropertyOccurrenceCount Returns how many times a given property value occurs in the set.
GetPropertyValues Returns the property values of a specific font item index.
GetPropertyValues Returns the property values of a specific font item index.
GetPropertyValues Returns the property values of a specific font item index.
GetReadingDirection Gets the current reading direction for text in a paragraph.
GetRecommendedRenderingMode Determines the recommended rendering mode for the font, using the specified size and rendering parameters.
GetRecommendedRenderingMode Determines the recommended rendering mode for the font, using the specified size and rendering parameters.
GetRecommendedRenderingMode Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.
GetRecommendedRenderingMode Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode.
GetReferenceKey Obtains the pointer to the reference key of a font file. The returned pointer is valid until the font file object is released.
GetRenderingMode Gets the rendering mode of the rendering parameters object.
GetRenderingMode1 Gets the rendering mode.
GetResult Returns the result of the asynchronous operation. The return value is E_PENDING if the operation has not yet completed.
GetScriptProperties Retrieves the properties for a given script.
GetSimulations Gets a value that indicates what simulations are applied to the specified font.
GetSimulations Obtains the algorithmic style simulation flags of a font face.
GetSimulations Obtains the algorithmic style simulation flags of a font face.
GetSize Gets the dimensions of the target bitmap.
GetStretch Gets the stretch, or width, of the specified font.
GetStretch Gets the stretch (also known as width) of this font.
GetStrikethrough Get the strikethrough presence of the text at the specified position.
GetString Copies the string with the specified index to the specified array.
GetString Copies the string with the specified index to the specified array.
GetStringLength Gets the length in characters (not including the null terminator) of the string with the specified index.
GetStringLength Gets the length in characters (not including the null terminator) of the string with the specified index.
GetStyle Gets the style, or slope, of the specified font.
GetStyle Gets the style (also known as slope) of this font.
GetSystemFontCollection Gets an object which represents the set of installed fonts.
GetSystemFontCollection Retrieves a weight/width/slope tree of system fonts.
GetSystemFontFallback Creates a font fallback object from the system font fallback list.
GetSystemFontSet Retrieves the list of system fonts.
GetTextAlignment Gets the alignment option of text relative to the layout box's leading and trailing edge.
GetTextAntialiasMode Gets the current text antialiasing mode of the bitmap render target.
GetTextAtPosition Gets a block of text starting at the specified text position.
GetTextBeforePosition Gets a block of text immediately preceding the specified position.
GetTextComplexity Determines the complexity of text, and whether you need to call IDWriteTextAnalyzer::GetGlyphs for full script shaping.
GetTrimming Gets the trimming options for text that overflows the layout box.
GetType Obtains the file format type of a font face.
GetTypographicFeatures Returns a complete list of OpenType features available for a script or font.
GetTypography Gets the typography setting of the text at the specified position.
GetUnderline Gets the underline presence of the text at the specified position.
GetUnicodeRanges Retrieves the list of character ranges supported by a font.
GetUnicodeRanges Retrieves a list of character ranges supported by a font.
GetVerticalGlyphOrientation Used by the text analyzer to obtain the desired glyph orientation and resolved bidi level.
GetVerticalGlyphOrientation Get the preferred orientation of glyphs when using a vertical reading direction.
GetVerticalGlyphOrientation Get the preferred orientation of glyphs when using a vertical reading direction.
GetVerticalGlyphVariants Retrieves the vertical forms of the nominal glyphs retrieved from GetGlyphIndices.
GetWaitHandle Returns a handle that can be used to wait for the asynchronous operation to complete. The handle remains valid until the interface is released.
GetWeight Gets the weight, or stroke thickness, of the specified font.
GetWeight Gets the weight of this font.
GetWordWrapping Gets the word wrapping option.
HasCharacter Determines whether the font supports a specified character.
HasCharacter Determines whether the font supports the specified character.
HasKerningPairs Determines whether the font supports pair-kerning.
HasVerticalGlyphVariants Determines whether the font has any vertical glyph variants.
HitTestPoint The application calls this function passing in a specific pixel location relative to the top-left location of the layout box and obtains the information about the correspondent hit-test metrics of the text string where the hit-test has occurred.
HitTestTextPosition The application calls this function to get the pixel location relative to the top-left of the layout box given the text position and the logical side of the position.
HitTestTextRange The application calls this function to get a set of hit-test metrics corresponding to a range of text positions. One of the main usages is to implement highlight selection of the text string.
InvalidateLayout Invalidates the layout, forcing layout to remeasure before calling the metrics or drawing functions. This is useful if the locality of a font changes, and layout should be redrawn, or if the size of a client implemented IDWriteInlineObject changes.
IsCharacterLocal Determines whether the character is locally downloaded from the font.
IsColorFont Enables determining if a color rendering path is potentially necessary.
IsColorFont Allows you to determine if a color rendering path is potentially necessary.
IsEmpty Determines whether the download queue is empty. Note that the queue does not include requests that are already being downloaded. Calling BeginDownloadclears the queue.
IsGlyphLocal Determines whether the glyph is locally downloaded from the font.
IsMonospacedFont Determines if the font is monospaced, that is, the characters are the same fixed-pitch width (non-proportional).
IsMonospacedFont Determines whether the font of a text range is monospaced, that is, the font characters are the same fixed-pitch width.
IsSymbolFont Determines whether the font is a symbol font.
IsSymbolFont Determines whether the font is a symbol font.
JustifyGlyphAdvances Justifies an array of glyph advances to fit the line width.
MapCharacters Determines an appropriate font to use to render the beginning range of text.
MoveNext Advances to the next font file in the collection. When it is first created, the enumerator is positioned before the first element of the collection and the first call to MoveNext advances to the first file.
MoveNext Move to the next glyph run in the enumerator.
ReadFileFragment Reads a fragment from a font file.
RegisterFontCollectionLoader Registers a custom font collection loader with the factory object.
RegisterFontFileLoader Registers a font file loader with DirectWrite.
ReleaseFileFragment Releases a fragment from a file.
ReleaseFontTable Releases the table obtained earlier from TryGetFontTable.
ReleaseGlyphImageData Releases the table data obtained from ReadGlyphData.
RemoveListener Unregisters a notification handler that was previously registered using AddListener.
Resize Resizes the bitmap.
SetBidiLevel Sets a bidirectional level on the range, which is called once per run change (either explicit or resolved implicit).
SetCharacterSpacing Sets the spacing between characters.
SetCurrentTransform Sets the transform that maps abstract coordinate to DIPs (device-independent pixel). This does not affect the world transform of the underlying device context.
SetDrawingEffect Sets the application-defined drawing effect.
SetFlowDirection Sets the paragraph flow direction.
SetFontCollection Sets the font collection.
SetFontFallback Applies the custom font fallback onto the layout. If none is set, it uses the default system fallback list.
SetFontFallback Apply a custom font fallback onto layout.
SetFontFamilyName Sets null-terminated font family name for text within a specified text range.
SetFontSize Sets the font size in DIP units for text within a specified text range.
SetFontStretch Sets the font stretch for text within a specified text range.
SetFontStyle Sets the font style for text within a text range specified by a DWRITE_TEXT_RANGE structure.
SetFontWeight Sets the font weight for text within a text range specified by a DWRITE_TEXT_RANGE structure.
SetGlyphOrientation The text analyzer calls back to this to report the actual orientation of each character for shaping and drawing.
SetIncrementalTabStop Sets a fixed distance between two adjacent tab stops.
SetInlineObject Sets the inline object.
SetLastLineWrapping Sets the wrapping mode of the last line.
SetLastLineWrapping Set whether or not the last word on the last line is wrapped.
SetLineBreakpoints Sets line-break opportunities for each character, starting from the specified position.
SetLineSpacing Sets the line spacing.
SetLineSpacing Set line spacing.
SetLineSpacing Set line spacing.
SetLocaleName Sets the locale name for text within a specified text range.
SetMaxHeight Sets the layout maximum height.
SetMaxWidth Sets the layout maximum width.
SetNumberSubstitution Sets the number substitution on the text range affected by the text analysis.
SetOpticalAlignment Sets the optical margin alignment for the text format.
SetOpticalAlignment Set how the glyphs align to the edges the margin.
SetPairKerning Enables or disables pair-kerning on a given text range.
SetParagraphAlignment Sets the alignment option of a paragraph relative to the layout box's top and bottom edge.
SetPixelsPerDip Sets the number of bitmap pixels per DIP (device-independent pixel). A DIP is 1/96 inch, so this value is the number if pixels per inch divided by 96.
SetReadingDirection Sets the paragraph reading direction.
SetScriptAnalysis Reports script analysis for the specified text range.
SetStrikethrough Sets strikethrough for text within a specified text range.
SetTextAlignment Sets the alignment of text in a paragraph, relative to the leading and trailing edge of a layout box for a IDWriteTextFormat interface.
SetTextAntialiasMode Sets the current text antialiasing mode of the bitmap render target.
SetTrimming Sets trimming options for text overflowing the layout width.
SetTypography Sets font typography features for text within a specified text range.
SetUnderline Sets underlining for text within a specified text range.
SetVerticalGlyphOrientation Sets the orientation of a text format.
SetVerticalGlyphOrientation Set the preferred orientation of glyphs when using a vertical reading direction.
SetWordWrapping Sets the word wrapping option.
TranslateColorGlyphRun Translates a glyph run to a sequence of color glyph runs, which can be rendered to produce a color representation of the original "base" run.
TranslateColorGlyphRun This method is called on a glyph run to translate it in to multiple color glyph runs.
TryGetFontTable Finds the specified OpenType font table if it exists and returns a pointer to it. The function accesses the underlying font data through the IDWriteFontFileStream interface implemented by the font file loader.
UnpackFontFile The UnpackFontFile method unpacks font data from a container file (WOFF or WOFF2) and returns the unpacked font data in the form of a font file stream.
UnregisterFontCollectionLoader Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader.
UnregisterFontFileLoader Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader.

Interfaces

Title Description
IDWriteAsyncResult Represents the result of an asynchronous operation. A client can use the interface to wait for the operation to complete and to get the result.
IDWriteBitmapRenderTarget Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs.
IDWriteBitmapRenderTarget1 Encapsulates a 32-bit device independent bitmap and device context, which you can use for rendering glyphs.
IDWriteColorGlyphRunEnumerator This interface allows the application to enumerate through the color glyph runs.
IDWriteColorGlyphRunEnumerator1 Enumerator for an ordered collection of color glyph runs.
IDWriteFactory Used to create all subsequent DirectWrite objects. This interface is the root factory interface for all DirectWrite objects.
IDWriteFactory1 The root factory interface for all DirectWrite objects.
IDWriteFactory2 The root factory interface for all DirectWrite objects.
IDWriteFactory3 The root factory interface for all DirectWrite objects.
IDWriteFactory4 The root factory interface for all DirectWrite objects.
IDWriteFactory5 The root factory interface for all DirectWrite objects.
IDWriteFont Represents a physical font in a font collection. This interface is used to create font faces from physical fonts, or to retrieve information such as font face metrics or face names from existing font faces.
IDWriteFont1 Represents a physical font in a font collection.
IDWriteFont2 Represents a physical font in a font collection.
IDWriteFont3 Represents a font in a font collection.
IDWriteFontCollection An object that encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory.
IDWriteFontCollection1 An object that encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory.
IDWriteFontCollectionLoader Used to construct a collection of fonts given a particular type of key.
IDWriteFontDownloadListener Application-defined callback interface that receives notifications from the font download queue (IDWriteFontDownloadQueue interface).
IDWriteFontDownloadQueue Interface that enqueues download requests for remote fonts, characters, glyphs, and font fragments.
IDWriteFontFace Represents an absolute reference to a font face which contains font face type, appropriate file references, face identification data and various font data such as metrics, names and glyph outlines.
IDWriteFontFace1 Represents an absolute reference to a font face.
IDWriteFontFace2 Represents an absolute reference to a font face.
IDWriteFontFace3 Represents an absolute reference to a font face.
IDWriteFontFace4 Represents an absolute reference to a font face. It contains font face type, appropriate file references and face identification data. Various font data such as metrics, names and glyph outlines are obtained from IDWriteFontFace.
IDWriteFontFaceReference Represents a reference to a font face.
IDWriteFontFallback Allows you to access fallback fonts from the font list.
IDWriteFontFallbackBuilder Allows you to create Unicode font fallback mappings and create a font fall back object from those mappings.
IDWriteFontFamily Represents a family of related fonts.
IDWriteFontFamily1 Represents a family of related fonts.
IDWriteFontFile Represents a font file. Applications such as font managers or font viewers can call IDWriteFontFile::Analyze to find out if a particular file is a font file, and whether it is a font type that is supported by the font system.
IDWriteFontFileEnumerator Encapsulates a collection of font files. The font system uses this interface to enumerate font files when building a font collection.
IDWriteFontFileLoader Handles loading font file resources of a particular type from a font file reference key into a font file stream object.
IDWriteFontFileStream Loads font file data from a custom font file loader.
IDWriteFontList Represents a list of fonts.
IDWriteFontList1 Represents a list of fonts.
IDWriteFontSet Represents a font set.
IDWriteFontSetBuilder Contains methods for building a font set.
IDWriteFontSetBuilder1 Contains methods for building a font set.
IDWriteGdiInterop Provides interoperability with GDI, such as methods to convert a font face to a LOGFONT structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.
IDWriteGdiInterop1 Provides interoperability with GDI, such as methods to convert a font face to a LOGFONT structure, or to convert a GDI font description into a font face. It is also used to create bitmap render target objects.
IDWriteGlyphRunAnalysis Contains low-level information used to render a glyph run.
IDWriteInlineObject Wraps an application-defined inline graphic, allowing DWrite to query metrics as if the graphic were a glyph inline with the text.
IDWriteInMemoryFontFileLoader Represents a font file loader that can access in-memory fonts.
IDWriteLocalFontFileLoader A built-in implementation of the IDWriteFontFileLoader interface, that operates on local font files and exposes local font file information from the font file reference key.
IDWriteLocalizedStrings Represents a collection of strings indexed by locale name.
IDWriteNumberSubstitution Holds the appropriate digits and numeric punctuation for a specified locale.
IDWritePixelSnapping Defines the pixel snapping properties such as pixels per DIP(device-independent pixel) and the current transform matrix of a text renderer.
IDWriteRemoteFontFileLoader Represents a font file loader that can access remote (i.e., downloadable) fonts.
IDWriteRemoteFontFileStream Represents a font file stream, parts of which may be non-local.
IDWriteRenderingParams Represents text rendering settings such as ClearType level, enhanced contrast, and gamma correction for glyph rasterization and filtering.
IDWriteRenderingParams1 Represents text rendering settings for glyph rasterization and filtering.
IDWriteRenderingParams2 Represents text rendering settings for glyph rasterization and filtering.
IDWriteRenderingParams3 Represents text rendering settings for glyph rasterization and filtering.
IDWriteStringList Represents a collection of strings indexed by number.
IDWriteTextAnalysisSink This interface is implemented by the text analyzer's client to receive the output of a given text analysis.
IDWriteTextAnalysisSink1 The interface you implement to receive the output of the text analyzers.
IDWriteTextAnalysisSource Implemented by the text analyzer's client to provide text to the analyzer.
IDWriteTextAnalysisSource1 The interface you implement to provide needed information to the text analyzer, like the text and associated text properties.
IDWriteTextAnalyzer Analyzes various text properties for complex script processing such as bidirectional (bidi) support for languages like Arabic, determination of line break opportunities, glyph placement, and number substitution.
IDWriteTextAnalyzer1 Analyzes various text properties for complex script processing.
IDWriteTextAnalyzer2 Analyzes various text properties for complex script processing.
IDWriteTextFormat The IDWriteTextFormat interface describes the font and paragraph properties used to format text, and it describes locale information.
IDWriteTextFormat1 Describes the font and paragraph properties used to format text, and it describes locale information.
IDWriteTextFormat2 Describes the font and paragraph properties used to format text, and it describes locale information.
IDWriteTextLayout The IDWriteTextLayout interface represents a block of text after it has been fully analyzed and formatted.
IDWriteTextLayout1 Represents a block of text after it has been fully analyzed and formatted.
IDWriteTextLayout2 Represents a block of text after it has been fully analyzed and formatted.
IDWriteTextLayout3 Represents a block of text after it has been fully analyzed and formatted.
IDWriteTextRenderer Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.
IDWriteTextRenderer1 Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines.
IDWriteTypography Represents a font typography setting.

Structures

Title Description
DWRITE_CARET_METRICS The DWRITE_CARET_METRICS structure specifies the metrics for caret placement in a font.
DWRITE_CLUSTER_METRICS Contains information about a glyph cluster.
DWRITE_COLOR_GLYPH_RUN Contains the information needed by renderers to draw glyph runs with glyph color information.
DWRITE_COLOR_GLYPH_RUN1 Represents a color glyph run. The IDWriteFactory4::TranslateColorGlyphRun method returns an ordered collection of color glyph runs of varying types depending on what the font supports.
DWRITE_FILE_FRAGMENT Represents a range of bytes in a font file.
DWRITE_FONT_FEATURE Specifies properties used to identify and execute typographic features in the current font face.
DWRITE_FONT_METRICS The DWRITE_FONT_METRICS structure specifies the metrics that are applicable to all glyphs within the font face.
DWRITE_FONT_METRICS1 The DWRITE_FONT_METRICS1 structure specifies the metrics that are applicable to all glyphs within the font face.
DWRITE_FONT_PROPERTY Font property used for filtering font sets and building a font set with explicit properties.
DWRITE_GLYPH_IMAGE_DATA Data for a single glyph from GetGlyphImageData.
DWRITE_GLYPH_METRICS Specifies the metrics of an individual glyph.
DWRITE_GLYPH_OFFSET The optional adjustment to a glyph's position.
DWRITE_GLYPH_RUN Contains the information needed by renderers to draw glyph runs.
DWRITE_GLYPH_RUN_DESCRIPTION Contains additional properties related to those in DWRITE_GLYPH_RUN.
DWRITE_HIT_TEST_METRICS Describes the region obtained by a hit test.
DWRITE_INLINE_OBJECT_METRICS Contains properties describing the geometric measurement of an application-defined inline object.
DWRITE_JUSTIFICATION_OPPORTUNITY The DWRITE_JUSTIFICATION_OPPORTUNITY structure specifies justification info per glyph.
DWRITE_LINE_BREAKPOINT Line breakpoint characteristics of a character.
DWRITE_LINE_METRICS Contains information about a formatted line of text.
DWRITE_LINE_METRICS1 Contains information about a formatted line of text.
DWRITE_LINE_SPACING "."
DWRITE_MATRIX The DWRITE_MATRIX structure specifies the graphics transform to be applied to rendered glyphs.
DWRITE_OVERHANG_METRICS Indicates how much any visible DIPs (device independent pixels) overshoot each side of the layout or inline objects.
DWRITE_PANOSE The DWRITE_PANOSE union describes typeface classification values that you use with IDWriteFont1::GetPanose to select and match the font.
DWRITE_SCRIPT_ANALYSIS Stores the association of text and its writing system script, as well as some display attributes.
DWRITE_SCRIPT_PROPERTIES The DWRITE_SCRIPT_PROPERTIES structure specifies script properties for caret navigation and justification.
DWRITE_SHAPING_GLYPH_PROPERTIES Contains shaping output properties for an output glyph.
DWRITE_SHAPING_TEXT_PROPERTIES Shaping output properties for an output glyph.
DWRITE_STRIKETHROUGH Contains information regarding the size and placement of strikethroughs.
DWRITE_TEXT_METRICS Contains the metrics associated with text after layout.
DWRITE_TEXT_METRICS1 Contains the metrics associated with text after layout.
DWRITE_TEXT_RANGE Specifies a range of text positions where format is applied in the text represented by an IDWriteTextLayout object.
DWRITE_TRIMMING Specifies the trimming option for text overflowing the layout box.
DWRITE_TYPOGRAPHIC_FEATURES Contains a set of typographic features to be applied during text shaping.
DWRITE_UNDERLINE Contains information about the width, thickness, offset, run height, reading direction, and flow direction of an underline.
DWRITE_UNICODE_RANGE The DWRITE_UNICODE_RANGE structure specifies the range of Unicode code points.