freetype
[Top][All Lists]
Advanced

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

Re: [ft] anti-aliasing question


From: Dave Calkins
Subject: Re: [ft] anti-aliasing question
Date: Tue, 09 Feb 2010 09:08:01 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1


The header says R=G=B as opposed to what?
    
If this flag isn't set, you'll get, for example, instead of a 5-pixel
buffer (without LCD rendering)

  ABCDE

a buffer which triples each pixel value:

  AAABBBCCCDDDEEE

According to the information in the web, patents on the ClearType idea
itself aren't valid due to prior art.  However, patents on the LCD
colour filtering used in Windows are definitely valid (well, if you
live in a country where software patents are valid).


    Werner


  

Werner, thanks for the link you provided earlier concerning sub-pixel rendering.  I've read through that and I think I understand much better now the talk about sub-pixel rendering and ClearType.  I'm still confused as to the FT_CONFIG_OPTION_SUBPIXEL_RENDERING comments in ftoption.h though.

  /*************************************************************************/
  /*                                                                       */
  /* Uncomment the line below if you want to activate sub-pixel rendering  */
  /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */
  /*                                                                       */
  /* Note that this feature is covered by several Microsoft patents        */
  /* and should not be activated in any default build of the library.      */
  /*                                                                       */
  /* This macro has no impact on the FreeType API, only on its             */
  /* _implementation_.  For example, using FT_RENDER_MODE_LCD when calling */
  /* FT_Render_Glyph still generates a bitmap that is 3 times larger than  */
  /* the original size; the difference will be that each triplet of        */
  /* subpixels has R=G=B.                                                  */
  /*                                                                       */
  /* This is done to allow FreeType clients to run unmodified, forcing     */
  /* them to display normal gray-level anti-aliased glyphs.                */
  /*                                                                       */
#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING

In order for sub-pixel rendering to work, if I understand what I read in that link correctly, the R, G, and B values will not be equal, since they're providing the sub-pixels on an LCD screen.  The comment indicates the enabling this flag activates sub-pixel rendering, yet it later says that with this option on R=G=B.  If that's the case then you don't get the sub-pixel rendering correct?  The last sentence seems to indicate that by having R=G=B you're really just getting a gray scale image and could just sample every third byte and still use gray-scale, but then you're not getting sub-pixel rendering I don't think.



reply via email to

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