freetype/docs/BUGS
Werner Lemberg 80b8d77024 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 19:56:42 +00:00

125 lines
3.8 KiB
Plaintext

List of known FreeType 2 Bugs
-----------------------------
"Identifier" is a string to uniquely identify the bug. A more detailed
description of the bug is found below the table of opened bugs.
"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.
"Opened By" is the name of the person who first spotted the bug. Note that
we can use abbreviations here, like:
"David" for David Turner
"Werner" for Werner Lemberg
etc.
"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.
I. Opened bugs
==============
Identifier Date Opened by Reproduceable
------------------------------------------------------------------------------
NO-CID-CMAPS 13-09-2001 David always
AUTOHINT-NO-SBITS 13-09-2001 David always
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
BAD-THIN-LINES 13-09-2001 David ?
NOT-WINDOWS-METRICS 07-10-2001 David always
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
II. Table of closed bugs
========================
Identifier Date Closed by Closure date
------------------------------------------------------------------------------
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
III. Bug descriptions
=====================
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.
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!
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).
BAD-TT-RENDERING
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!
BAD-THIN-LINES
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.
NOT-WINDOWS-METRICS
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.
=== end of file ===