Intersymbol adjustment is possible in XAML using the Glyphs class, in particular Indices . This is a pretty low-level text API, so you need to specify the font URI (not the last name), and you need to calculate all the distances.
The following XAML uses Glyph.Indices characters to apply the character spacing:
<Glyphs UnicodeString="Expanded" Indices=",100;,100;,100;,100;,100;,100;,100" FontUri="file://c:/windows/fonts/arial.ttf" Fill="Black" FontRenderingEmSize="24" /> <Glyphs UnicodeString="Normal" FontUri="file://c:/windows/fonts/arial.ttf" Fill="Black" FontRenderingEmSize="24" /> <Glyphs UnicodeString="Condensed" Indices=",60;,50;,50;,50;,45;,50;,40;,45" FontUri="file://c:/windows/fonts/arial.ttf" Fill="Black" FontRenderingEmSize="24" />
As described here , the Indices property contains a list of chr,off pairs with semicolon delimiters. chr is the glyph index inside the font; if this parameter is omitted, WPF will use the glyph corresponding to the current character in UnicodeString . off - distance between this symbol and the next; 0 maps two to each other, any positive value increases the interval. The "normal" spacing will depend on the font you are using; as you can see in the Compressed example, I used different spacing for different pairs of characters to make the output better.
It is clear that this applies only to the static text that you display, and not to the collection of data from the user (in a TextBox ); I don’t know how to adjust the character spacing in "standard" text objects ( TextBlock , TextBox , Run , etc.), so the answer may be: "No, there is no way to do this in XAML."