freetype
[Top][All Lists]
Advanced

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

Re: [Freetype] Why 26.6 ?


From: Laurent Lequenne
Subject: Re: [Freetype] Why 26.6 ?
Date: Thu, 19 Sep 2002 09:20:31 +0200

Thanks to the big boss :-)

----- Original Message -----
From: "David Turner" <address@hidden>
To: <address@hidden>
Sent: Thursday, September 19, 2002 1:09 AM
Subject: Re: [Freetype] Why 26.6 ?


> Hello,
>
> Peter Montgomery wrote:
> > Hi,
> >
> > Folks, you're getting things all mixed up.  26.6 refers to the placement
> > of a pixel on a grid with fractional accuracy - in this case the
> > fraction is 2 ^ 64.  If the 26 refers to pixels (as opposed to inches,
> > centimeters, etc) , this simply means that you can position text to any
> > of 64 possible sub-pixel positions.
> >
> > Levels of anti-aliasing has <nothing> to do with sub-pixel positioning.
> > You can position text to a fractional position and then render it as 1
> > bit per pixel monochrome.  This will effectively round off your
> > positioning to the nearest whole pixel, but you can still specify the
> > positioning as a fractional pixel.  If you render with 256 levels of
> > gray, then you have that many levels of anti-aliasing available <no
> > matter where you position it>!
> >
> > Think about it.  Suppose that FreeType only allowed you to position text
> > in whole pixel increments, but you rendered the text with 256 levels of
> > anti-aliasing.  Does that mean that suddenly the text would become
> > monochrome?  Of course not.  The positioning accuracy and the
> > anti-aliasing are completely different aspects of graphics that are not
> > connected.  In creating a graphics rendering system you can
> >
> > 1 - Have 256 levels of anti-aliasing and no fractional positioning
> > 2 - No anti-aliasing with fractional positioning
> > 3  - Both
> > 4 - Neither
> >
> > The choice is up to you when you design the renderer.  Among other
> > choices, FreeType happens to allow fractional positioning with 256
> > levels of anti-aliasing.
> >
> > The sole relationship between anti-aliasing and sub-pixel positioning is
> > that if you expect to see your fractional positioning, then you better
> > have some anti-aliasing going on.  FreeType uses 256 levels of grayscale
> > anti-aliasing which is as much as virtually all common display systems
> > on PCs allow.
> >
> Peter is right on topic. The 26.6 convention is necessary to implement
> TrueType hinting correctly (with the bytecode interpreter), so using
> 6 bits of fractional pixel units was a minimum. Experience shows that
> it is also largely sufficient to hint other kind of bezier curves, so
> it staid in FreeType.
>
> And the reason why we don't use floats are multiple:
>
>    - most embedded systems don't have efficient FPUs, so forget
>      about using floats and doubles on these platforms
>
>    - TrueType hinting _requires_ and extensively uses 26.6 fixed
>      point computations, using floats/doubles has strictly _no_
>      advantage here, except slower operations, even on modern PCs
>
> Hope this helps,
>
> - David Turner
> - The FreeType Project  (www.freetype.org)
>
> >     Thanks,
> >     PeterM
> >
> >
> > ----- Original Message -----
> > From: "Boris Letocha" <address@hidden>
> > To: <address@hidden>
> > Sent: Tuesday, September 17, 2002 2:32 AM
> > Subject: RE: [Freetype] Why 26.6 ?
> >
> >
> >
> >
> >>26.6 the .6 refers 2^6 = 64, isn't it??
> >
> > Yes, but you have 64 in both axises. 64*64 is 4096 different subpixels.
> >
> > Boris
> >
> >
> > _______________________________________________
> > Freetype mailing list
> > address@hidden
> > http://www.freetype.org/mailman/listinfo/freetype
> >
>
>
>
> _______________________________________________
> Freetype mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/freetype
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]