winforms/macで日本語が表示されない問題の原因はたぶんcairo-quartzfontconfig
この前のwinforms on Macの日本語入力の問題と関連して、そもそも日本語が表示されないという問題を解決できないものかと調べていたのだけど、原因はcairo-quartzでデフォルトフォントがおかしくなるのが原因かなあと思っている。
libgdiplusで使われている内蔵cairoは1.6.4だし、cairo-quartz-font.cの変更履歴を見てもそれらしい修正が見当たらない(ざっと見ただけだけど)。直っていないような気もする。もっともcairo-win32でも似たような問題があるっぽいので、cairoのnon-pangoなテキストレンダリングは全般的にテキトーなのかもしれない。
じゃあlibgdiplusでもpangoを使うようにすればいいじゃん、という話になりそうだけど、少なからず作業が発生しそうな感じではある(し、libgdiplusを書いたSebastienはもうずっとmoonlight方面で忙しくて、こっちには手が回らない)。
…どうしたら良いかなあ。そもそもcairo-quartzに問題があるというのは推測でしかないのだけど。
追記: libgdiplusではcairo-quartzは使われていなかった。freetype2とfontconfgが直接使われていた。