Current behavior
Setting Typography.NumeralAlignment="Tabular" on a TextBlock has no effect on non-Windows platforms. Digits retain proportional widths, causing layout shifts when numeric values change (e.g., in countdown timers).
<Style x:Key="TimeComponentStyle" TargetType="TextBlock">
<Setter Property="FontWeight" Value="Light" />
<Setter Property="FontSize" Value="55" />
<Setter Property="FontFamily" Value="ms-appx:///Assets/Fonts/Inter-Light.ttf#Inter" />
<Setter Property="Typography.NumeralAlignment" Value="Tabular" />
</Style>
Expected behavior
Typography.NumeralAlignment="Tabular" should activate the OpenType tnum feature on the font, making all digit characters (0-9) render with equal width. This works correctly on Windows (WinAppSDK) but is not implemented on Uno Platform targets.
How to reproduce it
- Use a font that supports tabular figures (e.g., Inter, Roboto, Source Sans)
- Set
Typography.NumeralAlignment="Tabular" on a TextBlock
- Display changing numeric content (e.g., a countdown timer)
- Observe that digits still have proportional widths and the text shifts as values change
Workaround
None currently — using fixed-width containers around each digit is a layout-level workaround but does not address the root cause.
Works on
Doesn't work on
- Skia targets (Desktop, Linux, macOS via Skia)
- WebAssembly
- iOS
- Android
(Listing all non-Windows targets as presumably affected — haven't verified each individually)
Environment
- Uno.Sdk: latest
- .NET: 10.0
Current behavior
Setting
Typography.NumeralAlignment="Tabular"on aTextBlockhas no effect on non-Windows platforms. Digits retain proportional widths, causing layout shifts when numeric values change (e.g., in countdown timers).Expected behavior
Typography.NumeralAlignment="Tabular"should activate the OpenTypetnumfeature on the font, making all digit characters (0-9) render with equal width. This works correctly on Windows (WinAppSDK) but is not implemented on Uno Platform targets.How to reproduce it
Typography.NumeralAlignment="Tabular"on a TextBlockWorkaround
None currently — using fixed-width containers around each digit is a layout-level workaround but does not address the root cause.
Works on
Doesn't work on
(Listing all non-Windows targets as presumably affected — haven't verified each individually)
Environment