DirectWrite

Overview of the DirectWrite technology.

To develop DirectWrite, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
DWRITE_AUTOMATIC_FONT_AXES

Defines constants that specify certain axes that can be applied automatically in layout during font selection.
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_AXIS_ATTRIBUTES

Defines constants that specify attributes for a font axis.
DWRITE_FONT_AXIS_TAG

Defines constants that specify a four-character identifier for a font axis.
DWRITE_FONT_FACE_TYPE

Indicates the file format of a complete font face.
DWRITE_FONT_FAMILY_MODEL

Defines constants that specify how font families are grouped together.
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_SOURCE_TYPE

Defines constants that specify the mechanism by which a font came to be included in a font set.
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 minuscule 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

 
AddFont

Adds a font to the set being built.
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. (overload 1/2)
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. (overload 2/2)
AddFontFeature

Adds an OpenType font feature.
AddFontFile

Adds references to all the fonts in the specified font file.
AddFontFile

Adds references to all the fonts in the specified font file. The method parses the font file to determine the fonts and their properties.
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. (overload 2/2)
ComputeGlyphOrigins

Converts glyph run placements to glyph origins. (overload 1/2)
ConvertFontFaceToLOGFONT

Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. (IDWriteGdiInterop.ConvertFontFaceToLOGFONT)
ConvertFontToLOGFONT

Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. (IDWriteGdiInterop.ConvertFontToLOGFONT)
ConvertWeightStretchStyleToFontAxisValues

Computes derived font axis values from the specified font weight, stretch, style, and size.
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. (IDWriteFactory.CreateCustomRenderingParams)
CreateCustomRenderingParams

Creates a rendering parameters object with the specified properties. (IDWriteFactory1.CreateCustomRenderingParams)
CreateCustomRenderingParams

Creates a rendering parameters object with the specified properties. (IDWriteFactory3.CreateCustomRenderingParams)
CreateCustomRenderingParams

Creates a rendering parameters object with the specified properties. (IDWriteFactory2.CreateCustomRenderingParams)
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.
CreateFontCollectionFromFontSet

From a font set, create a collection of fonts grouped into families.
CreateFontFace

Creates an object that represents a font face.
CreateFontFace

Creates a font face object for the font. (IDWriteFont.CreateFontFace)
CreateFontFace

Creates a font face object for the font. (IDWriteFont3.CreateFontFace)
CreateFontFace

Creates a font face from the reference for use with layout, shaping, or rendering.
CreateFontFace

Uses the reference to create a font face, for use with layout, shaping, or rendering.
CreateFontFace

Creates a font face instance with specific axis values.
CreateFontFace

Creates a font face for a single item (rather than going through the font face reference).
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. (overload 1/2)
CreateFontFaceReference

Creates a reference to a font given a full path. (overload 2/2)
CreateFontFaceReference

Creates a reference to a specific font instance within a file.
CreateFontFaceReference

Creates a font face reference with specific axis values.
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. (IDWriteGdiInterop.CreateFontFromLOGFONT)
CreateFontFromLOGFONT

Creates a font object that matches the properties specified by the LOGFONT structure. (IDWriteGdiInterop1.CreateFontFromLOGFONT)
CreateFontResource

Creates a font resource, given a font file and a face index.
CreateFontResource

Creates the font resource of a single item.
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. (IDWriteFactory3.CreateFontSetBuilder)
CreateFontSetBuilder

Creates an empty font set builder to add font face references and create a custom font set. (IDWriteFactory5.CreateFontSetBuilder)
CreateFontSetBuilder

Creates an empty font set builder, ready to add font instances to, 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. (IDWriteFactory.CreateGlyphRunAnalysis)
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. (IDWriteFactory2.CreateGlyphRunAnalysis)
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. (IDWriteFactory.CreateTextFormat)
CreateTextFormat

Creates a text format object used for text layout.I
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. (IDWriteTextRenderer.DrawGlyphRun)
DrawGlyphRun

IDWriteTextLayout::Draw calls this function to instruct the client to render a run of glyphs. (IDWriteTextRenderer1.DrawGlyphRun)
DrawInlineObject

IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. (IDWriteTextRenderer.DrawInlineObject)
DrawInlineObject

