CanvasTextAnalyzerGetFonts Method (CanvasTextFormat, CanvasFontSet) |
Namespace: Microsoft.Graphics.Canvas.Text
public IReadOnlyList<KeyValuePair<CanvasCharacterRange, CanvasScaledFont>> GetFonts( CanvasTextFormat textFormat, CanvasFontSet fontSet )
This method chooses fonts from the passed-in font set.
While a CanvasTextFormat contains a font family name and some other properties, it's not an explicit reference to a font, nor does it guarantee that a piece of text can be drawn with that exact font family. An application needs to apply font fallbacks to match a piece of text to an actual font that will support it. When drawing a CanvasTextLayout constructed with a particular CanvasTextFormat, for example, Win2D performs that matching automatically. Here, an application can perform the same matching.
If glyphs in the text aren't supported by the text format's font family or aren't compatible with its other properties, this method will try to return another similar font which is compatible.
This method only uses the locale, font family, font weight, stretch, and style from the passed-in text format. It doesn't use its other properties.
It can happen that there are some glyphs that don't match any available font. When that's the case, there won't be a CanvasCharacterRangeFont which spans that character. For glyphs not supported by any font, an app may choose to display nothing, or draw another glyph instead.