unoplatform / uno

Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
https://platform.uno
Apache License 2.0
8.77k stars 706 forks source link

[skia MacOS] GridSplitter render a "?" instead of "||" #18191

Closed ArchieCoder closed 9 hours ago

ArchieCoder commented 5 days ago

Current behavior

On MacOS, it looks like this

Screenshot 2024-09-12 at 9 49 38 AM

FYI: It looks okay on Skia Desktop

Expected behavior

It should look like this

image

How to reproduce it (as minimally and precisely as possible)

Sample project: UnoGridSplitterApp.zip

Workaround

No response

Works on UWP/WinUI

Yes

Environment

Uno.UI / Uno.UI.WebAssembly / Uno.UI.Skia

NuGet package version(s)

No response

Affected platforms

Skia (macOS)

IDE

Visual Studio 2022

IDE version

No response

Relevant plugins

No response

Anything else we need to know?

No response

ArchieCoder commented 5 days ago

My colleague on her Linux laptop (her language is Chinese).

It looks like a font issue that the GridSplitter uses a font instead of an image.

image

jeromelaban commented 1 day ago

Thanks for the report. The GridSplitter control is supposed to be using the FontIcon for rendering this particular content. You may be able to override the default template of this control to ensure that it uses the proper symbols font: "ms-appx:///Uno.Fonts.Fluent/Fonts/uno-fluentui-assets.ttf"

That being said, depending on how the template is made in the community toolkit we may be able to set an automatic override so that it always uses our font instead of falling back to a system font. (/cc @MartinZikmund)

MartinZikmund commented 16 hours ago

I checked the latest sources and it seems that now the sizer controls are actually rendering a plain Rectangle instead:|

image

@ArchieCoder are you using the latest Windows Community Toolkit packages?

ArchieCoder commented 14 hours ago

@MartinZikmund There was nothing in the nuget Update section, but I saw this.

image

I removed the deprecated nugets and added these, but now the compiler is unhappy.

image

agneszitte commented 10 hours ago

@MartinZikmund There was nothing in the nuget Update section, but I saw this. I removed the deprecated nugets and added these, but now the compiler is unhappy.

Related discord discussion with @ArchieCoder to help him migrate to WCT v8 for the other controls while still keeping WCT v7 for DataGrid only: WCT errors

ArchieCoder commented 9 hours ago

After some gymnastic, I was able to migrate to 8.0. I can confirm that the GridSplitter renders nicely with MacOS. I suppose it will on Linux. Closing the issue. Thanks @MartinZikmund and @agneszitte.