Re: strange behavior for font with partial bitmap embedding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


(I cc-ed a copy to freetype2 mailing list of this discussion, my 
original question
was posted at )

thank you mpsuzuki for explaining this to me. I had a hard time to isolate
the problem and it is always confusing for me that the font rendering in 
is related to multiple modules, freetype2,fontconfig, pango, Xft etc. I 
my question to this list in the hope that some font experts may hear my 
and direct me to the right direction.

Indeed, I had suspected that fontconfig does not manipulate font 
down to the glyph level, maybe <blank> is the only exception. However I was
curious on the accuracy/legitimacy of the returned font information for 
situation where font has partial coverage of bitmaps at specific sizes. 
In another word,
because fontconfig does not have the granularity to describe the details 
of a
font (it perhaps was not designed for this), will the returned 
incomplete info mislead
the rendering engine?

For example, when a program want to draw a 10pt 'A' and request fontconfig
to provide a list of fonts and font properties (such as embeddedbitmap), 
this partially embedded font happen to be the top of the list. Will 
fontconfig tell
the program that this font has embedded bitmaps if it sees an embedded 
bitmap at10pt 'A'?
or it sees more than one embedded bitmaps at 10pt? or it sees more than 
one embedded
glyph in the whole font? or if it set embeddedbitmap to true based on the
percentage of the bitmap coverage? or not telling the program about this 
at all?

A more complex situation is when the program want to draw a bold 10pt 'A'
and 'A' only has medium face outline data, while 'B'-'z' has embedded 
bitmap for 10pt. what
would fontconfig do in this situation? anything that can potentially mislead
the rendering afterward?

again, I am not familiar with either fontconfig and freetype2, just 
hoping this is
something that I can learn, even the rough idea, about the rendering and 
me to pinpoint the problem next time.

thank you for your further input.


mpsuzuki@xxxxxxxxxxxxxxxxx wrote:
> Hi,
> Either I know little about fontconfig, but saying a few
> can be better than nothing.
> On Sun, 15 Jul 2007 17:11:43 -0400
> Qianqian Fang <fangq@xxxxxxxxxxxxxxxxxxx> wrote:
>> I know little about fontconfig, just curious if this behavior
>> is by design or a potential bug of fontconfig.
> Although fontconfig can store the information to switch
> anti-aliasing and subpixel rendering, the rasterization
> itself is executed out of fontconfig. The fontconfig has
> no responsibility how to these control switches are used
> in font rasterization. Just fontconfig replies the defined
> value for boolean anti-aliasing and RGB ordering for
> subpixel rendering, per the query for each face.
> It must be noted that fontconfig can store single value
> per face, for these control switches. In the other words,
> fontconfig cannot control these values per glyph. I think,
> you want the rasterizer to work as following strategy:
> 1. If the face includes bitmap glyph at requested pixel
>    size, the rasterizer should use it to display the glyph.
> 2. If the face doesn't include bitmap glyph at requested
>    pixel size, the rasterizer should make anti-aliased
>    (and subpixel-rendered) image from vector data.
> But these strategy is out of the control which fontconfig
> can. I think, the 1st behaviour you mentioned should be
> checked by Xft (I guess uses fontconfig but
> does not use Xft, so the rendering behaviour is different
> from most GNOME applications, as you found). Yet I don't
> have good idea for the simplest test.
> The lost of glyph is big impact (and not expected), I'm not
> sure the 2nd behaviour is the bug /or not. I guess hinting
> switch on GNOME font panel just changes the autohinting
> of FreeType2, so the exist of TrueType native bytecode hinting 
> is not critical parameter.
> Regards,
> mpsuzuki

Fontconfig mailing list

[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux