159191SkrisList of known FreeType 2 Bugs
2194206Ssimon-----------------------------
359191Skris
459191Skris"Identifier" is a string to uniquely identify the bug.  A more detailed
559191Skrisdescription of the bug is found below the table of opened bugs.
659191Skris
759191Skris"Date" is the date when the bug was first reported or entered in this
859191Skrisdocument.  Dates are in _European_ format, i.e day/month/year.
959191Skris
1059191Skris"Opened By" is the name of the person who first spotted the bug.  Note that
1159191Skriswe can use abbreviations here, like:
1259191Skris
1359191Skris  "David" for David Turner
1459191Skris  "Werner" for Werner Lemberg
1559191Skris  etc.
1659191Skris
1759191Skris"Reproduceable" indicates whether the bug could be reproduced by the
1859191Skrisdevelopment team or not (it can be specific to a given platform), whether it
1959191Skrisalways happens, or only sporadically, etc.
2059191Skris
2159191Skris
2259191Skris
2359191SkrisI. Open bugs
2459191Skris============
2559191Skris
2659191Skris
2759191SkrisIdentifier                 Date       Opened by                Reproduceable
2859191Skris------------------------------------------------------------------------------
2959191SkrisNO-CID-CMAPS            13-09-2001     David                     always
3059191SkrisBAD-TT-RENDERING        12-09-2001     Paul Pedriana             ?
3159191SkrisBAD-THIN-LINES          13-09-2001     David                     ?
3259191SkrisNOT-WINDOWS-METRICS     07-10-2001     David                     always
3359191SkrisADVANCED-COMPOSITES     25-10-2001     George Williams           always
3459191Skris
3559191Skris--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
3659191Skris
3759191Skris
3859191Skris
3959191SkrisII. Closed bugs
4059191Skris===============
4159191Skris
4259191Skris
4359191SkrisIdentifier                Date         Closed by                Closure date
4459191Skris------------------------------------------------------------------------------
4559191SkrisBAD-TTNAMEID.H          12-09-2001     Antoine                   N/A
4659191SkrisBAD-T1-CHARMAP          15-06-2001     David                     2.0.5
4759191SkrisBAD-UNIXXXX-NAMES       30-07-2001     David                     2.0.5
4859191SkrisGLYPH_TO_BITMAP-BUG     05-12-2001     David                     05-12-2001
4959191SkrisAUTOHINT-NO-SBITS       13-09-2001     David                     2.0.6
5059191SkrisTT-GLYPH-CRASH          01-01-2002     David                     2.0.6
5159191SkrisT1-FONT-CRASH           01-01-2002     David                     2.0.6
5259191SkrisBAD-ADVANCES            30-11-2001     David                     2.0.6
5359191SkrisGLYPH-TO-BITMAP-BUG     15-12-2001     David                     2.0.6
5459191Skris--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
5559191Skris
5659191Skris
5759191Skris
5859191SkrisIII. Bug descriptions
5959191Skris=====================
6059191Skris
6159191Skris
62109998Smarkm--- START OF OPEN BUGS ---
63160814Ssimon
64160814Ssimon
65160814SsimonNO-CID-CMAPS
66160814Ssimon
67160814Ssimon  Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
68160814Ssimon  from the contents of font files, which prevents efficiently using fonts in
69160814Ssimon  this format.
7059191Skris
7159191Skris
7259191Skris
7359191SkrisBAD-TT-RENDERING
7459191Skris
7559191Skris  According to Paul Pedriana <PPedriana@maxis.com>, there is a rather
7659191Skris  important difference between the rendering of TrueType-hinted glyphs of
7759191Skris  current FT2 and old betas.
7859191Skris
7959191Skris  Tests and comparisons show a _major_ discrepancy of monochrome truetype
8059191Skris  bytecode-hinted glyphs!  Something seems to be really broken here!
8159191Skris
8259191Skris  Some of this has been fixed in 2.0.6; there was a bug in the TrueType
8359191Skris  loader that prevented it from loading composites correctly.  However,
8459191Skris  there are still _subtle_ differences between FT1 and FT2 when it comes to
85238405Sjkim  monochrome TrueType-hinted glyphs (the major differences are gone though).
8659191Skris
87238405Sjkim
88238405Sjkim
8959191SkrisBAD-THIN-LINES
9059191Skris
9159191Skris  It seems that the anti-aliased renderer in FreeType has problems rendering
9259191Skris  extremely thin straight lines correctly, at least when using the
9359191Skris  FT_Outline_Render() function.
9459191Skris
9559191Skris
9659191Skris
9759191SkrisNOT-WINDOWS-METRICS
9859191Skris
9959191Skris  FreeType doesn't always return the same metrics as Windows for ascender,
10059191Skris  descender, and text height, depending on character pixel sizes.  A lot of
10159191Skris  testing on Windows is needed to debug this properly.  It might be due to a
10259191Skris  rounding bug when computing the "x_scale" and "y_scale" values.
10359191Skris
10459191Skris
10559191Skris
10659191SkrisADVANCED-COMPOSITES
10759191Skris
108  Provided by George Williams <pfaedit@users.sourceforge.net>:
109
110    I notice that truetype/ttgload.c only supports Apple's definition of
111    offsets for composite glyphs.  Apple and Microsoft behave differently if
112    there is a scale factor.  OpenType defines some bits to disambiguate.
113    
114    (A problem in both 2.0.4 and 2.0.5.)
115    
116    Apple says (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html) that if
117    flags&ARGS_ARE_XY is set then the offsets should be scaled by the scale
118    factors (as you have done), but they also say something very cryptic
119    about what happens when the component is rotated at 45� (which you do
120    not support) -- See the "Important" note at the bottom.
121    
122    The old truetype spec from Microsoft did not mention this.  The OpenType
123    spec (http://www.microsoft.com/typography/otspec/glyf.htm,
124    http://partners.adobe.com/asn/developer/opentype/glyf.html) defines two
125    new bits to disambiguate:
126
127      SCALED_COMPONENT_OFFSET 11 
128      Composite designed to have the component offset scaled (designed for
129      Apple rasterizer)
130
131      UNSCALED_COMPONENT_OFFSET 12 
132      Composite designed not to have the component offset scaled (designed
133      for the Microsoft TrueType rasterizer)
134    
135    Perhaps you could add a load_flag to allow the user to define the
136    default setting?
137
138  David says:
139  
140    Wow, I was not even aware of this, it will probably take a little time
141    to implement since I don't have any font that implement these
142    "features", and also because I believe that we're running out of bits
143    for "load_flag", some other way to set preferences is probably needed.
144
145
146
147--- END OF OPEN BUGS ---
148
149
150
151BAD-TTNAMEID.H
152
153  The file "ttnameid.h" contains various constant macro definitions
154  corresponding to important values defined by the TrueType specification.
155
156  Joe Man <trmetal@yahoo.com.hk> reports that:
157
158    According to the information from TrueType v1.66:
159
160      Platform ID = 3 (Microsoft)
161      the Encoding ID of GB2312 = 4
162      the Encoding ID of big5 = 3
163
164    However, I have found that in ttnameid.h:
165
166      TT_MS_ID_GB2312 = 3
167      TT_MS_ID_BIG_5 = 4
168
169    Which one is correct?
170
171  Antoine replied that this was a bug in the TT 1.66 specification, and that
172  FreeType followed the most recent TrueType/OpenType specification here.
173
174
175
176AUTOHINT-SBITS
177
178  When trying to load a glyph, with the auto-hinter activated (i.e., when
179  using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
180  own hinter), embedded bitmaps are _never_ loaded, unlike the default
181  behaviour described by the API specification.
182
183  This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
184  efficiently without making a few important internal changes to the
185  library's design (more importantly, to the font driver interface).
186
187  This has been corrected with a hack in FT_Load_Glyph().  More important
188  internal changes should help get rid of it with a clean solution in a
189  further release like FreeType 2.1.
190
191
192
193BAD-T1-CHARMAP
194
195  Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
196  charset.  Those characters are mapped as MAC-one in glnames.py, so they
197  cannot be shown in Adobe Type1 fonts.
198
199  (This was due to a bug in the "glnames.py" script used to generate the
200  table of glyph names in 'src/psaux/pstables.h'.)
201
202
203
204BAD-UNIXXXX-NAMES
205
206  Glyph names like uniXXXX are not recognized as they should be.  It seems
207  that code in psmodule.c for uniXXXX glyph names was never tested.  The
208  patch is very simple.
209  
210  (A simple bug that was left un-noticed due to the fact that I don't have
211  any Postscript font that use this convention, unfortunately.)
212
213
214
215GLYPH_TO_BITMAP-BUG
216
217  Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
218  outline, creating weird alignment artefacts.
219  
220  This subtle bug was really in the file `src/smooth/ftsmooth.c'. 
221  Basically, the outline was shifted before rendering it into a new bitmap
222  buffer.  However, it wasn't properly un-shifted after that operation.
223
224  This was only noticeable with certain glyphs or certain fonts; it crept in
225  a long time ago.
226                  
227  The same bug has been fixed in src/raster/ftrender1.c also.
228                  
229
230
231TT-GLYPH-CRASH
232
233  The library crashed when trying to load certain glyphs from an
234  automatically generated TrueType file (tt1095m_.ttf submitted by Scott
235  Long).
236  
237  It turned out that the font contained invalid glyph data (i.e. was
238  broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
239  which resulted in nasty memory overwrites all over the place.
240
241
242
243T1-FONT-CRASH
244
245  The library crashed when trying to load the "Stalingrad Regular" face from
246  the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
247  I believe).
248  
249  This was due to the fact that the font missed a full font name entry,
250  though boasted a family name and postscript name.  The Type 1 face loader
251  didn't check for these pathetic cases and seg-faulted.
252
253
254
255BAD-ADVANCES
256
257  All scalable font drivers returned un-fitted glyph advances when
258  FT_LOAD_DEFAULT was used, which was incorrect.  This problem was pretty
259  old but hadn't been spotted because all test programs actually explicitly
260  or implicitly (i.e. through the cache) rounded the advance widths of
261  glyphs.
262  
263  This resulted in poor rendering of a number of client applications however
264  (it is strange to see they took so long to notify the FreeType team).
265
266
267
268GLYPH-TO-BITMAP-BUG
269
270  FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
271  cases, which resulted in random behaviour and bad text rendering.  This
272  was spotted to bugs in both the monochrome and smooth rasterizer.
273
274
275=== end of file ===
276