#17742: cairo 1.8.x - no japanese, chinese or other asian fonts are displayed with X11 variant ---------------------------+------------------------------------------------ Reporter: skl@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Component: ports Version: 1.7.0 | Keywords: cairo gtk asian fonts Port: cairo | ---------------------------+------------------------------------------------ Comment(by mathieu@…): I confirm that Japanese text doesn't work when cairo and pango are compiled with +quartz. Ascii text does work though. {{{ $ port installed pango-devel cairo-devel The following ports are currently installed: cairo-devel @1.9.2_0+macosx cairo-devel @1.9.2_0+macosx+no_x11+quartz cairo-devel @1.9.2_0+macosx+quartz (active) pango-devel @1.25.6_0+macosx pango-devel @1.25.6_0+macosx+no_x11+quartz pango-devel @1.25.6_0+macosx+quartz (active) }}} By default, the "han" script (which is used for Japanese) is associated with the fontconfig backend instead of the atsui backend. {{{ $ pango-querymodules # Pango Modules file # Automatically generated file, do not edit # # ModulesPath = /opt/local/lib/pango/1.6.0/modules # /opt/local/lib/pango/1.6.0/modules/pango-arabic-fc.so ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:* nko:* /opt/local/lib/pango/1.6.0/modules/pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:* /opt/local/lib/pango/1.6.0/modules/pango-basic-atsui.so BasicScriptEngineATSUI PangoEngineShape PangoRenderATSUI common: /opt/local/lib/pango/1.6.0/modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc latin:* cyrillic:* greek:* armenian:* georgian:* runic:* ogham:* bopomofo:* cherokee:* coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* canadian- aboriginal:* yi:* braille:* cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* phoenician:* common: /opt/local/lib/pango/1.6.0/modules/pango-basic-x.so BasicScriptEngineX PangoEngineShape PangoRenderX common: /opt/local/lib/pango/1.6.0/modules/pango-hangul-fc.so HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:* /opt/local/lib/pango/1.6.0/modules/pango-hebrew-fc.so HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so devaScriptEngineFc PangoEngineShape PangoRenderFc devanagari:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so bengScriptEngineFc PangoEngineShape PangoRenderFc bengali:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so guruScriptEngineFc PangoEngineShape PangoRenderFc gurmukhi:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so gujrScriptEngineFc PangoEngineShape PangoRenderFc gujarati:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so oryaScriptEngineFc PangoEngineShape PangoRenderFc oriya:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so tamlScriptEngineFc PangoEngineShape PangoRenderFc tamil:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so teluScriptEngineFc PangoEngineShape PangoRenderFc telugu:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so kndaScriptEngineFc PangoEngineShape PangoRenderFc kannada:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so mlymScriptEngineFc PangoEngineShape PangoRenderFc malayalam:* /opt/local/lib/pango/1.6.0/modules/pango-indic-fc.so sinhScriptEngineFc PangoEngineShape PangoRenderFc sinhala:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:* /opt/local/lib/pango/1.6.0/modules/pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:* /opt/local/lib/pango/1.6.0/modules/pango-khmer-fc.so KhmerScriptEngineFc PangoEngineShape PangoRenderFc khmer:* /opt/local/lib/pango/1.6.0/modules/pango-syriac-fc.so SyriacScriptEngineFc PangoEngineShape PangoRenderFc syriac:* /opt/local/lib/pango/1.6.0/modules/pango-thai-fc.so ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* lao:* /opt/local/lib/pango/1.6.0/modules/pango-tibetan-fc.so TibetanScriptEngineFc PangoEngineShape PangoRenderFc tibetan:* }}} If I force the "han" script to be associated with the atsui backend, I get PangoWarning: failed to choose a font, expect ugly output. engine- type='PangoRenderATSUI', script='han' although atsui does seem to support CJK according to http://developer.apple.com/legacy/mac/library/documentation/Carbon/Conceptua.... I'm wondering if disabling the fontconfig backend in cairo/pango can make any difference. If that's so, adding a variant would be a nice thing to do. I'm willing to help with testing if needed. The main motivation for me in using the atsui backend is that I need to create an app bundle and it seems wiser to use native libraries whenever possible. -- Ticket URL: <http://trac.macports.org/ticket/17742#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS