freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] Adding options to the PS Hinter


From: Owen Taylor
Subject: Re: [Devel] Adding options to the PS Hinter
Date: Wed, 3 Jul 2002 15:46:12 -0400 (EDT)
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/21.1

Owen Taylor <address@hidden> writes:

> I suppose the simple way, and perhaps the right way, is 
> to simply add another global load flag or two:
> 
>  FT_LOAD_NO_STEM_SNAPPING
> 
> And maybe:
> 
>  FT_LOAD_NO_VSTEM_HINTING

OK, considering the space pressure for load flags, adding
even one flag here is clearly not going to be popular.

(Me, I'd just break 16-bit compilation, or at a minimum, break 
16-bit binary compatibility and expand load flags to at
least 32 bits on all platforms.... but that is just personal 
predjudice.)

I'm trying to think of alternate ways of achieving the 
same effect; I think it *is* right to make this a per-glyph
load option.

 A) Add a FT_Load_Glyph_Ext() style function:

  FT_EXPORT( FT_Error )
  FT_Load_Glyph_Ext( FT_Face  face,
                     FT_UInt  glyph_index,
                     FT_Int   load_flags,
                     FT_Int   more_flags );

 A') Or, perhaps more rational looking:

  FT_EXPORT( FT_Error )
  FT_Load_Glyph_Ext( FT_Face  face,
                     FT_UInt  glyph_index,
                     FT_Int   load_flags,
                     FT_Int   module_flags );

   With the flags being specific to the particular module.
   (More rational looking, but it makes programs be 
   aware of which module is in use, which is ugly.)

 B) Set options on the face; make programs that
    want to change it per-glyph change the options
    on the face between calls to Load_Glpyh

    FT_EXPORT( FT_Error )
    FT_Set_Hint_Flags( FT_Face  face,
                       FT_ULong hint_flags );

 B') Set options on the glyph slot:

    
    FT_EXPORT( FT_Error )
    FT_Set_Hint_Flags( FT_GlyphSlot glyph,
                       FT_ULong     hint_flags );

One of the B) options looks better to me, but maybe
I'm missing an entirely different way of going about
this.

Any guidance on what is most likely to be accepted
would be appreciated.

Thanks,
                                        Owen



reply via email to

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