[cairo] Cairo, pango and Win32.. incorrect font rendering

Behdad Esfahbod behdad at behdad.org
Mon Jan 18 12:54:13 PST 2010


On 01/18/2010 03:51 PM, Peter Clifton wrote:
> On Mon, 2010-01-18 at 15:36 -0500, Behdad Esfahbod wrote:
>> On 01/18/2010 03:28 PM, Peter Clifton wrote:
>>>
>>> Is the pango_cairo_context_set_resolution affecting the choice of fonts
>>> being offered by the system?
>>
>> The resolution set there is used to convert from font size in points to font
>> size in cairo user units.  A number in the tens of thousands doesn't make
>> sense to me.
> 
> No - it isn't obvious where that number has come from. My win32-debug-fu
> is pretty low unfortunately - I can't really think how best to
> instrument or debug the issue.
> 
> Where is the calculation which comes up with the font-size it should ask
> Windows for?

I'm not well-versed in the win32 code.

There's not much I can help with given the current information.  Tor may have
ideas.

behdad

>>> I still can't figure out why this odd behaviour (which similar might
>>> also have been noted on MacOS X) isn't manifesting for me under Wine, my
>>> XP box, nor anyone's Linux installs.
>>>
>>> It is certainly mis-behaving on at least two people's machines - and I
>>> know at least one of those is also XP.
>>
>> The bug probably only manifests itself if you use pangocairo with the win32
>> font backend, not freetype font backend.
> 
> That much I guessed, but the fact that the _same build_ of the software
> works on some machines, yet fails on others rather perplexes me. Those
> testing who it has failed for claim not to have any other cruft / GTK
> apps in their system paths.
> 
> Perhaps it is an issue of which fonts are installed? It could, of
> course.. be a red-herring, and the manifestation of some memory
> corruption - however it does consistently seem to be a problem with text
> on the gschem canvas.
> 
> My reporters don't seem to have any difference with Cleartype redering
> switched on / off.
> 
> 
> 


More information about the cairo mailing list