IDWriteFont1::GetUnicodeRanges method (dwrite_1.h)
Retrieves the list of character ranges supported by a font.
Syntax
HRESULT GetUnicodeRanges(
UINT32 maxRangeCount,
[out, optional] DWRITE_UNICODE_RANGE *unicodeRanges,
[out] UINT32 *actualRangeCount
);
Parameters
maxRangeCount
Type: UINT32
The maximum number of character ranges passed in from the client.
[out, optional] unicodeRanges
Type: DWRITE_UNICODE_RANGE*
An array of DWRITE_UNICODE_RANGE structures that are filled with the character ranges.
[out] actualRangeCount
Type: UINT32*
A pointer to the actual number of character ranges, regardless of the maximum count.
Return value
Type: HRESULT
This method can return one of these values.
Return value | Description |
---|---|
|
The method executed successfully. |
|
The buffer is too small. The actualRangeCount was more than the maxRangeCount. |
Remarks
The list of character ranges supported by a font, is useful for scenarios like character picking, glyph display, and efficient font selection lookup. GetUnicodeRanges is similar to GDI's GetFontUnicodeRanges, except that it returns the full Unicode range, not just 16-bit UCS-2.
These ranges are from the cmap, not the OS/2::ulCodePageRange1.
If this method is unavailable, you can use the IDWriteFontFace::GetGlyphIndices method to check for missing glyphs. The method returns the 0 index for glyphs that aren't present in the font.
The IDWriteFont::HasCharacter method is often simpler in cases where you need to check a single character or a series of single characters in succession, such as in font fallback.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 and Platform Update for Windows 7 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | dwrite_1.h |
Library | Dwrite_1.lib |
DLL | Dwrite_1.dll |