* src/autohint/ahtypes.h: disabling metrics hinting in the auto-hinter.
this produces much better anti-aliased text
2002-09-25 Anthony Fok <anthony@thizlinux.com>
* src/sfnt/ttcmap0.c: added support for opens___.ttf (it contains
a charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
missing glyph)
* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
(ah_hinter_compute_widths): Use FT_Pos for `dist'.
Use AH_MAX_WIDTHS.
* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
for `delta'.
(ah_outline_compute_edges): Replace some ints with FT_Int and
FT_Pos.
(ah_test_extrema): Clean up code.
(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
hold indices.
* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
to FT_Pos.
include/freetype/ftstroker.h, include/freetype/ftsysio.h,
include/freetype/ftsysmem.h, include/freetype/ttnameid.h:
updating the in-source documentation
* src/tools/docmaker/tohtml.py: updating the HTML formatter in the
DocMaker tool
* src/tools/docmaker.py: removing obsolete file
* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
and `private_len' to FT_Long.
* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
`private_len'.
* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
Use FT_PtrDist where appropriate.
(parse_encoding): Use FT_Long for `count' and `n'.
(read_binary_data): Use FT_Long* for second parameter.
* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
debug mode of template instantiation
* src/cff/cffparse.c: fixed the CFF table loader. It didn't accept
empty arrays, and this prevented the loading of certain fonts.
* src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.c: adding fix to
prevent seg fault when hints are provided in an empty glyph !!
* include/freetype/ftimage.h: removed incorrect "zft_" definitions
and updated constants documentation comments
* include/freetype/freetype.h (FT_FaceRec): updating documentation
comment. The "descender" value is always *negative*, not positive !
include/freetype/config/ftmodule.h: updated to correctly support
sub-pixel rendering
* include/freetype/cache/ftcimage.h, include/freetype/cache/ftcsbits.h,
src/cache/ftcimage.c, src/cache/ftcsbit.c: updated to support sub-pixel
rendering correctly. Definition of FTC_ImageTypeRec that replaces the
obsolete FTC_ImageDesc, and has slightly different fields. The
image type is now determined directly by "load_flags" values.
* src/autohint/ahtypes.h, src/autohint/ahhint.c,
src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: various enhancements
to the automatic and Postscript hinters !! and sub-pixel hinting now
works correctly (see demo programs)
ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
the erroneous FT_ENCODING_SYMBOL)
* builds/unix/unix-def.in: added "datadir" definition
(thanks to Anthony Fok)
to slightly increase the contrast of smooth hinting. This is very similar
to what the auto-hinter does when it comes to stem width computations.
However, it produces better results with well-hinted fonts..
want to list them all here. The operations performed were all logical
transformations of the sources:
- trying to convert all enums and constants to CAPITALIZED_STYLE, with
#define definitions like
#define my_old_constants MY_NEW_CONSTANT
- big, big update of the documentation comments
* include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c,
include/freetype/ftimage.h: adding support for LCD-optimized rendering
though the new constants/enums:
FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
this is still work in progress, don't expect everything to work correctly
though most of the features have been implemented.
* adding new FT_LOAD_XXX flags, used to specify both hinting and rendering
targets:
FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
FT_LOAD_TARGET_MONO :: monochrome bitmaps
FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering
FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering
note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
behaviour of the font engine is _unchanged_.
of the "load_flags" parameter of FT_Load_Glyph and FT_Load_Char from
"FT_Int" to "FT_Int32", this in order to support more options.
this should only break binary and/or source compatibility on
16-bit platforms (Atari?)