[Fontconfig] how to recognize a fallback character

Behdad Esfahbod behdad at behdad.org
Wed Aug 22 09:19:53 PDT 2012


On 08/22/2012 12:06 PM, Werner LEMBERG wrote:
> 
>   (2) For some unknown reasons yet, we get different output for the
>       same font on GNU/Linux and Windows.  While the former contains
>       ligatures (like `fi') and kerning, the latter doesn't have this.
>       We suspect a Pango problem since I/O snooping has shown that the
>       same fonts are used on both platforms.

Incidentally I was checking the basic-win32.c Pango module today and noticed
that it shortcircuits calling into Uniscribe if !ScriptIsComplex().  That
would explain what you are seeing.  I like to remove that hack and always call
Uniscribe unconditionally...

Who knows, soon I may even remove the Uniscribe module and rely on HarfBuzz
Uniscribe backend on Windows.

If someone wants to try my hypothesis I'd be happy to help.


>> There are ways to force pangofc to load the font you want, they are
>> just not documented.  I'll be happy to explain those.
> 
> This sounds *very* interesting!

Create a FcConfig, don't add any font directories to it, add the font file you
want using FcConfigAppFontAddFile.  Then create a PangoFcFontMap solely for
use with this configuration.  Install/uninstall your FcConfig whenever calling
Pango using your fontmap.

Eventually I'll add API to attach FcConfig's to PangoFcFontMap.  I even
remember Owen had a draft patch for that.

HTH,
behdad

>     Werner


More information about the Fontconfig mailing list