IDWriteTextLayout::Draw calls this application callback when it needs to draw an inline object. (IDWriteTextRenderer1.DrawInlineObject)
DrawStrikethrough

IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. (IDWriteTextRenderer.DrawStrikethrough)
DrawStrikethrough

IDWriteTextLayout::Draw calls this function to instruct the client to draw a strikethrough. (IDWriteTextRenderer1.DrawStrikethrough)
DrawUnderline

IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. (IDWriteTextRenderer.DrawUnderline)
DrawUnderline

IDWriteTextLayout::Draw calls this function to instruct the client to draw an underline. (IDWriteTextRenderer1.DrawUnderline)
DWRITE_MAKE_FONT_AXIS_TAG

Creates an OpenType tag for a font axis.
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). (IDWriteFontFaceReference.EnqueueCharacterDownloadRequest)
EnqueueFileFragmentDownloadRequest

Adds a request to the font download queue (IDWriteFontDownloadQueue). (IDWriteFontFaceReference.EnqueueFileFragmentDownloadRequest)
EnqueueFontDownloadRequest

Adds a request to the font download queue (IDWriteFontDownloadQueue). (IDWriteFontFaceReference.EnqueueFontDownloadRequest)
EnqueueGlyphDownloadRequest

Adds a request to the font download queue (IDWriteFontDownloadQueue). (IDWriteFontFaceReference.EnqueueGlyphDownloadRequest)
Equals

Compares two instances of font references for equality.
Equals

Performs an equality comparison between the font face object on which Equals is being called and the font face object passed as a parameter.
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. (IDWriteFontSet.FindFontFace)
FindFontFaceReference

Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations. (IDWriteFontSet.FindFontFaceReference)
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.
GetAutomaticFontAxes

Retrieves the automatic axis options.
GetAxisNames

Retrieves the localized names of a font axis.
GetAxisValueNameCount

Retrieves the number of named values for a specific axis.
GetAxisValueNames

Retrieves the localized names of specific values for a font axis.
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.
GetDefaultFontAxisValues

Retrieves the default values for all axes supported by the font resource.
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.
GetExpirationEvent

Retrieves the expiration event for the font set, if any. The expiration event is set on a system font set object if it is out of date due to fonts being installed, uninstalled, or updated. (IDWriteFontCollection3::GetExpirationEvent)
GetExpirationEvent

Retrieves the expiration event for the font set, if any. The expiration event is set on a system font set object if it is out of date due to fonts being installed, uninstalled, or updated. (IDWriteFontSet2::GetExpirationEvent)
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. (IDWriteFontFamily.GetFamilyNames)
GetFamilyNames

Creates a localized strings object that contains the family names for the font family, indexed by locale name. (IDWriteFontFace3.GetFamilyNames)
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.
GetFilteredFontIndices

Retrieves all the item indices, filtered by the given ranges.
GetFilteredFonts

Retrieves a subset of fonts filtered by the given ranges, endpoint-inclusive.
GetFilteredFonts

Retrieves a subset of fonts filtered by the given properties.
GetFilteredFonts

Retrieves a subset of fonts, filtered by the given indices.
GetFirstFontResources

Retrieves a new font set that contains only the first occurrence of each font resource from the set.
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. (IDWriteFontList.GetFont)
GetFont

Gets a font given its zero-based index. (IDWriteFontFamily1.GetFont)
GetFont

Gets a font given its zero-based index. (IDWriteFontList1.GetFont)
GetFontAxisAttributes

Retrieves attributes describing the given axis, such as whether the font author recommends to hide the axis in user interfaces.
GetFontAxisCount

Retrieves the number of axes supported by the font resource.
GetFontAxisRanges

Retrieves the value ranges of each axis.
GetFontAxisRanges

Retrieves the axis ranges of a single item.
GetFontAxisValueCount

Retrieves the number of axes defined by the font. This includes both static and variable axes.
GetFontAxisValueCount

Retrieves the number of axes specified by the reference.
GetFontAxisValueCount

Retrieves the number of axes set on the format.
GetFontAxisValues

Retrieves the list of axis values used by the font.
GetFontAxisValues

Retrieves the list of font axis values specified by the reference.
GetFontAxisValues

Retrieves the list of font axis values on the format.
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.
GetFontFaceIndex

Retrieves the zero-based index of the font face within its font file.
GetFontFaceReference

Gets a font face reference that identifies this font. (IDWriteFont3.GetFontFaceReference)
GetFontFaceReference

Gets a font face reference that identifies this font. (IDWriteFontFace3.GetFontFaceReference)
GetFontFaceReference

Gets a font face reference given its zero-based index. (IDWriteFontFamily1.GetFontFaceReference)
GetFontFaceReference

Gets a font face reference given its zero-based index. (IDWriteFontList1.GetFontFaceReference)
GetFontFaceReference

Gets a reference to the font at the specified index, which may be local or remote.
GetFontFaceReference

Retrieves the font face reference of a single item.
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.
GetFontFamily

Creates a font family object, given a zero-based font family index.
GetFontFamilyCount

Gets the number of font families in the collection.
GetFontFamilyModel

Retrieves the font family model used by the font collection to group families.
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.
GetFontFile

Retrieves the font file of the resource.
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. (IDWriteFontFamily1.GetFontLocality)
GetFontLocality

Gets the current location of a font given its zero-based index. (IDWriteFontList1.GetFontLocality)
GetFontLocality

Retrieves the locality of a single item.
GetFontResource

Retrieves the underlying font resource for this font face.
GetFontSet

Gets the underlying font set used by this collection.
GetFontSet

Retrieves the underlying font set used by this collection.
GetFontSet

Retrieves the underlying font set used by this family.
GetFontSet

Retrieves the underlying font set used by this list.
GetFontSignature

Reads the font signature from the given font. (overload 2/2)
GetFontSignature

Reads the font signature from the given font. (overload 1/2)
GetFontSize

Gets the font size in DIP unites.
GetFontSize

Gets the font em height of the text at the specified position.
GetFontSourceName

Copies the font source name (for the specified font) into an output array.
GetFontSourceNameLength

Retrieves the length of the font source name for the specified font.
GetFontSourceType

Retrieves the font source type of the specified font.
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. (IDWriteFontFace.GetGdiCompatibleMetrics)
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. (IDWriteFontFace1.GetGdiCompatibleMetrics)
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. (IDWriteFontFace4.GetGlyphImageFormats)
GetGlyphImageFormats

Gets all the glyph image formats supported by the entire font. (overload 1/2)
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. (IDWriteTextAnalyzer1.GetGlyphOrientationTransform)
GetGlyphOrientationTransform

Returns 2x3 transform matrix for the respective angle to draw the glyph run. (IDWriteTextAnalyzer2.GetGlyphOrientationTransform)
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. (IDWriteTextFormat.GetLineSpacing)
GetLineSpacing

Gets the line spacing adjustment set for a multiline text paragraph. (IDWriteTextFormat2.GetLineSpacing)
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. (IDWriteLocalizedStrings.GetLocaleName)
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. (IDWriteStringList.GetLocaleName)
GetLocaleNameLength

Gets the length in characters (not including the null terminator) of the locale name with the specified index. (IDWriteLocalizedStrings.GetLocaleNameLength)
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. (IDWriteStringList.GetLocaleNameLength)
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

Retrieves a list of fonts in the specified font family, ranked in order of how well they match the specified axis values.
GetMatchingFonts

Retrieves a list of fonts in the font family, ranked in order of how well they match the specified axis values.
GetMatchingFonts

Returns a subset of fonts filtered by the given properties. (overload 2/2)
GetMatchingFonts

Returns a subset of fonts filtered by the given properties. (overload 1/2)
GetMatchingFonts

Retrieves a matching font set based on the requested inputs, ordered so that nearer matches are earlier.
GetMatchingFonts

Generates a matching font set based on the requested inputs, ordered so that nearer matches are earlier.
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. (IDWriteFont.GetMetrics)
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. (IDWriteFontFace.GetMetrics)
GetMetrics

IDWriteTextLayout calls this callback function to get the measurement of the inline object.
GetMetrics

Retrieves overall metrics for the formatted string. (IDWriteTextLayout.GetMetrics)
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. (IDWriteFont1.GetMetrics)
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. (IDWriteFontFace1.GetMetrics)
GetMetrics

Retrieves overall metrics for the formatted string. (IDWriteTextLayout2.GetMetrics)
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. (overload 2/3)
GetPropertyValues

Returns the property values of a specific font item index. (overload 1/3)
GetPropertyValues

Returns the property values of a specific font item index. (overload 3/3)
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. (IDWriteFontFace.GetRecommendedRenderingMode)
GetRecommendedRenderingMode

Determines the recommended rendering mode for the font, using the specified size and rendering parameters. (IDWriteFontFace1.GetRecommendedRenderingMode)
GetRecommendedRenderingMode

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode. (IDWriteFontFace3.GetRecommendedRenderingMode)
GetRecommendedRenderingMode

Determines the recommended text rendering and grid-fit mode to be used based on the font, size, world transform, and measuring mode. (IDWriteFontFace2.GetRecommendedRenderingMode)
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. (IDWriteFontFace.GetSimulations)
GetSimulations

Obtains the algorithmic style simulation flags of a font face. (IDWriteFontFaceReference.GetSimulations)
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. (IDWriteLocalizedStrings.GetString)
GetString

Copies the string with the specified index to the specified array. (IDWriteStringList.GetString)
GetStringLength

Gets the length in characters (not including the null terminator) of the string with the specified index. (IDWriteLocalizedStrings.GetStringLength)
GetStringLength

Gets the length in characters (not including the null terminator) of the string with the specified index. (IDWriteStringList.GetStringLength)
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.
GetSystemFontCollection

Retrieves a collection of fonts, grouped into families. (IDWriteFactory6::GetSystemFontCollection)
GetSystemFontCollection

Retrieves a collection of fonts, grouped into families. (IDWriteFactory7::GetSystemFontCollection)
GetSystemFontFallback

Creates a font fallback object from the system font fallback list.
GetSystemFontSet

Retrieves the list of system fonts.
GetSystemFontSet

Retrieves the set of system fonts. (IDWriteFactory6::GetSystemFontSet)
GetSystemFontSet

Retrieves the set of system fonts. (IDWriteFactory7::GetSystemFontSet)
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. (IDWriteTextFormat1.GetVerticalGlyphOrientation)
GetVerticalGlyphOrientation

Get the preferred orientation of glyphs when using a vertical reading direction. (IDWriteTextLayout2.GetVerticalGlyphOrientation)
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.
HasVariations

Determines whether this font face's resource supports any variable axes. (IDWriteFontFace5::HasVariations)
HasVariations

Determines whether this font face's resource supports any variable axes. (IDWriteFontResource::HasVariations)
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 whether 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. (IDWriteFont.IsSymbolFont)
IsSymbolFont

Determines whether the font is a symbol font. (IDWriteFontFace.IsSymbolFont)
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.
SetAutomaticFontAxes

Sets the automatic font axis options.
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.
SetFontAxisValues

Sets values for the font axes of the format.
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. (IDWriteTextFormat2.SetLineSpacing)
SetLineSpacing

Set line spacing. (IDWriteTextLayout3.SetLineSpacing)
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

 
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. (IDWriteFactory1)
IDWriteFactory2

The root factory interface for all DirectWrite objects.I
IDWriteFactory3

The root factory interface for all DirectWrite objects. (IDWriteFactory3)
IDWriteFactory4

The root factory interface for all DirectWrite objects. (IDWriteFactory4)
IDWriteFactory5

The root factory interface for all DirectWrite objects. (IDWriteFactory5)
IDWriteFactory6

This interface represents a factory object from which all DirectWrite objects are created. IDWriteFactory6 adds new facilities for working with fonts and font resources.
IDWriteFactory7

This interface represents a factory object from which all DirectWrite objects are created. IDWriteFactory7 adds new facilities for working with system fonts.
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. (IDWriteFont1)
IDWriteFont2

Represents a physical font in a font collection. (IDWriteFont2)
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. (IDWriteFontCollection)
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. (IDWriteFontCollection1)
IDWriteFontCollection2

This interface encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts. (IDWriteFontCollection2)
IDWriteFontCollection3

This interface encapsulates a set of fonts, such as the set of fonts installed on the system, or the set of fonts in a particular directory. The font collection API can be used to discover what font families and fonts are available, and to obtain some metadata about the fonts. (IDWriteFontCollection3)
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

