Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#58235 - [libgdiplus] Cannot handle font fallbacks unless compiled with pango support

Attached to Project: Arch Linux
Opened by Mingye Wang (arthur2e5) - Sunday, 15 April 2018, 05:55 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 16 April 2018, 04:33 GMT
Task Type Feature Request
Category Packages: Extra
Status Assigned
Assigned To Levente Polyak (anthraxx)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


libgdiplus by default calls cairo directly. It retrives the first font match from fontconfig, and goes on to only use that match for all of the rendering. This of course breaks UI rendering in WinForms using e.g. "Sans", as a lack of fallbacks means a lot less font coverage and blank rectangles appear where they shouldn't happen.

The good news about this issue is that libgdiplus has a "--with-pango“ build option right in its official source. The option uses pango, which does fallbacks correctly. Yes, it's "UNSUPPORTED", but what on earth from Xamarin is meaningfully supported anymore?

This is a longstanding bug, reported as early as 2 years ago as

Additional info:
* package version(s) (EVERY/ALL)

Steps to reproduce:
Compile the source at, and run it in a locale where "fc-match Sans" does not give a Chinese font but is capable of displaying of Chinese text via fallback.
This task depends upon

Comment by Mingye Wang (arthur2e5) - Sunday, 15 April 2018, 06:02 GMT
(And no, it is likely that this will never be fixed unless pango is used. Because Cairo alone is simply not for rendering multilingual text and doing stuff like fallbacks. cf.

Also, they appear to be working on supporting the pango stuff. That's a good thing -- maybe if you come back in a few months it will become the default.
Comment by Jan de Groot (JGC) - Wednesday, 18 April 2018, 10:26 GMT
Looking at post-release commits, it seems there has been some serious work on the pango support in libgdiplus.

We have some options here:
- implement this with next release, which can take quite some time
- backport the pango improvements
- push to snapshot