updating documentation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316
diff --git a/ChangeLog b/ChangeLog
index 942566a..dd1e8d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2002-01-06 David Turner <david@freetype.org>
+ * docs/BUGS, docs/CHANGES: updating documentation for 2.0.6 release
+
* include/freetype/config/ftoption.h: setting default options for
a release build (debugging off, bytecode interpreter off)
diff --git a/docs/BUGS b/docs/BUGS
index 50a3208..e3ef3da 100644
--- a/docs/BUGS
+++ b/docs/BUGS
@@ -47,7 +47,10 @@ BAD-T1-CHARMAP 15-06-2001 David 2.0.5
BAD-UNIXXXX-NAMES 30-07-2001 David 2.0.5
GLYPH_TO_BITMAP-BUG 05-12-2001 David 05-12-2001
AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
-
+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
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
@@ -55,6 +58,8 @@ AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
III. Bug descriptions
=====================
+--- START OF OPENED BUGS ---
+
NO-CID-CMAPS
@@ -63,45 +68,6 @@ NO-CID-CMAPS
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).
-
- 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.
-
BAD-TT-RENDERING
@@ -115,7 +81,8 @@ BAD-TT-RENDERING
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
- monochrome TrueType-hinted glyphs.
+ monochrome TrueType-hinted glyphs (the major differences are gone though !!)
+
BAD-THIN-LINES
@@ -125,6 +92,7 @@ BAD-THIN-LINES
FT_Outline_Render() function.
+
NOT-WINDOWS-METRICS
FreeType doesn't always return the same metrics as Windows for ascender,
@@ -133,25 +101,6 @@ NOT-WINDOWS-METRICS
rounding bug when computing the "x_scale" and "y_scale" values.
-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'.)
-
-
-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.)
-
ADVANCED-COMPOSITES
@@ -193,6 +142,70 @@ ADVANCED-COMPOSITES
for "load_flag", some other way to set preferences is probably needed.
+
+--- END OF OPENED BUGS ---
+
+
+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).
+
+ 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.
+
+
+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'.)
+
+
+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.)
+
+
GLYPH_TO_BITMAP-BUG
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
@@ -208,4 +221,49 @@ GLYPH_TO_BITMAP-BUG
The same bug has been fixed in src/raster/ftrender1.c also.
+
+TT-GLYPH-CRASH
+
+ The library crashed when trying to load certain glyphs from an
+ automatically generated TrueType file (tt1095m_.ttf submitted by
+ Scott Long).
+
+ 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.
+
+
+
+T1-FONT-CRASH
+
+ 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).
+
+ This was due to the fact that the font missed a full font name entry,
+ though boasted a family name and postscript name. The Type 1 face loader
+ didn't check for these pathetic cases and seg-faulted..
+
+
+
+BAD-ADVANCES
+
+ All scalable font drivers returned un-fitted glyph advances when
+ FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
+ old but hadn't been spotted because all test programs actually
+ explicitely or implicitely (i.e. through the cache) rounded the advance
+ widths of glyphs..
+
+ This resulted in poor rendering of a number of client applications
+ however (it's strange to see they took so long to notice the devel team ?)
+
+
+
+GLYPH-TO-BITMAP-BUG
+
+ the FT_Glyph_ToBitmap 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..
+
+
=== end of file ===
diff --git a/docs/CHANGES b/docs/CHANGES
index 7df3ec2..628e811 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -26,6 +26,16 @@ LATEST CHANGES BETWEEN 2.0.6 and 2.0.5
names for certain glyphs.
+ - the library crashed when loading certain Type 1 fonts like "sadn.pfb"
+ ("Stalingrad Normal"), which appear to contain pathetic font info
+ dictionaries..
+
+ - the TrueType glyph loader is now much more paranoid and checks everything
+ when loading a given glyph image. This was necessary to avoid problems
+ (crashes and/or memory overwrites) with broken fonts that came from a
+ really buggy automatic font converter..
+
+
II. IMPORTANT UPDATES AND NEW FEATURES
- Important updates to the Mac-specific parts of the library.
@@ -70,17 +80,20 @@ LATEST CHANGES BETWEEN 2.0.6 and 2.0.5
These are most probably due to small differences in the monochrome
rasterizers and will be worked out in an upcoming release.
- - The next release will be named FreeType 2.1, and will include a
- _major_ rework of the library's internals, both to make the source
- code more consistent, readable, etc. as well as to implement new
- features like:
-
- - sub-pixel filtering ("ClearType" and "CoolType" like)
- - gamma-correction
- - dynamic version and features retrieval
- - important enhancements to the auto-hinter
- - important enhancements to the monochrome rasterizer
- (especially for Postscript-based formats)
+
+ - We have decided to fork the sources in a "stable" branch, and an
+ "unstable" one, since FreeType is becoming a critical component of
+ many Unix systems.
+
+ The next bug-fix releases of the library will be named 2.0.7,
+ 2.0.8, etc.. while the "2.1" branch will contain a version of the
+ sources where we'll start major reworking of the library's internals,
+ in order to produce FreeType 2.2.0 (or even 3.0) in a more distant
+ future.
+
+ We also hope that this scheme will allow much more frequent releases
+ than in the past
+
============================================================================
diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h
index 21f320d..408de79 100644
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -893,7 +893,9 @@ FT_BEGIN_HEADER
/* callback. */
/* */
/* clip_box :: an optional clipping box. It is only used in */
- /* direct rendering mode */
+ /* direct rendering mode. Note that coordinates */
+ /* here should be expressed in _integer_ pixels */
+ /* (and not 26.6 fixed-point units) */
/* */
/* <Note> */
/* An anti-aliased glyph bitmap is drawn if the ft_raster_flag_aa bit */