This interface exposes various font data such as metrics, names, and glyph outlines. It contains font face type, appropriate file references, and face identification data.
IDWriteFontFace1

Contains font face type, appropriate file references, and face identification data. (IDWriteFontFace1)
IDWriteFontFace2

Contains font face type, appropriate file references, and face identification data. (IDWriteFontFace2)
IDWriteFontFace3

Contains font face type, appropriate file references, and face identification data. (IDWriteFontFace3)
IDWriteFontFace4

Contains font face type, appropriate file references, and face identification data. (IDWriteFontFace4)
IDWriteFontFace5

Contains font face type, appropriate file references, and face identification data. (IDWriteFontFace5)
IDWriteFontFaceReference

Represents a reference to a font face.
IDWriteFontFaceReference1

Represents a reference to a font face. A uniquely identifying reference to a font, from which you can create a font face to query font metrics and use for rendering.
IDWriteFontFallback

Allows you to access fallback fonts from the font list.
IDWriteFontFallback1

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. (IDWriteFontFamily)
IDWriteFontFamily1

Represents a family of related fonts. (IDWriteFontFamily1)
IDWriteFontFamily2

Represents a family of related fonts. IDWriteFontFamily2 adds new facilities, including retrieving fonts by font axis values.
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. (IDWriteFontList)
IDWriteFontList1

Represents a list of fonts. (IDWriteFontList1)
IDWriteFontList2

Represents a list of fonts. IDWriteFontList2 adds new facilities, including retrieving the underlying font set used by the list.
IDWriteFontResource

Provides axis information for a font resource, and is used to create specific font face instances.
IDWriteFontSet

Represents a font set. (IDWriteFontSet)
IDWriteFontSet1

Represents a font set. (IDWriteFontSet1)
IDWriteFontSet2

Represents a font set. (IDWriteFontSet2)
IDWriteFontSet3

Represents a font set. (IDWriteFontSet3)
IDWriteFontSet4

Represents a font set. (IDWriteFontSet4)
IDWriteFontSetBuilder

Contains methods for building a font set. (IDWriteFontSetBuilder)
IDWriteFontSetBuilder1

Contains methods for building a font set. (IDWriteFontSetBuilder1)
IDWriteFontSetBuilder2

Contains methods for building a font set. (IDWriteFontSetBuilder2)
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. (IDWriteGdiInterop)
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. (IDWriteGdiInterop1)
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. (IDWriteRenderingParams1)
IDWriteRenderingParams2

Represents text rendering settings for glyph rasterization and filtering. (IDWriteRenderingParams2)
IDWriteRenderingParams3

Represents text rendering settings for glyph rasterization and filtering. (IDWriteRenderingParams3)
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. (IDWriteTextAnalyzer1)
IDWriteTextAnalyzer2

Analyzes various text properties for complex script processing. (IDWriteTextAnalyzer2)
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. (IDWriteTextFormat1)
IDWriteTextFormat2

Describes the font and paragraph properties used to format text, and it describes locale information. (IDWriteTextFormat2)
IDWriteTextFormat3

Describes the font and paragraph properties used to format text, and it describes locale information. (IDWriteTextFormat3)
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. (IDWriteTextLayout1)
IDWriteTextLayout2

Represents a block of text after it has been fully analyzed and formatted. (IDWriteTextLayout2)
IDWriteTextLayout3

Represents a block of text after it has been fully analyzed and formatted. (IDWriteTextLayout3)
IDWriteTextLayout4

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. (IDWriteTextRenderer)
IDWriteTextRenderer1

Represents a set of application-defined callbacks that perform rendering of text, inline objects, and decorations such as underlines. (IDWriteTextRenderer1)
IDWriteTypography

Represents a font typography setting.

Structures

 
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_AXIS_RANGE

Represents the minimum and maximum range of the possible values for a font axis.
DWRITE_FONT_AXIS_VALUE

Represents a value for a font axis. Used when querying and creating font instances.
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_METRICS)
DWRITE_LINE_METRICS1

Contains information about a formatted line of text. (DWRITE_LINE_METRICS1)
DWRITE_LINE_SPACING

Sets the vertical spacing between lines of text.
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_METRICS)
DWRITE_TEXT_METRICS1

Contains the metrics associated with text after layout. (DWRITE_TEXT_METRICS1)
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.