2001-10-05 18:23:03 +04:00
|
|
|
|
List of known FreeType 2 Bugs
|
|
|
|
|
-----------------------------
|
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
"Identifier" is a string to uniquely identify the bug. A more detailed
|
|
|
|
|
description of the bug is found below the table of opened bugs.
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
"Date" is the date when the bug was first reported or entered in this
|
|
|
|
|
document. Dates are in _European_ format, i.e day/month/year.
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
"Opened By" is the name of the person who first spotted the bug. Note that
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
we can use abbreviations here, like:
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
"David" for David Turner
|
|
|
|
|
"Werner" for Werner Lemberg
|
2001-12-05 04:22:05 +03:00
|
|
|
|
etc.
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
"Reproduceable" indicates whether the bug could be reproduced by the
|
|
|
|
|
development team or not (it can be specific to a given platform), whether it
|
|
|
|
|
always happens, or only sporadically, etc.
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
I. Open bugs
|
|
|
|
|
============
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
|
|
|
|
|
Identifier Date Opened by Reproduceable
|
2001-10-05 18:23:03 +04:00
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
NO-CID-CMAPS 13-09-2001 David always
|
|
|
|
|
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
|
|
|
|
|
BAD-THIN-LINES 13-09-2001 David ?
|
2001-10-07 17:30:26 +04:00
|
|
|
|
NOT-WINDOWS-METRICS 07-10-2001 David always
|
2001-10-25 03:33:31 +04:00
|
|
|
|
ADVANCED-COMPOSITES 25-10-2001 George Williams always
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
|
|
|
|
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
II. Closed bugs
|
|
|
|
|
===============
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
|
|
|
|
Identifier Date Closed by Closure date
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
|
2001-10-25 03:33:31 +04:00
|
|
|
|
BAD-T1-CHARMAP 15-06-2001 David 2.0.5
|
2001-12-21 00:22:02 +03:00
|
|
|
|
BAD-UNIXXXX-NAMES 30-07-2001 David 2.0.5
|
2001-12-05 20:24:34 +03:00
|
|
|
|
GLYPH_TO_BITMAP-BUG 05-12-2001 David 05-12-2001
|
2001-12-20 16:14:18 +03:00
|
|
|
|
AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
|
2002-01-07 13:40:48 +03:00
|
|
|
|
TT-GLYPH-CRASH 01-01-2002 David 2.0.6
|
|
|
|
|
T1-FONT-CRASH 01-01-2002 David 2.0.6
|
|
|
|
|
BAD-ADVANCES 30-11-2001 David 2.0.6
|
|
|
|
|
GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
|
2001-10-05 18:23:03 +04:00
|
|
|
|
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
III. Bug descriptions
|
2001-10-05 18:23:03 +04:00
|
|
|
|
=====================
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
|
|
|
|
|
--- START OF OPEN BUGS ---
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
|
|
|
|
|
NO-CID-CMAPS
|
|
|
|
|
|
|
|
|
|
Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
|
|
|
|
|
from the contents of font files, which prevents efficiently using fonts in
|
|
|
|
|
this format.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2001-10-05 18:23:03 +04:00
|
|
|
|
BAD-TT-RENDERING
|
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
According to Paul Pedriana <PPedriana@maxis.com>, there is a rather
|
|
|
|
|
important difference between the rendering of TrueType-hinted glyphs of
|
|
|
|
|
current FT2 and old betas.
|
|
|
|
|
|
|
|
|
|
Tests and comparisons show a _major_ discrepancy of monochrome truetype
|
|
|
|
|
bytecode-hinted glyphs! Something seems to be really broken here!
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
2001-12-21 00:22:02 +03:00
|
|
|
|
Some of this has been fixed in 2.0.6; there was a bug in the TrueType
|
|
|
|
|
loader that prevented it from loading composites correctly. However,
|
|
|
|
|
there are still _subtle_ differences between FT1 and FT2 when it comes to
|
2002-01-10 00:01:18 +03:00
|
|
|
|
monochrome TrueType-hinted glyphs (the major differences are gone though).
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
2001-12-20 16:14:18 +03:00
|
|
|
|
|
2001-10-05 18:23:03 +04:00
|
|
|
|
|
|
|
|
|
BAD-THIN-LINES
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
|
|
|
|
|
It seems that the anti-aliased renderer in FreeType has problems rendering
|
|
|
|
|
extremely thin straight lines correctly, at least when using the
|
|
|
|
|
FT_Outline_Render() function.
|
2001-10-07 17:30:26 +04:00
|
|
|
|
|
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
2001-10-07 17:30:26 +04:00
|
|
|
|
NOT-WINDOWS-METRICS
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
|
|
|
|
|
FreeType doesn't always return the same metrics as Windows for ascender,
|
|
|
|
|
descender, and text height, depending on character pixel sizes. A lot of
|
|
|
|
|
testing on Windows is needed to debug this properly. It might be due to a
|
|
|
|
|
rounding bug when computing the "x_scale" and "y_scale" values.
|
|
|
|
|
|
|
|
|
|
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
|
|
|
|
ADVANCED-COMPOSITES
|
|
|
|
|
|
|
|
|
|
Provided by George Williams <pfaedit@users.sourceforge.net>:
|
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
I notice that truetype/ttgload.c only supports Apple's definition of
|
|
|
|
|
offsets for composite glyphs. Apple and Microsoft behave differently if
|
|
|
|
|
there is a scale factor. OpenType defines some bits to disambiguate.
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
(A problem in both 2.0.4 and 2.0.5.)
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
Apple says (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html) that if
|
|
|
|
|
flags&ARGS_ARE_XY is set then the offsets should be scaled by the scale
|
|
|
|
|
factors (as you have done), but they also say something very cryptic
|
|
|
|
|
about what happens when the component is rotated at 45<34> (which you do
|
|
|
|
|
not support) -- See the "Important" note at the bottom.
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
The old truetype spec from Microsoft did not mention this. The OpenType
|
|
|
|
|
spec (http://www.microsoft.com/typography/otspec/glyf.htm,
|
|
|
|
|
http://partners.adobe.com/asn/developer/opentype/glyf.html) defines two
|
|
|
|
|
new bits to disambiguate:
|
|
|
|
|
|
|
|
|
|
SCALED_COMPONENT_OFFSET 11
|
|
|
|
|
Composite designed to have the component offset scaled (designed for
|
|
|
|
|
Apple rasterizer)
|
|
|
|
|
|
|
|
|
|
UNSCALED_COMPONENT_OFFSET 12
|
|
|
|
|
Composite designed not to have the component offset scaled (designed
|
|
|
|
|
for the Microsoft TrueType rasterizer)
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
Perhaps you could add a load_flag to allow the user to define the
|
|
|
|
|
default setting?
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
|
|
|
|
David says:
|
|
|
|
|
|
2001-12-05 04:22:05 +03:00
|
|
|
|
Wow, I was not even aware of this, it will probably take a little time
|
|
|
|
|
to implement since I don't have any font that implement these
|
|
|
|
|
"features", and also because I believe that we're running out of bits
|
|
|
|
|
for "load_flag", some other way to set preferences is probably needed.
|
2001-10-25 03:33:31 +04:00
|
|
|
|
|
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
--- END OF OPEN BUGS ---
|
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD-TTNAMEID.H
|
|
|
|
|
|
|
|
|
|
The file "ttnameid.h" contains various constant macro definitions
|
|
|
|
|
corresponding to important values defined by the TrueType specification.
|
|
|
|
|
|
|
|
|
|
Joe Man <trmetal@yahoo.com.hk> reports that:
|
|
|
|
|
|
|
|
|
|
According to the information from TrueType v1.66:
|
|
|
|
|
|
|
|
|
|
Platform ID = 3 (Microsoft)
|
|
|
|
|
the Encoding ID of GB2312 = 4
|
|
|
|
|
the Encoding ID of big5 = 3
|
|
|
|
|
|
|
|
|
|
However, I have found that in ttnameid.h:
|
|
|
|
|
|
|
|
|
|
TT_MS_ID_GB2312 = 3
|
|
|
|
|
TT_MS_ID_BIG_5 = 4
|
|
|
|
|
|
|
|
|
|
Which one is correct?
|
|
|
|
|
|
|
|
|
|
Antoine replied that this was a bug in the TT 1.66 specification, and that
|
|
|
|
|
FreeType followed the most recent TrueType/OpenType specification here.
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
AUTOHINT-SBITS
|
|
|
|
|
|
|
|
|
|
When trying to load a glyph, with the auto-hinter activated (i.e., when
|
|
|
|
|
using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
|
|
|
|
|
own hinter), embedded bitmaps are _never_ loaded, unlike the default
|
|
|
|
|
behaviour described by the API specification.
|
|
|
|
|
|
|
|
|
|
This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
|
|
|
|
|
efficiently without making a few important internal changes to the
|
|
|
|
|
library's design (more importantly, to the font driver interface).
|
|
|
|
|
|
|
|
|
|
This has been corrected with a hack in FT_Load_Glyph(). More important
|
|
|
|
|
internal changes should help get rid of it with a clean solution in a
|
|
|
|
|
further release like FreeType 2.1.
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
BAD-T1-CHARMAP
|
|
|
|
|
|
|
|
|
|
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
|
|
|
|
|
charset. Those characters are mapped as MAC-one in glnames.py, so they
|
|
|
|
|
cannot be shown in Adobe Type1 fonts.
|
|
|
|
|
|
|
|
|
|
(This was due to a bug in the "glnames.py" script used to generate the
|
|
|
|
|
table of glyph names in 'src/psaux/pstables.h'.)
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
BAD-UNIXXXX-NAMES
|
|
|
|
|
|
|
|
|
|
Glyph names like uniXXXX are not recognized as they should be. It seems
|
|
|
|
|
that code in psmodule.c for uniXXXX glyph names was never tested. The
|
|
|
|
|
patch is very simple.
|
|
|
|
|
|
|
|
|
|
(A simple bug that was left un-noticed due to the fact that I don't have
|
|
|
|
|
any Postscript font that use this convention, unfortunately.)
|
|
|
|
|
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
|
2001-12-05 20:24:34 +03:00
|
|
|
|
GLYPH_TO_BITMAP-BUG
|
|
|
|
|
|
2001-12-08 00:56:32 +03:00
|
|
|
|
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
|
|
|
|
|
outline, creating weird alignment artefacts.
|
2001-12-05 20:24:34 +03:00
|
|
|
|
|
2001-12-21 00:22:02 +03:00
|
|
|
|
This subtle bug was really in the file `src/smooth/ftsmooth.c'.
|
|
|
|
|
Basically, the outline was shifted before rendering it into a new bitmap
|
|
|
|
|
buffer. However, it wasn't properly un-shifted after that operation.
|
2001-12-05 20:24:34 +03:00
|
|
|
|
|
2001-12-08 00:56:32 +03:00
|
|
|
|
This was only noticeable with certain glyphs or certain fonts; it crept in
|
|
|
|
|
a long time ago.
|
2001-12-20 16:14:18 +03:00
|
|
|
|
|
2001-12-21 00:22:02 +03:00
|
|
|
|
The same bug has been fixed in src/raster/ftrender1.c also.
|
2001-12-20 16:14:18 +03:00
|
|
|
|
|
2001-12-05 20:24:34 +03:00
|
|
|
|
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
TT-GLYPH-CRASH
|
|
|
|
|
|
|
|
|
|
The library crashed when trying to load certain glyphs from an
|
2002-01-10 00:01:18 +03:00
|
|
|
|
automatically generated TrueType file (tt1095m_.ttf submitted by Scott
|
|
|
|
|
Long).
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
It turned out that the font contained invalid glyph data (i.e. was
|
|
|
|
|
broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
|
|
|
|
|
which resulted in nasty memory overwrites all over the place.
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T1-FONT-CRASH
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
The library crashed when trying to load the "Stalingrad Regular" face from
|
|
|
|
|
the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
|
|
|
|
|
I believe).
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
This was due to the fact that the font missed a full font name entry,
|
2002-01-10 00:01:18 +03:00
|
|
|
|
though boasted a family name and postscript name. The Type 1 face loader
|
|
|
|
|
didn't check for these pathetic cases and seg-faulted.
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BAD-ADVANCES
|
|
|
|
|
|
|
|
|
|
All scalable font drivers returned un-fitted glyph advances when
|
2002-01-10 00:01:18 +03:00
|
|
|
|
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
|
|
|
|
|
old but hadn't been spotted because all test programs actually explicitly
|
|
|
|
|
or implicitly (i.e. through the cache) rounded the advance widths of
|
|
|
|
|
glyphs.
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
This resulted in poor rendering of a number of client applications however
|
|
|
|
|
(it is strange to see they took so long to notify the FreeType team).
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GLYPH-TO-BITMAP-BUG
|
|
|
|
|
|
2002-01-10 00:01:18 +03:00
|
|
|
|
FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
|
|
|
|
|
cases, which resulted in random behaviour and bad text rendering. This
|
|
|
|
|
was spotted to bugs in both the monochrome and smooth rasterizer.
|
2002-01-07 13:40:48 +03:00
|
|
|
|
|
|
|
|
|
|
Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables. This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).
* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.
* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems). <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.
Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.
* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 23:56:42 +04:00
|
|
|
|
=== end of file ===
|