Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
michael@0 | 1 | 2010-02-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 2 | |
michael@0 | 3 | * Version 2.3.12 released. |
michael@0 | 4 | ========================== |
michael@0 | 5 | |
michael@0 | 6 | |
michael@0 | 7 | Tag sources with `VER-2-3-12'. |
michael@0 | 8 | |
michael@0 | 9 | * docs/CHANGES: Updated. |
michael@0 | 10 | |
michael@0 | 11 | * docs/VERSION.DLL: Update documentation and bump version number to |
michael@0 | 12 | 2.3.12. |
michael@0 | 13 | |
michael@0 | 14 | * README, Jamfile (RefDoc), |
michael@0 | 15 | builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, |
michael@0 | 16 | builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, |
michael@0 | 17 | builds/win32/visualc/freetype.dsp, |
michael@0 | 18 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 19 | builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, |
michael@0 | 20 | builds/win32/visualce/freetype.vcproj, |
michael@0 | 21 | builds/win32/visualce/index.html, |
michael@0 | 22 | builds/wince/vc2005-ce/freetype.vcproj, |
michael@0 | 23 | builds/wince/vc2005-ce/index.html, |
michael@0 | 24 | builds/wince/vc2008-ce/freetype.vcproj, |
michael@0 | 25 | builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/. |
michael@0 | 26 | |
michael@0 | 27 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. |
michael@0 | 28 | |
michael@0 | 29 | * builds/unix/configure.raw (version_info): Set to 10:0:4. |
michael@0 | 30 | |
michael@0 | 31 | 2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 32 | |
michael@0 | 33 | Improve autotool version checking to work with beta releases. |
michael@0 | 34 | |
michael@0 | 35 | * autogen.sh (check_tool_version): Improve the extraction of version |
michael@0 | 36 | number from "tool --version" output. Some beta releases of |
michael@0 | 37 | autotools have extra strings before version number. |
michael@0 | 38 | |
michael@0 | 39 | 2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 40 | |
michael@0 | 41 | Fix overallocating bug in FT_Outline_New_Internal(). |
michael@0 | 42 | |
michael@0 | 43 | * src/base/ftoutln.c (FT_Outline_New_Internal): The length of |
michael@0 | 44 | FT_Outline->points[] should be numPoints, not 2 * numPoints. |
michael@0 | 45 | Found by Paul Messmer, see |
michael@0 | 46 | http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html |
michael@0 | 47 | |
michael@0 | 48 | 2010-02-10 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 49 | |
michael@0 | 50 | Really fix Savannah bug #28678 (part 2). |
michael@0 | 51 | |
michael@0 | 52 | Since we consider `sbw' for the horizontal direction only, we still have |
michael@0 | 53 | to synthesize vertical metrics if the user wants to use the vertical |
michael@0 | 54 | writing direction. |
michael@0 | 55 | |
michael@0 | 56 | * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c |
michael@0 | 57 | (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): |
michael@0 | 58 | Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is |
michael@0 | 59 | set. |
michael@0 | 60 | |
michael@0 | 61 | 2010-02-10 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 62 | |
michael@0 | 63 | Really fix Savannah bug #28678 (part 1). |
michael@0 | 64 | |
michael@0 | 65 | After long discussion, we now consider the character width vector |
michael@0 | 66 | (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* |
michael@0 | 67 | direction only. For example, if you are using the horizontal |
michael@0 | 68 | writing direction, you get the horizontal and vertical components of |
michael@0 | 69 | the advance width for this direction. Note that OpenType and CFF fonts |
michael@0 | 70 | don't have such a vertical component; instead, the GPOS table can be |
michael@0 | 71 | used to generate two-dimensional advance widths (but this isn't |
michael@0 | 72 | handled by FreeType). |
michael@0 | 73 | |
michael@0 | 74 | * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add |
michael@0 | 75 | `advance_v' field to hold the vertical component of the advance |
michael@0 | 76 | value. |
michael@0 | 77 | |
michael@0 | 78 | * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c |
michael@0 | 79 | (cff_slot_load), src/type1/t1gload.c |
michael@0 | 80 | (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c |
michael@0 | 81 | (cid_load_glyph): Use it. |
michael@0 | 82 | |
michael@0 | 83 | 2010-02-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 84 | |
michael@0 | 85 | * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. |
michael@0 | 86 | |
michael@0 | 87 | 2010-02-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 88 | |
michael@0 | 89 | Prevent NULL pointer dereference passed to FT_Module_Requester. |
michael@0 | 90 | |
michael@0 | 91 | * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'. |
michael@0 | 92 | * src/psnames/psmodule.c (psnames_get_interface): Ditto. |
michael@0 | 93 | |
michael@0 | 94 | * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'. |
michael@0 | 95 | * src/truetype/ttdriver.c (tt_get_interface): Ditto. |
michael@0 | 96 | |
michael@0 | 97 | 2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 98 | |
michael@0 | 99 | Fix memory leaks in previous patch. |
michael@0 | 100 | |
michael@0 | 101 | * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings |
michael@0 | 102 | allocated for face->root.family_name and style_name. |
michael@0 | 103 | |
michael@0 | 104 | 2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 105 | |
michael@0 | 106 | New parameters for FT_Open_Face() to ignore preferred family names. |
michael@0 | 107 | |
michael@0 | 108 | Preferred family names should be used for legacy systems that |
michael@0 | 109 | can hold only a few faces (<= 4) for a family name. Suggested by |
michael@0 | 110 | Andreas Heinrich. |
michael@0 | 111 | http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html |
michael@0 | 112 | |
michael@0 | 113 | * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, |
michael@0 | 114 | FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define. |
michael@0 | 115 | |
michael@0 | 116 | * src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and |
michael@0 | 117 | ignore preferred family and subfamily names if requested. |
michael@0 | 118 | |
michael@0 | 119 | 2010-01-27 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 120 | |
michael@0 | 121 | Fix Savannah bug #28678. |
michael@0 | 122 | |
michael@0 | 123 | * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c |
michael@0 | 124 | (cid_load_glyph): Handle vertical metrics correctly. |
michael@0 | 125 | |
michael@0 | 126 | * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle |
michael@0 | 127 | vertical metrics correctly. |
michael@0 | 128 | (T1_Load_Glyph): Don't synthesize vertical metrics. |
michael@0 | 129 | |
michael@0 | 130 | 2010-01-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 131 | |
michael@0 | 132 | Make FT_Set_Transform work if no renderer is available. |
michael@0 | 133 | |
michael@0 | 134 | * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation |
michael@0 | 135 | if no renderer is compiled into the library. |
michael@0 | 136 | |
michael@0 | 137 | 2010-01-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 138 | |
michael@0 | 139 | Fix compilation warning. |
michael@0 | 140 | |
michael@0 | 141 | * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/. |
michael@0 | 142 | * src/base/ftobjc.s: Include ftbase.h conditionally. |
michael@0 | 143 | |
michael@0 | 144 | 2010-01-11 Kwang Yul Seo <skyul@company100.net> |
michael@0 | 145 | |
michael@0 | 146 | Provide inline assembly code for RVCT compiler. |
michael@0 | 147 | This is Savannah patch #7059. |
michael@0 | 148 | |
michael@0 | 149 | * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER, |
michael@0 | 150 | FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define. |
michael@0 | 151 | |
michael@0 | 152 | 2010-01-08 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 153 | |
michael@0 | 154 | Fix Savannah bug #28521. |
michael@0 | 155 | |
michael@0 | 156 | Issue #28226 involved a work-around for a font which used the |
michael@0 | 157 | `setcurrentpoint' operator in an invalid way; this operator is only |
michael@0 | 158 | supposed to be used with the result of OtherSubrs, and the font used |
michael@0 | 159 | it directly. The supplied patch removed the block of code which |
michael@0 | 160 | checked this usage entirely. |
michael@0 | 161 | |
michael@0 | 162 | This turns out to be a Bad Thing. If `setcurrentpoint' is being |
michael@0 | 163 | used correctly it should reset the flex flag in the decoder. If we |
michael@0 | 164 | don't do this then the flag never gets reset and we omit any further |
michael@0 | 165 | contours from the glyph (at least until we close the path or |
michael@0 | 166 | similar). |
michael@0 | 167 | |
michael@0 | 168 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
michael@0 | 169 | <op_setcurrentpoint>: Handle `flex_state' correctly. |
michael@0 | 170 | |
michael@0 | 171 | 2010-01-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 172 | |
michael@0 | 173 | Apply reports from clang static analyzer. |
michael@0 | 174 | |
michael@0 | 175 | * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c |
michael@0 | 176 | (FT_Stroker_ParseOutline), src/base/ftsynth.c |
michael@0 | 177 | (FT_GlyphSlot_Embolden): Remove dead code. |
michael@0 | 178 | |
michael@0 | 179 | * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize |
michael@0 | 180 | `offset_i' and `length_i'. |
michael@0 | 181 | |
michael@0 | 182 | 2010-01-05 Ralph Giles <giles@ghostscript.com> |
michael@0 | 183 | |
michael@0 | 184 | Enable the incremental font interface by default. |
michael@0 | 185 | |
michael@0 | 186 | Ghostscript requires the incremental font interface for handling |
michael@0 | 187 | some Postscript documents. It is moving to using FreeType as its |
michael@0 | 188 | primary renderer; supporting this in the default build makes it |
michael@0 | 189 | Ghostscript to be linked against the system FreeType when one is |
michael@0 | 190 | available. |
michael@0 | 191 | |
michael@0 | 192 | * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL): |
michael@0 | 193 | Uncomment. |
michael@0 | 194 | |
michael@0 | 195 | 2010-01-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 196 | |
michael@0 | 197 | Fix Savannah bug #28395. |
michael@0 | 198 | |
michael@0 | 199 | * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c |
michael@0 | 200 | (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface |
michael@0 | 201 | is used. |
michael@0 | 202 | |
michael@0 | 203 | 2010-01-05 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 204 | |
michael@0 | 205 | Make Type 1 `seac' operator work with incremental interface. |
michael@0 | 206 | This fixes Savannah bug #28480. |
michael@0 | 207 | |
michael@0 | 208 | * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names' |
michael@0 | 209 | if incremental interface is used. |
michael@0 | 210 | |
michael@0 | 211 | 2010-01-04 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 212 | |
michael@0 | 213 | Make incremental interface work with TrueType fonts. |
michael@0 | 214 | This fixes Savannah bug #28478. |
michael@0 | 215 | |
michael@0 | 216 | * src/truetype/ttgload.c (load_truetype_glyph): Don't check |
michael@0 | 217 | `glyf_offset' if incremental interface is used. |
michael@0 | 218 | |
michael@0 | 219 | 2009-12-31 Lars Abrahamsson <wonko@opera.com> |
michael@0 | 220 | |
michael@0 | 221 | Make compilation with FT_CONFIG_OPTION_PIC work again. |
michael@0 | 222 | |
michael@0 | 223 | * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]: |
michael@0 | 224 | Declare `library' for FT_BITMAP_GLYPH_CLASS_GET. |
michael@0 | 225 | |
michael@0 | 226 | * src/base/ftinit.c (ft_destroy_default_module_classes, |
michael@0 | 227 | ft_create_default_module_classes): Use proper casts (needed for C++ |
michael@0 | 228 | compilation). |
michael@0 | 229 | |
michael@0 | 230 | * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP. |
michael@0 | 231 | |
michael@0 | 232 | 2009-12-22 Marc Kleine-Budde <mkl@pengutronix.de> |
michael@0 | 233 | |
michael@0 | 234 | Make freetype-config aware of $SYSROOT. |
michael@0 | 235 | This is Savannah patch #7040. |
michael@0 | 236 | |
michael@0 | 237 | * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where |
michael@0 | 238 | appropriate. |
michael@0 | 239 | |
michael@0 | 240 | 2009-12-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 241 | |
michael@0 | 242 | Fix compiler warning. |
michael@0 | 243 | Reported by Sean. |
michael@0 | 244 | |
michael@0 | 245 | * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty |
michael@0 | 246 | source files; however, some compilers warn about an unused variable |
michael@0 | 247 | declaration. This is now replaced with a typedef. |
michael@0 | 248 | |
michael@0 | 249 | 2009-12-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 250 | |
michael@0 | 251 | Fix Savannah bug #28320. |
michael@0 | 252 | |
michael@0 | 253 | There exist corrupt, subsetted fonts (embedded in PDF files) which |
michael@0 | 254 | contain a private dict that ends with an unterminated floating point |
michael@0 | 255 | number (no operator following). We now ignore this error (as |
michael@0 | 256 | acrobat does). |
michael@0 | 257 | |
michael@0 | 258 | * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for |
michael@0 | 259 | unterminated floating point numbers. |
michael@0 | 260 | |
michael@0 | 261 | 2009-12-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 262 | |
michael@0 | 263 | Really fix compiler warnings. |
michael@0 | 264 | Reported by Sean. |
michael@0 | 265 | |
michael@0 | 266 | * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS, |
michael@0 | 267 | GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros. |
michael@0 | 268 | |
michael@0 | 269 | 2009-12-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 270 | |
michael@0 | 271 | Improve configure.raw to copy some options from CFLAGS to LDFLAGS. |
michael@0 | 272 | The linker of Mac OS X 10.6 is sensitive to the architecture. If |
michael@0 | 273 | the architectures are specified explicitly for the C compiler, the |
michael@0 | 274 | linker requires the architecture specifications too. |
michael@0 | 275 | |
michael@0 | 276 | * builds/unix/configure.raw: Replace `-isysroot' option parser by |
michael@0 | 277 | more generic argument parser. |
michael@0 | 278 | |
michael@0 | 279 | 2009-12-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 280 | |
michael@0 | 281 | Fix compiler warnings. |
michael@0 | 282 | Reported by Sean. |
michael@0 | 283 | |
michael@0 | 284 | * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data |
michael@0 | 285 | type. |
michael@0 | 286 | |
michael@0 | 287 | 2009-12-14 Ken Sharp <ken.sharp@artifex.com> |
michael@0 | 288 | |
michael@0 | 289 | Ignore invalid `setcurrentpoint' operations in Type 1 fonts. |
michael@0 | 290 | This fixes Savannah bug #28226. |
michael@0 | 291 | |
michael@0 | 292 | At least two wild PostScript files of unknown provenance contain |
michael@0 | 293 | Type 1 fonts, apparently converted from TrueType fonts in earlier |
michael@0 | 294 | PDF versions of the files, which use the `setcurrentpoint' operator |
michael@0 | 295 | inappropriately. |
michael@0 | 296 | |
michael@0 | 297 | FreeType currently throws an error in this case, but Ghostscript and |
michael@0 | 298 | Adobe Distiller both accept the fonts and ignore the problem. This |
michael@0 | 299 | commit #ifdefs out the check so PostScript interpreters using |
michael@0 | 300 | FreeType can render these files. |
michael@0 | 301 | |
michael@0 | 302 | The specification says `setcurrentpoint' should only be used to set |
michael@0 | 303 | the point after a `Subr' call, but these fonts use it to set the |
michael@0 | 304 | initial point to (0,0). Unnecessarily so, as they correctly use an |
michael@0 | 305 | `hsbw' operation which implicitly sets the initial point. |
michael@0 | 306 | |
michael@0 | 307 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
michael@0 | 308 | <op_setcurrentpoint>: Comment out code. |
michael@0 | 309 | |
michael@0 | 310 | 2009-12-14 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 311 | |
michael@0 | 312 | Fix parsing of /CIDFontVersion. |
michael@0 | 313 | This fixes Savannah bug #28287. |
michael@0 | 314 | |
michael@0 | 315 | * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in |
michael@0 | 316 | t1tables.h) is of type FT_Fixed. |
michael@0 | 317 | |
michael@0 | 318 | 2009-12-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 319 | |
michael@0 | 320 | Trace glyph index in CID module. |
michael@0 | 321 | Suggested in Savannah patch #7023. |
michael@0 | 322 | |
michael@0 | 323 | * src/cid/cidgload.c (cid_load_glyph): Add tracing message. |
michael@0 | 324 | |
michael@0 | 325 | 2009-12-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 326 | |
michael@0 | 327 | Fix compiler warnings. |
michael@0 | 328 | |
michael@0 | 329 | * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the |
michael@0 | 330 | proper preprocessor conditional. |
michael@0 | 331 | * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc. |
michael@0 | 332 | |
michael@0 | 333 | 2009-11-25 John Tytgat <John.Tytgat@esko.com> |
michael@0 | 334 | |
michael@0 | 335 | Better handling of start of `eexec' section. |
michael@0 | 336 | This fixes Savannah bug #28090. |
michael@0 | 337 | |
michael@0 | 338 | * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace |
michael@0 | 339 | characters before start of `eexec' section. |
michael@0 | 340 | |
michael@0 | 341 | 2009-11-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 342 | |
michael@0 | 343 | Fix Savannah bug #27742. |
michael@0 | 344 | |
michael@0 | 345 | * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by |
michael@0 | 346 | zero, using a threshold for `theta'. |
michael@0 | 347 | |
michael@0 | 348 | 2009-11-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 349 | |
michael@0 | 350 | Fix Savannah bug #28036. |
michael@0 | 351 | |
michael@0 | 352 | * src/type1/t1afm.c (t1_get_index): Fix comparison. |
michael@0 | 353 | |
michael@0 | 354 | 2009-11-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 355 | |
michael@0 | 356 | Fix compiler warnings. |
michael@0 | 357 | Reported by Kevin Blenkinsopp <arqon@promode.org>. |
michael@0 | 358 | |
michael@0 | 359 | * src/sfnt/ttload.c (check_table_dir): Use proper data type. |
michael@0 | 360 | |
michael@0 | 361 | 2009-11-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 362 | |
michael@0 | 363 | Really fix FreeDesktop bug #21197. |
michael@0 | 364 | This also fixes Savannah bug #28021. |
michael@0 | 365 | |
michael@0 | 366 | * src/autofit/aflatin.c (af_latin_metrics_check_digits), |
michael@0 | 367 | src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop. |
michael@0 | 368 | |
michael@0 | 369 | 2009-11-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 370 | |
michael@0 | 371 | Add tracing messages for advance values. |
michael@0 | 372 | |
michael@0 | 373 | * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c |
michael@0 | 374 | (TT_Get_HMetrics, TT_Get_VMetrics): Do it. |
michael@0 | 375 | |
michael@0 | 376 | 2009-11-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 377 | |
michael@0 | 378 | Fix compiler warning. |
michael@0 | 379 | Reported by Jeremy Manson <jeremy.manson@gmail.com>. |
michael@0 | 380 | |
michael@0 | 381 | * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'. |
michael@0 | 382 | |
michael@0 | 383 | 2009-11-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 384 | |
michael@0 | 385 | Remove compiler warning. |
michael@0 | 386 | Reported by Sean McBride <sean@rogue-research.com>. |
michael@0 | 387 | |
michael@0 | 388 | * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to |
michael@0 | 389 | `int', as specified in the printf(3) man page. |
michael@0 | 390 | |
michael@0 | 391 | 2009-11-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 392 | |
michael@0 | 393 | Fix Savannah bug #27921. |
michael@0 | 394 | |
michael@0 | 395 | * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c |
michael@0 | 396 | (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics), |
michael@0 | 397 | src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant |
michael@0 | 398 | values for rounding if the argument can be negative. |
michael@0 | 399 | |
michael@0 | 400 | 2009-11-03 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 401 | |
michael@0 | 402 | Add basic support for Type1 charstrings in CFF. |
michael@0 | 403 | This fixes Savannah bug #27922. |
michael@0 | 404 | |
michael@0 | 405 | * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle |
michael@0 | 406 | `seac', `sbw', and `setcurrentpoint' opcodes. |
michael@0 | 407 | (cff_compute_bias): Add parameter to indicate the charstring type. |
michael@0 | 408 | Update all callers. |
michael@0 | 409 | (cff_operator_seac): Add parameter for side bearing. |
michael@0 | 410 | (cff_decoder_parse_charstrings): Updated for more Type1 support. |
michael@0 | 411 | |
michael@0 | 412 | 2009-11-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 413 | |
michael@0 | 414 | Return correct `linearHoriAdvance' value for embedded TT bitmaps too. |
michael@0 | 415 | Reported by Jeremy Manson <jeremy.manson@gmail.com>. |
michael@0 | 416 | |
michael@0 | 417 | src/truetype/ttgload.c (load_truetype_glyph): Add parameter to |
michael@0 | 418 | quickly load the glyph header only. |
michael@0 | 419 | Update all callers. |
michael@0 | 420 | (tt_loader_init): Add parameter to quickly load the `glyf' table |
michael@0 | 421 | only. |
michael@0 | 422 | Update all callers. |
michael@0 | 423 | (TT_Load_Glyph): Compute linear advance values for embedded bitmap |
michael@0 | 424 | glyphs too. |
michael@0 | 425 | |
michael@0 | 426 | 2009-11-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 427 | |
michael@0 | 428 | Improve code readability. |
michael@0 | 429 | |
michael@0 | 430 | * src/ttgload.c (load_truetype_glyph): Move metrics calculation |
michael@0 | 431 | to... |
michael@0 | 432 | (tt_get_metrics): This new function. |
michael@0 | 433 | |
michael@0 | 434 | 2009-10-26 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 435 | |
michael@0 | 436 | Fix Savannah bug #27811. |
michael@0 | 437 | |
michael@0 | 438 | * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix |
michael@0 | 439 | signed/unsigned mismatch. |
michael@0 | 440 | |
michael@0 | 441 | 2009-10-19 Ning Dong <flintning@163.com> |
michael@0 | 442 | |
michael@0 | 443 | Fix handling of `get' and `put' CFF instructions. |
michael@0 | 444 | |
michael@0 | 445 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get, |
michael@0 | 446 | cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of |
michael@0 | 447 | elements for the `get' and `put' operators to 32. |
michael@0 | 448 | * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define. |
michael@0 | 449 | (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'. |
michael@0 | 450 | |
michael@0 | 451 | 2009-10-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 452 | |
michael@0 | 453 | Fix handling of `dup' CFF instruction. |
michael@0 | 454 | Problem and solution reported by Ning Dong <flintning@163.com>. |
michael@0 | 455 | |
michael@0 | 456 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>: |
michael@0 | 457 | Increase `args' by 2, not 1. |
michael@0 | 458 | |
michael@0 | 459 | 2009-10-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 460 | |
michael@0 | 461 | * Version 2.3.11 released. |
michael@0 | 462 | ========================== |
michael@0 | 463 | |
michael@0 | 464 | |
michael@0 | 465 | Tag sources with `VER-2-3-11'. |
michael@0 | 466 | |
michael@0 | 467 | * docs/VERSION.DLL: Update documentation and bump version number to |
michael@0 | 468 | 2.3.11. |
michael@0 | 469 | |
michael@0 | 470 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 471 | builds/win32/visualc/freetype.dsp, |
michael@0 | 472 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 473 | builds/win32/visualce/index.html, |
michael@0 | 474 | builds/win32/visualce/freetype.dsp, |
michael@0 | 475 | builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/. |
michael@0 | 476 | |
michael@0 | 477 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11. |
michael@0 | 478 | |
michael@0 | 479 | * builds/unix/configure.raw (version_info): Set to 9:22:3. |
michael@0 | 480 | |
michael@0 | 481 | 2009-10-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 482 | |
michael@0 | 483 | * docs/CHANGES, docs/release: Updated. |
michael@0 | 484 | |
michael@0 | 485 | 2009-10-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 486 | |
michael@0 | 487 | * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops |
michael@0 | 488 | truncation. Reported by Martin von Gagern and Peter Volkov. |
michael@0 | 489 | https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256 |
michael@0 | 490 | |
michael@0 | 491 | 2009-10-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 492 | |
michael@0 | 493 | * Version 2.3.10 released. |
michael@0 | 494 | ========================== |
michael@0 | 495 | |
michael@0 | 496 | |
michael@0 | 497 | Tag sources with `VER-2-3-10'. |
michael@0 | 498 | |
michael@0 | 499 | * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more |
michael@0 | 500 | than a single digit. |
michael@0 | 501 | (dist): We now use git. |
michael@0 | 502 | |
michael@0 | 503 | * docs/VERSION.DLL: Update documentation and bump version number to |
michael@0 | 504 | 2.3.10. |
michael@0 | 505 | |
michael@0 | 506 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 507 | builds/win32/visualc/freetype.dsp, |
michael@0 | 508 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 509 | builds/win32/visualce/index.html, |
michael@0 | 510 | builds/win32/visualce/freetype.dsp, |
michael@0 | 511 | builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/. |
michael@0 | 512 | |
michael@0 | 513 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. |
michael@0 | 514 | |
michael@0 | 515 | * builds/unix/configure.raw (version_info): Set to 9:21:3. |
michael@0 | 516 | |
michael@0 | 517 | 2009-10-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 518 | |
michael@0 | 519 | Fix `make multi'. |
michael@0 | 520 | |
michael@0 | 521 | * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. |
michael@0 | 522 | |
michael@0 | 523 | * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H. |
michael@0 | 524 | |
michael@0 | 525 | 2009-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 526 | |
michael@0 | 527 | [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582. |
michael@0 | 528 | Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed. |
michael@0 | 529 | Now these functions should be called with FTC_Node or FTC_MruNode |
michael@0 | 530 | variable, and the caller should cast them to appropriate pointers to |
michael@0 | 531 | concrete data. These tricky casts can GCC-4.4 optimizer (-O2) |
michael@0 | 532 | confused and the crashing binaries are generated. |
michael@0 | 533 | |
michael@0 | 534 | * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast. |
michael@0 | 535 | Now the 4th argument `node' of this function should be typed as |
michael@0 | 536 | FTC_MruNode. |
michael@0 | 537 | |
michael@0 | 538 | * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline |
michael@0 | 539 | implementation, new temporal variable FTC_MruNode `_mrunode' to take |
michael@0 | 540 | the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline |
michael@0 | 541 | implementation, tricky cast is dropped. |
michael@0 | 542 | |
michael@0 | 543 | * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting |
michael@0 | 544 | to FTC_SizeNode. |
michael@0 | 545 | (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode |
michael@0 | 546 | `mrunode', and FTC_SIZE_NODE() is inserted. |
michael@0 | 547 | (FTC_FACE_NODE): New macro casting to FTC_FaceNode. |
michael@0 | 548 | (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode |
michael@0 | 549 | `mrunode', and FTC_FACE_NODE() is inserted. |
michael@0 | 550 | |
michael@0 | 551 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of |
michael@0 | 552 | `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE() |
michael@0 | 553 | is dropped. |
michael@0 | 554 | (FTC_ImageCache_LookupScaler): Ditto. |
michael@0 | 555 | (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to |
michael@0 | 556 | FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE() |
michael@0 | 557 | is inserted. |
michael@0 | 558 | (FTC_SBitCache_LookupScaler): Ditto. |
michael@0 | 559 | |
michael@0 | 560 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of |
michael@0 | 561 | `node' from FTC_CMapNode to FTC_Node. Extra casting macro |
michael@0 | 562 | FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted. |
michael@0 | 563 | |
michael@0 | 564 | 2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 565 | |
michael@0 | 566 | [cache, psaux, type1] Fix for multi build. |
michael@0 | 567 | In multi build, some cpp functions are left as unresolved symbols. |
michael@0 | 568 | |
michael@0 | 569 | * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1(). |
michael@0 | 570 | |
michael@0 | 571 | * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for |
michael@0 | 572 | FIXED_TO_INT(). |
michael@0 | 573 | * src/type1/t1gload.c: Ditto. |
michael@0 | 574 | * src/type1/t1objs.c: Ditto. |
michael@0 | 575 | |
michael@0 | 576 | 2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 577 | |
michael@0 | 578 | [autofit] Fix for multi build. |
michael@0 | 579 | |
michael@0 | 580 | * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use |
michael@0 | 581 | FT_DECLARE_MODULE() macro in multi build. |
michael@0 | 582 | |
michael@0 | 583 | * src/autofit/aflatin.c: Include <ft2build.h> to handle |
michael@0 | 584 | FT_ADVANCES_H correctly in multi build. |
michael@0 | 585 | |
michael@0 | 586 | 2009-09-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 587 | |
michael@0 | 588 | [cache] Check the face filled by FTC_Manager_LookupFace(). |
michael@0 | 589 | |
michael@0 | 590 | * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return |
michael@0 | 591 | immediately if FTC_Manager_LookupFace() fills face by NULL. Such |
michael@0 | 592 | case can occur when the code is optimized by GCC-4.2.x. |
michael@0 | 593 | |
michael@0 | 594 | 2009-09-23 Werner Lemberg <wl@gnu.org> |
michael@0 | 595 | |
michael@0 | 596 | * docs/CHANGES: Updated. |
michael@0 | 597 | |
michael@0 | 598 | 2009-09-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 599 | |
michael@0 | 600 | [raster] Fix 5-levels grayscale output. |
michael@0 | 601 | This was broken since version 2.3.0. |
michael@0 | 602 | |
michael@0 | 603 | * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which |
michael@0 | 604 | were then computed dynamically). |
michael@0 | 605 | (Vertical_Gray_Sweep_Step): Updated. |
michael@0 | 606 | |
michael@0 | 607 | (ft_black_render): Initialize `worker->gray_lines' (problem found by |
michael@0 | 608 | valgrind). |
michael@0 | 609 | |
michael@0 | 610 | (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just |
michael@0 | 611 | comment out. |
michael@0 | 612 | |
michael@0 | 613 | 2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 614 | |
michael@0 | 615 | Improve configure.raw for cross build. |
michael@0 | 616 | |
michael@0 | 617 | * builds/unix/configure.raw: Remove temporal files created by the |
michael@0 | 618 | suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when |
michael@0 | 619 | cross compiler is GCC. AC_PROG_CC checks whether the cross compiler |
michael@0 | 620 | is GCC, its result is stored in GCC. |
michael@0 | 621 | |
michael@0 | 622 | 2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 623 | |
michael@0 | 624 | [BDF] Modify hash API to take size_t value instead of void *. |
michael@0 | 625 | |
michael@0 | 626 | The hash API in BDF driver is designed to be generic, it takes |
michael@0 | 627 | void * typed data. But BDF driver always gives an unsigned long |
michael@0 | 628 | integer (the index to a property). To reduce non-essential |
michael@0 | 629 | casts from unsigned long to void* and from void* to unsigned |
michael@0 | 630 | long, the hash API is changed to take size_t integer. |
michael@0 | 631 | The issue of incompatible cast between unsigned long and void* |
michael@0 | 632 | on LLP64 platform is reported by NightStrike from MinGW-Win64 |
michael@0 | 633 | project. See |
michael@0 | 634 | http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html |
michael@0 | 635 | |
michael@0 | 636 | * src/bdf/bdf.h: The type of hashnode->data is changed from |
michael@0 | 637 | void* to size_t. |
michael@0 | 638 | |
michael@0 | 639 | * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of |
michael@0 | 640 | void* data. |
michael@0 | 641 | (bdf_create_property): Get the name length of new property by |
michael@0 | 642 | size_t variable, with a cut-off at FT_ULONG_MAX. |
michael@0 | 643 | (_bdf_set_default_spacing): Get the name length of the face by |
michael@0 | 644 | size_t variable, with a cut-off at 256. |
michael@0 | 645 | (bdf_get_property): Get the property id by size_t variable to |
michael@0 | 646 | reduce the casts between 32-bit prop ID & hashnode->data during |
michael@0 | 647 | simple copying. |
michael@0 | 648 | (_bdf_add_property): Ditto. |
michael@0 | 649 | (_bdf_parse_start): Calculate the index to the property array |
michael@0 | 650 | by size_t variable. |
michael@0 | 651 | (bdf_get_font_property): Drop a cast to unsigned long. |
michael@0 | 652 | |
michael@0 | 653 | 2009-09-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 654 | |
michael@0 | 655 | [Win64] Improve the computation of random seed from stack address. |
michael@0 | 656 | |
michael@0 | 657 | On LLP64 platform, the conversion from pointer to FT_Fixed need |
michael@0 | 658 | to drop higher 32-bit. Explict casts are required. Reported by |
michael@0 | 659 | NightStrike from MinGW-w64 project. See |
michael@0 | 660 | http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html |
michael@0 | 661 | |
michael@0 | 662 | * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly. |
michael@0 | 663 | |
michael@0 | 664 | * src/psaux/t1decode.c: Ditto. |
michael@0 | 665 | |
michael@0 | 666 | |
michael@0 | 667 | 2009-09-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 668 | |
michael@0 | 669 | [raster] Improvements for stand-alone mode. |
michael@0 | 670 | |
michael@0 | 671 | * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for |
michael@0 | 672 | stand-alone mode only. |
michael@0 | 673 | |
michael@0 | 674 | * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func, |
michael@0 | 675 | FT_Realloc_Func): Copy declarations from ftsystem.h. |
michael@0 | 676 | |
michael@0 | 677 | 2009-09-02 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 678 | |
michael@0 | 679 | Improve vertical metrics calculation (Savannah bug #27364). |
michael@0 | 680 | |
michael@0 | 681 | The calculation of `vertBearingX' is not defined in the OTF font |
michael@0 | 682 | spec so FreeType does a `best effort' attempt. However, this value |
michael@0 | 683 | is defined in the PDF and PostScript specs, and that algorithm is |
michael@0 | 684 | better than the one FreeType currently uses: |
michael@0 | 685 | |
michael@0 | 686 | FreeType: Use the middle of the bounding box as the X coordinate |
michael@0 | 687 | of the vertical origin. |
michael@0 | 688 | |
michael@0 | 689 | Adobe PDF spec: Use the middle of the horizontal advance vector as |
michael@0 | 690 | the X coordinate of the vertical origin. |
michael@0 | 691 | |
michael@0 | 692 | FreeType's algorithm goes wrong if you have a really small glyph |
michael@0 | 693 | (like the full-width, circle-like dot at the end of the sentence, as |
michael@0 | 694 | used in CJK scripts) with large bearings. With the FreeType |
michael@0 | 695 | algorithm this dot gets centered on the baseline; with the PDF |
michael@0 | 696 | algorithm it gets the correct location (in the top right). Note |
michael@0 | 697 | that this is a serious issue, it's like printing the dot at the end |
michael@0 | 698 | of a Roman sentence at the center of the textline instead of on the |
michael@0 | 699 | baseline like it should. So i believe the PDF spec's algorithm |
michael@0 | 700 | should be used in FreeType as well. |
michael@0 | 701 | |
michael@0 | 702 | The `vertBearingY' value for such small glyphs is also very strange |
michael@0 | 703 | if no `vmtx' information is present, since the height of the bbox is |
michael@0 | 704 | not representable for the height of the glyph visually (the |
michael@0 | 705 | whitespace up to the baseline is part of the glyph). The fix also |
michael@0 | 706 | includes some code for a better estimate of `vertBearingY'. |
michael@0 | 707 | |
michael@0 | 708 | * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX' |
michael@0 | 709 | is now calculated as described by the Adobe PDF Spec. Estimate for |
michael@0 | 710 | `vertBearingY' now works better for small glyphs completely above or |
michael@0 | 711 | below the baseline into account. |
michael@0 | 712 | |
michael@0 | 713 | * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now |
michael@0 | 714 | calculated as described by the Adobe PDF Spec. Vertical metrics |
michael@0 | 715 | information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS |
michael@0 | 716 | was not defined. |
michael@0 | 717 | |
michael@0 | 718 | * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is |
michael@0 | 719 | now calculated as described by the Adobe PDF Spec. |
michael@0 | 720 | |
michael@0 | 721 | 2009-09-01 John Tytgat <John.Tytgat@esko.com> |
michael@0 | 722 | |
michael@0 | 723 | Fix custom cmap for empty Type 1 font (Savannah bug #27294). |
michael@0 | 724 | |
michael@0 | 725 | * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update |
michael@0 | 726 | comment to reflect revised code_last meaning. |
michael@0 | 727 | * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c |
michael@0 | 728 | (T42_Open_Face): Assign max_char as highest character code + 1 and |
michael@0 | 729 | use this for T1_EncodingRecRec_::code_last. |
michael@0 | 730 | * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised |
michael@0 | 731 | T1_EncodingRecRec_::code_last meaning. |
michael@0 | 732 | |
michael@0 | 733 | 2009-08-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 734 | |
michael@0 | 735 | Fix rendering of horizontally compressed CFFs. |
michael@0 | 736 | Bug reported by Ivan Nincic <inincic@pdftron.com>. |
michael@0 | 737 | |
michael@0 | 738 | * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of |
michael@0 | 739 | `font_matrix' also. |
michael@0 | 740 | |
michael@0 | 741 | * docs/CHANGES: Updated. |
michael@0 | 742 | |
michael@0 | 743 | 2009-08-03 suyu0925@gmail.com |
michael@0 | 744 | |
michael@0 | 745 | Don't call `ft_fseek' every time when executing `ft_fread'. |
michael@0 | 746 | |
michael@0 | 747 | * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c |
michael@0 | 748 | (ft_ansi_stream_io): Implement it. |
michael@0 | 749 | |
michael@0 | 750 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 751 | |
michael@0 | 752 | sfnt: Cast a charcode to 32-bit in cmap format 14 parser. |
michael@0 | 753 | |
michael@0 | 754 | * src/sfnt/ttcmap.c (tt_cmap14_char_var_index, |
michael@0 | 755 | tt_cmap14_char_var_isdefault, tt_cmap14_char_variants, |
michael@0 | 756 | tt_cmap14_variant_chars): Correct mismatches from |
michael@0 | 757 | FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments |
michael@0 | 758 | are replaced by FT_UInt32 arguments. |
michael@0 | 759 | |
michael@0 | 760 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 761 | |
michael@0 | 762 | sfnt: Cast a charcode to 32-bit in cmap format 12 parser. |
michael@0 | 763 | |
michael@0 | 764 | * src/sfnt/ttcmap.c (tt_cmap12_char_next): |
michael@0 | 765 | Insert explicit cast from FT_UFast to FT_UInt32 |
michael@0 | 766 | for return value. |
michael@0 | 767 | |
michael@0 | 768 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 769 | |
michael@0 | 770 | psaux: Fix a few casts to FT_Int32 value. |
michael@0 | 771 | |
michael@0 | 772 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): |
michael@0 | 773 | Fix a few casts setting `value' from FT_Long to FT_Int32, |
michael@0 | 774 | because `value' is typed as FT_Int32 since 2009-06-22. |
michael@0 | 775 | |
michael@0 | 776 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 777 | |
michael@0 | 778 | sfnt: Fix a data type mismatching with its source. |
michael@0 | 779 | |
michael@0 | 780 | * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the |
michael@0 | 781 | type of `gindex' from FT_ULong to FT_UInt because |
michael@0 | 782 | it is set by FT_UInt tt_cmap13_char_map_binary() or |
michael@0 | 783 | TT_CMap13->cur_gindex. |
michael@0 | 784 | |
michael@0 | 785 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 786 | |
michael@0 | 787 | sfnt: Extend a few local variables to load 32-bit values. |
michael@0 | 788 | |
michael@0 | 789 | * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count' |
michael@0 | 790 | and `kern' to load 32-bit values. |
michael@0 | 791 | |
michael@0 | 792 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 793 | |
michael@0 | 794 | pfr: Extend `num_aux' to take 32-bit value. |
michael@0 | 795 | |
michael@0 | 796 | * src/pfr/pfrload.c (pfr_phy_font_load): Extend |
michael@0 | 797 | `num_aux' to load 32-bit value. |
michael@0 | 798 | |
michael@0 | 799 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 800 | |
michael@0 | 801 | pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops. |
michael@0 | 802 | |
michael@0 | 803 | * src/pcf/pcfread.c (pcf_get_properties): Load `nprops' |
michael@0 | 804 | as FT_ULong value from PCF file, but truncate it as |
michael@0 | 805 | int to fit PCF_Face->nprops. The number of truncated |
michael@0 | 806 | properties is shown in the trace message. |
michael@0 | 807 | |
michael@0 | 808 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 809 | |
michael@0 | 810 | gxvalid: Extend a few local variables to reduce the casts. |
michael@0 | 811 | |
michael@0 | 812 | * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): |
michael@0 | 813 | Extend `type' and `rest' to take FT_ULong values. |
michael@0 | 814 | |
michael@0 | 815 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 816 | |
michael@0 | 817 | gxvalid: Extend `settingTable' to take 32-bit offset. |
michael@0 | 818 | |
michael@0 | 819 | * src/gxvalid/gxvfeat.c (gxv_feat_name_validate): |
michael@0 | 820 | Extend `settingTable' to take 32-bit offset. |
michael@0 | 821 | |
michael@0 | 822 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 823 | |
michael@0 | 824 | autofit: Cast FT_Long glyph_count to compare with FT_UInt GID. |
michael@0 | 825 | |
michael@0 | 826 | * src/autofit/afglobal.c (af_face_globals_is_digit, |
michael@0 | 827 | af_face_globals_compute_script_coverage): Cast FT_Long |
michael@0 | 828 | globals->glyph_count to FT_ULong, to compare with FT_UInt |
michael@0 | 829 | gindex. |
michael@0 | 830 | |
michael@0 | 831 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 832 | |
michael@0 | 833 | smooth: Exclude 16-bit system in invalid pitch/height check. |
michael@0 | 834 | |
michael@0 | 835 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): |
michael@0 | 836 | pitch and height are typed as FT_UInt but checked to fit |
michael@0 | 837 | 16-bit range, to avoid the overflows. On 16-bit system, |
michael@0 | 838 | this checking inserts a conditional that never occurs. |
michael@0 | 839 | |
michael@0 | 840 | 2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 841 | |
michael@0 | 842 | cff: Type large constants > 0x7FFF as long for 16-bit systems. |
michael@0 | 843 | |
michael@0 | 844 | * src/cff/cffload.c (cff_charset_load): Type large |
michael@0 | 845 | constants > 0x7FFF as long, because normal constants |
michael@0 | 846 | are typed signed integer that is less than 0x8000 on |
michael@0 | 847 | 16-bit systems. |
michael@0 | 848 | |
michael@0 | 849 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 850 | |
michael@0 | 851 | base: Remove an unused variable. |
michael@0 | 852 | |
michael@0 | 853 | * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an |
michael@0 | 854 | unused variable `library'. glyph->library is used. |
michael@0 | 855 | |
michael@0 | 856 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 857 | |
michael@0 | 858 | cache: Check higher bits in flags for non ILP32 systems. |
michael@0 | 859 | |
michael@0 | 860 | 4 public functions ought to take FT_ULong flags, but take |
michael@0 | 861 | FT_UInt flags. To keep binary compatibility, we drop higher |
michael@0 | 862 | bits on non ILP32 platforms, |
michael@0 | 863 | ILP64 systems: No drop occurs. |
michael@0 | 864 | LP64 systems: Higher bits are not used. |
michael@0 | 865 | 16-bit systems: Drop can occur. |
michael@0 | 866 | See |
michael@0 | 867 | http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html |
michael@0 | 868 | These functions will be refined to take FT_ULong flags in |
michael@0 | 869 | next bump with incompatible API change. |
michael@0 | 870 | |
michael@0 | 871 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): |
michael@0 | 872 | Check `flags' in `type', the 2nd argument. |
michael@0 | 873 | (FTC_SBitCache_Lookup): Ditto. |
michael@0 | 874 | (FTC_ImageCache_LookupScaler): Check `load_flags', |
michael@0 | 875 | the 3rd argument. |
michael@0 | 876 | (FTC_SBitCache_LookupScaler): Ditto. |
michael@0 | 877 | |
michael@0 | 878 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 879 | |
michael@0 | 880 | sfnt: Ignore invalid GIDs in glyph name lookup. |
michael@0 | 881 | |
michael@0 | 882 | * include/freetype/internal/fttrace.h: |
michael@0 | 883 | New trace module for sfdriver.c is added. |
michael@0 | 884 | |
michael@0 | 885 | * src/sfnt/sfdriver.c (sfnt_get_name_index): |
michael@0 | 886 | Restrict glyph name lookup to FT_UInt GID. |
michael@0 | 887 | Genuine TrueType can hold 16-bit glyphs. |
michael@0 | 888 | |
michael@0 | 889 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 890 | |
michael@0 | 891 | pcf: Fix a comparison between FT_Long and FT_ULong. |
michael@0 | 892 | |
michael@0 | 893 | * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error |
michael@0 | 894 | if PCF_Face->nemetrics is negative. |
michael@0 | 895 | |
michael@0 | 896 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 897 | |
michael@0 | 898 | gxvalid: Guarantee `nFeatureFlags' size up to 32-bit. |
michael@0 | 899 | |
michael@0 | 900 | * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate): |
michael@0 | 901 | Extend the 3rd argument `nFeatureFlags' to FT_ULong. |
michael@0 | 902 | * src/gxvalid/gxvmort.h: Ditto. |
michael@0 | 903 | |
michael@0 | 904 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 905 | |
michael@0 | 906 | sfnt: Insert explicit cast for LP64 system. |
michael@0 | 907 | |
michael@0 | 908 | * src/sfnt/ttkern.c (tt_face_load_kern): Insert |
michael@0 | 909 | cast from unsigned long to FT_UInt32. |
michael@0 | 910 | |
michael@0 | 911 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 912 | |
michael@0 | 913 | gxvalid: Guarantee `just' table size upto 32-bit. |
michael@0 | 914 | |
michael@0 | 915 | * src/gxvalid/gxvjust.c (gxv_just_validate): |
michael@0 | 916 | The type of `offset' is changed from FT_UInt to |
michael@0 | 917 | FT_Offset, for 16-bit platforms. |
michael@0 | 918 | |
michael@0 | 919 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 920 | |
michael@0 | 921 | gxvalid: Guarantee `trak' table size upto 32-bit. |
michael@0 | 922 | |
michael@0 | 923 | * src/gxvalid/gxvtrak.c (gxv_trak_validate): |
michael@0 | 924 | The type of `offset' is changed from FT_UInt to |
michael@0 | 925 | FT_Offset, for 16-bit platforms. |
michael@0 | 926 | |
michael@0 | 927 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 928 | |
michael@0 | 929 | type1: Fix a data type mismatching with its source. |
michael@0 | 930 | |
michael@0 | 931 | * include/freetype/internal/t1types.h: The type of |
michael@0 | 932 | T1_Face->buildchar is matched with T1_Decorder->top. |
michael@0 | 933 | |
michael@0 | 934 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 935 | |
michael@0 | 936 | pfr: Fix a data type mismatching with its source. |
michael@0 | 937 | |
michael@0 | 938 | * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset |
michael@0 | 939 | is extended from FT_UInt32 to FT_Offset, because it is |
michael@0 | 940 | calculated with the pointer difference, in |
michael@0 | 941 | pfr_extra_item_load_kerning_pairs(). |
michael@0 | 942 | |
michael@0 | 943 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 944 | |
michael@0 | 945 | pfr: Fix a data type mismatching with its source. |
michael@0 | 946 | |
michael@0 | 947 | * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset |
michael@0 | 948 | is extended from FT_UInt32 to FT_Offset, because it is |
michael@0 | 949 | calculated with the pointer difference in pfr_phy_font_load(). |
michael@0 | 950 | |
michael@0 | 951 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 952 | |
michael@0 | 953 | pfr: Fix a data type mismatching with its source. |
michael@0 | 954 | |
michael@0 | 955 | * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset |
michael@0 | 956 | is extended from FT_UInt32 to FT_Long, because it is |
michael@0 | 957 | loaded by FT_STREAM_POS() in pfr_phy_font_load(). |
michael@0 | 958 | |
michael@0 | 959 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 960 | |
michael@0 | 961 | smooth: Improve the format in debug message. |
michael@0 | 962 | |
michael@0 | 963 | * src/smooth/ftgrays.c (gray_dump_cells): Improve the |
michael@0 | 964 | format specifications to dump variables. |
michael@0 | 965 | |
michael@0 | 966 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 967 | |
michael@0 | 968 | sfnt: Fix a data type mismatching with its source. |
michael@0 | 969 | |
michael@0 | 970 | * src/sfnt/sfobjs.c (sfnt_load_face): The type of |
michael@0 | 971 | local `flags' is matched with FT_Face->face_flags. |
michael@0 | 972 | |
michael@0 | 973 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 974 | |
michael@0 | 975 | psaux: Fix a data type mismatching with its source. |
michael@0 | 976 | |
michael@0 | 977 | * include/freetype/internal/psaux.h: The type of |
michael@0 | 978 | T1_DecorderRec.buildchar is matched with |
michael@0 | 979 | T1_DecorderRec.top. |
michael@0 | 980 | |
michael@0 | 981 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 982 | |
michael@0 | 983 | truetype: Extend TrueType GX packed deltas to FT_Offset. |
michael@0 | 984 | |
michael@0 | 985 | * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): |
michael@0 | 986 | The type of 2nd argument `delta_cnt' is changed from |
michael@0 | 987 | FT_Int to FT_Offset, because its source can be cvt |
michael@0 | 988 | table size calculated from stream position. |
michael@0 | 989 | |
michael@0 | 990 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 991 | |
michael@0 | 992 | truetype: Extend mmvar_len to hold size_t values. |
michael@0 | 993 | |
michael@0 | 994 | * src/truetype/ttgxvar.h: The type of |
michael@0 | 995 | GX_BlendRec.mmvar_len is changed from FT_Int to |
michael@0 | 996 | FT_Offset, because TT_Get_MM_Var() calculates it |
michael@0 | 997 | by sizeof() results. |
michael@0 | 998 | |
michael@0 | 999 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1000 | |
michael@0 | 1001 | truetype: Check invalid function number in IDEF instruction. |
michael@0 | 1002 | |
michael@0 | 1003 | * src/truetype/ttinterp.c (Ins_IDEF): Check |
michael@0 | 1004 | if the operand fits to 8-bit opcode limitation. |
michael@0 | 1005 | |
michael@0 | 1006 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1007 | |
michael@0 | 1008 | truetype: Check invalid function number in FDEF instruction. |
michael@0 | 1009 | |
michael@0 | 1010 | * src/truetype/ttinterp.c (Ins_FDEF): Check |
michael@0 | 1011 | if the operand fits 16-bit function number. |
michael@0 | 1012 | |
michael@0 | 1013 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1014 | |
michael@0 | 1015 | truetype: Truncate the deltas of composite glyph at 16-bit values. |
michael@0 | 1016 | |
michael@0 | 1017 | * src/truetype/ttgload.c (load_truetype_glyph): |
michael@0 | 1018 | Insert cast from FT_Long (deltas[i].{x,y}) to |
michael@0 | 1019 | FT_Int16 in the summation of deltas[] for composite |
michael@0 | 1020 | glyphs. Because deltas[i] is typed as FT_Pos, |
michael@0 | 1021 | its component x, y are typed as FT_Long, but |
michael@0 | 1022 | their sources are always FT_Int16 when they are |
michael@0 | 1023 | loaded by ft_var_readpackeddeltas(). However, |
michael@0 | 1024 | the limitation about the summed deltas is unclear. |
michael@0 | 1025 | |
michael@0 | 1026 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1027 | |
michael@0 | 1028 | truetype: Truncate the instructions upto 16-bit per a glyph. |
michael@0 | 1029 | |
michael@0 | 1030 | * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate |
michael@0 | 1031 | the instructions upto 16-bit length per a glyph. |
michael@0 | 1032 | |
michael@0 | 1033 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1034 | |
michael@0 | 1035 | truetype: Cast the numerical operands to 32-bit for LP64 systems. |
michael@0 | 1036 | |
michael@0 | 1037 | * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP, |
michael@0 | 1038 | Ins_MIRP): Insert cast from long (args[], the |
michael@0 | 1039 | operands passed to TrueType operator) to FT_Int32 |
michael@0 | 1040 | (the argument of TT_MulFix14()). |
michael@0 | 1041 | |
michael@0 | 1042 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1043 | |
michael@0 | 1044 | truetype: Cast the project vector to 32-bit for LP64 system. |
michael@0 | 1045 | |
michael@0 | 1046 | * src/truetype/ttinterp.c (Project, DualProject): |
michael@0 | 1047 | Insert casts from FT_Pos (the arguments `dx', `dy') |
michael@0 | 1048 | to FT_UInt32 (the argument to TT_DotFix14()). |
michael@0 | 1049 | |
michael@0 | 1050 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1051 | |
michael@0 | 1052 | truetype: Cast the scaling params to 32-bit for LP64 system. |
michael@0 | 1053 | |
michael@0 | 1054 | * src/truetype/ttgload.c (TT_Process_Composite_Component): |
michael@0 | 1055 | Insert casts from long (return value of FT_MulFix()) to |
michael@0 | 1056 | FT_Int32 (the argument to FT_SqrtFixed()). |
michael@0 | 1057 | |
michael@0 | 1058 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1059 | |
michael@0 | 1060 | sfnt: Cast a character code to FT_UInt32 for LP64 system. |
michael@0 | 1061 | |
michael@0 | 1062 | * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, |
michael@0 | 1063 | tt_cmap14_variants, tt_cmap14_char_variants, |
michael@0 | 1064 | tt_cmap14_def_char_count, tt_cmap14_get_def_chars, |
michael@0 | 1065 | tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars) |
michael@0 | 1066 | Insert casts when FT_UInt32 variable is loaded by |
michael@0 | 1067 | TT_NEXT_{UINT24|ULONG}. Because most of them are |
michael@0 | 1068 | compared with FT_UInt32 values in public API, replacing |
michael@0 | 1069 | FT_UFast is not recommended. |
michael@0 | 1070 | |
michael@0 | 1071 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1072 | |
michael@0 | 1073 | sfnt: Cast a character code to FT_UInt32 for LP64 system. |
michael@0 | 1074 | |
michael@0 | 1075 | * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next): |
michael@0 | 1076 | Insert the casts from unsigned long constant to |
michael@0 | 1077 | FT_UInt32. |
michael@0 | 1078 | |
michael@0 | 1079 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1080 | |
michael@0 | 1081 | sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF. |
michael@0 | 1082 | |
michael@0 | 1083 | * include/freetype/internal/tttypes.h: The type |
michael@0 | 1084 | of TT_BDF->string_size is extended from FT_UInt32 |
michael@0 | 1085 | to FT_ULong, because BDF specification does not |
michael@0 | 1086 | restrict the length of string. |
michael@0 | 1087 | * src/sfnt/ttbdf.c: The scratch variable `strings' |
michael@0 | 1088 | to load TT_BDF->string_size is matched with |
michael@0 | 1089 | TT_BDF->string_size. |
michael@0 | 1090 | |
michael@0 | 1091 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1092 | |
michael@0 | 1093 | psaux: Handle the string length by FT_Offset variables. |
michael@0 | 1094 | |
michael@0 | 1095 | * src/psaux/afmparse.c (afm_parser_next_key, |
michael@0 | 1096 | afm_tokenize, afm_parse_track_kern, |
michael@0 | 1097 | afm_parse_kern_pairs, afm_parse_kern_data, |
michael@0 | 1098 | afm_parser_skip_section, afm_parser_parse): |
michael@0 | 1099 | The length of key is handled by FT_Offset, |
michael@0 | 1100 | instead of FT_UInt. Although the length of |
michael@0 | 1101 | PostScript strings or name object is 16-bit, |
michael@0 | 1102 | AFM_STREAM_KEY_LEN() calculates the length |
michael@0 | 1103 | from the pointer difference. |
michael@0 | 1104 | |
michael@0 | 1105 | * src/psaux/afmparse.h (afm_parser_next_key): |
michael@0 | 1106 | Ditto. |
michael@0 | 1107 | |
michael@0 | 1108 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1109 | |
michael@0 | 1110 | pcf: Fix some data types mismatching with their sources. |
michael@0 | 1111 | |
michael@0 | 1112 | * src/pcf/pcfread.c (pcf_get_bitmaps): The types |
michael@0 | 1113 | of `nbitmaps', `i', `sizebitmaps' are matched with |
michael@0 | 1114 | the type of area FT_Bitmap.pitch * FT_Bitmap.rows. |
michael@0 | 1115 | |
michael@0 | 1116 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1117 | |
michael@0 | 1118 | pcf: Handle the string length by size_t variables. |
michael@0 | 1119 | |
michael@0 | 1120 | * src/pcf/pcfread.c (pcf_interpret_style): The types |
michael@0 | 1121 | of nn, len, lengths[4] are changed to size_t, because |
michael@0 | 1122 | they are loaded by (or compared with) ft_strlen(). |
michael@0 | 1123 | |
michael@0 | 1124 | * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap, |
michael@0 | 1125 | FourByteSwap): The type of the 2nd argument `nbytes' |
michael@0 | 1126 | is changed to size_t, for similarity with ANSI C |
michael@0 | 1127 | string functions. |
michael@0 | 1128 | |
michael@0 | 1129 | * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of |
michael@0 | 1130 | `bytes' is changed to FT_Offset, because it is passed |
michael@0 | 1131 | to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At |
michael@0 | 1132 | least, using unsigned type is better. |
michael@0 | 1133 | |
michael@0 | 1134 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1135 | |
michael@0 | 1136 | pcf: Fix some data types mismatching with their sources. |
michael@0 | 1137 | |
michael@0 | 1138 | * src/pcf/pcfread.c (pcf_seek_to_table_type, |
michael@0 | 1139 | pcf_has_table_type): The type of 3rd argument |
michael@0 | 1140 | `ntables' is matched with PCF_Toc->count. |
michael@0 | 1141 | |
michael@0 | 1142 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1143 | |
michael@0 | 1144 | otvalid: Truncate the glyph index to 16-bit. |
michael@0 | 1145 | |
michael@0 | 1146 | * src/otvalid/otvalid.c (otv_validate): Checks |
michael@0 | 1147 | face->num_glyphs does not exceed 16-bit limit, |
michael@0 | 1148 | pass FT_UInt num_glyphs to backend functions |
michael@0 | 1149 | otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate(). |
michael@0 | 1150 | |
michael@0 | 1151 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1152 | |
michael@0 | 1153 | cache: Insert explict casts for LP64 systems. |
michael@0 | 1154 | |
michael@0 | 1155 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup, |
michael@0 | 1156 | FTC_SBitCache_Lookup): The type of FTC_ImageType->width |
michael@0 | 1157 | is FT_Int, so the cast to unsigned larger type FT_ULong |
michael@0 | 1158 | is introduced for the comparisons with 0x10000L for |
michael@0 | 1159 | LP64 platform. |
michael@0 | 1160 | |
michael@0 | 1161 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1162 | |
michael@0 | 1163 | cache: Fix some data types mismatching with their sources. |
michael@0 | 1164 | |
michael@0 | 1165 | * src/cache/ftccache.h: The type of return value |
michael@0 | 1166 | by FTC_Node_WeightFunc function is changed to |
michael@0 | 1167 | FT_Offset. The type of FTC_CacheClass->cache_size |
michael@0 | 1168 | is changed to FT_Offset, too. |
michael@0 | 1169 | |
michael@0 | 1170 | * src/cache/ftccback.h (ft_inode_weight, |
michael@0 | 1171 | ftc_snode_weight): Ditto. |
michael@0 | 1172 | |
michael@0 | 1173 | * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto. |
michael@0 | 1174 | |
michael@0 | 1175 | * src/cache/ftcimage.c (ftc_inode_weight, |
michael@0 | 1176 | FTC_INode_Weight): Ditto. |
michael@0 | 1177 | |
michael@0 | 1178 | * src/cache/ftcsbits.c (ftc_snode_weight, |
michael@0 | 1179 | FTC_SNode_Weight): Ditto. |
michael@0 | 1180 | |
michael@0 | 1181 | * src/cache/ftcmru.h: The type of |
michael@0 | 1182 | FTC_MruListClass->node_size is changed to FT_Offset, |
michael@0 | 1183 | because it is passed to FT_ALLOC() to specify the |
michael@0 | 1184 | size of buffer. |
michael@0 | 1185 | |
michael@0 | 1186 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1187 | |
michael@0 | 1188 | XXX_cmap_encoding_char_next() return FT_UInt32 values. |
michael@0 | 1189 | |
michael@0 | 1190 | * include/freetype/internal/services/svpscmap.h: |
michael@0 | 1191 | The size of the charcode value returned by |
michael@0 | 1192 | the function typed PS_Unicodes_CharNextFunc is |
michael@0 | 1193 | matched with its input charcode value. |
michael@0 | 1194 | |
michael@0 | 1195 | * src/cff/cffmap.c (cff_cmap_encoding_char_next, |
michael@0 | 1196 | cff_cmap_unicode_char_next): Ditto. |
michael@0 | 1197 | |
michael@0 | 1198 | * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next): |
michael@0 | 1199 | Ditto. |
michael@0 | 1200 | |
michael@0 | 1201 | * src/psaux/t1cmap.c (t1_cmap_std_char_next, |
michael@0 | 1202 | t1_cmap_custom_char_next, t1_cmap_unicode_char_next): |
michael@0 | 1203 | Ditto. |
michael@0 | 1204 | |
michael@0 | 1205 | * src/psnames/psmodule.c (ps_unicodes_char_next): |
michael@0 | 1206 | Ditto. |
michael@0 | 1207 | |
michael@0 | 1208 | * src/winfonts/winfnt.c (fnt_cmap_char_next): |
michael@0 | 1209 | Ditto. |
michael@0 | 1210 | |
michael@0 | 1211 | * src/sfnt/ttcmap.c (tt_cmap0_char_next, |
michael@0 | 1212 | tt_cmap2_char_next, tt_cmap4_char_next, |
michael@0 | 1213 | tt_cmap6_char_next, tt_cmap10_char_next, |
michael@0 | 1214 | tt_cmap12_char_next, tt_cmap13_char_next): Ditto. |
michael@0 | 1215 | (tt_cmap14_char_variants): Handle base unicode |
michael@0 | 1216 | codepoint by FT_UInt32 variable to avoid overflow |
michael@0 | 1217 | on 16-bit platforms. |
michael@0 | 1218 | (tt_cmap14_ensure): The type of `num_results' is |
michael@0 | 1219 | extend to FT_UInt32, to cover unsigned 32-bit |
michael@0 | 1220 | `numVarSelectorRecords' in cmap14 table header. |
michael@0 | 1221 | |
michael@0 | 1222 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1223 | |
michael@0 | 1224 | truetype: Extend TT_Face->num_locations for broken TTFs. |
michael@0 | 1225 | |
michael@0 | 1226 | * include/freetype/internal/tttypes.h: |
michael@0 | 1227 | TT_Face->num_locations are extended from FT_UInt |
michael@0 | 1228 | to FT_ULong, to stand with broken huge loca table. |
michael@0 | 1229 | Some people insists there are broken TTF including |
michael@0 | 1230 | the glyphs over 16-bit limitation, in PRC market. |
michael@0 | 1231 | * src/truetype/ttpload.c (tt_face_load_loca): |
michael@0 | 1232 | Remove unrequired 16-bit truncation for FT_UInt |
michael@0 | 1233 | TT_Face->num_locations. |
michael@0 | 1234 | |
michael@0 | 1235 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1236 | |
michael@0 | 1237 | smooth: Fix some data types mismatching with their sources. |
michael@0 | 1238 | |
michael@0 | 1239 | * src/smooth/ftgrays.c: The type of `TCoord' is |
michael@0 | 1240 | matched to `TPos', because they are mixed in |
michael@0 | 1241 | gray_set_cell(). The type of TCell->x is extended |
michael@0 | 1242 | to `TPos', because gray_find_cell() sets it by |
michael@0 | 1243 | TWorker.ex. The type of TCell->cover is extended |
michael@0 | 1244 | to `TCoord', because gray_render_scanline() adds |
michael@0 | 1245 | TCoord value to it. The type of TWork.cover is matched |
michael@0 | 1246 | with TCell->cover. The types of |
michael@0 | 1247 | TWork.{max_cells,num_cells} are changed to FT_PtrDist, |
michael@0 | 1248 | because they are calculated from the memory addresses. |
michael@0 | 1249 | The type of TWork.ycount is changed to TPos, because |
michael@0 | 1250 | it is calculated from TPos variables. |
michael@0 | 1251 | (gray_find_cell): The type of `x' is matched with |
michael@0 | 1252 | its initial value ras.ex. |
michael@0 | 1253 | (gray_render_scanline): The types of `mod', `lift' |
michael@0 | 1254 | and `rem' are changed to TCoord, because their values |
michael@0 | 1255 | are set with explicit casts to TCoord. When ras.area |
michael@0 | 1256 | is updated by the differential values including |
michael@0 | 1257 | `delta', they are explicitly cast to TArea, because |
michael@0 | 1258 | the type of `delta' is not TArea but TCoord. |
michael@0 | 1259 | (gray_render_line): The type of `mod' is extended |
michael@0 | 1260 | from int to TCoord, because (TCoord)dy is added to mod. |
michael@0 | 1261 | (gray_hline): The argument `acount' is extended to |
michael@0 | 1262 | TCoord, to match with the parameters in the callers. |
michael@0 | 1263 | |
michael@0 | 1264 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1265 | |
michael@0 | 1266 | cff: Fix some data types mismatching with their sources. |
michael@0 | 1267 | |
michael@0 | 1268 | * src/cff/cffobjs.c (cff_face_init): The type of |
michael@0 | 1269 | `scaling' is matched with the scaling parameter |
michael@0 | 1270 | in FT_Matrix_Multiply_Scaled() and |
michael@0 | 1271 | FT_Vector_Transform_Scaled(). |
michael@0 | 1272 | |
michael@0 | 1273 | * src/cff/cffparse.c (cff_parse_real): The type of |
michael@0 | 1274 | `power_ten', `scaling', `exponent_add', |
michael@0 | 1275 | `integer_length', `fraction_length', |
michael@0 | 1276 | `new_fraction_length' and `shift' are matched with |
michael@0 | 1277 | the type of `exponent' to avoid unexpected truncation. |
michael@0 | 1278 | (cff_parse_fixed_scaled): The type of `scaling' is |
michael@0 | 1279 | matched with the `scaling' argument to |
michael@0 | 1280 | cff_parse_real(). |
michael@0 | 1281 | (cff_parse_fixed_dynamic): Ditto. |
michael@0 | 1282 | (cff_parse_font_matrix): The type of `scaling' is |
michael@0 | 1283 | matched with the `scaling' argument to |
michael@0 | 1284 | cff_parse_dynamic(). |
michael@0 | 1285 | |
michael@0 | 1286 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1287 | |
michael@0 | 1288 | autofit: Fix some data types mismatching with their sources. |
michael@0 | 1289 | |
michael@0 | 1290 | * src/autofit/afglobal.c: Correct the type of |
michael@0 | 1291 | AF_FaceGlobalsRec.glyph_count to match with |
michael@0 | 1292 | FT_Face->num_glyphs. |
michael@0 | 1293 | (af_face_globals_compute_script_coverage): |
michael@0 | 1294 | Insert explicit cast to compare |
michael@0 | 1295 | FT_Long AF_FaceGlobalsRec.glyph_count versus |
michael@0 | 1296 | FT_UInt gindex. The type of `nn' is changed |
michael@0 | 1297 | to scan glyph index upto AF_FaceGlobalsRec.glyph_count. |
michael@0 | 1298 | (af_face_globals_get_metrics): The type of `script_max' |
michael@0 | 1299 | is changed to cover size_t value. Insert explicit cast |
michael@0 | 1300 | to compare FT_Long AF_FaceGlobalsRec.glyph_count versus |
michael@0 | 1301 | FT_UInt gindex. |
michael@0 | 1302 | |
michael@0 | 1303 | * src/autofit/afhints.c (af_axis_hints_new_segment): |
michael@0 | 1304 | Insert explicit cast to calculate `big_max' from |
michael@0 | 1305 | integer and size_t values. |
michael@0 | 1306 | (af_axis_hints_new_edge): Ditto. |
michael@0 | 1307 | |
michael@0 | 1308 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): |
michael@0 | 1309 | The type of `best_y' is matched to FT_Vector.y. |
michael@0 | 1310 | (af_latin_compute_stem_width): The type of `delta' is |
michael@0 | 1311 | matched to `dist' and `org_dist'. |
michael@0 | 1312 | |
michael@0 | 1313 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1314 | |
michael@0 | 1315 | autofit: Count the size of the memory object by ptrdiff_t. |
michael@0 | 1316 | |
michael@0 | 1317 | * src/autofit/afcjk.c (af_cjk_hint_edges): The |
michael@0 | 1318 | number of edges `n_edges' should be counted by |
michael@0 | 1319 | FT_PtrDist variable instead of FT_Int. |
michael@0 | 1320 | |
michael@0 | 1321 | * src/autofit/aflatin.c (af_latin_hint_edges): |
michael@0 | 1322 | Ditto. |
michael@0 | 1323 | |
michael@0 | 1324 | * src/autofit/aftypes.h: In AF_ScriptClassRec, |
michael@0 | 1325 | the size of metric `script_metrics_size' should |
michael@0 | 1326 | be counted by FT_Offset variable instead of FT_UInt. |
michael@0 | 1327 | |
michael@0 | 1328 | * src/autofit/afhints.c |
michael@0 | 1329 | (af_glyph_hints_align_strong_points): The cursors |
michael@0 | 1330 | for the edges `min', `max', `mid' in the memory |
michael@0 | 1331 | buffer should be typed FT_PtrDist. |
michael@0 | 1332 | |
michael@0 | 1333 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1334 | |
michael@0 | 1335 | autofit: Fix for unused variable `first'. |
michael@0 | 1336 | |
michael@0 | 1337 | * src/autofit/afhints.c (af_glyph_hints_reload): Insert |
michael@0 | 1338 | FT_UNUSED() to hide the unused variable warning. |
michael@0 | 1339 | |
michael@0 | 1340 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1341 | |
michael@0 | 1342 | Improve bitmap size or pixel variables for 16-bit systems. |
michael@0 | 1343 | |
michael@0 | 1344 | * include/freetype/config/ftstdlib.h: Introduce |
michael@0 | 1345 | FT_INT_MIN, to use in signed integer overflow in |
michael@0 | 1346 | 16-bit and 64-bit platforms. |
michael@0 | 1347 | |
michael@0 | 1348 | * include/freetype/internal/fttrace.h: Add a tracer |
michael@0 | 1349 | to ftsynth.c. |
michael@0 | 1350 | |
michael@0 | 1351 | * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check |
michael@0 | 1352 | invalid strength causing integer overflow on 16-bit |
michael@0 | 1353 | platform. |
michael@0 | 1354 | |
michael@0 | 1355 | * src/base/ftcalc.c (ft_corner_orientation): Change |
michael@0 | 1356 | the internal calculation from FT_Int to FT_Long, to |
michael@0 | 1357 | avoid an overflow on 16-bit platforms. The caller of |
michael@0 | 1358 | this function should use only the sign of result, |
michael@0 | 1359 | so the cast to FT_Int is acceptable. |
michael@0 | 1360 | |
michael@0 | 1361 | * src/base/ftsynth.c: Introduce a tracer for synth module. |
michael@0 | 1362 | (FT_GlyphSlot_Embolden): Check invalid strength causing |
michael@0 | 1363 | integer overflow on 16-bit platform. |
michael@0 | 1364 | |
michael@0 | 1365 | * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index |
michael@0 | 1366 | in FT2 API is typed as FT_UInt, although BDF driver |
michael@0 | 1367 | can handle unsigned long glyph index internally. To |
michael@0 | 1368 | avoid integer overflow on 16-bit platform, too large |
michael@0 | 1369 | glyph index should be excluded. |
michael@0 | 1370 | (BDF_Glyph_Load): The glyph pitch in FT2 is typed as |
michael@0 | 1371 | FT_UInt, although BDF driver can handle unsigned long |
michael@0 | 1372 | glyph pitch internally. To avoid integer overflow on |
michael@0 | 1373 | 16-bit platform, too large glyph pitch should not be |
michael@0 | 1374 | returned. |
michael@0 | 1375 | |
michael@0 | 1376 | * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph |
michael@0 | 1377 | pitch in FT2 is typed as FT_UInt, although PFR font |
michael@0 | 1378 | format can include huge bitmap glyph with 24-bit pitch |
michael@0 | 1379 | (however, a glyph spends 16.7 pixel, it's not realistic). |
michael@0 | 1380 | To avoid integer overflow on 16-bit platform, huge |
michael@0 | 1381 | bitmap glyph should be excluded. |
michael@0 | 1382 | |
michael@0 | 1383 | * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is |
michael@0 | 1384 | truncated to fit its type (16-bit short), FT_Span.y |
michael@0 | 1385 | should be truncated to fit its type (FT_Int). |
michael@0 | 1386 | |
michael@0 | 1387 | * src/cff/cffdrivr.c (cff_get_ros): CFF specification |
michael@0 | 1388 | defines the supplement in ROS as a real number. |
michael@0 | 1389 | Truncate it to fit public FT2 API. |
michael@0 | 1390 | |
michael@0 | 1391 | * src/cff/cffparse.c (cff_parse_cid_ros): Warn the |
michael@0 | 1392 | supplement if it is truncated or rounded in cff_get_ros(). |
michael@0 | 1393 | |
michael@0 | 1394 | * src/cff/cfftypes.h: Change the type of internal variable |
michael@0 | 1395 | `supplement' from FT_Long to FT_ULong to fit the signedness |
michael@0 | 1396 | to the type in public API. |
michael@0 | 1397 | |
michael@0 | 1398 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1399 | |
michael@0 | 1400 | psaux: Prevent invalid arguments to afm_parser_read_vals(). |
michael@0 | 1401 | |
michael@0 | 1402 | * src/psaux/afmparse.c (afm_parser_read_vals): Change |
michael@0 | 1403 | the type of `n' to prevent negative number how many |
michael@0 | 1404 | arguments should be parsed. |
michael@0 | 1405 | |
michael@0 | 1406 | * src/psaux/afmparse.h (afm_parser_read_vals): Ditto. |
michael@0 | 1407 | |
michael@0 | 1408 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1409 | |
michael@0 | 1410 | base: Prevent some overflows on LP64 systems. |
michael@0 | 1411 | |
michael@0 | 1412 | * src/base/ftadvance.c (FT_Get_Advances): Cast the |
michael@0 | 1413 | unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32 |
michael@0 | 1414 | for LP64 platforms. |
michael@0 | 1415 | |
michael@0 | 1416 | * src/base/ftcalc.c (FT_Sqrt32): All internal variables |
michael@0 | 1417 | are changed to FT_UInt32 from FT_ULong. |
michael@0 | 1418 | (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms. |
michael@0 | 1419 | This function is designed for 32-bit integer, although |
michael@0 | 1420 | their arguments and return value are FT_Long. |
michael@0 | 1421 | |
michael@0 | 1422 | * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode' |
michael@0 | 1423 | is within unsigned 32-bit integer for LP64 platforms. |
michael@0 | 1424 | (FT_Face_GetCharVariantIndex): Check `charcode' and |
michael@0 | 1425 | `variantSelector' are within 32-bit integer for LP64 |
michael@0 | 1426 | platforms. |
michael@0 | 1427 | (FT_Face_GetCharsOfVariant): Check `variantSelector' is |
michael@0 | 1428 | within unsigned 32-bit integer for LP64 platforms. |
michael@0 | 1429 | |
michael@0 | 1430 | * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed |
michael@0 | 1431 | variable `val' and unsigned long constant FT_TRIG_SCALE |
michael@0 | 1432 | are cast to FT_UInt32, when calculates FT_UInt32. |
michael@0 | 1433 | (FT_Vector_Rotate): The long constant 1L is cast to |
michael@0 | 1434 | FT_Int32 to calculate FT_Int32 `half'. |
michael@0 | 1435 | |
michael@0 | 1436 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1437 | |
michael@0 | 1438 | cff: Cast the long variables to 32-bit for LP64 systems. |
michael@0 | 1439 | |
michael@0 | 1440 | * src/cff/cffdrivr.c (cff_get_advances): Insert |
michael@0 | 1441 | explicit cast to modify a 32-bit flag by unsigned |
michael@0 | 1442 | long constant. |
michael@0 | 1443 | |
michael@0 | 1444 | * src/cff/cffobjs.c (cff_face_init): Ditto. |
michael@0 | 1445 | |
michael@0 | 1446 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): |
michael@0 | 1447 | Replace the casts to FT_Long by the casts to FT_Int32 |
michael@0 | 1448 | for LP64 platforms. |
michael@0 | 1449 | |
michael@0 | 1450 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1451 | |
michael@0 | 1452 | pcf: Improve PCF_PropertyRec.value names on LP64 platforms. |
michael@0 | 1453 | |
michael@0 | 1454 | * src/pcf/pcf.h: In PCF_PropertyRec.value, the member |
michael@0 | 1455 | `integer' is replaced by `l', `cardinal' is replaced |
michael@0 | 1456 | by `ul', to fix the difference between the name and |
michael@0 | 1457 | the types on LP64 platforms. |
michael@0 | 1458 | |
michael@0 | 1459 | * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect |
michael@0 | 1460 | PCF_PropertyRec.value change, with appropriate casts |
michael@0 | 1461 | to FT_Int32/FT_UInt32. Their destinations |
michael@0 | 1462 | BDF_PropertyRec.{integer|cardinal} are public and |
michael@0 | 1463 | explicitly defined as FT_Int32/FT_UInt32. |
michael@0 | 1464 | |
michael@0 | 1465 | * src/pcf/pcfread.c (pcf_get_properties, pcf_load_font): |
michael@0 | 1466 | Reflect PCF_PropertyRec.value change. |
michael@0 | 1467 | |
michael@0 | 1468 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1469 | |
michael@0 | 1470 | pcf: Fix some data types mismatching with their sources. |
michael@0 | 1471 | |
michael@0 | 1472 | * src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of |
michael@0 | 1473 | `code' is matched to PCF_Encoding->enc. |
michael@0 | 1474 | (pcf_cmap_char_next): The type of `charcode' is matched |
michael@0 | 1475 | to PCF_Encoding->enc. When *acharcode is set by charcode, |
michael@0 | 1476 | an overflow is checked and cast to unsigned 32-bit |
michael@0 | 1477 | integer. |
michael@0 | 1478 | |
michael@0 | 1479 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1480 | |
michael@0 | 1481 | bdf: Improve bdf_property_t.value names for LP64 platforms. |
michael@0 | 1482 | |
michael@0 | 1483 | * src/bdf/bdf.h: In bdf_property_t.value, the member |
michael@0 | 1484 | `int32' is replaced by `l', `card32' is replaced by |
michael@0 | 1485 | `ul', to fix the difference between the name and the |
michael@0 | 1486 | types on LP64 platforms. |
michael@0 | 1487 | |
michael@0 | 1488 | * src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect |
michael@0 | 1489 | bdf_property_t.value change. |
michael@0 | 1490 | (bdf_get_bdf_property): Reflect bdf_property_t.value |
michael@0 | 1491 | change, with appropriate casts to FT_Int32/FT_UInt32. |
michael@0 | 1492 | Their destinations BDF_PropertyRec.{integer|cardinal} |
michael@0 | 1493 | are public and explicitly defined as FT_Int32/FT_UInt32. |
michael@0 | 1494 | |
michael@0 | 1495 | * src/bdf/bdflib.c (_bdf_add_property): Reflect |
michael@0 | 1496 | bdf_property_t.value change. |
michael@0 | 1497 | |
michael@0 | 1498 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1499 | |
michael@0 | 1500 | bdf: Fix some data types mismatching with their sources. |
michael@0 | 1501 | |
michael@0 | 1502 | * src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type |
michael@0 | 1503 | of `code' is matched with BDF_encoding_el->enc. |
michael@0 | 1504 | (bdf_cmap_char_next): The type of `charcode' is |
michael@0 | 1505 | matched with BDF_encoding_el->enc. When *acharcode |
michael@0 | 1506 | is set by charcode, an overflow is checked and |
michael@0 | 1507 | cast to unsigned 32-bit integer. |
michael@0 | 1508 | |
michael@0 | 1509 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1510 | |
michael@0 | 1511 | autofit: Improve Unicode range definitions. |
michael@0 | 1512 | |
michael@0 | 1513 | * src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro |
michael@0 | 1514 | to declare a range by two unsigned 32-bit integer, |
michael@0 | 1515 | to avoid 64-bit range definition on LP64 platforms. |
michael@0 | 1516 | |
michael@0 | 1517 | * src/autofit/aflatin.c (af_latin_uniranges): Ditto. |
michael@0 | 1518 | |
michael@0 | 1519 | * src/autofit/aflatin2.c (af_latin2_uniranges): Ditto. |
michael@0 | 1520 | |
michael@0 | 1521 | * src/autofit/afindic.c (af_indic_uniranges): Ditto. |
michael@0 | 1522 | |
michael@0 | 1523 | * src/autofit/afcjk.c (af_cjk_uniranges): Declare |
michael@0 | 1524 | the ranges by AF_UNIRANGE_REC. |
michael@0 | 1525 | |
michael@0 | 1526 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1527 | |
michael@0 | 1528 | smooth: Fix a data type mismatching with its source. |
michael@0 | 1529 | |
michael@0 | 1530 | * src/smooth/ftgrays.c (gray_sweep): The type of |
michael@0 | 1531 | `area' is matched with the 3rd argument `area' |
michael@0 | 1532 | of gray_hline(). |
michael@0 | 1533 | |
michael@0 | 1534 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1535 | |
michael@0 | 1536 | smooth: Fix a data type mismatching with its source. |
michael@0 | 1537 | |
michael@0 | 1538 | * src/smooth/ftgrays.c (gray_render_line): The type |
michael@0 | 1539 | of `area' is matched with TWorker.area. |
michael@0 | 1540 | |
michael@0 | 1541 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1542 | |
michael@0 | 1543 | cache: Disable the legacy compatibility if 16-bit system. |
michael@0 | 1544 | |
michael@0 | 1545 | * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude |
michael@0 | 1546 | the legacy behaviour from 16-bit platform, because the |
michael@0 | 1547 | current hack cannot detect the caller uses this function |
michael@0 | 1548 | via legacy convension. |
michael@0 | 1549 | (FTC_SBitCache_Lookup): Ditto. |
michael@0 | 1550 | |
michael@0 | 1551 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1552 | |
michael@0 | 1553 | cache: Check 32-bit glyph index on 16-bit systems. |
michael@0 | 1554 | |
michael@0 | 1555 | * src/cache/ftcbasic.c (ftc_basic_family_get_count): |
michael@0 | 1556 | Check overflow caused by the face including large |
michael@0 | 1557 | number of glyphs > 64k. |
michael@0 | 1558 | |
michael@0 | 1559 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1560 | |
michael@0 | 1561 | cache: Fix some data types mismatching with their sources. |
michael@0 | 1562 | |
michael@0 | 1563 | * src/cache/ftccache.c (ftc_cache_resize): The types of |
michael@0 | 1564 | `p', `mask', `count' are matched with FTC_Cache->{p,mask}. |
michael@0 | 1565 | (FTC_Cache_Clear): The type of `old_index' is matched to |
michael@0 | 1566 | FTC_Cache->{p,mask}. |
michael@0 | 1567 | |
michael@0 | 1568 | * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type |
michael@0 | 1569 | of `_idx' is matched with FTC_Cache->{p,mask}. |
michael@0 | 1570 | |
michael@0 | 1571 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1572 | |
michael@0 | 1573 | cache: Fix some data types mismatching with their sources. |
michael@0 | 1574 | |
michael@0 | 1575 | * src/cache/ftcsbits.c (ftc_snode_load): The types |
michael@0 | 1576 | of `xadvance' and `yadvance' are matched with |
michael@0 | 1577 | FT_GlyphSlot->advance.{x|y}. |
michael@0 | 1578 | |
michael@0 | 1579 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1580 | |
michael@0 | 1581 | cache: Cast NULL to a required function type explicitly. |
michael@0 | 1582 | |
michael@0 | 1583 | * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): |
michael@0 | 1584 | Insert explicit cast from NULL to function type. |
michael@0 | 1585 | |
michael@0 | 1586 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1587 | |
michael@0 | 1588 | fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly. |
michael@0 | 1589 | |
michael@0 | 1590 | * include/freetype/fttypes.h (FT_MAKE_TAG): |
michael@0 | 1591 | Cast the result to FT_Tag. |
michael@0 | 1592 | |
michael@0 | 1593 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1594 | |
michael@0 | 1595 | psnames: Handle Unicode codepoints by FT_UInt32 variables. |
michael@0 | 1596 | |
michael@0 | 1597 | * src/psnames/psmodule.c (BASE_GLYPH): Cast the result |
michael@0 | 1598 | to unsigned 32-bit integer for LP64 platform. |
michael@0 | 1599 | (ps_unicode_value): Return the value by unsigned 32-bit |
michael@0 | 1600 | integer instead of unsigned long. |
michael@0 | 1601 | |
michael@0 | 1602 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1603 | |
michael@0 | 1604 | psaux: Use size_t variable to pass the buffer size. |
michael@0 | 1605 | |
michael@0 | 1606 | * src/psaux/psaux.h (to_bytes): The type of `max_bytes' |
michael@0 | 1607 | (the argument to pass the buffer size) is changed to |
michael@0 | 1608 | size_t, to match with ANSI C string functions. |
michael@0 | 1609 | |
michael@0 | 1610 | * src/psaux/psconv.h (PS_Conv_StringDecode, |
michael@0 | 1611 | PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. |
michael@0 | 1612 | |
michael@0 | 1613 | * src/psaux/psconv.c (PS_Conv_StringDecode, |
michael@0 | 1614 | PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. |
michael@0 | 1615 | |
michael@0 | 1616 | * src/psaux/psobjs.h (ps_parser_to_bytes): Ditto. |
michael@0 | 1617 | |
michael@0 | 1618 | * src/psaux/psobjs.c (ps_parser_to_bytes): Ditto. |
michael@0 | 1619 | |
michael@0 | 1620 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1621 | |
michael@0 | 1622 | type1: Use size_t variable to pass the string length. |
michael@0 | 1623 | |
michael@0 | 1624 | * psaux.h: The type of `len' (the argument to pass |
michael@0 | 1625 | the buffer size to the function in AFM_ParserRec) |
michael@0 | 1626 | is changed to size_t, to match with ANSI C string |
michael@0 | 1627 | functions. |
michael@0 | 1628 | |
michael@0 | 1629 | * t1afm.c (t1_get_index): Ditto. |
michael@0 | 1630 | |
michael@0 | 1631 | * test_afm.c (dummy_get_index): Ditto. |
michael@0 | 1632 | |
michael@0 | 1633 | * afmparse.c (afm_parser_read_vals): To call |
michael@0 | 1634 | AFM_ParserRec.get_index, the length of token |
michael@0 | 1635 | `len' is cast to size_t. |
michael@0 | 1636 | |
michael@0 | 1637 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1638 | |
michael@0 | 1639 | cid: Fix some data types mismatching with their sources. |
michael@0 | 1640 | |
michael@0 | 1641 | * src/cid/cidparse.c (cid_parser_new): The types of |
michael@0 | 1642 | `read_len' and `stream_len' are matched to |
michael@0 | 1643 | FT_Stream->size. Unrequired cast is removed. |
michael@0 | 1644 | |
michael@0 | 1645 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1646 | |
michael@0 | 1647 | cff: Fix for unused variable `rest'. |
michael@0 | 1648 | |
michael@0 | 1649 | * src/cff/cffparse.c (cff_parse_real): Insert |
michael@0 | 1650 | FT_UNUSED() to hide the unused variable warning. |
michael@0 | 1651 | |
michael@0 | 1652 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1653 | |
michael@0 | 1654 | cff: Fix some data types mismatching with their sources. |
michael@0 | 1655 | |
michael@0 | 1656 | * src/cff/cffgload.c (cff_slot_load): The types of |
michael@0 | 1657 | `top_upm' and `sub_upm' are matched with |
michael@0 | 1658 | CFF_FontRecDict->units_per_em. |
michael@0 | 1659 | |
michael@0 | 1660 | * src/cff/cffobjs.c (cff_size_select): Ditto. |
michael@0 | 1661 | (cff_size_request): Ditto. |
michael@0 | 1662 | |
michael@0 | 1663 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1664 | |
michael@0 | 1665 | bdf: Fix some data types mismatching with their sources. |
michael@0 | 1666 | |
michael@0 | 1667 | * bdflib.c (_bdf_list_ensure): The type of `num_items' |
michael@0 | 1668 | is matched with _bdf_list_t.used. Also the types of |
michael@0 | 1669 | `oldsize', `newsize', `bigsize' are matched too. |
michael@0 | 1670 | (_bdf_readstream): `cursor' is used as an offset to |
michael@0 | 1671 | the pointer, it should be typed as FT_Offset. Also |
michael@0 | 1672 | the types of `bytes', `start', `end', `avail' are matched. |
michael@0 | 1673 | |
michael@0 | 1674 | * bdfdrivr.c: The type of BDF_CMap->num_encodings is |
michael@0 | 1675 | matched with FT_CMap->clazz->size. |
michael@0 | 1676 | (bdf_cmap_char_index): The types of `min', `max', `mid' |
michael@0 | 1677 | are matched with BDF_CMap->num_encodings. The type of |
michael@0 | 1678 | `result' is matched with encoding->glyph. |
michael@0 | 1679 | (bdf_cmap_char_next): Ditto, the type of `code' is |
michael@0 | 1680 | matched with BDF_encoding_el.enc. |
michael@0 | 1681 | (bdf_interpret_style): The type of `lengths' is changed |
michael@0 | 1682 | to size_t, to take the value by ft_strlen(). Also the |
michael@0 | 1683 | types of `len', `nn', `mm' are matched. |
michael@0 | 1684 | |
michael@0 | 1685 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1686 | |
michael@0 | 1687 | sfnt: Count the size of the memory object by ptrdiff_t. |
michael@0 | 1688 | |
michael@0 | 1689 | * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of |
michael@0 | 1690 | `peroperty_len' is changed from FT_UInt to FT_Offset, |
michael@0 | 1691 | to match with size_t, which is appropriate type for the |
michael@0 | 1692 | object in the memory buffer. |
michael@0 | 1693 | |
michael@0 | 1694 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1695 | |
michael@0 | 1696 | lzw: Count the size of the memory object by ptrdiff_t. |
michael@0 | 1697 | |
michael@0 | 1698 | * src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total, |
michael@0 | 1699 | stack_size} are changed from FT_UInt to FT_Offset, to match |
michael@0 | 1700 | with size_t, which is appropriate type for the object in |
michael@0 | 1701 | the memory buffer. |
michael@0 | 1702 | |
michael@0 | 1703 | * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of |
michael@0 | 1704 | `old_size' and `new_size' are changed from FT_UInt to |
michael@0 | 1705 | FT_Offset, to match with size_t, which is appropriate type |
michael@0 | 1706 | for the object in the memory buffer. |
michael@0 | 1707 | |
michael@0 | 1708 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1709 | |
michael@0 | 1710 | otvalid: Count the table size on memory by ptrdiff_t. |
michael@0 | 1711 | |
michael@0 | 1712 | * src/otvalid/otvgpos.c (otv_ValueRecord_validate): |
michael@0 | 1713 | Change the type of table size from FT_UInt to |
michael@0 | 1714 | FT_PtrDist because it is calculated by the memory |
michael@0 | 1715 | addresses. |
michael@0 | 1716 | |
michael@0 | 1717 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1718 | |
michael@0 | 1719 | otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset. |
michael@0 | 1720 | |
michael@0 | 1721 | * src/otvalid/otvgpos.c (otv_ExtensionPos_validate): |
michael@0 | 1722 | Extend ExtensionOffset from FT_UInt to FT_ULong, to |
michael@0 | 1723 | cover 32-bit offset on 16-bit platform. |
michael@0 | 1724 | |
michael@0 | 1725 | * src/otvalid/otvgsub.c (otv_ExtensionSubst_validate): |
michael@0 | 1726 | Ditto. |
michael@0 | 1727 | |
michael@0 | 1728 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1729 | |
michael@0 | 1730 | ftobjs.c: Prevent an overflow in glyph index handling. |
michael@0 | 1731 | |
michael@0 | 1732 | * src/base/ftobjs.c (FT_Face_GetCharsOfVariant): |
michael@0 | 1733 | Improve the cast in comparison to avoid the truncation. |
michael@0 | 1734 | |
michael@0 | 1735 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1736 | |
michael@0 | 1737 | Improve the variable types in raccess_make_file_name(). |
michael@0 | 1738 | |
michael@0 | 1739 | * src/base/ftrfork.c (raccess_make_file_name): |
michael@0 | 1740 | Change the type of cursor variable `tmp' to const char*, |
michael@0 | 1741 | to prevent the unexpected modification of original pathname. |
michael@0 | 1742 | (raccess_make_file_name): Change the type of new_length |
michael@0 | 1743 | to size_t. |
michael@0 | 1744 | |
michael@0 | 1745 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1746 | |
michael@0 | 1747 | ftpatent.c: Fix for unused variable `error'. |
michael@0 | 1748 | |
michael@0 | 1749 | * src/base/ftpatent.c (_tt_check_patents_in_range): |
michael@0 | 1750 | Fix warning for unused variable `error'. |
michael@0 | 1751 | |
michael@0 | 1752 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1753 | |
michael@0 | 1754 | type1: Check invalid string longer than PostScript limit. |
michael@0 | 1755 | |
michael@0 | 1756 | * src/type1/t1afm.c (t1_get_index): Check invalid string |
michael@0 | 1757 | which exceeds the limit of PostScript string/name objects. |
michael@0 | 1758 | |
michael@0 | 1759 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1760 | |
michael@0 | 1761 | gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default. |
michael@0 | 1762 | |
michael@0 | 1763 | * src/gzip/ftgzip.c (zcalloc, zcfree): Disable all |
michael@0 | 1764 | zcalloc() & zfree() by zlib in zutil.c, those in |
michael@0 | 1765 | ftgzip.c by FT2 are enabled by default. To use |
michael@0 | 1766 | zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC. |
michael@0 | 1767 | See discussion: |
michael@0 | 1768 | http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html |
michael@0 | 1769 | |
michael@0 | 1770 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1771 | |
michael@0 | 1772 | gzip: Distinguish PureC from TurboC on MSDOS. |
michael@0 | 1773 | |
michael@0 | 1774 | * src/gzip/zutil.c (zcalloc, zcfree): Enable only for |
michael@0 | 1775 | MSDOS platform. |
michael@0 | 1776 | |
michael@0 | 1777 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1778 | |
michael@0 | 1779 | gxvalid: Insert PureC pragma to allow unevaluated variables. |
michael@0 | 1780 | |
michael@0 | 1781 | * builds/atari/ATARI.H: Insert PureC pragma not to |
michael@0 | 1782 | warn against set-but-unevaluated variable in gxvalid |
michael@0 | 1783 | module. |
michael@0 | 1784 | |
michael@0 | 1785 | 2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1786 | |
michael@0 | 1787 | gxvalid: Pass the union by the pointer instead of the value. |
michael@0 | 1788 | |
michael@0 | 1789 | * src/gxvalid/gxvcommn.h: |
michael@0 | 1790 | - Declare new type `GXV_LookupValueCPtr'. |
michael@0 | 1791 | - Update the type of the 2nd argument to pass GXV_LookupValueDesc |
michael@0 | 1792 | data to the function prototyped as GXV_Lookup_Value_Validate_Func, |
michael@0 | 1793 | from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
michael@0 | 1794 | - Likewise for the function prototyped as |
michael@0 | 1795 | GXV_Lookup_Fmt4_Transit_Func. |
michael@0 | 1796 | |
michael@0 | 1797 | - Declare new type `GXV_StateTable_GlyphOffsetCPtr'. |
michael@0 | 1798 | - Update the type of the 3rd argument to pass |
michael@0 | 1799 | GXV_StateTable_GlyphOffsetDesc data to the function prototyped |
michael@0 | 1800 | as GXV_StateTable_Entry_Validate_Func, from |
michael@0 | 1801 | GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr. |
michael@0 | 1802 | |
michael@0 | 1803 | - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'. |
michael@0 | 1804 | - Update the type of the 3rd argument to pass |
michael@0 | 1805 | GXV_XStateTable_GlyphOffsetDesc data to the function prototyped |
michael@0 | 1806 | as GXV_XStateTable_Entry_Validate_Func, |
michael@0 | 1807 | from GXV_XStateTable_GlyphOffsetDesc |
michael@0 | 1808 | to GXV_XStateTable_GlyphOffsetCPtr. |
michael@0 | 1809 | |
michael@0 | 1810 | * src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate, |
michael@0 | 1811 | gxv_XClassTable_lookupval_validate, |
michael@0 | 1812 | gxv_XClassTable_lookupfmt4_transit): |
michael@0 | 1813 | Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
michael@0 | 1814 | |
michael@0 | 1815 | * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate, |
michael@0 | 1816 | gxv_bsln_LookupFmt4_transit): Ditto. |
michael@0 | 1817 | |
michael@0 | 1818 | * src/gxvalid/gxvjust.c |
michael@0 | 1819 | (gxv_just_pcTable_LookupValue_entry_validate, |
michael@0 | 1820 | gxv_just_classTable_entry_validate, |
michael@0 | 1821 | gxv_just_wdcTable_LookupValue_validate): Ditto. |
michael@0 | 1822 | |
michael@0 | 1823 | * src/gxvalid/gxvkern.c |
michael@0 | 1824 | (gxv_kern_subtable_fmt1_entry_validate): Ditto. |
michael@0 | 1825 | |
michael@0 | 1826 | * src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate, |
michael@0 | 1827 | gxv_lcar_LookupFmt4_transit): Ditto. |
michael@0 | 1828 | |
michael@0 | 1829 | * src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate, |
michael@0 | 1830 | gxv_opbd_LookupFmt4_transit): Ditto. |
michael@0 | 1831 | |
michael@0 | 1832 | * src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate, |
michael@0 | 1833 | gxv_prop_LookupFmt4_transit): Ditto. |
michael@0 | 1834 | |
michael@0 | 1835 | * src/gxvalid/gxvmort4.c |
michael@0 | 1836 | (gxv_mort_subtable_type4_lookupval_validate): Ditto. |
michael@0 | 1837 | |
michael@0 | 1838 | * src/gxvalid/gxvmort0.c |
michael@0 | 1839 | (gxv_mort_subtable_type0_entry_validate): Update |
michael@0 | 1840 | from GXV_StateTable_GlyphOffsetDesc |
michael@0 | 1841 | to GXV_StateTable_GlyphOffsetCPtr. |
michael@0 | 1842 | |
michael@0 | 1843 | * src/gxvalid/gxvmort1.c |
michael@0 | 1844 | (gxv_mort_subtable_type1_entry_validate): Ditto. |
michael@0 | 1845 | |
michael@0 | 1846 | * src/gxvalid/gxvmort2.c |
michael@0 | 1847 | (gxv_mort_subtable_type2_entry_validate): Ditto. |
michael@0 | 1848 | |
michael@0 | 1849 | * src/gxvalid/gxvmort5.c |
michael@0 | 1850 | (gxv_mort_subtable_type5_entry_validate): Ditto. |
michael@0 | 1851 | |
michael@0 | 1852 | * src/gxvalid/gxvmorx2.c |
michael@0 | 1853 | (gxv_morx_subtable_type2_entry_validate): Ditto. |
michael@0 | 1854 | |
michael@0 | 1855 | * src/gxvalid/gxvmorx5.c |
michael@0 | 1856 | (gxv_morx_subtable_type5_entry_validate): Ditto. |
michael@0 | 1857 | |
michael@0 | 1858 | * src/gxvalid/gxvmorx1.c |
michael@0 | 1859 | (gxv_morx_subtable_type1_entry_validate): Ditto. |
michael@0 | 1860 | (gxv_morx_subtable_type1_LookupValue_validate, |
michael@0 | 1861 | gxv_morx_subtable_type1_LookupFmt4_transit): |
michael@0 | 1862 | Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. |
michael@0 | 1863 | |
michael@0 | 1864 | * src/gxvalid/gxvmorx0.c |
michael@0 | 1865 | (gxv_morx_subtable_type0_entry_validate): Update |
michael@0 | 1866 | from GXV_XStateTable_GlyphOffsetDesc |
michael@0 | 1867 | to GXV_XStateTable_GlyphOffsetCPtr. |
michael@0 | 1868 | |
michael@0 | 1869 | 2009-07-29 Fabrice Bellet <fabrice@bellet.info> |
michael@0 | 1870 | |
michael@0 | 1871 | Fix Redhat bugzilla #513582 and Savannah bug #26849. |
michael@0 | 1872 | |
michael@0 | 1873 | * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix |
michael@0 | 1874 | aliasing bug. |
michael@0 | 1875 | |
michael@0 | 1876 | 2009-07-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 1877 | |
michael@0 | 1878 | Document recent library changes. |
michael@0 | 1879 | |
michael@0 | 1880 | * docs/CHANGES: Do it. |
michael@0 | 1881 | |
michael@0 | 1882 | 2009-07-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 1883 | |
michael@0 | 1884 | Fix Savannah bug #23786. |
michael@0 | 1885 | |
michael@0 | 1886 | * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem |
michael@0 | 1887 | and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c |
michael@0 | 1888 | get never called. |
michael@0 | 1889 | An anonymous guy suggested this change on Savannah, and it seems to |
michael@0 | 1890 | be the right solution. |
michael@0 | 1891 | |
michael@0 | 1892 | 2009-07-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 1893 | |
michael@0 | 1894 | * docs/release: Updated. |
michael@0 | 1895 | |
michael@0 | 1896 | 2009-07-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 1897 | |
michael@0 | 1898 | README.CVS -> README.git |
michael@0 | 1899 | |
michael@0 | 1900 | * README.CVS: Renamed to... |
michael@0 | 1901 | * README.git: This. |
michael@0 | 1902 | Updated. |
michael@0 | 1903 | |
michael@0 | 1904 | 2009-07-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1905 | |
michael@0 | 1906 | Borland C++ compiler patch proposed by Mirco Babin. |
michael@0 | 1907 | http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html. |
michael@0 | 1908 | |
michael@0 | 1909 | * builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}. |
michael@0 | 1910 | Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform |
michael@0 | 1911 | specific pathname syntax. |
michael@0 | 1912 | * builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS. |
michael@0 | 1913 | Define TE = `-e' separately (bcc32 cannot specify the pathname of |
michael@0 | 1914 | binary executable by T = `-o'). |
michael@0 | 1915 | Extend the large page size in linking freetype.lib. |
michael@0 | 1916 | Add extra CLEAN target to delete bcc specific temporary files. |
michael@0 | 1917 | * builds/compiler/bcc-dev.mk: Ditto. |
michael@0 | 1918 | |
michael@0 | 1919 | 2009-07-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 1920 | |
michael@0 | 1921 | Fix Savannah bug #27026. |
michael@0 | 1922 | |
michael@0 | 1923 | * builds/win32/vc2005/freetype.sln: Use correct version number. |
michael@0 | 1924 | |
michael@0 | 1925 | 2009-07-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1926 | |
michael@0 | 1927 | Add a script to check the undefined and unused trace macros. |
michael@0 | 1928 | |
michael@0 | 1929 | * src/tools/chktrcmp.py: A script to check trace_XXXX macros |
michael@0 | 1930 | that are used in C source but undefined in fttrace.h, or |
michael@0 | 1931 | defined in fttrace.h but unused in C sources. See |
michael@0 | 1932 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html. |
michael@0 | 1933 | * docs/DEBUG: Mention on chktrcmp.py. |
michael@0 | 1934 | * docs/release: Ditto. |
michael@0 | 1935 | |
michael@0 | 1936 | 2009-07-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 1937 | |
michael@0 | 1938 | [ftraster] Make it compile again with -D_STANDALONE_. |
michael@0 | 1939 | |
michael@0 | 1940 | * src/raster/ftraster.c [_STANDALONE_]: Define |
michael@0 | 1941 | FT_CONFIG_STANDARD_LIBRARY_H. |
michael@0 | 1942 | Include `string.h'. |
michael@0 | 1943 | Don't include `rastpic.h'. |
michael@0 | 1944 | Define FT_DEFINE_RASTER_FUNCS. |
michael@0 | 1945 | |
michael@0 | 1946 | 2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1947 | |
michael@0 | 1948 | smooth: Check glyph size by width/height, instead of pitch/height. |
michael@0 | 1949 | Suggested by der Mouse <mouse@Rodents-Montreal.ORG>. |
michael@0 | 1950 | |
michael@0 | 1951 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve |
michael@0 | 1952 | the check for too large glyph. Replace the pair of `pitch' and |
michael@0 | 1953 | `height' by the pair of `width' and `height'. `pitch' cannot |
michael@0 | 1954 | be greater than `height'. The required is checking the product |
michael@0 | 1955 | `pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for |
michael@0 | 1956 | the realistic case only. |
michael@0 | 1957 | |
michael@0 | 1958 | 2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1959 | |
michael@0 | 1960 | Register 2 missing trace components, t1afm and ttbdf. |
michael@0 | 1961 | |
michael@0 | 1962 | * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm ) |
michael@0 | 1963 | and FT_TRACE_DEF( ttbdf ). See |
michael@0 | 1964 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html |
michael@0 | 1965 | |
michael@0 | 1966 | 2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1967 | |
michael@0 | 1968 | Register a trace component for ftgloadr.c. |
michael@0 | 1969 | |
michael@0 | 1970 | * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ). |
michael@0 | 1971 | The macro `trace_gloader' was already used in the initial version |
michael@0 | 1972 | on 2002-02-24. |
michael@0 | 1973 | |
michael@0 | 1974 | 2009-07-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 1975 | |
michael@0 | 1976 | Prevent the overflows by a glyph with too many points or contours. |
michael@0 | 1977 | The bug is reported by Boris Letocha <b.letocha@gmc.net>. See |
michael@0 | 1978 | http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html |
michael@0 | 1979 | http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html |
michael@0 | 1980 | |
michael@0 | 1981 | * include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX, |
michael@0 | 1982 | FT_OUTLINE_POINTS_MAX): New macros to declare the maximum |
michael@0 | 1983 | values of FT_Outline.{n_contours,n_points}. |
michael@0 | 1984 | * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the |
michael@0 | 1985 | total numbers of points and contours cause no overflows in |
michael@0 | 1986 | FT_Outline.{n_contours,n_points}. |
michael@0 | 1987 | |
michael@0 | 1988 | * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P, |
michael@0 | 1989 | FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and |
michael@0 | 1990 | contours as unsigned long number, instead of signed int, to |
michael@0 | 1991 | prevent the overflows on 16-bit systems. |
michael@0 | 1992 | |
michael@0 | 1993 | 2009-07-05 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 1994 | |
michael@0 | 1995 | Improve compatibility to Acroread. |
michael@0 | 1996 | This fixes Savannah bug #26944. |
michael@0 | 1997 | |
michael@0 | 1998 | * src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to |
michael@0 | 1999 | single CID mappings, make the lowest value win. |
michael@0 | 2000 | |
michael@0 | 2001 | 2009-06-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 2002 | |
michael@0 | 2003 | ftpatent: Fix a bug by wrong usage of service->table_info(). |
michael@0 | 2004 | http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html |
michael@0 | 2005 | |
michael@0 | 2006 | * include/freetype/internal/services/svsfnt.h: Extend |
michael@0 | 2007 | FT_SFNT_TableInfoFunc() to take new argument to obtain the offset |
michael@0 | 2008 | to the specified table. |
michael@0 | 2009 | * src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the |
michael@0 | 2010 | table-offset to the caller function. |
michael@0 | 2011 | * src/base/ftpatent.c (_tt_check_patents_in_table): Use new |
michael@0 | 2012 | service->table_info(). |
michael@0 | 2013 | * src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new |
michael@0 | 2014 | service->table_info(). |
michael@0 | 2015 | |
michael@0 | 2016 | 2009-06-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 2017 | |
michael@0 | 2018 | [psaux, cff] Protect against nested `seac' calls. |
michael@0 | 2019 | |
michael@0 | 2020 | * include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h |
michael@0 | 2021 | (CFF_Decoder): Add `seac' boolean variable. |
michael@0 | 2022 | |
michael@0 | 2023 | * src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c |
michael@0 | 2024 | (t1operator_seac): Use it. |
michael@0 | 2025 | |
michael@0 | 2026 | 2009-06-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 2027 | |
michael@0 | 2028 | Thinko. |
michael@0 | 2029 | |
michael@0 | 2030 | * src/psaux/t1decode.c (t1operator_seac) |
michael@0 | 2031 | [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental |
michael@0 | 2032 | interface. |
michael@0 | 2033 | |
michael@0 | 2034 | 2009-06-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 2035 | |
michael@0 | 2036 | * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define. |
michael@0 | 2037 | |
michael@0 | 2038 | 2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 2039 | |
michael@0 | 2040 | Add tools to preprocess the source files for AtariST PureC. |
michael@0 | 2041 | |
michael@0 | 2042 | * builds/atari/deflinejoiner.awk: New file to filter C source files |
michael@0 | 2043 | for broken C preprocessor of PureC compiler. |
michael@0 | 2044 | |
michael@0 | 2045 | * builds/atari/gen-purec-patch.sh: New file to generate a patch set |
michael@0 | 2046 | for PureC, by using deflinejoiner.awk. |
michael@0 | 2047 | |
michael@0 | 2048 | 2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 2049 | |
michael@0 | 2050 | Keep existing modules.cfg in the building tree. |
michael@0 | 2051 | |
michael@0 | 2052 | * configure: If `configure' is executed outside of the source tree, |
michael@0 | 2053 | an existing `modules.cfg' file in the build directory should be |
michael@0 | 2054 | kept, not overwritten by the version in the source tree. |
michael@0 | 2055 | |
michael@0 | 2056 | 2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 2057 | |
michael@0 | 2058 | Filter --srcdir= option before invoking builds/unix/configure. |
michael@0 | 2059 | |
michael@0 | 2060 | * configure: If builds/unix/configure is invoked with --srcdir |
michael@0 | 2061 | option, the option should take `builds/unix' directory instead of |
michael@0 | 2062 | the top source directory. Thus the configure script in the top |
michael@0 | 2063 | directory should modify the --srcdir= option if |
michael@0 | 2064 | `builds/unix/configure' is invoked. |
michael@0 | 2065 | |
michael@0 | 2066 | 2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 2067 | |
michael@0 | 2068 | Improve configure.raw for cross-building on exe-suffixed systems. |
michael@0 | 2069 | |
michael@0 | 2070 | * builds/unix/configure.raw: Fix a bug in sed script to extract |
michael@0 | 2071 | native suffix for binary executables, patch by Peter Breitenlohner. |
michael@0 | 2072 | http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html |
michael@0 | 2073 | |
michael@0 | 2074 | 2009-06-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 2075 | |
michael@0 | 2076 | [truetype] Remove TT_SubGlyphRec. |
michael@0 | 2077 | |
michael@0 | 2078 | * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused. |
michael@0 | 2079 | |
michael@0 | 2080 | 2009-06-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 2081 | |
michael@0 | 2082 | * */*: For warning messages, replace FT_ERROR with FT_TRACE0. |
michael@0 | 2083 | |
michael@0 | 2084 | FT_ERROR is now used only if a function produces a non-zero `error' |
michael@0 | 2085 | value. |
michael@0 | 2086 | |
michael@0 | 2087 | Formatting, improving and harmonizing debug strings. |
michael@0 | 2088 | |
michael@0 | 2089 | 2009-06-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 2090 | |
michael@0 | 2091 | Provide version information better. |
michael@0 | 2092 | |
michael@0 | 2093 | * src/base/ftinit.c (FT_Init_FreeType): Don't set version here |
michael@0 | 2094 | but... |
michael@0 | 2095 | * src/base/ftobjs.c (FT_New_Library): Here. |
michael@0 | 2096 | |
michael@0 | 2097 | 2009-06-22 Werner Lemberg <wl@gnu.org> |
michael@0 | 2098 | |
michael@0 | 2099 | Use 16.16 format while parsing Type 1 charstrings. |
michael@0 | 2100 | This fixes Savannah bug #26867. |
michael@0 | 2101 | |
michael@0 | 2102 | Previously, only integers have been used which can lead to serious |
michael@0 | 2103 | rounding errors. |
michael@0 | 2104 | |
michael@0 | 2105 | However, fractional values are only used internally; after the |
michael@0 | 2106 | charstrings (of either Type 1 or 2) have been processed, the |
michael@0 | 2107 | resulting coordinates get rounded to integers currently -- before |
michael@0 | 2108 | applying scaling. This should be fixed; at the same time a new load |
michael@0 | 2109 | flag should be introduced, to be used in combination with |
michael@0 | 2110 | FT_LOAD_NO_SCALE, which indicates that font units are returned in |
michael@0 | 2111 | 16.16 format. Similarly, the incremental interface should be |
michael@0 | 2112 | extended to allow fractional values for metrics. |
michael@0 | 2113 | |
michael@0 | 2114 | * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift' |
michael@0 | 2115 | field. |
michael@0 | 2116 | * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc, |
michael@0 | 2117 | T1_Hints_SetStem3Func): Use FT_Fixed for coordinates. |
michael@0 | 2118 | |
michael@0 | 2119 | * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 2120 | (t1_build_add_point): Always convert fixed to integer. |
michael@0 | 2121 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): |
michael@0 | 2122 | Use 16.16 format everywhere (except for large integers followed by a |
michael@0 | 2123 | `div'). |
michael@0 | 2124 | [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate |
michael@0 | 2125 | code uncoditionally. |
michael@0 | 2126 | Add support for random numbers and update remaining code |
michael@0 | 2127 | accordingly; this should work now. |
michael@0 | 2128 | (t1_operator_seac): Updated. |
michael@0 | 2129 | * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 2130 | (ps_hints_t1stem3, t1_hints_stem): Updated. |
michael@0 | 2131 | |
michael@0 | 2132 | * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 2133 | (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL], |
michael@0 | 2134 | (cid_face_compute_max_advance, cid_slot_load_glyph): Updated. |
michael@0 | 2135 | |
michael@0 | 2136 | * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) |
michael@0 | 2137 | [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph): |
michael@0 | 2138 | Updated. |
michael@0 | 2139 | * src/type1/t1load.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 2140 | * src/type1/t1objs.c (T1_Face_Init): Updated. |
michael@0 | 2141 | |
michael@0 | 2142 | 2009-06-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 2143 | |
michael@0 | 2144 | * src/pshinter/pshrec.c: Use PSH_Err_Ok. |
michael@0 | 2145 | |
michael@0 | 2146 | 2009-06-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 2147 | |
michael@0 | 2148 | Code beautification. |
michael@0 | 2149 | |
michael@0 | 2150 | * src/type1/t1load.c (FT_INT_TO_FIXED): Removed. |
michael@0 | 2151 | Replace everywhere with INT_TO_FIXED. |
michael@0 | 2152 | (FT_FIXED_TO_INT): Move to ... |
michael@0 | 2153 | * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here. |
michael@0 | 2154 | Update all users. |
michael@0 | 2155 | |
michael@0 | 2156 | 2009-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2157 | |
michael@0 | 2158 | Remove unused variables. |
michael@0 | 2159 | |
michael@0 | 2160 | * include/freetype/internal/psaux.h (T1_BuilderRec), |
michael@0 | 2161 | src/cff/cffgload.h (CFF_Builder): Remove `last'. |
michael@0 | 2162 | Update all users. |
michael@0 | 2163 | |
michael@0 | 2164 | 2009-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2165 | |
michael@0 | 2166 | [psaux] Check large integers while parsing charstrings. |
michael@0 | 2167 | |
michael@0 | 2168 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large |
michael@0 | 2169 | integers must be followed by a `div' operator. |
michael@0 | 2170 | |
michael@0 | 2171 | 2009-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2172 | |
michael@0 | 2173 | [cff] Revert last change. |
michael@0 | 2174 | |
michael@0 | 2175 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it. |
michael@0 | 2176 | Next time, don't confuse Type 2 charstring opcodes with TOP DICT |
michael@0 | 2177 | values... |
michael@0 | 2178 | |
michael@0 | 2179 | 2009-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2180 | |
michael@0 | 2181 | * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix |
michael@0 | 2182 | compiler warning. |
michael@0 | 2183 | |
michael@0 | 2184 | 2009-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2185 | |
michael@0 | 2186 | * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6. |
michael@0 | 2187 | |
michael@0 | 2188 | 2009-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2189 | |
michael@0 | 2190 | [cff] Fix handling of reserved byte 0xFF. |
michael@0 | 2191 | |
michael@0 | 2192 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte |
michael@0 | 2193 | 0xFF is encountered. |
michael@0 | 2194 | |
michael@0 | 2195 | 2009-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2196 | |
michael@0 | 2197 | Improve debug messages for Type1 charstrings. |
michael@0 | 2198 | |
michael@0 | 2199 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines |
michael@0 | 2200 | after instructions. |
michael@0 | 2201 | Prettify output. |
michael@0 | 2202 | |
michael@0 | 2203 | 2009-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2204 | |
michael@0 | 2205 | More ftgray fixes for FT_STATIC_RASTER. |
michael@0 | 2206 | Problems reported by suyu@cooee.cn. |
michael@0 | 2207 | |
michael@0 | 2208 | * src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use |
michael@0 | 2209 | RAS_VAR. |
michael@0 | 2210 | |
michael@0 | 2211 | 2009-06-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 2212 | |
michael@0 | 2213 | * docs/CHANGES: Updated. |
michael@0 | 2214 | |
michael@0 | 2215 | 2009-06-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 2216 | |
michael@0 | 2217 | Fix B/W rasterization of subglyphs with different drop-out modes. |
michael@0 | 2218 | |
michael@0 | 2219 | Normally, the SCANMODE instruction (if present) to set the drop-out |
michael@0 | 2220 | mode in a TrueType font is located in the `prep' table only and thus |
michael@0 | 2221 | valid for all glyphs. However, there are fonts like `pala.ttf' |
michael@0 | 2222 | which additionally contain this instruction in the hinting code of |
michael@0 | 2223 | some glyphs (but not all). As a result it can happen that a |
michael@0 | 2224 | composite glyph needs multiple drop-out modes for its subglyphs |
michael@0 | 2225 | since the rendering state gets reset for each subglyph. |
michael@0 | 2226 | |
michael@0 | 2227 | FreeType collects the hinted outlines from all subglyphs, then it |
michael@0 | 2228 | sends the data to the rasterizer. It also sends the drop-out mode |
michael@0 | 2229 | -- after hinting has been applied -- and here is the error: It sends |
michael@0 | 2230 | the drop-out mode of the last subglyph only; drop-out modes of all |
michael@0 | 2231 | other subglyphs are lost. |
michael@0 | 2232 | |
michael@0 | 2233 | This patch fixes the problem; it adds a second, alternative |
michael@0 | 2234 | mechanism to pass the drop-out mode: For each contour, the |
michael@0 | 2235 | rasterizer now checks the first `tags' array element. If bit 2 is |
michael@0 | 2236 | set, bits 5-7 contain the contour's drop-out mode, overriding the |
michael@0 | 2237 | global drop-out mode. |
michael@0 | 2238 | |
michael@0 | 2239 | * include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro. |
michael@0 | 2240 | |
michael@0 | 2241 | * src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in |
michael@0 | 2242 | `tags[0]'. |
michael@0 | 2243 | |
michael@0 | 2244 | * src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom): |
michael@0 | 2245 | Use bits 3-5 instead of 0-2. |
michael@0 | 2246 | (New_Profile): Set the drop-out mode in the profile's `flags' field. |
michael@0 | 2247 | (Decompose_Curve): Check `tags[0]' and set `dropOutControl' if |
michael@0 | 2248 | necessary. |
michael@0 | 2249 | (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
michael@0 | 2250 | Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out |
michael@0 | 2251 | mode. |
michael@0 | 2252 | |
michael@0 | 2253 | 2009-06-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 2254 | |
michael@0 | 2255 | Improve scan conversion rules 4 and 6. |
michael@0 | 2256 | |
michael@0 | 2257 | Two new constraints are introduced to better identify a `stub' -- a |
michael@0 | 2258 | concept which is only vaguely described in the OpenType |
michael@0 | 2259 | specification. The old code was too rigorous and suppressed more |
michael@0 | 2260 | pixel than it should. |
michael@0 | 2261 | |
michael@0 | 2262 | . The intersection of the two profiles with the scanline is less |
michael@0 | 2263 | than a half pixel. Code related to this was already present in |
michael@0 | 2264 | the sources but has been commented out. |
michael@0 | 2265 | |
michael@0 | 2266 | . The endpoint of the original contour forming a profile has a |
michael@0 | 2267 | distance (`overshoot') less than half a pixel to the scanline. |
michael@0 | 2268 | |
michael@0 | 2269 | Note that the two additional conditions fix almost all differences |
michael@0 | 2270 | to the Windows rasterizer, but some problematic cases remain. |
michael@0 | 2271 | |
michael@0 | 2272 | * src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New |
michael@0 | 2273 | macros for the `flags' field in the `TProfile' structure. |
michael@0 | 2274 | (IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros. |
michael@0 | 2275 | (New_Profile, End_Profile): Pass overshoot flag as an argument and |
michael@0 | 2276 | set it accordingly. |
michael@0 | 2277 | Update callers. |
michael@0 | 2278 | (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new |
michael@0 | 2279 | constraints. |
michael@0 | 2280 | |
michael@0 | 2281 | 2009-06-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 2282 | |
michael@0 | 2283 | Increase precision for B/W rasterizer. |
michael@0 | 2284 | |
michael@0 | 2285 | * src/raster/ftraster.c (Set_High_Precision): Add two more bits to |
michael@0 | 2286 | the precision. This corrects rendering of some small glyphs, for |
michael@0 | 2287 | example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench |
michael@0 | 2288 | on my GNU/Linux box I don't see a performance degradation. |
michael@0 | 2289 | |
michael@0 | 2290 | 2009-06-08 Michael Zucchi <notzed@gmail.com> |
michael@0 | 2291 | |
michael@0 | 2292 | Handle FT_STROKER_LINECAP_BUTT. |
michael@0 | 2293 | This fixes Savannah bug #26757. |
michael@0 | 2294 | |
michael@0 | 2295 | * src/base/ftstroke.c (ft_stroker_cap): Implement it. |
michael@0 | 2296 | |
michael@0 | 2297 | 2009-06-07 Harald Fernengel <harry@kdevelop.org> |
michael@0 | 2298 | |
michael@0 | 2299 | Fix some potential out-of-memory crashes. |
michael@0 | 2300 | |
michael@0 | 2301 | * src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'. |
michael@0 | 2302 | * src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'. |
michael@0 | 2303 | * src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of |
michael@0 | 2304 | `exec' in case of failure. |
michael@0 | 2305 | |
michael@0 | 2306 | 2009-06-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 2307 | |
michael@0 | 2308 | Simplify math. |
michael@0 | 2309 | Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>. |
michael@0 | 2310 | |
michael@0 | 2311 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
michael@0 | 2312 | Horizontal_Gray_Sweep_Drop): Do it. |
michael@0 | 2313 | |
michael@0 | 2314 | 2009-06-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 2315 | |
michael@0 | 2316 | Preparation for fixing scan conversion rules 4 and 6. |
michael@0 | 2317 | |
michael@0 | 2318 | * src/raster/ftraster.c (TFlow): Replace enumeration with... |
michael@0 | 2319 | (Flow_Up): This macro. |
michael@0 | 2320 | (TProfile): Replace `flow' member with `flags' bit field. |
michael@0 | 2321 | Update all affected code. |
michael@0 | 2322 | |
michael@0 | 2323 | 2009-05-29 James Cloos <cloos@jhcloos.com> |
michael@0 | 2324 | |
michael@0 | 2325 | Enable autohinting for glyphs rotated by multiples of 90°. |
michael@0 | 2326 | |
michael@0 | 2327 | * src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted |
michael@0 | 2328 | matrices to allow rotations by multiples of 90°, not only unrotated, |
michael@0 | 2329 | possibly slanted matrices. |
michael@0 | 2330 | |
michael@0 | 2331 | 2009-05-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 2332 | |
michael@0 | 2333 | Remove compiler warning. |
michael@0 | 2334 | Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. |
michael@0 | 2335 | |
michael@0 | 2336 | * src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of |
michael@0 | 2337 | `n_edges' into `#if' block. |
michael@0 | 2338 | |
michael@0 | 2339 | 2009-05-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 2340 | |
michael@0 | 2341 | Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined. |
michael@0 | 2342 | Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. |
michael@0 | 2343 | |
michael@0 | 2344 | * src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]: |
michael@0 | 2345 | Make it work. |
michael@0 | 2346 | Simplify #ifdef logic. |
michael@0 | 2347 | |
michael@0 | 2348 | 2009-05-22 Werner Lemberg <wl@gnu.org> |
michael@0 | 2349 | |
michael@0 | 2350 | Improve b/w rasterizer. |
michael@0 | 2351 | Problem reported by Krzysztof Kotlenga <pocek@users.sf.net>. |
michael@0 | 2352 | |
michael@0 | 2353 | * src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
michael@0 | 2354 | Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if |
michael@0 | 2355 | intersections are equally distant relative to next pixel center, |
michael@0 | 2356 | select the left pixel, not the right one. |
michael@0 | 2357 | |
michael@0 | 2358 | 2009-05-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2359 | |
michael@0 | 2360 | Fix Savannah bug #26600. |
michael@0 | 2361 | |
michael@0 | 2362 | * src/type42/t42parse.c (t42_load_keyword): Handle |
michael@0 | 2363 | T1_FIELD_LOCATION_FONT_EXTRA. |
michael@0 | 2364 | |
michael@0 | 2365 | 2009-04-30 Werner Lemberg <wl@gnu.org> |
michael@0 | 2366 | |
michael@0 | 2367 | Document recent changes to ftview. |
michael@0 | 2368 | |
michael@0 | 2369 | * docs/CHANGES: Do it. |
michael@0 | 2370 | |
michael@0 | 2371 | 2009-04-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 2372 | |
michael@0 | 2373 | autohinter: Don't change digit widths if all widths are the same. |
michael@0 | 2374 | This fixes FreeDesktop bug #21197. |
michael@0 | 2375 | |
michael@0 | 2376 | * src/autofit/afglobal.c (AF_DIGIT): New macro. |
michael@0 | 2377 | (af_face_globals_compute_script_coverage): Mark ASCII digits in |
michael@0 | 2378 | `glyph_scripts' array. |
michael@0 | 2379 | (af_face_globals_get_metrics): Updated. |
michael@0 | 2380 | (af_face_globals_is_digit): New function. |
michael@0 | 2381 | * src/autofit/afglobal.h: Updated. |
michael@0 | 2382 | (AF_ScriptMetricsRec): Add `digits_have_same_width' flag. |
michael@0 | 2383 | |
michael@0 | 2384 | * src/autofit/aflatin.c: Include FT_ADVANCES_H. |
michael@0 | 2385 | (af_latin_metrics_check_digits): New function. |
michael@0 | 2386 | (af_latin_metrics_init): Use it. |
michael@0 | 2387 | * src/autofit/aflatin.h: Updated. |
michael@0 | 2388 | * src/autofit/afcjk.c (af_cjk_metrics_init): Updated. |
michael@0 | 2389 | |
michael@0 | 2390 | * src/autofit/aflatin2.c: Similar changes as with aflatin.c. |
michael@0 | 2391 | |
michael@0 | 2392 | * src/autofit/afloader.c (af_loader_load_g): Test digit width. |
michael@0 | 2393 | |
michael@0 | 2394 | * docs/CHANGES: Document it. |
michael@0 | 2395 | |
michael@0 | 2396 | 2009-04-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 2397 | |
michael@0 | 2398 | Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again. |
michael@0 | 2399 | Problems reported by suyu@cooee.cn. |
michael@0 | 2400 | |
michael@0 | 2401 | * src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS, |
michael@0 | 2402 | FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define. |
michael@0 | 2403 | [!_STANDALONE_]: Include ftspic.h only here. |
michael@0 | 2404 | (ras): Define/declare after definition of `TWorker'. |
michael@0 | 2405 | Use `RAS_VAR_' where necessary. |
michael@0 | 2406 | |
michael@0 | 2407 | 2009-04-21 Karl Berry <karl@gnu.org> |
michael@0 | 2408 | |
michael@0 | 2409 | Fix AC_CHECK_FT2. |
michael@0 | 2410 | |
michael@0 | 2411 | * builds/unix/freetype2.m4: Only check PATH for freetype-config if |
michael@0 | 2412 | we did not already find it from a prefix option. |
michael@0 | 2413 | |
michael@0 | 2414 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2415 | |
michael@0 | 2416 | Add #error to modules and files that do not support PIC yet. |
michael@0 | 2417 | |
michael@0 | 2418 | When FT_CONFIG_OPTION_PIC is defined the following files will |
michael@0 | 2419 | create #error: |
michael@0 | 2420 | * src/bdf/bdfdrivr.h |
michael@0 | 2421 | * src/cache/ftcmanag.c |
michael@0 | 2422 | * src/cid/cidriver.h |
michael@0 | 2423 | * src/gxvalid/gxvmod.h |
michael@0 | 2424 | * src/gzip/ftgzip.c |
michael@0 | 2425 | * src/lzw/ftlzw.c |
michael@0 | 2426 | * src/otvalid/otvmod.h |
michael@0 | 2427 | * src/pcf/pcfdrivr.h |
michael@0 | 2428 | * src/pfr/pfrdrivr.h |
michael@0 | 2429 | * src/psaux/psauxmod.h |
michael@0 | 2430 | * src/type1/t1driver.h |
michael@0 | 2431 | * src/type42/t42drivr.h |
michael@0 | 2432 | * src/winfonts/winfnt.h |
michael@0 | 2433 | |
michael@0 | 2434 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2435 | |
michael@0 | 2436 | Position Independent Code (PIC) support in autofit module. |
michael@0 | 2437 | |
michael@0 | 2438 | * include/freetype/internal/autohint.h add macros to init |
michael@0 | 2439 | instances of FT_AutoHinter_ServiceRec. |
michael@0 | 2440 | |
michael@0 | 2441 | * src/autofit/afmodule.h declare autofit_module_class |
michael@0 | 2442 | using macros from ftmodapi.h, |
michael@0 | 2443 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2444 | functions will be declared. |
michael@0 | 2445 | * src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2446 | af_autofitter_service and autofit_module_class structs |
michael@0 | 2447 | will have functions to init or create and destroy them |
michael@0 | 2448 | instead of being allocated in the global scope. |
michael@0 | 2449 | And macros will be used from afpic.h in order to access them. |
michael@0 | 2450 | |
michael@0 | 2451 | * src/autofit/aftypes.h add macros to init and declare |
michael@0 | 2452 | instances of AF_ScriptClassRec. |
michael@0 | 2453 | |
michael@0 | 2454 | * src/autofit/afcjk.h declare af_cjk_script_class |
michael@0 | 2455 | using macros from aftypes.h, |
michael@0 | 2456 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
michael@0 | 2457 | * src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2458 | af_cjk_script_class struct will have function to init it instead of |
michael@0 | 2459 | being allocated in the global scope. |
michael@0 | 2460 | |
michael@0 | 2461 | * src/autofit/afdummy.h declare af_dummy_script_class |
michael@0 | 2462 | using macros from aftypes.h, |
michael@0 | 2463 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
michael@0 | 2464 | * src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2465 | af_dummy_script_class struct will have function to init it instead of |
michael@0 | 2466 | being allocated in the global scope. |
michael@0 | 2467 | |
michael@0 | 2468 | * src/autofit/afindic.h declare af_indic_script_class |
michael@0 | 2469 | using macros from aftypes.h, |
michael@0 | 2470 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
michael@0 | 2471 | * src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2472 | af_indic_script_class struct will have function to init it instead of |
michael@0 | 2473 | being allocated in the global scope. |
michael@0 | 2474 | |
michael@0 | 2475 | * src/autofit/aflatin.h declare af_latin_script_class |
michael@0 | 2476 | using macros from aftypes.h, |
michael@0 | 2477 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
michael@0 | 2478 | * src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2479 | af_latin_script_class struct will have function to init it instead of |
michael@0 | 2480 | being allocated in the global scope. |
michael@0 | 2481 | Change af_latin_blue_chars to be PIC-compatible by being a two |
michael@0 | 2482 | dimentional array rather than array of pointers. |
michael@0 | 2483 | |
michael@0 | 2484 | |
michael@0 | 2485 | * src/autofit/aflatin2.h declare af_latin2_script_class |
michael@0 | 2486 | using macros from aftypes.h, |
michael@0 | 2487 | when FT_CONFIG_OPTION_PIC is defined init function will be declared. |
michael@0 | 2488 | * src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2489 | af_latin2_script_class struct will have function to init it instead of |
michael@0 | 2490 | being allocated in the global scope. |
michael@0 | 2491 | Change af_latin2_blue_chars to be PIC-compatible by being a two |
michael@0 | 2492 | dimentional array rather than array of pointers. |
michael@0 | 2493 | |
michael@0 | 2494 | * src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2495 | af_script_classes array initialization was moved to afpic.c and |
michael@0 | 2496 | is later refered using macros defeined in afpic.h. |
michael@0 | 2497 | |
michael@0 | 2498 | New Files: |
michael@0 | 2499 | * src/autofit/afpic.h declare struct to hold PIC globals for autofit |
michael@0 | 2500 | module and macros to access them. |
michael@0 | 2501 | * src/autofit/afpic.c implement functions to allocate, destroy and |
michael@0 | 2502 | initialize PIC globals for autofit module. |
michael@0 | 2503 | |
michael@0 | 2504 | * src/autofit/autofit.c add new file to build: afpic.c. |
michael@0 | 2505 | * src/autofit/jamfile add new files to FT2_MULTI build: afpic.c. |
michael@0 | 2506 | |
michael@0 | 2507 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2508 | |
michael@0 | 2509 | Position Independent Code (PIC) support in pshinter module. |
michael@0 | 2510 | |
michael@0 | 2511 | * include/freetype/internal/pshints.h add macros to init |
michael@0 | 2512 | instances of PSHinter_Interface. |
michael@0 | 2513 | |
michael@0 | 2514 | * src/pshinter/pshmod.h declare pshinter_module_class |
michael@0 | 2515 | using macros from ftmodapi.h, |
michael@0 | 2516 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2517 | functions will be declared. |
michael@0 | 2518 | * src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2519 | pshinter_interface and pshinter_module_class structs |
michael@0 | 2520 | will have functions to init or create and destroy them |
michael@0 | 2521 | instead of being allocated in the global scope. |
michael@0 | 2522 | And macros will be used from pshpic.h in order to access them. |
michael@0 | 2523 | |
michael@0 | 2524 | New Files: |
michael@0 | 2525 | * src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter |
michael@0 | 2526 | module and macros to access them. |
michael@0 | 2527 | * src/pshinter/pshpic.c implement functions to allocate, destroy and |
michael@0 | 2528 | initialize PIC globals for pshinter module. |
michael@0 | 2529 | |
michael@0 | 2530 | * src/pshinter/pshinter.c add new file to build: pshpic.c. |
michael@0 | 2531 | * src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c. |
michael@0 | 2532 | |
michael@0 | 2533 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2534 | |
michael@0 | 2535 | Position Independent Code (PIC) support in psnames module. |
michael@0 | 2536 | |
michael@0 | 2537 | * include/freetype/internal/services/svpscmap.h add macros to init |
michael@0 | 2538 | instances of FT_Service_PsCMapsRec. |
michael@0 | 2539 | |
michael@0 | 2540 | * src/psnames/psmodule.h declare psnames_module_class |
michael@0 | 2541 | using macros from ftmodapi.h, |
michael@0 | 2542 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2543 | functions will be declared. |
michael@0 | 2544 | * src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2545 | pscmaps_interface and pscmaps_services structs |
michael@0 | 2546 | and psnames_module_class array |
michael@0 | 2547 | will have functions to init or create and destroy them |
michael@0 | 2548 | instead of being allocated in the global scope. |
michael@0 | 2549 | And macros will be used from pspic.h in order to access them. |
michael@0 | 2550 | |
michael@0 | 2551 | New Files: |
michael@0 | 2552 | * src/psnames/pspic.h declare struct to hold PIC globals for psnames |
michael@0 | 2553 | module and macros to access them. |
michael@0 | 2554 | * src/psnames/pspic.c implement functions to allocate, destroy and |
michael@0 | 2555 | initialize PIC globals for psnames module. |
michael@0 | 2556 | |
michael@0 | 2557 | * src/psnames/psnames.c add new file to build: pspic.c. |
michael@0 | 2558 | * src/psnames/jamfile add new files to FT2_MULTI build: pspic.c. |
michael@0 | 2559 | |
michael@0 | 2560 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2561 | |
michael@0 | 2562 | Position Independent Code (PIC) support in raster renderer. |
michael@0 | 2563 | |
michael@0 | 2564 | * src/raster/ftrend1.h declare ft_raster1_renderer_class |
michael@0 | 2565 | and ft_raster5_renderer_class |
michael@0 | 2566 | using macros from ftrender.h, |
michael@0 | 2567 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2568 | functions will be declared. |
michael@0 | 2569 | * src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2570 | ft_raster1_renderer_class and ft_raster5_renderer_class structs |
michael@0 | 2571 | will have functions to init or create and destroy them |
michael@0 | 2572 | instead of being allocated in the global scope. |
michael@0 | 2573 | Macros will be used from rastpic.h in order to access |
michael@0 | 2574 | ft_standard_raster from the pic_container (allocated in ftraster.c). |
michael@0 | 2575 | In ft_raster1_render when PIC is enabled, the last letter of |
michael@0 | 2576 | module_name is used to verfy the renderer class rather than the |
michael@0 | 2577 | class pointer. |
michael@0 | 2578 | |
michael@0 | 2579 | * src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2580 | ft_standard_raster struct will have function to init it |
michael@0 | 2581 | instead of being allocated in the global scope. |
michael@0 | 2582 | |
michael@0 | 2583 | New Files: |
michael@0 | 2584 | * src/raster/rastpic.h declare struct to hold PIC globals for raster |
michael@0 | 2585 | renderer and macros to access them. |
michael@0 | 2586 | * src/raster/rastpic.c implement functions to allocate, destroy and |
michael@0 | 2587 | initialize PIC globals for raster renderer. |
michael@0 | 2588 | |
michael@0 | 2589 | * src/raster/raster.c add new file to build: rastpic.c. |
michael@0 | 2590 | * src/raster/jamfile add new files to FT2_MULTI build: rastpic.c. |
michael@0 | 2591 | |
michael@0 | 2592 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2593 | |
michael@0 | 2594 | Position Independent Code (PIC) support in smooth renderer. |
michael@0 | 2595 | |
michael@0 | 2596 | * src/smooth/ftsmooth.h declare ft_smooth_renderer_class, |
michael@0 | 2597 | ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class |
michael@0 | 2598 | using macros from ftrender.h, |
michael@0 | 2599 | when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2600 | functions will be declared. |
michael@0 | 2601 | * src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2602 | the following structs: |
michael@0 | 2603 | ft_smooth_renderer_class, ft_smooth_lcd_renderer_class |
michael@0 | 2604 | and ft_smooth_lcd_v_renderer_class |
michael@0 | 2605 | will have functions to init or create and destroy them |
michael@0 | 2606 | instead of being allocated in the global scope. |
michael@0 | 2607 | And macros will be used from ftspic.h in order to access |
michael@0 | 2608 | ft_grays_raster from the pic_container (allocated in ftgrays.c). |
michael@0 | 2609 | |
michael@0 | 2610 | * src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H |
michael@0 | 2611 | * src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined |
michael@0 | 2612 | func_interface was moved from gray_convert_glyph_inner function |
michael@0 | 2613 | to the global scope. |
michael@0 | 2614 | When FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2615 | func_interface and ft_grays_raster structs |
michael@0 | 2616 | will have functions to init them |
michael@0 | 2617 | instead of being allocated in the global scope. |
michael@0 | 2618 | And func_interface will be allocated on the stack of |
michael@0 | 2619 | gray_convert_glyph_inner. |
michael@0 | 2620 | |
michael@0 | 2621 | New Files: |
michael@0 | 2622 | * src/smooth/ftspic.h declare struct to hold PIC globals for smooth |
michael@0 | 2623 | renderer and macros to access them. |
michael@0 | 2624 | * src/smooth/ftspic.c implement functions to allocate, destroy and |
michael@0 | 2625 | initialize PIC globals for smooth renderer. |
michael@0 | 2626 | |
michael@0 | 2627 | * src/smooth/smooth.c add new file to build: ftspic.c. |
michael@0 | 2628 | * src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c. |
michael@0 | 2629 | |
michael@0 | 2630 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2631 | |
michael@0 | 2632 | Position Independent Code (PIC) support in cff driver. |
michael@0 | 2633 | |
michael@0 | 2634 | * include/freetype/internal/services/svcid.h add macros to init |
michael@0 | 2635 | instances of FT_Service_CIDRec. |
michael@0 | 2636 | * include/freetype/internal/services/svpsinfo.h add macros to init |
michael@0 | 2637 | instances of FT_Service_PsInfoRec. |
michael@0 | 2638 | |
michael@0 | 2639 | * src/cff/cffcmap.h declare cff_cmap_encoding_class_rec |
michael@0 | 2640 | and cff_cmap_unicode_class_rec using macros from |
michael@0 | 2641 | ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2642 | functions will be declared. |
michael@0 | 2643 | * src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2644 | the following structs: |
michael@0 | 2645 | cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec |
michael@0 | 2646 | will have functions to init or create and destroy them |
michael@0 | 2647 | instead of being allocated in the global scope. |
michael@0 | 2648 | |
michael@0 | 2649 | * src/cff/cffdrivr.h declare cff_driver_class using macros from |
michael@0 | 2650 | ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2651 | functions will be declared. |
michael@0 | 2652 | * src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2653 | the following structs: |
michael@0 | 2654 | cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name |
michael@0 | 2655 | cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class, |
michael@0 | 2656 | and cff_services array |
michael@0 | 2657 | will have functions to init or create and destroy them |
michael@0 | 2658 | instead of being allocated in the global scope. |
michael@0 | 2659 | And macros will be used from cffpic.h in order to access them |
michael@0 | 2660 | from the pic_container. |
michael@0 | 2661 | Use macros from cffpic.h in order to access the |
michael@0 | 2662 | structs allocated in cffcmap.c |
michael@0 | 2663 | |
michael@0 | 2664 | * src/cff/cffobjs.c Use macros from cffpic.h in order to access the |
michael@0 | 2665 | structs allocated in cffcmap.c |
michael@0 | 2666 | |
michael@0 | 2667 | * src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2668 | implement functions to create and destroy cff_field_handlers array |
michael@0 | 2669 | instead of being allocated in the global scope. |
michael@0 | 2670 | And macros will be used from cffpic.h in order to access it |
michael@0 | 2671 | from the pic_container. |
michael@0 | 2672 | |
michael@0 | 2673 | New Files: |
michael@0 | 2674 | * src/cff/cffpic.h declare struct to hold PIC globals for cff |
michael@0 | 2675 | driver and macros to access them. |
michael@0 | 2676 | * src/cff/cffpic.c implement functions to allocate, destroy and |
michael@0 | 2677 | initialize PIC globals for cff driver. |
michael@0 | 2678 | |
michael@0 | 2679 | * src/cff/cff.c add new file to build: cffpic.c. |
michael@0 | 2680 | * src/cff/jamfile add new files to FT2_MULTI build: cffpic.c. |
michael@0 | 2681 | |
michael@0 | 2682 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2683 | |
michael@0 | 2684 | Position Independent Code (PIC) support in sfnt driver. |
michael@0 | 2685 | |
michael@0 | 2686 | * include/freetype/internal/services/svbdf.h add macros to init |
michael@0 | 2687 | instances of FT_Service_BDFRec. |
michael@0 | 2688 | * include/freetype/internal/services/svgldict.h add macros to init |
michael@0 | 2689 | instances of FT_Service_GlyphDictRec. |
michael@0 | 2690 | * include/freetype/internal/services/svpostnm.h add macros to init |
michael@0 | 2691 | instances of FT_Service_PsFontNameRec. |
michael@0 | 2692 | * include/freetype/internal/services/svsfnt.h add macros to init |
michael@0 | 2693 | instances of FT_Service_SFNT_TableRec. |
michael@0 | 2694 | * include/freetype/internal/services/svttcmap.h add macros to init |
michael@0 | 2695 | instances of FT_Service_TTCMapsRec. |
michael@0 | 2696 | * include/freetype/internal/sfnt.h add macros to init |
michael@0 | 2697 | instances of SFNT_Interface. |
michael@0 | 2698 | |
michael@0 | 2699 | * src/sfnt/sfdriver.h declare sfnt_module_class using macros from |
michael@0 | 2700 | ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2701 | functions will be declared. |
michael@0 | 2702 | * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2703 | the following structs: |
michael@0 | 2704 | sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name |
michael@0 | 2705 | tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface, |
michael@0 | 2706 | sfnt_module_class, and sfnt_services array |
michael@0 | 2707 | will have functions to init or create and destroy them |
michael@0 | 2708 | instead of being allocated in the global scope. |
michael@0 | 2709 | And macros will be used from sfntpic.h in order to access them |
michael@0 | 2710 | from the pic_container. |
michael@0 | 2711 | |
michael@0 | 2712 | * src/sfnt/ttcmap.h add macros to init |
michael@0 | 2713 | instances of TT_CMap_ClassRec. |
michael@0 | 2714 | * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2715 | the following structs: |
michael@0 | 2716 | tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec |
michael@0 | 2717 | tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec, |
michael@0 | 2718 | tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array |
michael@0 | 2719 | will have functions to init or create and destroy them |
michael@0 | 2720 | instead of being allocated in the global scope. |
michael@0 | 2721 | And macros will be used from sfntpic.h in order to access them |
michael@0 | 2722 | from the pic_container. |
michael@0 | 2723 | The content of tt_cmap_classes is now described in the |
michael@0 | 2724 | new file 'ttcmapc.h'. |
michael@0 | 2725 | |
michael@0 | 2726 | New Files: |
michael@0 | 2727 | * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt |
michael@0 | 2728 | driver and macros to access them. |
michael@0 | 2729 | * src/sfnt/sfntpic.c implement functions to allocate, destroy and |
michael@0 | 2730 | initialize PIC globals for sfnt driver. |
michael@0 | 2731 | * src/sfnt/ttcmapc.h describing the content of |
michael@0 | 2732 | tt_cmap_classes allocated in ttcmap.c |
michael@0 | 2733 | |
michael@0 | 2734 | * src/sfnt/sfnt.c add new file to build: sfntpic.c. |
michael@0 | 2735 | * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c. |
michael@0 | 2736 | |
michael@0 | 2737 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2738 | |
michael@0 | 2739 | Position Independent Code (PIC) support in truetype driver. |
michael@0 | 2740 | |
michael@0 | 2741 | * include/freetype/internal/services/svmm.h add macros to init |
michael@0 | 2742 | instances of FT_Service_MultiMastersRec. |
michael@0 | 2743 | * include/freetype/internal/services/svttglyf.h add macros to init |
michael@0 | 2744 | instances of FT_Service_TTGlyfRec. |
michael@0 | 2745 | |
michael@0 | 2746 | * src/truetype/ttdriver.h declare tt_driver_class using macros from |
michael@0 | 2747 | ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy |
michael@0 | 2748 | functions will be declared. |
michael@0 | 2749 | * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2750 | the following structs: |
michael@0 | 2751 | tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class |
michael@0 | 2752 | and tt_services array, |
michael@0 | 2753 | will have functions to init or create and destroy them |
michael@0 | 2754 | instead of being allocated in the global scope. |
michael@0 | 2755 | And macros will be used from ttpic.h in order to access them |
michael@0 | 2756 | from the pic_container. |
michael@0 | 2757 | * src/truetype/ttobjs.c change trick_names array to be |
michael@0 | 2758 | PIC-compatible by being a two dimentional array rather than array |
michael@0 | 2759 | of pointers. |
michael@0 | 2760 | |
michael@0 | 2761 | New Files: |
michael@0 | 2762 | * src/truetype/ttpic.h declare struct to hold PIC globals for truetype |
michael@0 | 2763 | driver and macros to access them. |
michael@0 | 2764 | * src/truetype/ttpic.c implement functions to allocate, destroy and |
michael@0 | 2765 | initialize PIC globals for truetype driver. |
michael@0 | 2766 | |
michael@0 | 2767 | * src/truetype/truetype.c add new file to build: ttpic.c. |
michael@0 | 2768 | * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c. |
michael@0 | 2769 | |
michael@0 | 2770 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2771 | |
michael@0 | 2772 | Position Independent Code (PIC) support and infrastructure in base. |
michael@0 | 2773 | |
michael@0 | 2774 | * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC |
michael@0 | 2775 | * include/freetype/internal/ftobjs.h Add pic_container member to |
michael@0 | 2776 | FT_LibraryRec. |
michael@0 | 2777 | Add macros to declare and init instances of FT_CMap_ClassRec. |
michael@0 | 2778 | Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs. |
michael@0 | 2779 | Add macros to declare, allocate and initialize modules |
michael@0 | 2780 | (FT_Module_Class). |
michael@0 | 2781 | Add macros to declare, allocate and initialize renderers |
michael@0 | 2782 | (FT_Renderer_Class). |
michael@0 | 2783 | Add macro to init instances of FT_Glyph_Class. |
michael@0 | 2784 | Add macros to declare, allocate and initialize drivers |
michael@0 | 2785 | (FT_Driver_ClassRec). |
michael@0 | 2786 | * include/freetype/internal/ftpic.h new file to declare the |
michael@0 | 2787 | FT_PIC_Container struct and the functions to allocate and detroy it. |
michael@0 | 2788 | * include/freetype/internal/ftserv.h add macros to allocate and |
michael@0 | 2789 | destory arrays of FT_ServiceDescRec. |
michael@0 | 2790 | * include/freetype/internal/internal.h define macro to include |
michael@0 | 2791 | ftpic.h. |
michael@0 | 2792 | |
michael@0 | 2793 | New Files: |
michael@0 | 2794 | * src/base/ftpic.c implement functions to allocate and destory the |
michael@0 | 2795 | global pic_container. |
michael@0 | 2796 | * src/base/basepic.h declare struct to hold PIC globals for base and |
michael@0 | 2797 | macros to access them. |
michael@0 | 2798 | * src/base/basepic.c implement functions to allocate, destroy and |
michael@0 | 2799 | initialize PIC globals for base. |
michael@0 | 2800 | |
michael@0 | 2801 | * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement |
michael@0 | 2802 | functions that allocate and destroy ft_default_modules according to |
michael@0 | 2803 | FT_CONFIG_MODULES_H in the pic_container instead of the global scope |
michael@0 | 2804 | and use macro from basepic.h to access it. |
michael@0 | 2805 | * src/base/ftobjs.c add calls to the functions that allocate and |
michael@0 | 2806 | destroy the global pic_container when the library is created and |
michael@0 | 2807 | destroyed. |
michael@0 | 2808 | |
michael@0 | 2809 | * src/base/jamfile add new files to FT2_MULTI build: |
michael@0 | 2810 | ftpic.c and basepic.c. |
michael@0 | 2811 | * src/base/ftbase.c add new files to build: |
michael@0 | 2812 | ftpic.c and basepic.c. |
michael@0 | 2813 | |
michael@0 | 2814 | * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined |
michael@0 | 2815 | ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated |
michael@0 | 2816 | in the pic_container instead of the global scope and use macros from |
michael@0 | 2817 | basepic.h to access them. |
michael@0 | 2818 | * src/base/ftbbox.c allocate bbox_interface stract on the stack |
michael@0 | 2819 | instead of the global scope when FT_CONFIG_OPTION_PIC is defined. |
michael@0 | 2820 | * src/base/ftstroke.c access ft_outline_glyph_class allocated in |
michael@0 | 2821 | ftglyph.c via macros from basepic.h |
michael@0 | 2822 | |
michael@0 | 2823 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2824 | |
michael@0 | 2825 | Preparing changes in cff parser later needed for PIC version. |
michael@0 | 2826 | |
michael@0 | 2827 | * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c, |
michael@0 | 2828 | src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to |
michael@0 | 2829 | 'CFF_ParserRec' set by `cff_parser_init'. |
michael@0 | 2830 | Route library pointer from 'cff_face_init' to 'cff_subfont_load' |
michael@0 | 2831 | for `cff_parser_init'. |
michael@0 | 2832 | |
michael@0 | 2833 | * src/cff/cffparse.c (CFF_Field_Handler): Move it to... |
michael@0 | 2834 | * src/cff/cffparse.h: This file, to be used by other C files. |
michael@0 | 2835 | |
michael@0 | 2836 | 2009-04-05 Oran Agra <oran@monfort.co.il> |
michael@0 | 2837 | |
michael@0 | 2838 | Minor change in ftstroke.c. |
michael@0 | 2839 | |
michael@0 | 2840 | * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with |
michael@0 | 2841 | `library' needed for PIC version. |
michael@0 | 2842 | Update all callers. |
michael@0 | 2843 | |
michael@0 | 2844 | 2009-04-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 2845 | |
michael@0 | 2846 | ftnames.c -> ftsnames.c |
michael@0 | 2847 | |
michael@0 | 2848 | * src/base/ftnames.c: Rename to... |
michael@0 | 2849 | * src/base/ftsnames.c: This. |
michael@0 | 2850 | * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated. |
michael@0 | 2851 | |
michael@0 | 2852 | 2009-04-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 2853 | |
michael@0 | 2854 | Add support for cmap type 13. |
michael@0 | 2855 | |
michael@0 | 2856 | * devel/ftoption.h, include/freetype/config/ftoption.h |
michael@0 | 2857 | (TT_CONFIG_CMAP_FORMAT_13): New macro. |
michael@0 | 2858 | |
michael@0 | 2859 | * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init, |
michael@0 | 2860 | tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next, |
michael@0 | 2861 | tt_cmap13_get_info, tt_cmap13_char_map_def_binary, |
michael@0 | 2862 | tt_cmap14_class_rec): New functions and structures for cmap 13 |
michael@0 | 2863 | support. |
michael@0 | 2864 | (tt_cmap_classes): Register tt_cmap13_class_rec. |
michael@0 | 2865 | |
michael@0 | 2866 | * docs/CHANGES: Mention cmap 13 support. |
michael@0 | 2867 | |
michael@0 | 2868 | 2009-04-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 2869 | |
michael@0 | 2870 | Ignore empty contours in CFF glyphs. |
michael@0 | 2871 | |
michael@0 | 2872 | Problem reported by Albert Astals Cid <aacid@kde.org>. |
michael@0 | 2873 | |
michael@0 | 2874 | * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with |
michael@0 | 2875 | t1_builder_close_contour. |
michael@0 | 2876 | |
michael@0 | 2877 | 2009-03-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 2878 | |
michael@0 | 2879 | Another redundant header inclusion. |
michael@0 | 2880 | |
michael@0 | 2881 | * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041. |
michael@0 | 2882 | |
michael@0 | 2883 | 2009-03-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 2884 | |
michael@0 | 2885 | Remove redundant header inclusions. |
michael@0 | 2886 | |
michael@0 | 2887 | This covers many Ghostscript Coverity issues. |
michael@0 | 2888 | |
michael@0 | 2889 | * src/*: Do it. |
michael@0 | 2890 | |
michael@0 | 2891 | 2009-03-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 2892 | |
michael@0 | 2893 | Fix Ghostscript Coverity issue #3904. |
michael@0 | 2894 | |
michael@0 | 2895 | * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against |
michael@0 | 2896 | invalid values of `runcnt'. |
michael@0 | 2897 | |
michael@0 | 2898 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2899 | |
michael@0 | 2900 | Fix `make multi' run. |
michael@0 | 2901 | |
michael@0 | 2902 | * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H. |
michael@0 | 2903 | |
michael@0 | 2904 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2905 | |
michael@0 | 2906 | Fix Savannah bug #25923. |
michael@0 | 2907 | |
michael@0 | 2908 | * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo. |
michael@0 | 2909 | |
michael@0 | 2910 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2911 | |
michael@0 | 2912 | Protect against too large glyphs. |
michael@0 | 2913 | |
michael@0 | 2914 | Problem reported by Tavis Ormandy <taviso@google.com>. |
michael@0 | 2915 | |
michael@0 | 2916 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow |
michael@0 | 2917 | `pitch' or `height' to be larger than 0xFFFF. |
michael@0 | 2918 | |
michael@0 | 2919 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2920 | Tavis Ormandy <taviso@google.com> |
michael@0 | 2921 | |
michael@0 | 2922 | Fix validation for various cmap table formats. |
michael@0 | 2923 | |
michael@0 | 2924 | * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate, |
michael@0 | 2925 | tt_cmap12_validate): Check `length' correctly. |
michael@0 | 2926 | (tt_cmap_14_validate): Check `length' and `numMappings' correctly. |
michael@0 | 2927 | |
michael@0 | 2928 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2929 | |
michael@0 | 2930 | Protect against malformed compressed data. |
michael@0 | 2931 | |
michael@0 | 2932 | * src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is |
michael@0 | 2933 | zero. |
michael@0 | 2934 | |
michael@0 | 2935 | 2009-03-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 2936 | |
michael@0 | 2937 | Protect against invalid SID values in CFFs. |
michael@0 | 2938 | |
michael@0 | 2939 | Problem reported by Tavis Ormandy <taviso@google.com>. |
michael@0 | 2940 | |
michael@0 | 2941 | * src/cff/cffload.c (cff_charset_load): Reject SID values larger |
michael@0 | 2942 | than 64999. |
michael@0 | 2943 | |
michael@0 | 2944 | 2009-03-19 Vincent Richomme <richom.v@free.fr> |
michael@0 | 2945 | |
michael@0 | 2946 | Update WinCE Visual C project files. |
michael@0 | 2947 | |
michael@0 | 2948 | * builds/wince/vc2005-ce/freetype.vcproj, |
michael@0 | 2949 | builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension |
michael@0 | 2950 | files. |
michael@0 | 2951 | |
michael@0 | 2952 | 2009-03-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2953 | |
michael@0 | 2954 | Remove unused Win32 code. |
michael@0 | 2955 | |
michael@0 | 2956 | * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'. |
michael@0 | 2957 | Since Win32 is handled separately this is no longer needed. |
michael@0 | 2958 | |
michael@0 | 2959 | 2009-03-19 Vincent Richomme <richom.v@free.fr> |
michael@0 | 2960 | |
michael@0 | 2961 | Make `gzip' module compile on WinCE. |
michael@0 | 2962 | |
michael@0 | 2963 | * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H. |
michael@0 | 2964 | |
michael@0 | 2965 | 2009-03-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 2966 | |
michael@0 | 2967 | Remove unused WinCE code. |
michael@0 | 2968 | |
michael@0 | 2969 | * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'. |
michael@0 | 2970 | Since WinCE is handled separately this is no longer needed. |
michael@0 | 2971 | |
michael@0 | 2972 | 2009-03-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 2973 | |
michael@0 | 2974 | docmaker: Don't ignore single-line code blocks. |
michael@0 | 2975 | |
michael@0 | 2976 | * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from |
michael@0 | 2977 | 2009-01-31. |
michael@0 | 2978 | |
michael@0 | 2979 | 2009-03-15 Steve Langasek <steve.langasek@canonical.com> |
michael@0 | 2980 | |
michael@0 | 2981 | Use __asm__ for declaring assembly instead of asm. |
michael@0 | 2982 | |
michael@0 | 2983 | * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of |
michael@0 | 2984 | asm on arm, fixing a build failure on armel with -pedantic. |
michael@0 | 2985 | |
michael@0 | 2986 | 2009-03-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 2987 | |
michael@0 | 2988 | Fix valgrind warning. |
michael@0 | 2989 | |
michael@0 | 2990 | * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read |
michael@0 | 2991 | past the end of the frame. |
michael@0 | 2992 | |
michael@0 | 2993 | 2009-03-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 2994 | |
michael@0 | 2995 | * Version 2.3.9 released. |
michael@0 | 2996 | ========================= |
michael@0 | 2997 | |
michael@0 | 2998 | |
michael@0 | 2999 | Tag sources with `VER-2-3-9'. |
michael@0 | 3000 | |
michael@0 | 3001 | 2009-03-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 3002 | |
michael@0 | 3003 | * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'. |
michael@0 | 3004 | |
michael@0 | 3005 | 2009-03-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 3006 | |
michael@0 | 3007 | Fix some FreeType Coverity issues as reported for Ghostscript. |
michael@0 | 3008 | |
michael@0 | 3009 | * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize |
michael@0 | 3010 | `args.stream' (#3874, #3875). |
michael@0 | 3011 | (open_face_PS_from_sfnt_stream): Improve error management (#3786). |
michael@0 | 3012 | * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice' |
michael@0 | 3013 | (#3870). |
michael@0 | 3014 | * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead |
michael@0 | 3015 | code (#3790). |
michael@0 | 3016 | * src/base/ftrfork.c (raccess_guess_apple_generic): Check error |
michael@0 | 3017 | value of `FT_Stream_Skip' (#3784). |
michael@0 | 3018 | |
michael@0 | 3019 | * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing |
michael@0 | 3020 | it (#3872) |
michael@0 | 3021 | |
michael@0 | 3022 | * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing |
michael@0 | 3023 | it (#3871). |
michael@0 | 3024 | * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of |
michael@0 | 3025 | `pcf_get_metric' (#3789, #3782). |
michael@0 | 3026 | (pcf_get_properties): Use FT_STREAM_SKIP (#3783). |
michael@0 | 3027 | |
michael@0 | 3028 | * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of |
michael@0 | 3029 | `acache' (#3797) |
michael@0 | 3030 | |
michael@0 | 3031 | * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff' |
michael@0 | 3032 | (#3796). |
michael@0 | 3033 | * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795). |
michael@0 | 3034 | * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794). |
michael@0 | 3035 | |
michael@0 | 3036 | * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom' |
michael@0 | 3037 | (#3793). |
michael@0 | 3038 | (_bdf_parse_start): Add comment (#3792). |
michael@0 | 3039 | |
michael@0 | 3040 | * src/raster/ftraster.c (Finalize_Profile_Table): Check |
michael@0 | 3041 | `ras.fProfile' (#3791). |
michael@0 | 3042 | |
michael@0 | 3043 | * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785). |
michael@0 | 3044 | |
michael@0 | 3045 | * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore |
michael@0 | 3046 | seek error (#3781). |
michael@0 | 3047 | |
michael@0 | 3048 | 2009-03-11 Michael Toftdal <toftdal@gmail.com> |
michael@0 | 3049 | |
michael@0 | 3050 | Extend CID service functions to handle CID-keyed CFFs as CID fonts. |
michael@0 | 3051 | |
michael@0 | 3052 | * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed, |
michael@0 | 3053 | FT_Get_CID_From_Glyph_Index): New functions. |
michael@0 | 3054 | |
michael@0 | 3055 | * include/freetype/internal/services/svcid.h |
michael@0 | 3056 | (FT_CID_GetIsInternallyCIDKeyedFunc, |
michael@0 | 3057 | FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs. |
michael@0 | 3058 | (CID Service): Use them. |
michael@0 | 3059 | |
michael@0 | 3060 | * src/base/ftcid.c: Include FT_CID_H. |
michael@0 | 3061 | (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index): |
michael@0 | 3062 | New functions. |
michael@0 | 3063 | |
michael@0 | 3064 | * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index): |
michael@0 | 3065 | New functions. |
michael@0 | 3066 | (cff_service_cid_info): Add them. |
michael@0 | 3067 | * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids' |
michael@0 | 3068 | -- it is needed for access as a CID-keyed font. It gets deleted |
michael@0 | 3069 | later on. |
michael@0 | 3070 | |
michael@0 | 3071 | * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index): |
michael@0 | 3072 | New functions. |
michael@0 | 3073 | (cid_service_cid_info): Add them. |
michael@0 | 3074 | |
michael@0 | 3075 | * docs/CHANGES: Updated. |
michael@0 | 3076 | |
michael@0 | 3077 | 2009-03-11 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 3078 | |
michael@0 | 3079 | Fix Savannah bug #25597. |
michael@0 | 3080 | |
michael@0 | 3081 | * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length |
michael@0 | 3082 | to become larger than 9. |
michael@0 | 3083 | |
michael@0 | 3084 | 2009-03-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 3085 | |
michael@0 | 3086 | Fix Savannah bug #25814. |
michael@0 | 3087 | |
michael@0 | 3088 | * builds/unix/freetype2.in: As suggested in the bug report, move |
michael@0 | 3089 | @LIBZ@ to `Libs.private'. |
michael@0 | 3090 | |
michael@0 | 3091 | 2009-03-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 3092 | |
michael@0 | 3093 | Fix Savannah bug #25781. |
michael@0 | 3094 | We now simply check for a valid `offset', no longer handling `delta |
michael@0 | 3095 | = 1' specially. |
michael@0 | 3096 | |
michael@0 | 3097 | * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for |
michael@0 | 3098 | last segment. |
michael@0 | 3099 | (tt_cmap4_set_range, tt_cmap4_char_map_linear, |
michael@0 | 3100 | tt_cmap4_char_map_binary): Check offset. |
michael@0 | 3101 | |
michael@0 | 3102 | 2009-03-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 3103 | |
michael@0 | 3104 | * src/base/Jamfile: Fix handling of ftadvanc.c. |
michael@0 | 3105 | Reported by Oran Agra <oran@monfort.co.il>. |
michael@0 | 3106 | |
michael@0 | 3107 | 2009-03-10 Vincent Richomme <richom.v@free.fr> |
michael@0 | 3108 | |
michael@0 | 3109 | Restructure Win32 and Wince compiler support. |
michael@0 | 3110 | |
michael@0 | 3111 | * src/builds/win32: Remove files for WinCE. |
michael@0 | 3112 | Move VC 2005 support to a separate directory. |
michael@0 | 3113 | Add directory for VC 2008 support. |
michael@0 | 3114 | |
michael@0 | 3115 | * src/builds/wince: New directory hierarchy for WinCE compilers |
michael@0 | 3116 | (VC 2005 and VC 2008). |
michael@0 | 3117 | |
michael@0 | 3118 | 2009-03-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3119 | |
michael@0 | 3120 | More preparations for 2.3.9 release. |
michael@0 | 3121 | |
michael@0 | 3122 | * docs/CHANGES: Updated. |
michael@0 | 3123 | |
michael@0 | 3124 | * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/. |
michael@0 | 3125 | |
michael@0 | 3126 | 2009-03-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3127 | |
michael@0 | 3128 | * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c. |
michael@0 | 3129 | |
michael@0 | 3130 | 2009-03-09 Alexey Kryukov <anagnost@yandex.ru> |
michael@0 | 3131 | |
michael@0 | 3132 | Fix handling of EBDT formats 8 and 9 (part 2). |
michael@0 | 3133 | |
michael@0 | 3134 | This patch fixes the following problems in ttsbit0.c: |
michael@0 | 3135 | |
michael@0 | 3136 | . Bitmaps for compound glyphs were never allocated. |
michael@0 | 3137 | |
michael@0 | 3138 | . `SBitDecoder' refused to load metrics if some other metrics have |
michael@0 | 3139 | already been loaded. This condition certainly makes no sense for |
michael@0 | 3140 | recursive calls, so I've just disabled it. Another possibility |
michael@0 | 3141 | would be resetting `decoder->metrics_loaded' to false before |
michael@0 | 3142 | loading each composite component. However, we must restore the |
michael@0 | 3143 | original metrics after finishing the recursion; otherwise we can |
michael@0 | 3144 | get a misaligned glyph. |
michael@0 | 3145 | |
michael@0 | 3146 | . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos', |
michael@0 | 3147 | causing some glyph components to be shifted too far to the right |
michael@0 | 3148 | (especially noticeable for small sizes). |
michael@0 | 3149 | |
michael@0 | 3150 | Note that support for grayscale bitmaps (not necessarily compound) is |
michael@0 | 3151 | completely broken in ttsbit0.c. |
michael@0 | 3152 | |
michael@0 | 3153 | * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics. |
michael@0 | 3154 | (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case |
michael@0 | 3155 | of `h == height'. |
michael@0 | 3156 | (tt_sbit_decoder_load_compound): Reset metrics after loading |
michael@0 | 3157 | components. |
michael@0 | 3158 | Allocate bitmap. |
michael@0 | 3159 | |
michael@0 | 3160 | 2009-03-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3161 | |
michael@0 | 3162 | * builds/unix/configure.raw (version_info): Set to 9:20:3. |
michael@0 | 3163 | |
michael@0 | 3164 | 2009-03-03 David Turner <david@freetype.org> |
michael@0 | 3165 | |
michael@0 | 3166 | Protect SFNT kerning table parser against malformed tables. |
michael@0 | 3167 | |
michael@0 | 3168 | This closes Savannah BUG #25750. |
michael@0 | 3169 | |
michael@0 | 3170 | * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a |
michael@0 | 3171 | bug where a malformed table would be successfully loaded but later |
michael@0 | 3172 | crash the engine during parsing. |
michael@0 | 3173 | |
michael@0 | 3174 | 2009-03-03 David Turner <david@freetype.org> |
michael@0 | 3175 | |
michael@0 | 3176 | Update documentation and bump version number to 2.3.9. |
michael@0 | 3177 | |
michael@0 | 3178 | * include/freetype/freetype.h: Bump patch version to 9. |
michael@0 | 3179 | * docs/CHANGES: Document the ABI break in 2.3.8. |
michael@0 | 3180 | * docs/VERSION.DLL: Update version numbers table for 2.3.9. |
michael@0 | 3181 | |
michael@0 | 3182 | 2009-03-03 David Turner <david@freetype.org> |
michael@0 | 3183 | |
michael@0 | 3184 | Remove ABI-breaking field in public PS_InfoFontRec definition. |
michael@0 | 3185 | |
michael@0 | 3186 | Instead, we define a new internal PS_FontExtraRec structure to |
michael@0 | 3187 | hold the additional field, then place it in various internal |
michael@0 | 3188 | positions of the corresponding FT_Face derived objects. |
michael@0 | 3189 | |
michael@0 | 3190 | * include/freetype/t1tables.h (PS_FontInfoRec): Remove the |
michael@0 | 3191 | `fs_type' field from the public structure. |
michael@0 | 3192 | * include/freetype/internal/psaux.h (T1_FieldLocation): New |
michael@0 | 3193 | enumeration `T1_FIELD_LOCATION_FONT_EXTRA'. |
michael@0 | 3194 | * include/freetype/internal/t1types.h (PS_FontExtraRec): New |
michael@0 | 3195 | structure. |
michael@0 | 3196 | (T1_FontRec, CID_FaceRec): Add it. |
michael@0 | 3197 | |
michael@0 | 3198 | * src/cid/cidload.c (cid_load_keyword): Handle |
michael@0 | 3199 | T1_FIELD_LOCATION_FONT_EXTRA. |
michael@0 | 3200 | * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c: |
michael@0 | 3201 | Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'. |
michael@0 | 3202 | * src/type1/t1load.c (t1_load_keyword): Handle |
michael@0 | 3203 | T1_FIELD_LOCATION_FONT_EXTRA. |
michael@0 | 3204 | |
michael@0 | 3205 | * include/freetype/internal/services/svpsinfo.h (PsInfo service): |
michael@0 | 3206 | Add `PS_GetFontExtraFunc' function typedef. |
michael@0 | 3207 | |
michael@0 | 3208 | * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and |
michael@0 | 3209 | FT_SERVICE_POSTSCRIPT_INFO_H. |
michael@0 | 3210 | (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service. |
michael@0 | 3211 | |
michael@0 | 3212 | * src/cff/cffdrivr.c (cff_service_ps_info): Updated. |
michael@0 | 3213 | * src/cid/cidriver.c (cid_ps_get_font_extra): New function. |
michael@0 | 3214 | (cid_service_ps_info): Updated. |
michael@0 | 3215 | * src/type1/t1driver.c (t1_ps_get_font_extra): New function. |
michael@0 | 3216 | (t1_service_ps_info): Updated. |
michael@0 | 3217 | * src/type42/t42drivr.c (t42_ps_get_font_extra): New function. |
michael@0 | 3218 | (t42_service_ps_info): Updated. |
michael@0 | 3219 | |
michael@0 | 3220 | 2009-03-02 Alexey Kryukov <anagnost@yandex.ru> |
michael@0 | 3221 | |
michael@0 | 3222 | Fix handling of EBDT formats 8 and 9. |
michael@0 | 3223 | |
michael@0 | 3224 | The main cycle in `blit_sbit' makes too many iterations: it actually |
michael@0 | 3225 | needs the count of lines in the source bitmap rather than in the |
michael@0 | 3226 | target image. |
michael@0 | 3227 | |
michael@0 | 3228 | * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]: |
michael@0 | 3229 | Add parameter `source_height' and use it for main loop. |
michael@0 | 3230 | (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated. |
michael@0 | 3231 | |
michael@0 | 3232 | 2009-02-23 Werner Lemberg <wl@gnu.org> |
michael@0 | 3233 | |
michael@0 | 3234 | Fix Savannah bug #25669. |
michael@0 | 3235 | |
michael@0 | 3236 | * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo. |
michael@0 | 3237 | |
michael@0 | 3238 | * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix |
michael@0 | 3239 | scaling factor for non-scalable fonts. |
michael@0 | 3240 | |
michael@0 | 3241 | * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width |
michael@0 | 3242 | value to prevent incorrect scaling. |
michael@0 | 3243 | |
michael@0 | 3244 | * docs/CHANGES: Document it. |
michael@0 | 3245 | |
michael@0 | 3246 | 2009-02-15 Matt Godbolt <matt@godbolt.org> |
michael@0 | 3247 | |
michael@0 | 3248 | Fix Savannah bug #25588. |
michael@0 | 3249 | |
michael@0 | 3250 | * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for |
michael@0 | 3251 | `orr' instruction. |
michael@0 | 3252 | |
michael@0 | 3253 | 2009-02-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 3254 | |
michael@0 | 3255 | * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'. |
michael@0 | 3256 | Reported by David Bevan <dbevan@emtex.com>. |
michael@0 | 3257 | |
michael@0 | 3258 | 2009-02-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3259 | |
michael@0 | 3260 | Fix Savannah bug #25495. |
michael@0 | 3261 | |
michael@0 | 3262 | * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before |
michael@0 | 3263 | setting metrics and bbox values. This ensures that the check for a |
michael@0 | 3264 | font with neither a `glyf' table nor bitmap strikes can be performed |
michael@0 | 3265 | early enough to set metrics and bbox values too. |
michael@0 | 3266 | |
michael@0 | 3267 | 2009-02-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 3268 | |
michael@0 | 3269 | Fix Savannah bug #25480. |
michael@0 | 3270 | |
michael@0 | 3271 | * builds/unix/freetype-config.in: For --ftversion, don't use $prefix |
michael@0 | 3272 | but $includedir. |
michael@0 | 3273 | |
michael@0 | 3274 | 2009-01-31 Werner Lemberg <wl@gnu.org> |
michael@0 | 3275 | |
michael@0 | 3276 | Minor docmaker improvements. |
michael@0 | 3277 | |
michael@0 | 3278 | * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty |
michael@0 | 3279 | code blocks. |
michael@0 | 3280 | |
michael@0 | 3281 | 2009-01-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 3282 | |
michael@0 | 3283 | Fix SCANCTRL handling in TTFs. |
michael@0 | 3284 | Problem reported by Alexey Kryukov <anagnost@yandex.ru>. |
michael@0 | 3285 | |
michael@0 | 3286 | * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling. |
michael@0 | 3287 | |
michael@0 | 3288 | 2009-01-23 Werner Lemberg <wl@gnu.org> |
michael@0 | 3289 | |
michael@0 | 3290 | Move FT_Get_FSType_Flags to a separate file. |
michael@0 | 3291 | Problem reported by Mickey Gabel <mickey@monfort.co.il>. |
michael@0 | 3292 | |
michael@0 | 3293 | * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to... |
michael@0 | 3294 | * src/base/ftfstype.c: This new file. |
michael@0 | 3295 | |
michael@0 | 3296 | * modules.cfg (BASE_EXTENSION): Add ftfstype.c. |
michael@0 | 3297 | |
michael@0 | 3298 | * docs/INSTALL.ANY: Updated. |
michael@0 | 3299 | |
michael@0 | 3300 | * builds/mac/*.txt, builds/amiga/*makefile*, |
michael@0 | 3301 | builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*: |
michael@0 | 3302 | Updated. |
michael@0 | 3303 | |
michael@0 | 3304 | 2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3305 | |
michael@0 | 3306 | * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error |
michael@0 | 3307 | messages ending without "\n". |
michael@0 | 3308 | |
michael@0 | 3309 | 2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3310 | |
michael@0 | 3311 | Fix Savannah bug #25347. |
michael@0 | 3312 | |
michael@0 | 3313 | * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind |
michael@0 | 3314 | the stream to the original position passed to this function, |
michael@0 | 3315 | when ft_lookup_PS_in_sfnt_stream() failed. |
michael@0 | 3316 | (Mac_Read_sfnt_Resource): Rewind the stream to the head of |
michael@0 | 3317 | sfnt resource body, when open_face_PS_from_sfnt_stream() |
michael@0 | 3318 | failed. |
michael@0 | 3319 | |
michael@0 | 3320 | 2009-01-19 Michael Lotz <mmlr@mlotz.ch> |
michael@0 | 3321 | |
michael@0 | 3322 | Fix Savannah bug #25355. |
michael@0 | 3323 | |
michael@0 | 3324 | * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make |
michael@0 | 3325 | assembler code work with gcc 2.95.3 (as used by the Haiku project). |
michael@0 | 3326 | Add `cc' register to the clobber list. |
michael@0 | 3327 | |
michael@0 | 3328 | 2009-01-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 3329 | |
michael@0 | 3330 | Protect FT_Get_Next_Char. |
michael@0 | 3331 | |
michael@0 | 3332 | * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to |
michael@0 | 3333 | change from 2008-07-22. |
michael@0 | 3334 | |
michael@0 | 3335 | Patch from Ronen Ghoshal <rghoshal@emtex.com>. |
michael@0 | 3336 | |
michael@0 | 3337 | 2009-01-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 3338 | |
michael@0 | 3339 | Implement FT_Get_Name_Index for SFNT driver. |
michael@0 | 3340 | |
michael@0 | 3341 | * src/sfnt/sfdriver.c (sfnt_get_name_index): New function. |
michael@0 | 3342 | (sfnt_service_glyph_dict): Use it. |
michael@0 | 3343 | |
michael@0 | 3344 | Problem reported by Truc Truong <tructv@necsv.com>. |
michael@0 | 3345 | |
michael@0 | 3346 | 2009-01-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 3347 | |
michael@0 | 3348 | * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix |
michael@0 | 3349 | documentation. Problem reported by Truc Truong <tructv@necsv.com>. |
michael@0 | 3350 | |
michael@0 | 3351 | * docs/CHANGES: Updated. |
michael@0 | 3352 | |
michael@0 | 3353 | 2009-01-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 3354 | |
michael@0 | 3355 | * Version 2.3.8 released. |
michael@0 | 3356 | ========================= |
michael@0 | 3357 | |
michael@0 | 3358 | |
michael@0 | 3359 | Tag sources with `VER-2-3-8'. |
michael@0 | 3360 | |
michael@0 | 3361 | * docs/VERSION.DLL: Update documentation and bump version number to |
michael@0 | 3362 | 2.3.8. |
michael@0 | 3363 | |
michael@0 | 3364 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 3365 | builds/win32/visualc/freetype.dsp, |
michael@0 | 3366 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 3367 | builds/win32/visualce/index.html, |
michael@0 | 3368 | builds/win32/visualce/freetype.dsp, |
michael@0 | 3369 | builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/. |
michael@0 | 3370 | |
michael@0 | 3371 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. |
michael@0 | 3372 | |
michael@0 | 3373 | * builds/unix/configure.raw (version_info): Set to 9:19:3. |
michael@0 | 3374 | |
michael@0 | 3375 | * docs/release: Updated. |
michael@0 | 3376 | |
michael@0 | 3377 | 2009-01-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 3378 | |
michael@0 | 3379 | * builds/toplevel.mk (dist): Compress better. |
michael@0 | 3380 | |
michael@0 | 3381 | 2009-01-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 3382 | |
michael@0 | 3383 | * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation |
michael@0 | 3384 | with C++. |
michael@0 | 3385 | |
michael@0 | 3386 | 2009-01-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 3387 | |
michael@0 | 3388 | Don't use stdlib.h and friends directly. |
michael@0 | 3389 | Reported by Mickey Gabel <mickey@monfort.co.il>. |
michael@0 | 3390 | |
michael@0 | 3391 | * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/. |
michael@0 | 3392 | |
michael@0 | 3393 | * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h: |
michael@0 | 3394 | s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/. |
michael@0 | 3395 | |
michael@0 | 3396 | * src/autofit/aftypes.h, src/autofit/afhints.c, |
michael@0 | 3397 | src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/ |
michael@0 | 3398 | |
michael@0 | 3399 | * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h. |
michael@0 | 3400 | |
michael@0 | 3401 | 2009-01-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 3402 | |
michael@0 | 3403 | Avoid compiler warnings. |
michael@0 | 3404 | |
michael@0 | 3405 | * */*: s/do ; while ( 0 )/do { } while ( 0 )/. |
michael@0 | 3406 | Reported by Sean McBride <sean@rogue-research.com>. |
michael@0 | 3407 | |
michael@0 | 3408 | 2009-01-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 3409 | |
michael@0 | 3410 | Fix stdlib dependencies. |
michael@0 | 3411 | |
michael@0 | 3412 | Problem reported by Mickey Gabel <mickey@monfort.co.il>. |
michael@0 | 3413 | |
michael@0 | 3414 | * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused. |
michael@0 | 3415 | |
michael@0 | 3416 | * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c: |
michael@0 | 3417 | s/memcpy/ft_memcpy/. |
michael@0 | 3418 | * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/. |
michael@0 | 3419 | |
michael@0 | 3420 | 2009-01-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 3421 | |
michael@0 | 3422 | * docs/formats.txt: Add link to PCF specification. |
michael@0 | 3423 | |
michael@0 | 3424 | * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve |
michael@0 | 3425 | documentation. |
michael@0 | 3426 | |
michael@0 | 3427 | 2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3428 | |
michael@0 | 3429 | * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, |
michael@0 | 3430 | FT_Get_Advances): Change the type of load_flags from FT_UInt32 to |
michael@0 | 3431 | FT_Int32, to match with the flags for FT_Load_Glyph(). |
michael@0 | 3432 | * src/cff/cffdrivr.c (cff_get_advances): Ditto. |
michael@0 | 3433 | * src/truetype/ttdriver.c (tt_get_advances): Ditto. |
michael@0 | 3434 | * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): |
michael@0 | 3435 | Ditto. |
michael@0 | 3436 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
michael@0 | 3437 | Ditto. |
michael@0 | 3438 | |
michael@0 | 3439 | 2009-01-09 Daniel Zimmermann <netzimme@aol.com> |
michael@0 | 3440 | |
michael@0 | 3441 | * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong |
michael@0 | 3442 | length check. From Savannah patch #6682. |
michael@0 | 3443 | |
michael@0 | 3444 | 2009-01-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3445 | |
michael@0 | 3446 | Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2. |
michael@0 | 3447 | |
michael@0 | 3448 | * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle |
michael@0 | 3449 | `count_offset' if it is zero (i.e., unused). Otherwise, the first |
michael@0 | 3450 | element of the structure which holds the data is erroneously |
michael@0 | 3451 | modified. Problem reported by Chi Nguyen <chint@necsv.com>. |
michael@0 | 3452 | |
michael@0 | 3453 | 2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3454 | |
michael@0 | 3455 | * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, |
michael@0 | 3456 | FT_Get_Advances): Extend the type of load_flags from FT_UInt to |
michael@0 | 3457 | FT_UInt32, to pass 32-bit flags on 16bit platforms. |
michael@0 | 3458 | * src/cff/cffdrivr.c (cff_get_advances): Ditto. |
michael@0 | 3459 | * src/truetype/ttdriver.c (tt_get_advances): Ditto. |
michael@0 | 3460 | * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): |
michael@0 | 3461 | Ditto. |
michael@0 | 3462 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
michael@0 | 3463 | Ditto. |
michael@0 | 3464 | |
michael@0 | 3465 | 2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3466 | |
michael@0 | 3467 | * src/base/ftobjs.c (FT_Done_Library): Issue an error message when |
michael@0 | 3468 | FT_Done_Face() cannot free all faces. If the list of the opened |
michael@0 | 3469 | faces includes broken face which FT_Done_Face() cannot free, |
michael@0 | 3470 | FT_Done_Library() retries FT_Done_Face() and it can fall into |
michael@0 | 3471 | an endless loop. See the discussion: |
michael@0 | 3472 | http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html |
michael@0 | 3473 | http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html |
michael@0 | 3474 | |
michael@0 | 3475 | 2009-01-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 3476 | |
michael@0 | 3477 | * docs/CHANGES: Document new key `a' in ftdiff. |
michael@0 | 3478 | |
michael@0 | 3479 | 2009-01-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 3480 | |
michael@0 | 3481 | * autogen.sh: Don't use GNUisms while calling sed. Problem reported |
michael@0 | 3482 | by Sean McBride. |
michael@0 | 3483 | |
michael@0 | 3484 | 2009-01-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 3485 | |
michael@0 | 3486 | * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD |
michael@0 | 3487 | and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen |
michael@0 | 3488 | <chint@necsv.com>. |
michael@0 | 3489 | |
michael@0 | 3490 | 2009-01-06 Diego Pettenò <flameeyes@gmail.com> |
michael@0 | 3491 | |
michael@0 | 3492 | * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and |
michael@0 | 3493 | AC_CANONICAL_TARGET and use $host_os only. A nice explanation for |
michael@0 | 3494 | this change can be found at |
michael@0 | 3495 | http://blog.flameeyes.eu/s/canonical-target. |
michael@0 | 3496 | |
michael@0 | 3497 | From Savannah patch #6712. |
michael@0 | 3498 | |
michael@0 | 3499 | 2009-01-06 Sean McBride <sean@rogue-research.com> |
michael@0 | 3500 | |
michael@0 | 3501 | * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static. |
michael@0 | 3502 | |
michael@0 | 3503 | * src/base/ftmac.c: Remove some #undefs. |
michael@0 | 3504 | |
michael@0 | 3505 | 2008-12-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 3506 | |
michael@0 | 3507 | Set `face_index' field in FT_Face for all font formats. |
michael@0 | 3508 | |
michael@0 | 3509 | * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init), |
michael@0 | 3510 | sfnt/sfobjs.c (sfnt_init_face): Do it. |
michael@0 | 3511 | |
michael@0 | 3512 | * docs/CHANGES: Document it. |
michael@0 | 3513 | |
michael@0 | 3514 | 2008-12-22 Steve Grubb |
michael@0 | 3515 | |
michael@0 | 3516 | * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files. |
michael@0 | 3517 | Patch from Savannah bug #25151. |
michael@0 | 3518 | |
michael@0 | 3519 | 2008-12-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 3520 | |
michael@0 | 3521 | * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c, |
michael@0 | 3522 | src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c: |
michael@0 | 3523 | s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for |
michael@0 | 3524 | errors in the bytecode interpreter only. |
michael@0 | 3525 | |
michael@0 | 3526 | 2008-12-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 3527 | |
michael@0 | 3528 | * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL |
michael@0 | 3529 | arguments. |
michael@0 | 3530 | Fix return value for non-PFR fonts. Both problems reported by Chi |
michael@0 | 3531 | Nguyen <chint@necsv.com>. |
michael@0 | 3532 | |
michael@0 | 3533 | 2008-12-21 anonymous |
michael@0 | 3534 | |
michael@0 | 3535 | FT_USE_MODULE declares things as: |
michael@0 | 3536 | |
michael@0 | 3537 | extern const FT_Module_Class |
michael@0 | 3538 | |
michael@0 | 3539 | (or similar for C++). However, the actual types of the variables |
michael@0 | 3540 | being declared are often different, e.g., FT_Driver_ClassRec or |
michael@0 | 3541 | FT_Renderer_Class. (Some are, indeed, FT_Module_Class.) |
michael@0 | 3542 | |
michael@0 | 3543 | This works with most C compilers (since those structs begin with an |
michael@0 | 3544 | FT_Module_Class struct), but technically it's undefined behavior. |
michael@0 | 3545 | |
michael@0 | 3546 | To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7 |
michael@0 | 3547 | paragraph 2: |
michael@0 | 3548 | |
michael@0 | 3549 | All declarations that refer to the same object or function shall |
michael@0 | 3550 | have compatible type; otherwise, the behavior is undefined. |
michael@0 | 3551 | |
michael@0 | 3552 | (And they are not compatible types.) |
michael@0 | 3553 | |
michael@0 | 3554 | Most C compilers don't reject (or even detect!) code which has this |
michael@0 | 3555 | issue, but the GCC LTO development branch compiler does. (It |
michael@0 | 3556 | outputs the types of the objects while generating .o files, along |
michael@0 | 3557 | with a bunch of other information, then compares them when doing the |
michael@0 | 3558 | final link-time code generation pass.) |
michael@0 | 3559 | |
michael@0 | 3560 | Patch from Savannah bug #25133. |
michael@0 | 3561 | |
michael@0 | 3562 | * src/base/ftinit.c (FT_USE_MODULE): Include variable type. |
michael@0 | 3563 | |
michael@0 | 3564 | * builds/amiga/include/freetype/config/ftmodule.h, |
michael@0 | 3565 | include/freetype/config/ftmodule.h, */module.mk: Updated to declare |
michael@0 | 3566 | pass correct types to FT_USE_MODULE. |
michael@0 | 3567 | |
michael@0 | 3568 | 2008-12-21 Hongbo Ni <hongbo@njstar.com> |
michael@0 | 3569 | |
michael@0 | 3570 | * src/autofit/aflatin.c (af_latin_hint_edges), |
michael@0 | 3571 | src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c |
michael@0 | 3572 | (af_cjk_hint_edges): Protect against division by zero. This fixes |
michael@0 | 3573 | Savannah bug #25124. |
michael@0 | 3574 | |
michael@0 | 3575 | 2008-12-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 3576 | |
michael@0 | 3577 | * docs/CHANGES: Updated. |
michael@0 | 3578 | |
michael@0 | 3579 | 2008-12-18 Bevan, David <dbevan@emtex.com> |
michael@0 | 3580 | |
michael@0 | 3581 | Provide API for accessing embedding and subsetting restriction |
michael@0 | 3582 | information. |
michael@0 | 3583 | |
michael@0 | 3584 | * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING, |
michael@0 | 3585 | FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING, |
michael@0 | 3586 | FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING, |
michael@0 | 3587 | FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New |
michael@0 | 3588 | macros. |
michael@0 | 3589 | (FT_Get_FSType_Flags): New function declaration. |
michael@0 | 3590 | |
michael@0 | 3591 | * src/base/ftobjs.c (FT_Get_FSType_Flags): New function. |
michael@0 | 3592 | |
michael@0 | 3593 | * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c |
michael@0 | 3594 | (t42_keywords): Handle `FSType'. |
michael@0 | 3595 | |
michael@0 | 3596 | * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field. |
michael@0 | 3597 | |
michael@0 | 3598 | 2008-12-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 3599 | |
michael@0 | 3600 | * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal |
michael@0 | 3601 | macros so that copying the source code into an application works |
michael@0 | 3602 | out of the box. |
michael@0 | 3603 | |
michael@0 | 3604 | 2008-12-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 3605 | |
michael@0 | 3606 | * include/freetype/ftsynth.h, src/base/ftsynth.c: Move |
michael@0 | 3607 | FT_GlyphSlot_Own_Bitmap to... |
michael@0 | 3608 | * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files. |
michael@0 | 3609 | |
michael@0 | 3610 | * docs/CHANGES: Document it. |
michael@0 | 3611 | |
michael@0 | 3612 | 2008-12-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 3613 | |
michael@0 | 3614 | Generalize the concept of `tricky' fonts by introducing |
michael@0 | 3615 | FT_FACE_FLAG_TRICKY to indicate that the font format's hinting |
michael@0 | 3616 | engine is necessary for correct rendering. |
michael@0 | 3617 | |
michael@0 | 3618 | At the same time, slightly modify the behaviour of tricky fonts: |
michael@0 | 3619 | FT_LOAD_NO_HINTING is now ignored. To really force raw loading |
michael@0 | 3620 | of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and |
michael@0 | 3621 | FT_LOAD_NO_AUTOHINT must be used. |
michael@0 | 3622 | |
michael@0 | 3623 | Finally, tricky TrueType fonts always use the bytecode interpreter |
michael@0 | 3624 | even if the patented code is used. |
michael@0 | 3625 | |
michael@0 | 3626 | * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY): |
michael@0 | 3627 | New macros. |
michael@0 | 3628 | |
michael@0 | 3629 | * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags |
michael@0 | 3630 | semantics as described above. |
michael@0 | 3631 | |
michael@0 | 3632 | * src/truetype/ttobjs.c (tt_check_trickyness): New function, using |
michael@0 | 3633 | code of ... |
michael@0 | 3634 | (tt_face_init): This function, now simplified and updated to new |
michael@0 | 3635 | semantics. |
michael@0 | 3636 | |
michael@0 | 3637 | * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky |
michael@0 | 3638 | fonts. |
michael@0 | 3639 | |
michael@0 | 3640 | * docs/CHANGES: Document it. |
michael@0 | 3641 | |
michael@0 | 3642 | 2008-12-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 3643 | |
michael@0 | 3644 | Really fix Savannah bug #25010: An SFNT font with neither outlines |
michael@0 | 3645 | nor bitmaps can be considered as containing space `glyphs' only. |
michael@0 | 3646 | |
michael@0 | 3647 | * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where |
michael@0 | 3648 | a `glyf' table is missing. |
michael@0 | 3649 | |
michael@0 | 3650 | * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no |
michael@0 | 3651 | `glyf' table but a non-zero `loca' entry. |
michael@0 | 3652 | (tt_loader_init): Handle missing `glyf' table. |
michael@0 | 3653 | |
michael@0 | 3654 | * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05. |
michael@0 | 3655 | |
michael@0 | 3656 | * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines |
michael@0 | 3657 | nor bitmaps is scalable. |
michael@0 | 3658 | |
michael@0 | 3659 | 2008-12-05 Werner Lemberg <wl@nu.org> |
michael@0 | 3660 | |
michael@0 | 3661 | * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This |
michael@0 | 3662 | fixes Savannah bug #21190 which also provides a basic patch. |
michael@0 | 3663 | |
michael@0 | 3664 | 2008-12-05 Werner Lemberg <wl@nu.org> |
michael@0 | 3665 | |
michael@0 | 3666 | * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value |
michael@0 | 3667 | 0x100 instead of 0x10000; the latter value is already occupied by |
michael@0 | 3668 | FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos. |
michael@0 | 3669 | |
michael@0 | 3670 | |
michael@0 | 3671 | Handle SFNT with neither outlines nor bitmaps. This fixes Savannah |
michael@0 | 3672 | bug #25010. |
michael@0 | 3673 | |
michael@0 | 3674 | * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither |
michael@0 | 3675 | outlines nor bitmaps. |
michael@0 | 3676 | |
michael@0 | 3677 | * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there |
michael@0 | 3678 | is no table with glyphs. |
michael@0 | 3679 | |
michael@0 | 3680 | |
michael@0 | 3681 | * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging |
michael@0 | 3682 | message. |
michael@0 | 3683 | |
michael@0 | 3684 | 2008-12-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 3685 | |
michael@0 | 3686 | GDEF tables need `glyph_count' too for validation. Problem reported |
michael@0 | 3687 | by Chi Nguyen <chint@necsv.com>. |
michael@0 | 3688 | |
michael@0 | 3689 | * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h |
michael@0 | 3690 | (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass |
michael@0 | 3691 | `glyph_count'. |
michael@0 | 3692 | |
michael@0 | 3693 | 2008-11-29 Werner Lemberg <wl@gnu.org> |
michael@0 | 3694 | |
michael@0 | 3695 | * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c, |
michael@0 | 3696 | src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c, |
michael@0 | 3697 | src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c, |
michael@0 | 3698 | src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c, |
michael@0 | 3699 | src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings |
michael@0 | 3700 | (Atari PureC). |
michael@0 | 3701 | |
michael@0 | 3702 | 2008-11-29 James Cloos <cloos@jhcloos.com> |
michael@0 | 3703 | |
michael@0 | 3704 | * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix |
michael@0 | 3705 | it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values |
michael@0 | 3706 | in the /BlendDesignMap space). |
michael@0 | 3707 | |
michael@0 | 3708 | 2008-11-29 James Cloos <cloos@jhcloos.com> |
michael@0 | 3709 | |
michael@0 | 3710 | * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*, |
michael@0 | 3711 | whereas `design_points' is FT_Long*. Therefore, return blend rather |
michael@0 | 3712 | than design points. |
michael@0 | 3713 | |
michael@0 | 3714 | 2008-11-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 3715 | |
michael@0 | 3716 | * src/cff/cffparse.c (cff_parse_real): Handle more than nine |
michael@0 | 3717 | significant digits correctly. This fixes Savannah bug #24953. |
michael@0 | 3718 | |
michael@0 | 3719 | 2008-11-25 Daniel Zimmermann <netzimme@aol.com> |
michael@0 | 3720 | |
michael@0 | 3721 | * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream |
michael@0 | 3722 | before the NULL check. From Savannah patch #6681. |
michael@0 | 3723 | |
michael@0 | 3724 | 2008-11-24 Werner Lemberg <wl@gnu.org> |
michael@0 | 3725 | |
michael@0 | 3726 | Fixes from the gnuwin32 port. |
michael@0 | 3727 | |
michael@0 | 3728 | * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. |
michael@0 | 3729 | |
michael@0 | 3730 | * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. |
michael@0 | 3731 | |
michael@0 | 3732 | * src/psaux/psobjs.c (ps_table_add): Check `length'. |
michael@0 | 3733 | |
michael@0 | 3734 | 2008-11-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 3735 | |
michael@0 | 3736 | * src/truetype/ttinterp.c (tt_default_graphics_state): The default |
michael@0 | 3737 | value for `scan_type' is zero, as confirmed by Greg Hitchcock from |
michael@0 | 3738 | Microsoft. Problem reported by Michal Nowakowski |
michael@0 | 3739 | <miszka@limes.com.pl>. |
michael@0 | 3740 | |
michael@0 | 3741 | 2008-11-12 Tor Andersson <tor.andersson@gmail.com> |
michael@0 | 3742 | |
michael@0 | 3743 | * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field. |
michael@0 | 3744 | This fixes Savannah bug #24819. |
michael@0 | 3745 | |
michael@0 | 3746 | 2008-11-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 3747 | |
michael@0 | 3748 | * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards |
michael@0 | 3749 | since OpenType version 1.5 has been released. |
michael@0 | 3750 | |
michael@0 | 3751 | * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY, |
michael@0 | 3752 | TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5. |
michael@0 | 3753 | (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE, |
michael@0 | 3754 | TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN, |
michael@0 | 3755 | TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE, |
michael@0 | 3756 | TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI, |
michael@0 | 3757 | TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC, |
michael@0 | 3758 | TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA, |
michael@0 | 3759 | TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING, |
michael@0 | 3760 | TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE, |
michael@0 | 3761 | TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI, |
michael@0 | 3762 | TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS, |
michael@0 | 3763 | TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New |
michael@0 | 3764 | macros for OpenType 1.5. |
michael@0 | 3765 | |
michael@0 | 3766 | 2008-11-08 Wenlin Institute <wenlin@wenlin.com> |
michael@0 | 3767 | |
michael@0 | 3768 | * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against |
michael@0 | 3769 | slot->internal == NULL. Reported by Graham Asher. |
michael@0 | 3770 | |
michael@0 | 3771 | 2008-11-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 3772 | |
michael@0 | 3773 | * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error |
michael@0 | 3774 | code so that memory allocation problems can be distinguished from |
michael@0 | 3775 | missing table entries. Reported by Graham Asher. |
michael@0 | 3776 | (GET_NAME): New macro. |
michael@0 | 3777 | (sfnt_load_face): Use it. |
michael@0 | 3778 | |
michael@0 | 3779 | 2008-11-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 3780 | |
michael@0 | 3781 | * devel/ftoption.h, include/freetype/config/ftoption.h |
michael@0 | 3782 | [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine |
michael@0 | 3783 | TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of |
michael@0 | 3784 | `FT_Get_TrueType_Engine_Type' (and makes it work as documented). |
michael@0 | 3785 | Reported in bug #441638 of bugzilla.novell.com. |
michael@0 | 3786 | |
michael@0 | 3787 | * docs/CHANGES: Document it. |
michael@0 | 3788 | |
michael@0 | 3789 | 2008-11-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 3790 | |
michael@0 | 3791 | * src/type1/t1load.c (parse_subrs): Use an endless loop. There are |
michael@0 | 3792 | fonts (like HELVI.PFB version 003.001, used on OS/2) which define |
michael@0 | 3793 | some `subrs' elements more than once. Problem reported by Peter |
michael@0 | 3794 | Weilbacher <mozilla@weilbacher.org>. |
michael@0 | 3795 | |
michael@0 | 3796 | 2008-10-15 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 3797 | |
michael@0 | 3798 | * src/sfnt/ttpost.c (tt_post_default_names): Add `const'. |
michael@0 | 3799 | |
michael@0 | 3800 | 2008-10-15 David Turner <david@freetype.org> |
michael@0 | 3801 | |
michael@0 | 3802 | * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for |
michael@0 | 3803 | meddlesome compilers' warning against `for ( ...; ...; ...) ;'. |
michael@0 | 3804 | |
michael@0 | 3805 | 2008-10-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 3806 | |
michael@0 | 3807 | * src/cff/cffobjs.c (cff_face_init): Remove compiler warning. |
michael@0 | 3808 | Suggested by Bram Tassyns in Savannah patch #6651. |
michael@0 | 3809 | |
michael@0 | 3810 | 2008-10-12 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 3811 | |
michael@0 | 3812 | * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of |
michael@0 | 3813 | `underline_position'. |
michael@0 | 3814 | |
michael@0 | 3815 | 2008-10-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 3816 | |
michael@0 | 3817 | * docs/CHANGES: Updated. |
michael@0 | 3818 | |
michael@0 | 3819 | 2008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3820 | |
michael@0 | 3821 | Fix Savannah bug #24468. |
michael@0 | 3822 | |
michael@0 | 3823 | According to include/freetype/internal/ftobjs.h, the appropriate |
michael@0 | 3824 | type to interchange single character codepoint is FT_UInt32. It |
michael@0 | 3825 | should be distinguished from FT_UInt which can be 16bit integer. |
michael@0 | 3826 | |
michael@0 | 3827 | * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type |
michael@0 | 3828 | of the second argument `pcharcode' from FT_UInt* to FT_UInt32*. |
michael@0 | 3829 | (tt_cmap4_char_map_binary): Ditto. |
michael@0 | 3830 | (tt_cmap14_get_nondef_chars): Change the type of return value |
michael@0 | 3831 | from FT_UInt* to FT_UInt32*. |
michael@0 | 3832 | |
michael@0 | 3833 | 2008-10-08 John Tytgat <John.Tytgat@esko.com> |
michael@0 | 3834 | |
michael@0 | 3835 | Fix Savannah bug #24485. |
michael@0 | 3836 | |
michael@0 | 3837 | * src/type1/t1load.c (parse_charstrings): Assure that we always have |
michael@0 | 3838 | a .notdef glyph. |
michael@0 | 3839 | |
michael@0 | 3840 | 2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3841 | |
michael@0 | 3842 | * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build. |
michael@0 | 3843 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 3844 | |
michael@0 | 3845 | 2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3846 | |
michael@0 | 3847 | * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions. |
michael@0 | 3848 | * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H. |
michael@0 | 3849 | |
michael@0 | 3850 | 2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3851 | |
michael@0 | 3852 | * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in |
michael@0 | 3853 | the beginning of sfnt container. |
michael@0 | 3854 | * src/sfnt/ttload.c (check_table_dir): Return |
michael@0 | 3855 | `SFNT_Err_Table_Missing' when sfnt table directory structure is |
michael@0 | 3856 | correct but essential tables for TrueType fonts (`head', `bhed' or |
michael@0 | 3857 | `SING') are missing. Other errors are returned by |
michael@0 | 3858 | SFNT_Err_Unknown_File_Format. |
michael@0 | 3859 | |
michael@0 | 3860 | * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns |
michael@0 | 3861 | `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is |
michael@0 | 3862 | enabled only when old mac font support is configured. |
michael@0 | 3863 | |
michael@0 | 3864 | 2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3865 | |
michael@0 | 3866 | * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN, |
michael@0 | 3867 | TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify |
michael@0 | 3868 | the repeated calculations of these values in ftobjs.c and ftmac.c. |
michael@0 | 3869 | * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags. |
michael@0 | 3870 | * src/base/ftmac.c: Ditto. |
michael@0 | 3871 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 3872 | |
michael@0 | 3873 | 2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3874 | |
michael@0 | 3875 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong |
michael@0 | 3876 | initialization of *is_sfnt_cid. |
michael@0 | 3877 | |
michael@0 | 3878 | 2008-10-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 3879 | |
michael@0 | 3880 | * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler |
michael@0 | 3881 | warnings. |
michael@0 | 3882 | |
michael@0 | 3883 | 2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3884 | |
michael@0 | 3885 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by... |
michael@0 | 3886 | (ft_lookup_PS_in_sfnt_stream): This. |
michael@0 | 3887 | (open_face_PS_from_sfnt_stream): New function. It checks whether |
michael@0 | 3888 | the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed |
michael@0 | 3889 | font, then try to open a face for given face_index. |
michael@0 | 3890 | (Mac_Read_sfnt_Resource): Replace the combination of |
michael@0 | 3891 | `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by |
michael@0 | 3892 | `open_face_PS_from_sfnt_stream'. |
michael@0 | 3893 | * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
michael@0 | 3894 | * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
michael@0 | 3895 | * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add |
michael@0 | 3896 | `open_face_PS_from_sfnt_stream'. |
michael@0 | 3897 | |
michael@0 | 3898 | 2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3899 | |
michael@0 | 3900 | * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to |
michael@0 | 3901 | FALSE if neither `CID ' nor `TYP1' is found in the sfnt container. |
michael@0 | 3902 | |
michael@0 | 3903 | 2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3904 | |
michael@0 | 3905 | * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or |
michael@0 | 3906 | MrC compiler of MPW is used. These compilers do not define the |
michael@0 | 3907 | macro __APPLE__ by themselves. |
michael@0 | 3908 | * builds/unix/ftconfig.in: Ditto. |
michael@0 | 3909 | * builds/vms/ftconfig.h: Ditto. |
michael@0 | 3910 | * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to |
michael@0 | 3911 | include ftmac.c if FreeType 2 is built by MPW. |
michael@0 | 3912 | * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to |
michael@0 | 3913 | enable shared functions for ftmac.c if FreeType 2 is built by MPW. |
michael@0 | 3914 | |
michael@0 | 3915 | * builds/mac/ftmac.c: Include ftbase.h. |
michael@0 | 3916 | (memory_stream_close): Removed. |
michael@0 | 3917 | (new_memory_stream): Ditto. |
michael@0 | 3918 | (open_face_from_buffer): Removed. Use the implementation in |
michael@0 | 3919 | ftobjs.c. |
michael@0 | 3920 | (ft_lookup_PS_in_sfnt): Ditto. |
michael@0 | 3921 | |
michael@0 | 3922 | * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an |
michael@0 | 3923 | included part of ftbase.c, to share the functions in ftobjs.c. The |
michael@0 | 3924 | rule compiling ftmac.c separately is removed and the rule copying |
michael@0 | 3925 | ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added. |
michael@0 | 3926 | * builds/mac/FreeType.m68k_cfm.make.txt: Ditto. |
michael@0 | 3927 | * builds/mac/FreeType.ppc_classic.make.txt: Ditto. |
michael@0 | 3928 | * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. |
michael@0 | 3929 | |
michael@0 | 3930 | 2008-10-02 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 3931 | |
michael@0 | 3932 | * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This |
michael@0 | 3933 | fixes Savannah bug #24430. |
michael@0 | 3934 | |
michael@0 | 3935 | 2008-10-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 3936 | |
michael@0 | 3937 | * builds/freetype.mk (BASE_H): Rename to... |
michael@0 | 3938 | (INTERNAL_H): This. |
michael@0 | 3939 | (FREETYPE_H): Updated. |
michael@0 | 3940 | * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H. |
michael@0 | 3941 | * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h. |
michael@0 | 3942 | * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h. |
michael@0 | 3943 | * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h. |
michael@0 | 3944 | * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h. |
michael@0 | 3945 | * src/type42/rules.mk (T42_DRV_H): Add t42types.h. |
michael@0 | 3946 | |
michael@0 | 3947 | 2008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3948 | |
michael@0 | 3949 | * src/base/ftbase.h: New file to declare the private utility |
michael@0 | 3950 | functions shared by the sources of base modules. Currently, |
michael@0 | 3951 | `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to |
michael@0 | 3952 | share between ftobjs.c and ftmac.c. |
michael@0 | 3953 | |
michael@0 | 3954 | * src/base/rule.mk: Add ftbase.h. |
michael@0 | 3955 | |
michael@0 | 3956 | * src/base/ftobjs.c: Include ftbase.h. |
michael@0 | 3957 | (memory_stream_close): Build on any platform when old MacOS font |
michael@0 | 3958 | support is enabled. |
michael@0 | 3959 | (new_memory_stream): Ditto. |
michael@0 | 3960 | (open_face_from_buffer): Build on any platform when old MacOS font |
michael@0 | 3961 | support is enabled. The counting of the face in a font file is |
michael@0 | 3962 | slightly different between Carbon-dependent parser and Carbon-free |
michael@0 | 3963 | parser. They are merged with the platform-specific conditional. |
michael@0 | 3964 | (ft_lookup_PS_in_sfnt): Ditto. |
michael@0 | 3965 | |
michael@0 | 3966 | * src/base/ftmac.c: Include ftbase.h. |
michael@0 | 3967 | (memory_stream_close): Removed. |
michael@0 | 3968 | (new_memory_stream): Ditto. |
michael@0 | 3969 | (open_face_from_buffer): Removed. Use the implementation in |
michael@0 | 3970 | ftobjs.c. |
michael@0 | 3971 | (ft_lookup_PS_in_sfnt): Ditto. |
michael@0 | 3972 | |
michael@0 | 3973 | 2008-10-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 3974 | |
michael@0 | 3975 | * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed |
michael@0 | 3976 | if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined. |
michael@0 | 3977 | |
michael@0 | 3978 | 2008-10-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 3979 | |
michael@0 | 3980 | * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c |
michael@0 | 3981 | (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done), |
michael@0 | 3982 | src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c |
michael@0 | 3983 | (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done), |
michael@0 | 3984 | src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0. |
michael@0 | 3985 | Reported by Graham Asher. |
michael@0 | 3986 | |
michael@0 | 3987 | 2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 3988 | |
michael@0 | 3989 | * src/base/rules.mk: Add conditional source to BASE_SRC, for `make |
michael@0 | 3990 | multi' on Mac OS X. If the macro $(ftmac_c) is defined, |
michael@0 | 3991 | $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the |
michael@0 | 3992 | lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes |
michael@0 | 3993 | ftmac.c. |
michael@0 | 3994 | * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c). |
michael@0 | 3995 | * builds/unix/configure.raw: Add procedure to set up appropriate |
michael@0 | 3996 | value of $(ftmac_c) with the consideration of the availability of |
michael@0 | 3997 | Carbon framework. |
michael@0 | 3998 | |
michael@0 | 3999 | 2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4000 | |
michael@0 | 4001 | * src/base/Jamfile: Add target for multi build by jam on Mac OS X. |
michael@0 | 4002 | * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this |
michael@0 | 4003 | function for MPW building. It is synchronized the condition to |
michael@0 | 4004 | include ftmac.c source into ftbase.c. |
michael@0 | 4005 | |
michael@0 | 4006 | 2008-09-22 Werner Lemberg <wl@gnu.org> |
michael@0 | 4007 | |
michael@0 | 4008 | * src/cff/cffgload.c (CFF_Operator, cff_argument_counts, |
michael@0 | 4009 | cff_decoder_parse_charstrings): Handle (invalid) |
michael@0 | 4010 | `callothersubr' and `pop' instructions. |
michael@0 | 4011 | |
michael@0 | 4012 | 2008-09-22 John Tytgat <John.Tytgat@esko.com> |
michael@0 | 4013 | |
michael@0 | 4014 | Fix Savannah bug #24307. |
michael@0 | 4015 | |
michael@0 | 4016 | * include/freetype/internal/t1types.h (CID_FaceRec), |
michael@0 | 4017 | src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'. |
michael@0 | 4018 | |
michael@0 | 4019 | 2008-09-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 4020 | |
michael@0 | 4021 | * src/smooth/ftgrays.c (gray_raster_render): Don't dereference |
michael@0 | 4022 | `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by |
michael@0 | 4023 | Stephan T. Lavavej <stl@nuwen.net>. |
michael@0 | 4024 | |
michael@0 | 4025 | 2008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4026 | |
michael@0 | 4027 | * src/otvalid/Jamfile: Add missing target `otvmath' for multi build |
michael@0 | 4028 | by jam. |
michael@0 | 4029 | * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by |
michael@0 | 4030 | jam. |
michael@0 | 4031 | |
michael@0 | 4032 | 2008-09-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 4033 | |
michael@0 | 4034 | * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values |
michael@0 | 4035 | passed to this function are already `normalized'. Problem reported |
michael@0 | 4036 | by Stephan T. Lavavej <stl@nuwen.net>. |
michael@0 | 4037 | |
michael@0 | 4038 | * docs/CHANGES: Document it. |
michael@0 | 4039 | |
michael@0 | 4040 | 2008-09-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 4041 | |
michael@0 | 4042 | * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H. |
michael@0 | 4043 | (FT_Outline_Decompose): Decorate with tracing messages. |
michael@0 | 4044 | |
michael@0 | 4045 | * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with |
michael@0 | 4046 | FT_DEBUG_LEVEL_TRACE. |
michael@0 | 4047 | [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and |
michael@0 | 4048 | stdarg.h. |
michael@0 | 4049 | |
michael@0 | 4050 | (FT_TRACE) [_STANDALONE_]: Remove. |
michael@0 | 4051 | (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function. |
michael@0 | 4052 | (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros. |
michael@0 | 4053 | (FT_ERROR) [_STANDALONE_]: Updated. |
michael@0 | 4054 | |
michael@0 | 4055 | (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition. |
michael@0 | 4056 | Use FT_TRACE7. |
michael@0 | 4057 | (gray_dump_cells): Make it `static void'. |
michael@0 | 4058 | (gray_convert_glyph): Use FT_TRACE7. |
michael@0 | 4059 | |
michael@0 | 4060 | (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in |
michael@0 | 4061 | ftoutln.c. |
michael@0 | 4062 | |
michael@0 | 4063 | * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use |
michael@0 | 4064 | FT_ERROR_BASE. |
michael@0 | 4065 | |
michael@0 | 4066 | * docs/formats.txt: Updated. |
michael@0 | 4067 | |
michael@0 | 4068 | 2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4069 | |
michael@0 | 4070 | * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped |
michael@0 | 4071 | CID-keyed font support. |
michael@0 | 4072 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 4073 | |
michael@0 | 4074 | 2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4075 | |
michael@0 | 4076 | * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in |
michael@0 | 4077 | sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code. |
michael@0 | 4078 | `open_face_from_buffer' frees the passed buffer if it cannot open a |
michael@0 | 4079 | face from the buffer, so the caller must not free it. |
michael@0 | 4080 | |
michael@0 | 4081 | 2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4082 | |
michael@0 | 4083 | * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support |
michael@0 | 4084 | for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font. |
michael@0 | 4085 | (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID ' |
michael@0 | 4086 | table in sfnt table directory. It is used before loading TrueType |
michael@0 | 4087 | font driver. |
michael@0 | 4088 | |
michael@0 | 4089 | * docs/CHANGES: Add note about the current status of sfnt-wrapped |
michael@0 | 4090 | Type1 and sfnt-wrapped CID-keyed font support. |
michael@0 | 4091 | |
michael@0 | 4092 | 2008-09-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 4093 | |
michael@0 | 4094 | * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for |
michael@0 | 4095 | orthogonality (ft_free and ft_sfree could belong to different memory |
michael@0 | 4096 | pools). This fixes Savannah bug #24297. |
michael@0 | 4097 | |
michael@0 | 4098 | 2008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4099 | |
michael@0 | 4100 | * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined |
michael@0 | 4101 | in ttags.h instead of numerical value 0x4F54544FL. |
michael@0 | 4102 | |
michael@0 | 4103 | 2008-09-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 4104 | |
michael@0 | 4105 | * src/cff/cffgload.h, src/cff/cffgload.c |
michael@0 | 4106 | (cff_decoder_set_width_only): Eliminate function call. |
michael@0 | 4107 | |
michael@0 | 4108 | 2008-09-15 George Williams <gww@silcom.com> |
michael@0 | 4109 | |
michael@0 | 4110 | Fix Savannah bug #24179, reported by Bram Tassyns. |
michael@0 | 4111 | |
michael@0 | 4112 | * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation |
michael@0 | 4113 | of default values. |
michael@0 | 4114 | |
michael@0 | 4115 | 2008-09-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 4116 | |
michael@0 | 4117 | * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index' |
michael@0 | 4118 | and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to |
michael@0 | 4119 | prevent unconditional definition. This fixes Savannah bug #24241. |
michael@0 | 4120 | |
michael@0 | 4121 | * src/psnames/pstables.h: Regenerated. |
michael@0 | 4122 | |
michael@0 | 4123 | 2008-09-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 4124 | |
michael@0 | 4125 | * autogen.sh, builds/unix/configure.raw, |
michael@0 | 4126 | include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor |
michael@0 | 4127 | beautifying. |
michael@0 | 4128 | |
michael@0 | 4129 | * include/freetype/ftadvanc.h, include/freetype/ftgasp.h, |
michael@0 | 4130 | include/freetype/ftlcdfil.h: Protect against FreeType 1. |
michael@0 | 4131 | Some other minor fixes. |
michael@0 | 4132 | |
michael@0 | 4133 | * devel/ftoption.h: Synchronize with |
michael@0 | 4134 | include/freetype/config/ftoption.h. |
michael@0 | 4135 | |
michael@0 | 4136 | 2008-09-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 4137 | |
michael@0 | 4138 | * src/base/ftbase.c: Include ftadvanc.c. |
michael@0 | 4139 | |
michael@0 | 4140 | 2008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4141 | |
michael@0 | 4142 | * builds/unix/ftconfig.in: Duplicate the cpp computation of |
michael@0 | 4143 | FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h. |
michael@0 | 4144 | (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp |
michael@0 | 4145 | computation is disabled and the statically configured sizes are |
michael@0 | 4146 | used. This fixes Savannah bug #21250. |
michael@0 | 4147 | |
michael@0 | 4148 | * builds/unix/configure.raw: Add the checks to compare the cpp |
michael@0 | 4149 | computation results of the bit length of int and long versus the |
michael@0 | 4150 | sizes detected by running `configure'. If the results are |
michael@0 | 4151 | different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the |
michael@0 | 4152 | results. |
michael@0 | 4153 | New option --{enable|disable}-biarch-config is added to define or |
michael@0 | 4154 | undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually. |
michael@0 | 4155 | |
michael@0 | 4156 | 2008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4157 | |
michael@0 | 4158 | * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or |
michael@0 | 4159 | ApplicationService framework is missing. Although this value is not |
michael@0 | 4160 | used in building of FreeType2, it is written in `freetype2.pc' and |
michael@0 | 4161 | `freetype-config'. |
michael@0 | 4162 | |
michael@0 | 4163 | 2008-09-01 david turner <david@freetype.org> |
michael@0 | 4164 | |
michael@0 | 4165 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap |
michael@0 | 4166 | index to mean `use default cached FT_Face's charmap'. This fixes |
michael@0 | 4167 | Savannah bug #22625. |
michael@0 | 4168 | * include/freetype/ftcache.h: Document it. |
michael@0 | 4169 | |
michael@0 | 4170 | |
michael@0 | 4171 | Make FT_MulFix an inlined function. This is done to speed up |
michael@0 | 4172 | FreeType a little (on x86 3% when loading+hinting, 10% when |
michael@0 | 4173 | rendering, ARM savings are more important though). Disable this by |
michael@0 | 4174 | undefining FT_CONFIG_OPTION_INLINE_MULFIX. |
michael@0 | 4175 | |
michael@0 | 4176 | Use of assembler code can now be controlled with |
michael@0 | 4177 | FT_CONFIG_OPTION_NO_ASSEMBLER. |
michael@0 | 4178 | |
michael@0 | 4179 | * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in |
michael@0 | 4180 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler |
michael@0 | 4181 | implementation. |
michael@0 | 4182 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler |
michael@0 | 4183 | implementation taken from `ftcalc.c'. |
michael@0 | 4184 | [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro |
michael@0 | 4185 | which is defined to the platform-specific assembler implementation |
michael@0 | 4186 | of FT_MulFix. |
michael@0 | 4187 | [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER] |
michael@0 | 4188 | (FT_MULFIX_INLINED): New macro. |
michael@0 | 4189 | |
michael@0 | 4190 | * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER, |
michael@0 | 4191 | FT_CONFIG_OPTION_INLINE_MULFIX): New macros. |
michael@0 | 4192 | |
michael@0 | 4193 | * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED. |
michael@0 | 4194 | |
michael@0 | 4195 | * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and |
michael@0 | 4196 | FT_MULFIX_INLINED. |
michael@0 | 4197 | |
michael@0 | 4198 | |
michael@0 | 4199 | Add a new header named FT_ADVANCES_H declaring some new APIs to |
michael@0 | 4200 | extract the advances of one or more glyphs without necessarily |
michael@0 | 4201 | loading their outlines. Also provide `fast loaders' for the |
michael@0 | 4202 | TrueType, Type1, and CFF font drivers (more to come later). |
michael@0 | 4203 | |
michael@0 | 4204 | * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files. |
michael@0 | 4205 | |
michael@0 | 4206 | * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro. |
michael@0 | 4207 | * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro. |
michael@0 | 4208 | |
michael@0 | 4209 | * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): |
michael@0 | 4210 | `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed', |
michael@0 | 4211 | respectively. |
michael@0 | 4212 | |
michael@0 | 4213 | * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add |
michael@0 | 4214 | ftadvanc.c. |
michael@0 | 4215 | |
michael@0 | 4216 | * src/cff/cffdrivr.c (cff_get_advances): New function. |
michael@0 | 4217 | (cff_driver_class): Register it. |
michael@0 | 4218 | |
michael@0 | 4219 | * src/cff/cffgload.c (cff_decoder_set_width_only): New function. |
michael@0 | 4220 | (cff_decoder_parse_charstrings): Handle `width_only'. |
michael@0 | 4221 | (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY. |
michael@0 | 4222 | |
michael@0 | 4223 | * src/cff/cffgload.h (cff_decoder): New element `width_only'. |
michael@0 | 4224 | (cff_decoder_set_width_only): New declaration. |
michael@0 | 4225 | |
michael@0 | 4226 | * src/truetype/ttdriver.c (tt_get_advances): New function. |
michael@0 | 4227 | (tt_driver_class): Register it. |
michael@0 | 4228 | |
michael@0 | 4229 | * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to... |
michael@0 | 4230 | (TT_Get_HMetrics, TT_Get_VMetrics): This. |
michael@0 | 4231 | Update callers. |
michael@0 | 4232 | * src/truetype/ttgload.h: Declare them. |
michael@0 | 4233 | |
michael@0 | 4234 | * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New |
michael@0 | 4235 | function. |
michael@0 | 4236 | * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances. |
michael@0 | 4237 | |
michael@0 | 4238 | |
michael@0 | 4239 | Add checks for minimum version of the `autotools' stuff. |
michael@0 | 4240 | |
michael@0 | 4241 | * autogen.sh: Implement it. |
michael@0 | 4242 | (get_major_version, get_minor_version, get_patch_version, |
michael@0 | 4243 | compare_to_minimum_version, check_tool_version): New auxiliary |
michael@0 | 4244 | functions. |
michael@0 | 4245 | |
michael@0 | 4246 | * README.CVS: Document it. |
michael@0 | 4247 | |
michael@0 | 4248 | 2008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4249 | |
michael@0 | 4250 | * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in |
michael@0 | 4251 | ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ). |
michael@0 | 4252 | |
michael@0 | 4253 | 2008-08-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 4254 | |
michael@0 | 4255 | * src/type1/t1load.c (parse_encoding): Protect against infinite |
michael@0 | 4256 | loop. This fixes Savannah bug #24150 (where a patch has been posted |
michael@0 | 4257 | too). |
michael@0 | 4258 | |
michael@0 | 4259 | 2008-08-23 Werner Lemberg <wl@gnu.org> |
michael@0 | 4260 | |
michael@0 | 4261 | * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c |
michael@0 | 4262 | (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug |
michael@0 | 4263 | #24119. |
michael@0 | 4264 | |
michael@0 | 4265 | 2008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4266 | |
michael@0 | 4267 | * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always, |
michael@0 | 4268 | even if passed library or arguments are invalid. This fixes a bug |
michael@0 | 4269 | that an uninitialized stream is freed when an invalid library handle |
michael@0 | 4270 | is passed. Originally proposed by Mike Fabian, 2008/08/18 on |
michael@0 | 4271 | freetype-devel. |
michael@0 | 4272 | (FT_Open_Face): Ditto (stream). |
michael@0 | 4273 | (load_face_in_embedded_rfork): Ditto (stream2). |
michael@0 | 4274 | |
michael@0 | 4275 | 2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4276 | |
michael@0 | 4277 | * src/base/ftmac.c: Add a fallback to guess the availability of the |
michael@0 | 4278 | `ResourceIndex' type. It is used when built without configure |
michael@0 | 4279 | (e.g., a build with Jam). |
michael@0 | 4280 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 4281 | * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0 |
michael@0 | 4282 | explicitly, even if `ResourceIndex' is unavailable. |
michael@0 | 4283 | |
michael@0 | 4284 | 2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4285 | |
michael@0 | 4286 | * builds/unix/configure.raw: In checking of Mac OS X features, |
michael@0 | 4287 | all-in-one header file `Carbon.h' is replaced by the minimum |
michael@0 | 4288 | header file `CoreServices.h', similar to current src/base/ftmac.c. |
michael@0 | 4289 | |
michael@0 | 4290 | 2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4291 | |
michael@0 | 4292 | * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of |
michael@0 | 4293 | sub-header when its code_count is 0. Many Japanese Dynalab fonts |
michael@0 | 4294 | include such an empty sub-header (code_count == 0, first_code == 0 |
michael@0 | 4295 | delta == 0, but offset != 0) as the second sub-header in SJIS cmap. |
michael@0 | 4296 | |
michael@0 | 4297 | 2008-08-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 4298 | |
michael@0 | 4299 | * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes |
michael@0 | 4300 | Savannah bug #23995. |
michael@0 | 4301 | |
michael@0 | 4302 | * src/cid/cidload.c (parse_expansion_factor): New callback function. |
michael@0 | 4303 | (cid_field_records): Use it for `ExpansionFactor'. |
michael@0 | 4304 | * src/cod/cidtoken.h: Handle `ForceBold' keyword. |
michael@0 | 4305 | Don't handle `ExpansionFactor'. |
michael@0 | 4306 | |
michael@0 | 4307 | 2008-08-04 Bram Tassyns <bramt@enfocus.be> |
michael@0 | 4308 | |
michael@0 | 4309 | * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which |
michael@0 | 4310 | resulted in incorrect scaling. This fixes Savannah bug #23973. |
michael@0 | 4311 | |
michael@0 | 4312 | 2008-08-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 4313 | |
michael@0 | 4314 | Be more tolerant w.r.t. invalid entries in SFNT table directory. |
michael@0 | 4315 | |
michael@0 | 4316 | * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and |
michael@0 | 4317 | adjust table count. |
michael@0 | 4318 | Add more trace messages. |
michael@0 | 4319 | (tt_face_load_font_dir): Updated. |
michael@0 | 4320 | |
michael@0 | 4321 | 2008-07-30 Werner Lemberg <wl@gnu.org> |
michael@0 | 4322 | |
michael@0 | 4323 | * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer |
michael@0 | 4324 | assume that the first argument on the stack is the bottom-most |
michael@0 | 4325 | element. Two reasons: |
michael@0 | 4326 | |
michael@0 | 4327 | o According to people from Adobe it is missing in the Type 2 |
michael@0 | 4328 | specification that pushing of additional, superfluous arguments |
michael@0 | 4329 | on the stack is prohibited. |
michael@0 | 4330 | |
michael@0 | 4331 | o Acroread in general handles fonts differently, namely by popping |
michael@0 | 4332 | the number of arguments needed for a particular operand (as a PS |
michael@0 | 4333 | interpreter would do). In case of buggy fonts this causes a |
michael@0 | 4334 | different interpretation which of the elements on the stack are |
michael@0 | 4335 | superfluous and which not. |
michael@0 | 4336 | |
michael@0 | 4337 | Since there are CFF subfonts (embedded in PDFs) which rely on |
michael@0 | 4338 | Acroread's behaviour, FreeType now does the same. |
michael@0 | 4339 | |
michael@0 | 4340 | 2008-07-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 4341 | |
michael@0 | 4342 | Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This |
michael@0 | 4343 | fixes Savannah bug #23940. |
michael@0 | 4344 | |
michael@0 | 4345 | * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to... |
michael@0 | 4346 | (EXTRA_GLYPH_LIST_SIZE): This. |
michael@0 | 4347 | Increase by 2. |
michael@0 | 4348 | (ft_wgl_extra_unicodes): Rename to... |
michael@0 | 4349 | (ft_extra_glyph_unicodes): This. |
michael@0 | 4350 | Add two code values. |
michael@0 | 4351 | (ft_wgl_extra_glyph_names): Rename to... |
michael@0 | 4352 | (ft_extra_glyph_names): This. |
michael@0 | 4353 | Add two glyphs. |
michael@0 | 4354 | (ft_wgl_extra_glyph_name_offsets): Rename to... |
michael@0 | 4355 | (ft_extra_glyph_name_offsets): This. |
michael@0 | 4356 | Add two offsets. |
michael@0 | 4357 | |
michael@0 | 4358 | (ps_check_wgl_name, ps_check_wgl_unicode): Rename to... |
michael@0 | 4359 | (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This. |
michael@0 | 4360 | Updated. |
michael@0 | 4361 | (ps_unicodes_init): Updated. |
michael@0 | 4362 | |
michael@0 | 4363 | 2008-07-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 4364 | |
michael@0 | 4365 | * src/cff/cffgload.c (cff_decoder_prepare, |
michael@0 | 4366 | cff_decoder_parse_charstrings): Improve debug output. |
michael@0 | 4367 | |
michael@0 | 4368 | 2008-07-22 Martin McBride <mmcbride@emtex.com> |
michael@0 | 4369 | |
michael@0 | 4370 | * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear, |
michael@0 | 4371 | tt_cmap4_char_map_binary): Handle fonts which treat the last segment |
michael@0 | 4372 | specially. According to the specification, such fonts would be |
michael@0 | 4373 | invalid but acroread accepts them. |
michael@0 | 4374 | |
michael@0 | 4375 | 2008-07-16 Jon Foster <Jon.Foster@cabot.co.uk> |
michael@0 | 4376 | |
michael@0 | 4377 | * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error. |
michael@0 | 4378 | |
michael@0 | 4379 | * src/base/ftcalc.c (FT_MulFix): Fix portability issue. |
michael@0 | 4380 | |
michael@0 | 4381 | * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]: |
michael@0 | 4382 | Fix compiler warning. |
michael@0 | 4383 | |
michael@0 | 4384 | 2008-07-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 4385 | |
michael@0 | 4386 | Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly. |
michael@0 | 4387 | |
michael@0 | 4388 | * src/cff/cffload.c (cff_font_load): Pass `pure_cff'. |
michael@0 | 4389 | Invert sids table only if `pure_cff' is set. |
michael@0 | 4390 | * src/cff/cffload.h: Udpated. |
michael@0 | 4391 | |
michael@0 | 4392 | * src/cff/cffobjs.c (cff_face_init): Updated. |
michael@0 | 4393 | Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set. |
michael@0 | 4394 | |
michael@0 | 4395 | * docs/CHANGES: Updated. |
michael@0 | 4396 | |
michael@0 | 4397 | 2008-07-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 4398 | |
michael@0 | 4399 | * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts |
michael@0 | 4400 | where num_locations < num_glyphs. Problem reported by Ding Li. |
michael@0 | 4401 | |
michael@0 | 4402 | 2008-07-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 4403 | |
michael@0 | 4404 | Since FreeType uses `$(value ...)', we now need GNU make 3.80 or |
michael@0 | 4405 | newer. This fixes Savannah bug #23648. |
michael@0 | 4406 | |
michael@0 | 4407 | * configure: zsh doesn't like ${1+"$@"}. |
michael@0 | 4408 | Update needed GNU make version. |
michael@0 | 4409 | * builds/toplevel.mk: Check for `$(eval ...)'. |
michael@0 | 4410 | * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document |
michael@0 | 4411 | it. |
michael@0 | 4412 | |
michael@0 | 4413 | 2008-07-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 4414 | |
michael@0 | 4415 | * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one |
michael@0 | 4416 | pixel, only check for dropouts if neither start nor end point lies |
michael@0 | 4417 | on a pixel center. This fixes Savannah bug #23762. |
michael@0 | 4418 | |
michael@0 | 4419 | 2008-06-29 Werner Lemberg <wl@gnu.org> |
michael@0 | 4420 | |
michael@0 | 4421 | * Version 2.3.7 released. |
michael@0 | 4422 | ========================= |
michael@0 | 4423 | |
michael@0 | 4424 | |
michael@0 | 4425 | Tag sources with `VER-2-3-7'. |
michael@0 | 4426 | |
michael@0 | 4427 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
michael@0 | 4428 | version number to 2.3.7. |
michael@0 | 4429 | |
michael@0 | 4430 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 4431 | builds/win32/visualc/freetype.dsp, |
michael@0 | 4432 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 4433 | builds/win32/visualce/index.html, |
michael@0 | 4434 | builds/win32/visualce/freetype.dsp, |
michael@0 | 4435 | builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/. |
michael@0 | 4436 | |
michael@0 | 4437 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. |
michael@0 | 4438 | |
michael@0 | 4439 | * builds/unix/configure.raw (version_info): Set to 9:18:3. |
michael@0 | 4440 | |
michael@0 | 4441 | * docs/release: Updated. |
michael@0 | 4442 | |
michael@0 | 4443 | 2008-06-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 4444 | |
michael@0 | 4445 | * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to... |
michael@0 | 4446 | * src/ftcalc.c: Here. This fixes Savannah bug #23729. |
michael@0 | 4447 | |
michael@0 | 4448 | 2008-06-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 4449 | |
michael@0 | 4450 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
michael@0 | 4451 | Horizontal_Gray_Sweep_Drop): Test for intersections which |
michael@0 | 4452 | degenerate to a single point can be ignored; this has been confirmed |
michael@0 | 4453 | by Greg Hitchcock from Microsoft. (This was commented out code.) |
michael@0 | 4454 | |
michael@0 | 4455 | 2008-06-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 4456 | |
michael@0 | 4457 | Improve navigation in API reference. |
michael@0 | 4458 | |
michael@0 | 4459 | * src/tools/docmaker/tohtml.py (html_header_3): Renamed to... |
michael@0 | 4460 | (html_header_6): This. |
michael@0 | 4461 | (html_header_3, html_header_3i, html_header_4, html_header_5, |
michael@0 | 4462 | html_header_5t): New strings. |
michael@0 | 4463 | (toc_footer_start, toc_footer_end): New strings. |
michael@0 | 4464 | (HtmlFormatter::html_header): Updated. |
michael@0 | 4465 | (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header): |
michael@0 | 4466 | New strings. |
michael@0 | 4467 | (HtmlFormatter::index_enter): Use `html_index_header'. |
michael@0 | 4468 | (HtmlFormatter::index_exit): Print `html_footer'. |
michael@0 | 4469 | (HtmlFormatter::toc_enter): Use `html_toc_header'. |
michael@0 | 4470 | (HtmlFormatter::toc_exit): Print proper footer. |
michael@0 | 4471 | |
michael@0 | 4472 | Convert ~ to non-breakable space. |
michael@0 | 4473 | |
michael@0 | 4474 | * src/tools/docmaker/tohtml.py (make_html_para): Implement it. |
michael@0 | 4475 | Update header files accordingly. |
michael@0 | 4476 | |
michael@0 | 4477 | 2008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4478 | |
michael@0 | 4479 | * builds/unix/configure.raw: Check type `ResourceIndex' explicitly |
michael@0 | 4480 | and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5 |
michael@0 | 4481 | bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without |
michael@0 | 4482 | ResourceIndex type definition. The macro does not inform the type |
michael@0 | 4483 | availability. |
michael@0 | 4484 | * src/base/ftmac.c: More parentheses are inserted to clarify the |
michael@0 | 4485 | conditionals to disable legacy APIs in `10.5 and later' cases. If |
michael@0 | 4486 | HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined. |
michael@0 | 4487 | |
michael@0 | 4488 | 2008-06-24 Werner Lemberg <wl@gnu.org> |
michael@0 | 4489 | |
michael@0 | 4490 | * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering |
michael@0 | 4491 | mode. |
michael@0 | 4492 | |
michael@0 | 4493 | * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph, |
michael@0 | 4494 | Draw_Sweep): No-dropout mode is value 2, not value 0. |
michael@0 | 4495 | (Draw_Sweep): Really skip dropout handling for no-dropout mode. |
michael@0 | 4496 | |
michael@0 | 4497 | 2008-06-24 Werner Lemberg <wl@gnu.org> |
michael@0 | 4498 | |
michael@0 | 4499 | * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour |
michael@0 | 4500 | if it consists of one point only. Based on a patch from Savannah |
michael@0 | 4501 | bug #23683 (from John Tytgat). |
michael@0 | 4502 | |
michael@0 | 4503 | 2008-06-22 Werner Lemberg <wl@gnu.org> |
michael@0 | 4504 | |
michael@0 | 4505 | * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff |
michael@0 | 4506 | with IS_HINTED. |
michael@0 | 4507 | |
michael@0 | 4508 | * docs/CHANGES: Updated. |
michael@0 | 4509 | |
michael@0 | 4510 | 2008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4511 | |
michael@0 | 4512 | * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option |
michael@0 | 4513 | but LDFLAGS does not, import it to LDFLAGS. The option is used to |
michael@0 | 4514 | specify non-default SDK on Mac OS X (e.g., universal binary SDK for |
michael@0 | 4515 | Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137 |
michael@0 | 4516 | recommends to add the option only to CFLAGS, LDFLAGS should include |
michael@0 | 4517 | it because libfreetype.la is built with -no-undefined. This fixes a |
michael@0 | 4518 | bug reported by Ryan Schmidt in MacPorts, |
michael@0 | 4519 | http://trac.macports.org/ticket/15331. |
michael@0 | 4520 | |
michael@0 | 4521 | 2008-06-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 4522 | |
michael@0 | 4523 | Enable access to the various dropout rules of the B&W rasterizer. |
michael@0 | 4524 | Pass dropout rules from the TT bytecode interpreter to the |
michael@0 | 4525 | rasterizer. |
michael@0 | 4526 | |
michael@0 | 4527 | * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS, |
michael@0 | 4528 | FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline. |
michael@0 | 4529 | |
michael@0 | 4530 | * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, |
michael@0 | 4531 | Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the |
michael@0 | 4532 | OpenType specification. |
michael@0 | 4533 | Fix mode 4 computation. |
michael@0 | 4534 | (Render_Glyph, Render_Gray_Glyph): Handle new outline flags. |
michael@0 | 4535 | |
michael@0 | 4536 | * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion |
michael@0 | 4537 | mode to FT_OUTLINE_XXX flags. |
michael@0 | 4538 | |
michael@0 | 4539 | * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check. |
michael@0 | 4540 | |
michael@0 | 4541 | 2008-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 4542 | |
michael@0 | 4543 | * src/cff/cffobjs.c (cff_face_init): Compute final |
michael@0 | 4544 | `dict->units_per_em' value before assigning it to |
michael@0 | 4545 | `cffface->units_per_EM'. Otherwise, CFFs without subfonts are |
michael@0 | 4546 | scaled incorrectly if the font matrix is non-standard. This fixes |
michael@0 | 4547 | Savannah bug #23630. |
michael@0 | 4548 | |
michael@0 | 4549 | * docs/CHANGES: Updated. |
michael@0 | 4550 | |
michael@0 | 4551 | 2008-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 4552 | |
michael@0 | 4553 | * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix |
michael@0 | 4554 | from 2008-06-19. |
michael@0 | 4555 | |
michael@0 | 4556 | 2008-06-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 4557 | |
michael@0 | 4558 | * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21. |
michael@0 | 4559 | Reported by Peter Weilbacher <mozilla@weilbacher.org>. |
michael@0 | 4560 | |
michael@0 | 4561 | * docs/CHANGES: Updated. |
michael@0 | 4562 | |
michael@0 | 4563 | 2008-06-15 George Williams <gww@silcom.com> |
michael@0 | 4564 | |
michael@0 | 4565 | * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set |
michael@0 | 4566 | `valid->extra2' to 1. This is undocumented in the OpenType 1.5 |
michael@0 | 4567 | specification. |
michael@0 | 4568 | |
michael@0 | 4569 | 2008-06-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 4570 | |
michael@0 | 4571 | * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly |
michael@0 | 4572 | from clobbering. Patch from Savannah bug report #23556. |
michael@0 | 4573 | |
michael@0 | 4574 | * docs/CHANGES: Document it. |
michael@0 | 4575 | |
michael@0 | 4576 | 2008-06-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 4577 | |
michael@0 | 4578 | * autogen.sh: Add option `--install' to libtoolize. |
michael@0 | 4579 | |
michael@0 | 4580 | 2008-06-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 4581 | |
michael@0 | 4582 | * Version 2.3.6 released. |
michael@0 | 4583 | ========================= |
michael@0 | 4584 | |
michael@0 | 4585 | |
michael@0 | 4586 | Tag sources with `VER-2-3-6'. |
michael@0 | 4587 | |
michael@0 | 4588 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
michael@0 | 4589 | version number to 2.3.6. |
michael@0 | 4590 | |
michael@0 | 4591 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 4592 | builds/win32/visualc/freetype.dsp, |
michael@0 | 4593 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 4594 | builds/win32/visualce/index.html, |
michael@0 | 4595 | builds/win32/visualce/freetype.dsp, |
michael@0 | 4596 | builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/. |
michael@0 | 4597 | |
michael@0 | 4598 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. |
michael@0 | 4599 | |
michael@0 | 4600 | * builds/unix/configure.raw (version_info): Set to 9:17:3. |
michael@0 | 4601 | |
michael@0 | 4602 | |
michael@0 | 4603 | * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x' |
michael@0 | 4604 | and `scale_y'. |
michael@0 | 4605 | * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'. |
michael@0 | 4606 | |
michael@0 | 4607 | |
michael@0 | 4608 | * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H. |
michael@0 | 4609 | * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. |
michael@0 | 4610 | |
michael@0 | 4611 | 2008-06-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 4612 | |
michael@0 | 4613 | * src/base/ftobjs.c (open_face): Check `clazz->init_face' and |
michael@0 | 4614 | `clazz->done_face'. |
michael@0 | 4615 | |
michael@0 | 4616 | 2008-06-09 VaDiM <s_sliva@rambler.ru> |
michael@0 | 4617 | |
michael@0 | 4618 | Support debugging on WinCE. From Savannah patch #6536; this fixes |
michael@0 | 4619 | bug #23497. |
michael@0 | 4620 | |
michael@0 | 4621 | * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro |
michael@0 | 4622 | as a replacement for OutputDebugStringA (which WinCE doesn't have). |
michael@0 | 4623 | Update all callers. |
michael@0 | 4624 | (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have |
michael@0 | 4625 | environment variables. |
michael@0 | 4626 | |
michael@0 | 4627 | 2008-06-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 4628 | |
michael@0 | 4629 | * README.CVS: Updated. |
michael@0 | 4630 | |
michael@0 | 4631 | * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated |
michael@0 | 4632 | for newer versions of autoconf and friends. |
michael@0 | 4633 | |
michael@0 | 4634 | 2008-06-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 4635 | |
michael@0 | 4636 | * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and |
michael@0 | 4637 | `private_len' unsigned. |
michael@0 | 4638 | |
michael@0 | 4639 | * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read |
michael@0 | 4640 | it as such. |
michael@0 | 4641 | (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned. |
michael@0 | 4642 | |
michael@0 | 4643 | |
michael@0 | 4644 | * src/base/ftstream.c (FT_Stream_Skip): Reject negative values. |
michael@0 | 4645 | |
michael@0 | 4646 | |
michael@0 | 4647 | * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis' |
michael@0 | 4648 | for sane value. |
michael@0 | 4649 | Fix typo. |
michael@0 | 4650 | |
michael@0 | 4651 | |
michael@0 | 4652 | * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly. |
michael@0 | 4653 | |
michael@0 | 4654 | |
michael@0 | 4655 | * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check |
michael@0 | 4656 | `last_point'. |
michael@0 | 4657 | |
michael@0 | 4658 | |
michael@0 | 4659 | * src/sfnt/ttload.c (tt_face_load_max_profile): Limit |
michael@0 | 4660 | `maxTwilightPoints'. |
michael@0 | 4661 | |
michael@0 | 4662 | 2008-06-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 4663 | |
michael@0 | 4664 | * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0' |
michael@0 | 4665 | correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem. |
michael@0 | 4666 | |
michael@0 | 4667 | 2008-06-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 4668 | |
michael@0 | 4669 | * include/freetype/ftcache.h (FTC_FaceID): Change type back to |
michael@0 | 4670 | FT_Pointer. Reported by Ian Britten <britten@caris.com>. |
michael@0 | 4671 | |
michael@0 | 4672 | 2008-06-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 4673 | |
michael@0 | 4674 | Emit header info for defined FreeType objects in reference. |
michael@0 | 4675 | |
michael@0 | 4676 | * src/tools/docmaker/content.py (re_header_macro): New regexp. |
michael@0 | 4677 | (ContentProcessor::__init__): Initialize new dictionary `headers'. |
michael@0 | 4678 | (DocBlock::__init__): Collect macro header definitions. |
michael@0 | 4679 | |
michael@0 | 4680 | * src/tools/docmaker/tohtml.py (header_location_header, |
michael@0 | 4681 | header_location_footer): New strings. |
michael@0 | 4682 | (HtmlFormatter::__init__): Pass `headers' dictionary. |
michael@0 | 4683 | (HtmlFormatter::print_html_field): Don't emit paragraph tags. |
michael@0 | 4684 | (HtmlFormatter::print_html_field_list): Emit empty paragraph. |
michael@0 | 4685 | (HtmlFormatter::block_enter): Emit header info. |
michael@0 | 4686 | |
michael@0 | 4687 | 2008-06-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 4688 | |
michael@0 | 4689 | * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H, |
michael@0 | 4690 | FT_INCREMENTAL_H): Added. |
michael@0 | 4691 | |
michael@0 | 4692 | 2008-05-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 4693 | |
michael@0 | 4694 | * src/tools/docmaker/sources.py (SourceBlock::__init__): While |
michael@0 | 4695 | looking for markup tags, return immediately as soon a single one is |
michael@0 | 4696 | found. |
michael@0 | 4697 | |
michael@0 | 4698 | 2008-05-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 4699 | |
michael@0 | 4700 | * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses |
michael@0 | 4701 | original, unscaled input values. Confirmed by Greg Hitchcock from |
michael@0 | 4702 | Microsoft. |
michael@0 | 4703 | |
michael@0 | 4704 | 2008-05-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 4705 | |
michael@0 | 4706 | * src/tools/docmaker/tohtml.py (block_footer_start, |
michael@0 | 4707 | block_footer_middle): Beautify output. |
michael@0 | 4708 | |
michael@0 | 4709 | 2008-05-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 4710 | |
michael@0 | 4711 | * src/raster/ftraster.c (fc_black_render): Return 0 when we are |
michael@0 | 4712 | trying to render into a zero-width/height bitmap, not an error code. |
michael@0 | 4713 | |
michael@0 | 4714 | * src/truetype/ttgload.c (load_truetype_glyph): Move initialization |
michael@0 | 4715 | of the graphics state for subglyphs to... |
michael@0 | 4716 | (TT_Hint_Glyph): This function. |
michael@0 | 4717 | Hinting instructions for a composite glyph apparently refer to the |
michael@0 | 4718 | just hinted subglyphs, not the unhinted, unscaled outline. This |
michael@0 | 4719 | seems to fix Savannah bugs #20973 and (at least partially) #23310. |
michael@0 | 4720 | |
michael@0 | 4721 | 2008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4722 | |
michael@0 | 4723 | * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid |
michael@0 | 4724 | `aface' is returned by FT_New_Face_From_FOND(). The patch was |
michael@0 | 4725 | proposed by an anonymous reporter of Savannah bug #23204. |
michael@0 | 4726 | |
michael@0 | 4727 | 2008-05-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 4728 | |
michael@0 | 4729 | * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after |
michael@0 | 4730 | correction for pixel boundary. Without this patch, the effect can |
michael@0 | 4731 | be cumulative under certain circumstances, making glyphs taller and |
michael@0 | 4732 | taller after each call. This fixes Savannah bug #19976. |
michael@0 | 4733 | |
michael@0 | 4734 | 2008-05-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 4735 | |
michael@0 | 4736 | * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr. |
michael@0 | 4737 | This fixes Savannah bug #23280. |
michael@0 | 4738 | |
michael@0 | 4739 | * docs/CHANGES: Updated. |
michael@0 | 4740 | |
michael@0 | 4741 | 2008-05-18 David Turner <david@freetype.org> |
michael@0 | 4742 | |
michael@0 | 4743 | * src/psnames/psmodule.c (ft_wgl_extra_unicodes, |
michael@0 | 4744 | ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets, |
michael@0 | 4745 | ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make |
michael@0 | 4746 | declarations non-global. |
michael@0 | 4747 | |
michael@0 | 4748 | * src/type1/t1load.c: Add missing comment. |
michael@0 | 4749 | |
michael@0 | 4750 | 2008-05-17 Sam Hocevar <samh> |
michael@0 | 4751 | |
michael@0 | 4752 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour |
michael@0 | 4753 | glyphs correctly. Patch from Savannah bug #23277. |
michael@0 | 4754 | |
michael@0 | 4755 | 2008-05-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 4756 | |
michael@0 | 4757 | * docs/CHANGES: Updated. |
michael@0 | 4758 | |
michael@0 | 4759 | 2008-05-16 Sergey Tolstov <stolstov@esri.com> |
michael@0 | 4760 | |
michael@0 | 4761 | Improve support for WGL4 encoded fonts. |
michael@0 | 4762 | |
michael@0 | 4763 | * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro. |
michael@0 | 4764 | (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names, |
michael@0 | 4765 | ft_wgl_extra_glyph_name_offsets): New arrays. |
michael@0 | 4766 | (ps_check_wgl_name, ps_check_wgl_unicode): New functions. |
michael@0 | 4767 | (ps_unicodes_init): Use them to add additional Unicode mappings. |
michael@0 | 4768 | |
michael@0 | 4769 | 2008-05-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 4770 | |
michael@0 | 4771 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
michael@0 | 4772 | <op_closepath>: `closepath' without a path is a no-op, not an error |
michael@0 | 4773 | (cf. the PS reference manual). |
michael@0 | 4774 | |
michael@0 | 4775 | Reported by Martin McBride. |
michael@0 | 4776 | |
michael@0 | 4777 | 2008-05-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 4778 | |
michael@0 | 4779 | * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated. |
michael@0 | 4780 | |
michael@0 | 4781 | 2008-05-15 Werner Lemberg <wl@gnu.org> |
michael@0 | 4782 | |
michael@0 | 4783 | * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array |
michael@0 | 4784 | which contains a single but empty entry. This is technically |
michael@0 | 4785 | invalid (since it must end with `return'), but... |
michael@0 | 4786 | |
michael@0 | 4787 | Reported by Martin McBride. |
michael@0 | 4788 | |
michael@0 | 4789 | 2008-05-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 4790 | |
michael@0 | 4791 | Finish fix of scaling bug of CID-keyed CFF subfonts. |
michael@0 | 4792 | |
michael@0 | 4793 | * include/freetype/internal/ftcalc.h, src/base/ftcalc.c |
michael@0 | 4794 | (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New |
michael@0 | 4795 | functions. |
michael@0 | 4796 | |
michael@0 | 4797 | * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to |
michael@0 | 4798 | provide global hinting data for both the top-font and all subfonts |
michael@0 | 4799 | (with proper scaling). |
michael@0 | 4800 | |
michael@0 | 4801 | * src/cff/cffobjs.c (cff_make_private_dict): New function, using |
michael@0 | 4802 | code from `cff_size_init'. |
michael@0 | 4803 | (cff_size_init, cff_size_done, cff_size_select, cff_size_request): |
michael@0 | 4804 | Use CFF_Internal and handle subfonts. |
michael@0 | 4805 | (cff_face_init): Handle top-dict and subfont matrices correctly; |
michael@0 | 4806 | apply some heuristic in case of unlikely matrix concatenation |
michael@0 | 4807 | results. This has been discussed with people from Adobe (thanks |
michael@0 | 4808 | goes mainly to David Lemon) who confirm that the CFF specs are fuzzy |
michael@0 | 4809 | and not correct. |
michael@0 | 4810 | |
michael@0 | 4811 | * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument. |
michael@0 | 4812 | |
michael@0 | 4813 | * src/cff/cffgload.c (cff_builder_init): Updated. |
michael@0 | 4814 | (cff_decoder_prepare): Handle hints globals for subfonts. |
michael@0 | 4815 | Update all callers. |
michael@0 | 4816 | (cff_slot_load): Handling scaling of subfonts properly. |
michael@0 | 4817 | |
michael@0 | 4818 | * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function. |
michael@0 | 4819 | (cff_parse_font_matrix): Use it. |
michael@0 | 4820 | |
michael@0 | 4821 | * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em' |
michael@0 | 4822 | FT_ULong. |
michael@0 | 4823 | |
michael@0 | 4824 | * docs/CHANGES: Document it. |
michael@0 | 4825 | |
michael@0 | 4826 | 2008-05-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 4827 | |
michael@0 | 4828 | * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init): |
michael@0 | 4829 | Handle case `face_index < 0'. |
michael@0 | 4830 | * docs/CHANGES: Document it. |
michael@0 | 4831 | |
michael@0 | 4832 | 2008-05-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 4833 | |
michael@0 | 4834 | First steps to fix the scaling bug of CID-keyed CFF subfonts, |
michael@0 | 4835 | reported by Ding Li on 2008/03/28 on freetype-devel. |
michael@0 | 4836 | |
michael@0 | 4837 | * src/base/cff/cffparse.c (power_tens): New array. |
michael@0 | 4838 | (cff_parse_real): Rewritten to introduce a fourth parameter which |
michael@0 | 4839 | returns the `scaling' of the real number so that we have no |
michael@0 | 4840 | precision loss. This is not used yet. |
michael@0 | 4841 | Update all callers. |
michael@0 | 4842 | (cff_parse_fixed_thousand): Replace with... |
michael@0 | 4843 | (cff_parse_fixed_scaled): This function. Update all callers. |
michael@0 | 4844 | |
michael@0 | 4845 | 2008-05-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 4846 | |
michael@0 | 4847 | * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without |
michael@0 | 4848 | transformation since it recursively calls FT_Load_Glyph. This fixes |
michael@0 | 4849 | Savannah bug #23143. |
michael@0 | 4850 | |
michael@0 | 4851 | 2008-04-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 4852 | |
michael@0 | 4853 | * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x' |
michael@0 | 4854 | and `scale_y' as obsolete since they aren't used. |
michael@0 | 4855 | * src/psaux/psobjs.c (t1_builder_init): Updated. |
michael@0 | 4856 | |
michael@0 | 4857 | * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as |
michael@0 | 4858 | obsolete since they aren't used. |
michael@0 | 4859 | * src/cff/cffgload.c (cff_builder_init): Updated. |
michael@0 | 4860 | |
michael@0 | 4861 | 2008-04-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 4862 | |
michael@0 | 4863 | * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to |
michael@0 | 4864 | `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah |
michael@0 | 4865 | bug #22909. |
michael@0 | 4866 | |
michael@0 | 4867 | 2008-04-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 4868 | |
michael@0 | 4869 | * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if |
michael@0 | 4870 | integer part is zero. |
michael@0 | 4871 | |
michael@0 | 4872 | 2008-04-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 4873 | |
michael@0 | 4874 | Fix compilation with g++ 4.1 (with both `single' and `multi' |
michael@0 | 4875 | targets). |
michael@0 | 4876 | |
michael@0 | 4877 | * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block |
michael@0 | 4878 | which is crossed by a `goto'. |
michael@0 | 4879 | |
michael@0 | 4880 | * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype. |
michael@0 | 4881 | |
michael@0 | 4882 | 2008-03-31 Werner Lemberg <wl@gnu.org> |
michael@0 | 4883 | |
michael@0 | 4884 | Fix support for subsetted CID-keyed CFFs. |
michael@0 | 4885 | |
michael@0 | 4886 | * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED, |
michael@0 | 4887 | FT_IS_CID_KEYED): New macros. |
michael@0 | 4888 | |
michael@0 | 4889 | * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the |
michael@0 | 4890 | maximum CID value in CID-keyed CFFs. |
michael@0 | 4891 | Handle FT_FACE_FLAG_CID_KEYED flag. |
michael@0 | 4892 | |
michael@0 | 4893 | * docs/CHANGES: Document it. |
michael@0 | 4894 | |
michael@0 | 4895 | |
michael@0 | 4896 | Fix CFF font matrix calculation and improve precision. |
michael@0 | 4897 | |
michael@0 | 4898 | * src/cff/cffparse.c (cff_parse_real): Increase precision if integer |
michael@0 | 4899 | part is zero. |
michael@0 | 4900 | (cff_parse_font_matrix): Simplify computation of `units_per_em'; |
michael@0 | 4901 | this prevents overflow also. |
michael@0 | 4902 | |
michael@0 | 4903 | |
michael@0 | 4904 | Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts. |
michael@0 | 4905 | |
michael@0 | 4906 | * src/cid/cidriver.c: Include FT_SERVICE_CID_H. |
michael@0 | 4907 | (cid_get_ros): New function. |
michael@0 | 4908 | (cid_service_cid_info): New service structure. |
michael@0 | 4909 | (cid_services): Register it. |
michael@0 | 4910 | |
michael@0 | 4911 | 2008-03-23 Werner Lemberg <wl@gnu.org> |
michael@0 | 4912 | |
michael@0 | 4913 | Adjustments for Visual C++ 8.0, as reported by Rainer Deyke. |
michael@0 | 4914 | |
michael@0 | 4915 | * builds/compiler/visualc.mk (CFLAGS): Remove /W5. |
michael@0 | 4916 | (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE. |
michael@0 | 4917 | |
michael@0 | 4918 | 2008-03-21 Laurence Darby <ldarby> |
michael@0 | 4919 | |
michael@0 | 4920 | * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from |
michael@0 | 4921 | Savannah bug #22675. |
michael@0 | 4922 | |
michael@0 | 4923 | 2008-03-13 Derek Clegg <dclegg@apple.com> |
michael@0 | 4924 | |
michael@0 | 4925 | * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop. |
michael@0 | 4926 | Patch from Savannah bug #22541. |
michael@0 | 4927 | |
michael@0 | 4928 | 2008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp> |
michael@0 | 4929 | |
michael@0 | 4930 | * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, |
michael@0 | 4931 | tt_cmap14_find_variant): Return correct value. |
michael@0 | 4932 | (tt_cmap14_variant_chars): Fix check for `di'. |
michael@0 | 4933 | |
michael@0 | 4934 | 2008-02-29 Wermer Lemberg <wl@gnu.org> |
michael@0 | 4935 | |
michael@0 | 4936 | * docs/CHANGES: Updated. |
michael@0 | 4937 | |
michael@0 | 4938 | 2008-02-29 Wolf |
michael@0 | 4939 | |
michael@0 | 4940 | Add build support for symbian platform. From Savannah bug #22440. |
michael@0 | 4941 | |
michael@0 | 4942 | * builds/symbian/*: New files. |
michael@0 | 4943 | |
michael@0 | 4944 | 2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4945 | |
michael@0 | 4946 | * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name |
michael@0 | 4947 | synthesis. For any face of a specified FOND, always the name for |
michael@0 | 4948 | the first face was used. Except of a FOND that refers multiple |
michael@0 | 4949 | Type1 font files, wrong synthesized font names are not used at all, |
michael@0 | 4950 | so this is an invisible bug. A few limit checks are added too. |
michael@0 | 4951 | |
michael@0 | 4952 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 4953 | |
michael@0 | 4954 | 2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4955 | |
michael@0 | 4956 | * builds/unix/configure.raw: Split compiler option to link Carbon |
michael@0 | 4957 | frameworks to one option for CoreServices framework and another |
michael@0 | 4958 | option for ApplicationServices framework. The split options can be |
michael@0 | 4959 | managed by GNU libtool to avoid unrequired duplication when FreeType |
michael@0 | 4960 | is linked with other applications. Suggested by Daniel Macks, |
michael@0 | 4961 | Savannah bug #22366. |
michael@0 | 4962 | |
michael@0 | 4963 | 2008-02-18 Victor Stinner <victor.stinner@haypocalc.com> |
michael@0 | 4964 | |
michael@0 | 4965 | * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix |
michael@0 | 4966 | from Savannah bug #22356. |
michael@0 | 4967 | |
michael@0 | 4968 | 2008-02-17 Jonathan Blow <jon@number-none.com> |
michael@0 | 4969 | |
michael@0 | 4970 | * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph): |
michael@0 | 4971 | Check for valid callback pointers. |
michael@0 | 4972 | |
michael@0 | 4973 | 2008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4974 | |
michael@0 | 4975 | * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource |
michael@0 | 4976 | handle by its value instead of ResError(), fix provided by Deron |
michael@0 | 4977 | Kazmaier. According to the Resource Manager Reference, |
michael@0 | 4978 | GetResource(), Get1Resource(), GetNamedResource(), |
michael@0 | 4979 | Get1NamedResource() and RGetResource() set noErr but return NULL |
michael@0 | 4980 | handle when they can not find the requested resource. These |
michael@0 | 4981 | functions never return undefined values, so it is sufficient to |
michael@0 | 4982 | check if the handle is not NULL. |
michael@0 | 4983 | |
michael@0 | 4984 | * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. |
michael@0 | 4985 | |
michael@0 | 4986 | 2008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 4987 | |
michael@0 | 4988 | * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other |
michael@0 | 4989 | inclusion styles. Now it always includes src/base/ftmac.c; |
michael@0 | 4990 | builds/mac/ftmac.c is never included in any configuration. |
michael@0 | 4991 | |
michael@0 | 4992 | * builds/unix/configure.raw: Print warning if configure is executed |
michael@0 | 4993 | with options to specify Carbon functionalities explicitly. |
michael@0 | 4994 | |
michael@0 | 4995 | * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not |
michael@0 | 4996 | included automatically and manual replacement is required. |
michael@0 | 4997 | |
michael@0 | 4998 | 2008-02-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 4999 | |
michael@0 | 5000 | * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk |
michael@0 | 5001 | (dos_setup), builds/freetype.mk (clean_project_dos, |
michael@0 | 5002 | distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan |
michael@0 | 5003 | Murdoch. |
michael@0 | 5004 | |
michael@0 | 5005 | 2008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com> |
michael@0 | 5006 | |
michael@0 | 5007 | * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to |
michael@0 | 5008 | mention intra-pixel algorithm. |
michael@0 | 5009 | |
michael@0 | 5010 | * include/freetype/freetype.h (FT_Render_Mode): Mention that |
michael@0 | 5011 | FT_Library_SetLcdFilter can be used to reduce fringes. |
michael@0 | 5012 | |
michael@0 | 5013 | 2008-01-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 5014 | |
michael@0 | 5015 | * src/raster/ftraster.c (ft_black_render): Check `outline' before |
michael@0 | 5016 | using it. Reported by Allan Yang. |
michael@0 | 5017 | |
michael@0 | 5018 | 2008-01-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 5019 | |
michael@0 | 5020 | * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove. |
michael@0 | 5021 | |
michael@0 | 5022 | 2008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com> |
michael@0 | 5023 | |
michael@0 | 5024 | * src/raster/ftraster.c (ft_black_init) |
michael@0 | 5025 | [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation. |
michael@0 | 5026 | |
michael@0 | 5027 | 2008-01-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 5028 | |
michael@0 | 5029 | * src/truetype/ttgload.c (load_truetype_glyph): Handle the case |
michael@0 | 5030 | where the number of contours in a simple glyph is zero (and which |
michael@0 | 5031 | does contain an entry in the `glyf' table). This fixes Savannah bug |
michael@0 | 5032 | #21990. |
michael@0 | 5033 | |
michael@0 | 5034 | 2008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5035 | |
michael@0 | 5036 | Formatting suggested by Sean McBride. |
michael@0 | 5037 | |
michael@0 | 5038 | * builds/mac/ftmac.c: Formatting (tab expanded). |
michael@0 | 5039 | * src/autofit/afindic.c: Ditto. |
michael@0 | 5040 | * src/base/ftcid.c: Ditto. |
michael@0 | 5041 | * src/base/ftmac.c: Ditto. |
michael@0 | 5042 | |
michael@0 | 5043 | 2007-12-30 Werner Lemberg <wl@gnu.org> |
michael@0 | 5044 | |
michael@0 | 5045 | * src/smooth/ftgrays.c (gray_raster_render): Check `outline' |
michael@0 | 5046 | correctly. |
michael@0 | 5047 | |
michael@0 | 5048 | 2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5049 | |
michael@0 | 5050 | Improvement of POSIX resource-fork accessor to load unsorted |
michael@0 | 5051 | references in a resource. In HelveLTMM (resource-fork PostScript |
michael@0 | 5052 | Type1 font bundled with Mac OS X since 10.3.x), the appearance order |
michael@0 | 5053 | of PFB chunks is not sorted; sorting the chunks by reference IDs is |
michael@0 | 5054 | required. |
michael@0 | 5055 | |
michael@0 | 5056 | * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure |
michael@0 | 5057 | type to store a pair of reference ID and offset to the chunk. |
michael@0 | 5058 | |
michael@0 | 5059 | * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to |
michael@0 | 5060 | sort FT_RFork_Ref by their reference IDs. |
michael@0 | 5061 | |
michael@0 | 5062 | (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is |
michael@0 | 5063 | sorted by reference ID. |
michael@0 | 5064 | |
michael@0 | 5065 | 2007-12-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 5066 | |
michael@0 | 5067 | * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten' |
michael@0 | 5068 | division too early; otherwise the most significant digit(s) of the |
michael@0 | 5069 | final result are lost as the value is truncated to an integer. This |
michael@0 | 5070 | fixes Savannah bug #21794 (where the patch has been posted too). |
michael@0 | 5071 | |
michael@0 | 5072 | 2007-12-06 Fix <4d876b82@gmail.com> |
michael@0 | 5073 | |
michael@0 | 5074 | Pass options from one configure script to another as-is (not |
michael@0 | 5075 | expanded). This is needed for options like |
michael@0 | 5076 | --includedir='${prefix}/include'. |
michael@0 | 5077 | |
michael@0 | 5078 | * builds/unix/detect.mk, configure: Prevent argument expansion in |
michael@0 | 5079 | call to the (real) `configure' script. |
michael@0 | 5080 | |
michael@0 | 5081 | 2007-12-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 5082 | |
michael@0 | 5083 | * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if |
michael@0 | 5084 | TT_USE_BYTECODE_INTERPRETER isn't defined. |
michael@0 | 5085 | |
michael@0 | 5086 | 2007-12-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 5087 | |
michael@0 | 5088 | There exist CFFs which contain opcodes for the Type 1 operators |
michael@0 | 5089 | `hsbw' and `closepath' which are both invalid in Type 2 charstrings. |
michael@0 | 5090 | However, it doesn't harm to support them. |
michael@0 | 5091 | |
michael@0 | 5092 | * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and |
michael@0 | 5093 | `cff_op_closepath.' |
michael@0 | 5094 | (cff_argument_counts): Ditto. |
michael@0 | 5095 | |
michael@0 | 5096 | (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath) |
michael@0 | 5097 | and 13 (hsbw) which are invalid in Type 2 charstrings. |
michael@0 | 5098 | |
michael@0 | 5099 | 2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5100 | |
michael@0 | 5101 | * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to |
michael@0 | 5102 | support new pathname syntax `..namedfork/rsrc' to access a resource |
michael@0 | 5103 | fork on Mac OS X. The legacy syntax `/rsrc' does not work on |
michael@0 | 5104 | case-sensitive HFS+. |
michael@0 | 5105 | (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of |
michael@0 | 5106 | buffer size to store a pathname. |
michael@0 | 5107 | * include/freetype/internal/ftrfork.h: Increment the number of |
michael@0 | 5108 | resource fork guessing rule. |
michael@0 | 5109 | |
michael@0 | 5110 | 2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5111 | |
michael@0 | 5112 | * builds/unix/configure.raw: Improve the compile tests to search |
michael@0 | 5113 | Carbon functions. |
michael@0 | 5114 | * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities |
michael@0 | 5115 | proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16). |
michael@0 | 5116 | |
michael@0 | 5117 | 2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5118 | |
michael@0 | 5119 | The documents and comments for Mac OS X are improved by Sean |
michael@0 | 5120 | McBride. |
michael@0 | 5121 | |
michael@0 | 5122 | * src/base/ftmac.c: Fix a comment. |
michael@0 | 5123 | * include/freetype/ftmac.h: Ditto. |
michael@0 | 5124 | * docs/INSTALL.MAC: Improve English and add comment on lowest |
michael@0 | 5125 | system version specified by MACOSX_DEPLOYMENT_TARGET. |
michael@0 | 5126 | |
michael@0 | 5127 | 2007-12-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 5128 | |
michael@0 | 5129 | * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to |
michael@0 | 5130 | concatenate error codes. |
michael@0 | 5131 | * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto. |
michael@0 | 5132 | |
michael@0 | 5133 | 2007-12-04 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 5134 | |
michael@0 | 5135 | * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to |
michael@0 | 5136 | concatenate error codes. |
michael@0 | 5137 | |
michael@0 | 5138 | 2007-12-04 Sean McBride <sean@rogue-research.com> |
michael@0 | 5139 | |
michael@0 | 5140 | * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler |
michael@0 | 5141 | warning. |
michael@0 | 5142 | |
michael@0 | 5143 | 2007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5144 | |
michael@0 | 5145 | Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is |
michael@0 | 5146 | not working since 2.3.5. In FT_Open_New(), if FT_New_Stream() |
michael@0 | 5147 | cannot mmap() the specified file and cannot seek to head of the |
michael@0 | 5148 | specified file, it returns NULL stream and FT_Open_New() returns the |
michael@0 | 5149 | error immediately. On MacOS, most legacy MacOS fonts fall into such |
michael@0 | 5150 | a scenario because their data forks are zero-sized and cannot be |
michael@0 | 5151 | sought. To proceed to guessing of resource fork fonts, the |
michael@0 | 5152 | functions for legacy MacOS font must properly handle the NULL stream |
michael@0 | 5153 | returned by FT_New_Stream(). |
michael@0 | 5154 | |
michael@0 | 5155 | * src/base/ftobjs.c (IsMacBinary): Return error |
michael@0 | 5156 | FT_Err_Invalid_Stream_Operation immediately when NULL stream is |
michael@0 | 5157 | passed. |
michael@0 | 5158 | (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed |
michael@0 | 5159 | to fallback. Originally, legacy MacOS font is tested in the cases |
michael@0 | 5160 | of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty) |
michael@0 | 5161 | or FT_Err_Unknown_File_Format (occurs when AppleSingle header or |
michael@0 | 5162 | .dfont header is combined). Now the case of |
michael@0 | 5163 | FT_Err_Cannot_Open_Stream is included. |
michael@0 | 5164 | |
michael@0 | 5165 | * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL, |
michael@0 | 5166 | skip FT_Stream_Seek(), which seeks to the head of stream, and |
michael@0 | 5167 | proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek() |
michael@0 | 5168 | for a NULL stream causes a Bus error on Mac OS X. |
michael@0 | 5169 | (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream |
michael@0 | 5170 | immediately if passed stream is NULL. |
michael@0 | 5171 | (raccess_guess_apple_single): Ditto. |
michael@0 | 5172 | |
michael@0 | 5173 | 2007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5174 | |
michael@0 | 5175 | Fix for Carbon incompatibilities since Mac OS X 10.5, |
michael@0 | 5176 | proposed by Sean McBride. |
michael@0 | 5177 | |
michael@0 | 5178 | * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET. |
michael@0 | 5179 | |
michael@0 | 5180 | * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and |
michael@0 | 5181 | FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling |
michael@0 | 5182 | Carbon functions from a forked process is classified as unsafe |
michael@0 | 5183 | by Apple. All Carbon-dependent functions should be deprecated. |
michael@0 | 5184 | |
michael@0 | 5185 | * src/base/ftmac.c: Use essential header files |
michael@0 | 5186 | <CoreServices/CoreServices.h> and |
michael@0 | 5187 | <ApplicationServices/ApplicationServices.h> instead of |
michael@0 | 5188 | all-in-one header file <Carbon/Carbon.h>. |
michael@0 | 5189 | |
michael@0 | 5190 | Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple |
michael@0 | 5191 | genuine macro PATH_MAX. |
michael@0 | 5192 | |
michael@0 | 5193 | Add fallback macro for kATSOptionFlagsUnRestrictedScope which |
michael@0 | 5194 | is not found in Mac OS X 10.0. |
michael@0 | 5195 | |
michael@0 | 5196 | Multi-character constants ('POST', 'sfnt' etc) are replaced by |
michael@0 | 5197 | 64bit constants calculated by FT_MAKE_TAG() macro. |
michael@0 | 5198 | |
michael@0 | 5199 | For the index in the segment of resource fork, new portable |
michael@0 | 5200 | type ResourceIndex is introduced for better compatibility. |
michael@0 | 5201 | This type is since Mac OS X 10.5, so it is defined as short |
michael@0 | 5202 | when built on older platforms. |
michael@0 | 5203 | |
michael@0 | 5204 | (FT_ATSFontGetFileReference): If build target is only the systems |
michael@0 | 5205 | 10.5 and newer, it calls Apple genuine ATSFontGetFileReference(). |
michael@0 | 5206 | |
michael@0 | 5207 | (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5 |
michael@0 | 5208 | and newer or 64bit platform, because legacy type FSSpec type is |
michael@0 | 5209 | removed completely. |
michael@0 | 5210 | |
michael@0 | 5211 | (FT_New_Face_From_FSSpec): Ditto. |
michael@0 | 5212 | |
michael@0 | 5213 | 2007-11-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 5214 | |
michael@0 | 5215 | * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This |
michael@0 | 5216 | fixes Savannah bug #21485. |
michael@0 | 5217 | |
michael@0 | 5218 | 2007-10-29 Daniel Svoboda <dasvo@planeta@cz> |
michael@0 | 5219 | |
michael@0 | 5220 | * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver |
michael@0 | 5221 | can handle the font at all, then check `face_index'. Otherwise, the |
michael@0 | 5222 | driver might return the wrong error code. This fixes Savannah bug |
michael@0 | 5223 | #21468. |
michael@0 | 5224 | |
michael@0 | 5225 | 2007-10-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 5226 | |
michael@0 | 5227 | * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare |
michael@0 | 5228 | support for bit 8 of the `fsSelection' field in the `OS/2' table. |
michael@0 | 5229 | MS is already using this; hopefully, this becomes part of OpenType |
michael@0 | 5230 | 1.5. |
michael@0 | 5231 | Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22 |
michael@0 | 5232 | (WWS_SUBFAMILY). |
michael@0 | 5233 | |
michael@0 | 5234 | 2007-10-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 5235 | |
michael@0 | 5236 | * src/tools/docmaker/tohtml.py (html_header_2): Fix typo. |
michael@0 | 5237 | Add `td.left' element to CSS. |
michael@0 | 5238 | (toc_section_enter): Use it. |
michael@0 | 5239 | |
michael@0 | 5240 | 2007-10-18 David Turner <david@freetype.org> |
michael@0 | 5241 | |
michael@0 | 5242 | * include/freetype/freetype.h, src/base/ftobjs.c: Rename API |
michael@0 | 5243 | functions related to cmap type 14 support to the |
michael@0 | 5244 | `FT_Object_ActionName' scheme: |
michael@0 | 5245 | |
michael@0 | 5246 | FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex |
michael@0 | 5247 | FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault |
michael@0 | 5248 | FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors |
michael@0 | 5249 | FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar |
michael@0 | 5250 | FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant |
michael@0 | 5251 | |
michael@0 | 5252 | Update documentation accordingly. |
michael@0 | 5253 | |
michael@0 | 5254 | * src/sfnt/ttcmap.c: Stronger cmap 14 validation. |
michael@0 | 5255 | Make the code a little more consistent with FreeType coding |
michael@0 | 5256 | conventions and modify the cmap14 functions that returned a newly |
michael@0 | 5257 | allocated array to use a persistent vector from the TT_CMap14 object |
michael@0 | 5258 | instead. |
michael@0 | 5259 | |
michael@0 | 5260 | (TT_CMap14Rec): Provide array and auxiliary data for result. |
michael@0 | 5261 | (tt_cmap14_done, tt_cmap14_ensure): New functions. |
michael@0 | 5262 | |
michael@0 | 5263 | (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary, |
michael@0 | 5264 | tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant, |
michael@0 | 5265 | tt_cmap14_char_var_index, tt_cmap14_variants, |
michael@0 | 5266 | tt_cmap14_char_variants, tt_cmap14_def_char_count, |
michael@0 | 5267 | tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, |
michael@0 | 5268 | tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved. |
michael@0 | 5269 | |
michael@0 | 5270 | 2007-10-15 George Williams <gww@silcom.com> |
michael@0 | 5271 | |
michael@0 | 5272 | Add support for cmap type 14. |
michael@0 | 5273 | |
michael@0 | 5274 | * devel/ftoption.h, include/freetype/config/ftoption.h |
michael@0 | 5275 | (TT_CONFIG_CMAP_FORMAT_14): New macro. |
michael@0 | 5276 | |
michael@0 | 5277 | * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc, |
michael@0 | 5278 | FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc, |
michael@0 | 5279 | FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New |
michael@0 | 5280 | support function prototypes. |
michael@0 | 5281 | (FT_CMap_ClassRec): Add them. |
michael@0 | 5282 | Update all users. |
michael@0 | 5283 | |
michael@0 | 5284 | * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New |
michael@0 | 5285 | macro. |
michael@0 | 5286 | |
michael@0 | 5287 | * include/freetype/freetype.h (FT_Get_Char_Variant_Index, |
michael@0 | 5288 | FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors, |
michael@0 | 5289 | FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API |
michael@0 | 5290 | functions. |
michael@0 | 5291 | |
michael@0 | 5292 | * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary |
michael@0 | 5293 | function. |
michael@0 | 5294 | (FT_Set_Charmap): Disallow cmaps of type 14. |
michael@0 | 5295 | (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault, |
michael@0 | 5296 | FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char, |
michael@0 | 5297 | FT_Get_Chars_Of_Variant): New API functions. |
michael@0 | 5298 | |
michael@0 | 5299 | * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros. |
michael@0 | 5300 | |
michael@0 | 5301 | (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate, |
michael@0 | 5302 | tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info, |
michael@0 | 5303 | tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary, |
michael@0 | 5304 | tt_cmap14_find_variant, tt_cmap14_char_var_index, |
michael@0 | 5305 | tt_cmap14_char_var_isdefault, tt_cmap14_variants, |
michael@0 | 5306 | tt_cmap14_char_variants, tt_cmap14_def_char_count, |
michael@0 | 5307 | tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, |
michael@0 | 5308 | tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and |
michael@0 | 5309 | structures for cmap 14 support. |
michael@0 | 5310 | (tt_cmap_classes): Register tt_cmap14_class_rec. |
michael@0 | 5311 | (tt_face_build_cmaps): One more error message. |
michael@0 | 5312 | |
michael@0 | 5313 | * docs/CHANGES: Mention cmap 14 support. |
michael@0 | 5314 | |
michael@0 | 5315 | 2007-10-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 5316 | |
michael@0 | 5317 | * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4 |
michael@0 | 5318 | charmap fails, do the loop again while searching a UCS-2 charmap. |
michael@0 | 5319 | This favours MS charmaps over Apple ones. |
michael@0 | 5320 | |
michael@0 | 5321 | 2007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5322 | |
michael@0 | 5323 | * src/base/ftmac.c: Introduction of abstract `short' data types, |
michael@0 | 5324 | ResFileRefNum and ResID. These types were introduced for Copland, |
michael@0 | 5325 | then backported to MPW. The variables exchanged with FileManager |
michael@0 | 5326 | QuickDraw frameworks are redefined by these data types. Patch was |
michael@0 | 5327 | proposed by Sean McBride. |
michael@0 | 5328 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 5329 | |
michael@0 | 5330 | 2007-08-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 5331 | |
michael@0 | 5332 | * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found |
michael@0 | 5333 | by Imran Yousaf. Fixes Savannah bug #20773. |
michael@0 | 5334 | |
michael@0 | 5335 | (otv_Lookup_validate): Correct handling of LookupType. Found by |
michael@0 | 5336 | Imran Yousaf. Fixes Savannah bug #20782. |
michael@0 | 5337 | |
michael@0 | 5338 | 2007-08-17 George Williams <gww@silcom.com> |
michael@0 | 5339 | |
michael@0 | 5340 | * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of |
michael@0 | 5341 | SingleSubstFormat1. |
michael@0 | 5342 | |
michael@0 | 5343 | 2007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5344 | |
michael@0 | 5345 | * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by |
michael@0 | 5346 | ${build-gcc} (unchecked) instead of by ${build}-gcc (checked). |
michael@0 | 5347 | Found by Ryan Hill. |
michael@0 | 5348 | |
michael@0 | 5349 | 2007-08-11 George Williams <gww@silcom.com> |
michael@0 | 5350 | |
michael@0 | 5351 | * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h |
michael@0 | 5352 | (otv_Coverage_validate): Add fourth argument to pass an expected |
michael@0 | 5353 | count value. Update all users. |
michael@0 | 5354 | Check glyph IDs. |
michael@0 | 5355 | (otv_ClassDef_validate): Check `StartGlyph'. |
michael@0 | 5356 | |
michael@0 | 5357 | * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID |
michael@0 | 5358 | checks. |
michael@0 | 5359 | |
michael@0 | 5360 | * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only |
michael@0 | 5361 | 56 constants. |
michael@0 | 5362 | (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate): |
michael@0 | 5363 | Check glyph IDs. |
michael@0 | 5364 | |
michael@0 | 5365 | 2007-08-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 5366 | |
michael@0 | 5367 | * src/otvalid/otvbase.c, src/otvalid/otvcommn.c, |
michael@0 | 5368 | src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, |
michael@0 | 5369 | src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where |
michael@0 | 5370 | appropriate. Reported by George. |
michael@0 | 5371 | |
michael@0 | 5372 | * include/freetype/internal/fttrace.h: Define `trace_otvmath'. |
michael@0 | 5373 | |
michael@0 | 5374 | * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c. |
michael@0 | 5375 | |
michael@0 | 5376 | * docs/CHANGES: Updated. |
michael@0 | 5377 | |
michael@0 | 5378 | 2007-08-08 George Williams <gww@silcom.com> |
michael@0 | 5379 | |
michael@0 | 5380 | Add `MATH' validating support to otvalid module. |
michael@0 | 5381 | |
michael@0 | 5382 | * include/freetype/tttags.h (TTAG_MATH): New macro. |
michael@0 | 5383 | * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro. |
michael@0 | 5384 | (FT_VALIDATE_OT): Updated. |
michael@0 | 5385 | |
michael@0 | 5386 | * src/otvalid/otmath.c: New file. |
michael@0 | 5387 | |
michael@0 | 5388 | * src/otvalid/otvalid.c: Include otvmath.c. |
michael@0 | 5389 | * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table. |
michael@0 | 5390 | |
michael@0 | 5391 | 2007-08-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 5392 | |
michael@0 | 5393 | * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL. |
michael@0 | 5394 | Fixes Savannah bug #20686. |
michael@0 | 5395 | |
michael@0 | 5396 | 2007-08-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 5397 | |
michael@0 | 5398 | * src/psnames/psmodule.c: Fix usage of |
michael@0 | 5399 | FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher. |
michael@0 | 5400 | |
michael@0 | 5401 | 2007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5402 | |
michael@0 | 5403 | * src/base/ftmac.c (open_face_from_buffer): The argument |
michael@0 | 5404 | `driver_name' is typed as `const char*' to match with the |
michael@0 | 5405 | callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT. |
michael@0 | 5406 | This is same with open_face_from_buffer in src/base/ftobjs.c. |
michael@0 | 5407 | Found and fixed by Sean McBride. |
michael@0 | 5408 | |
michael@0 | 5409 | 2007-07-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 5410 | |
michael@0 | 5411 | * src/raster/ftraster.c (count_table): Make it conditional. |
michael@0 | 5412 | * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with |
michael@0 | 5413 | a preprocessor statement. |
michael@0 | 5414 | |
michael@0 | 5415 | 2007-07-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 5416 | |
michael@0 | 5417 | * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before |
michael@0 | 5418 | first usage. From Savannah patch #6115. |
michael@0 | 5419 | |
michael@0 | 5420 | 2007-07-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 5421 | |
michael@0 | 5422 | * docs/CHANGES: Updated. |
michael@0 | 5423 | |
michael@0 | 5424 | 2007-07-16 Derek Clegg <dclegg@apple.com> |
michael@0 | 5425 | |
michael@0 | 5426 | Add new service for getting the ROS from a CID font. |
michael@0 | 5427 | |
michael@0 | 5428 | * include/freetype/config/ftheader.h (FT_CID_H): New macro. |
michael@0 | 5429 | * include/freetype/ftcid.h: New file. |
michael@0 | 5430 | |
michael@0 | 5431 | * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro. |
michael@0 | 5432 | * include/freetype/internal/services/svcid.h: New file. |
michael@0 | 5433 | |
michael@0 | 5434 | * src/base/ftcid.c: New file. |
michael@0 | 5435 | |
michael@0 | 5436 | * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H. |
michael@0 | 5437 | (cff_get_ros): New function. |
michael@0 | 5438 | (cff_service_cid_info): New service structure. |
michael@0 | 5439 | (cff_services): Register it. |
michael@0 | 5440 | |
michael@0 | 5441 | * src/cff/cffload.c (cff_font_done): Free registry and ordering. |
michael@0 | 5442 | |
michael@0 | 5443 | * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'. |
michael@0 | 5444 | |
michael@0 | 5445 | * modules.cfg (BASE_EXTENSIONS): Add ftcid.c. |
michael@0 | 5446 | |
michael@0 | 5447 | 2007-07-11 Derek Clegg <dclegg@apple.com> |
michael@0 | 5448 | |
michael@0 | 5449 | Add support for postscript name service to CFF driver. |
michael@0 | 5450 | |
michael@0 | 5451 | * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H. |
michael@0 | 5452 | (cff_get_ps_name): New function. |
michael@0 | 5453 | (cff_service_ps_name): New service structure. |
michael@0 | 5454 | (cff_services): Register it. |
michael@0 | 5455 | |
michael@0 | 5456 | 2007-07-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 5457 | |
michael@0 | 5458 | * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of |
michael@0 | 5459 | `target'. Reported by Sean McBride. |
michael@0 | 5460 | |
michael@0 | 5461 | 2007-07-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 5462 | |
michael@0 | 5463 | * src/pfr/pfrcmap.c: Include pfrerror.h. |
michael@0 | 5464 | |
michael@0 | 5465 | * src/autofit/afindic.c: Add some external declarations to pacify |
michael@0 | 5466 | `make multi' compilation. |
michael@0 | 5467 | |
michael@0 | 5468 | * src/cid/cidgload.c (cid_load_glyph): Pacify compiler. |
michael@0 | 5469 | |
michael@0 | 5470 | * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c |
michael@0 | 5471 | (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP), |
michael@0 | 5472 | src/autofit/aflatin.c (af_latin_hints_compute_edges), |
michael@0 | 5473 | src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c |
michael@0 | 5474 | (tt_face_get_metrics), src/base/ftobjs.c (open_face) |
michael@0 | 5475 | [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler. |
michael@0 | 5476 | |
michael@0 | 5477 | * docs/release: Mention test compilation targets. |
michael@0 | 5478 | |
michael@0 | 5479 | 2007-07-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 5480 | |
michael@0 | 5481 | * docs/PROBLEMS: Mention that some PS based fonts can't be |
michael@0 | 5482 | handled correctly by FreeType. |
michael@0 | 5483 | |
michael@0 | 5484 | * src/truetype/ttgload.c (load_truetype_glyph): Always allow a |
michael@0 | 5485 | recursion depth of 1. This was the maximum value in TrueType 1.0, |
michael@0 | 5486 | and some older fonts don't set this field correctly. |
michael@0 | 5487 | |
michael@0 | 5488 | * src/gxvalid/gxvmort1.c |
michael@0 | 5489 | (gxv_mort_subtable_type1_substTable_validate): Fix tracing message. |
michael@0 | 5490 | |
michael@0 | 5491 | 2007-07-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 5492 | |
michael@0 | 5493 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize |
michael@0 | 5494 | `round' to pacify compiler. |
michael@0 | 5495 | |
michael@0 | 5496 | 2007-07-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 5497 | |
michael@0 | 5498 | |
michael@0 | 5499 | * Version 2.3.5 released. |
michael@0 | 5500 | ========================= |
michael@0 | 5501 | |
michael@0 | 5502 | |
michael@0 | 5503 | Tag sources with `VER-2-3-5'. |
michael@0 | 5504 | |
michael@0 | 5505 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
michael@0 | 5506 | version number to 2.3.5. |
michael@0 | 5507 | |
michael@0 | 5508 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 5509 | builds/win32/visualc/freetype.dsp, |
michael@0 | 5510 | builds/win32/visualc/freetype.vcproj, |
michael@0 | 5511 | builds/win32/visualce/index.html, |
michael@0 | 5512 | builds/win32/visualce/freetype.dsp, |
michael@0 | 5513 | builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/. |
michael@0 | 5514 | |
michael@0 | 5515 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. |
michael@0 | 5516 | |
michael@0 | 5517 | * builds/unix/configure.raw (version_info): Set to 9:16:3. |
michael@0 | 5518 | |
michael@0 | 5519 | 2007-07-01 David Turner <david@freetype.org> |
michael@0 | 5520 | |
michael@0 | 5521 | * include/freetype/freetype.h, src/base/ftpatent.c |
michael@0 | 5522 | (FT_Face_SetUnpatentedHinting): New function to dynamically change |
michael@0 | 5523 | the setting after a face is created. |
michael@0 | 5524 | |
michael@0 | 5525 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug |
michael@0 | 5526 | that created distortions in the bytecode interpreter results. |
michael@0 | 5527 | |
michael@0 | 5528 | 2007-06-30 David Turner <david@freetype.org> |
michael@0 | 5529 | |
michael@0 | 5530 | * src/truetype/ttinterp.c (Ins_IUP): Add missing variable |
michael@0 | 5531 | initialization. |
michael@0 | 5532 | |
michael@0 | 5533 | * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an |
michael@0 | 5534 | infinite loop in the case of degenerate fonts. |
michael@0 | 5535 | |
michael@0 | 5536 | 2007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com> |
michael@0 | 5537 | |
michael@0 | 5538 | Add autofit module for Indic scripts. This currently just reuses |
michael@0 | 5539 | the CJK-specific functions. |
michael@0 | 5540 | |
michael@0 | 5541 | * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New |
michael@0 | 5542 | macro. |
michael@0 | 5543 | * devel/ftoption.h: Synchronize with |
michael@0 | 5544 | include/freetype/config/ftoption.h. |
michael@0 | 5545 | |
michael@0 | 5546 | * src/autofit/afindic.c, src/autofit/afindic.h: New files. |
michael@0 | 5547 | |
michael@0 | 5548 | * src/autofit/afglobal.c, src/autofit/aftypes.h, |
michael@0 | 5549 | src/autofit/autofit.c: Updated. |
michael@0 | 5550 | |
michael@0 | 5551 | * src/autofit/Jamfile (_sources), * src/autofit/rules.mk |
michael@0 | 5552 | (AUTOF_DRV_SRC): Updated. |
michael@0 | 5553 | |
michael@0 | 5554 | 2007-06-23 David Turner <david@freetype.org> |
michael@0 | 5555 | |
michael@0 | 5556 | * src/truetype/ttgload.c (TT_Load_Simple): Fix change from |
michael@0 | 5557 | 2007-06-16 that prevented the TrueType module from loading most |
michael@0 | 5558 | glyphs. |
michael@0 | 5559 | |
michael@0 | 5560 | 2007-06-20 Werner Lemberg <wl@gnu.org> |
michael@0 | 5561 | |
michael@0 | 5562 | * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28 |
michael@0 | 5563 | change. |
michael@0 | 5564 | |
michael@0 | 5565 | 2007-06-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 5566 | |
michael@0 | 5567 | * src/type1/t1load.c (parse_encoding): Handle one more error. |
michael@0 | 5568 | |
michael@0 | 5569 | 2007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com> |
michael@0 | 5570 | |
michael@0 | 5571 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error |
michael@0 | 5572 | FNT_Err_Invalid_File_Format if file format was recognized but |
michael@0 | 5573 | the file doesn't contain any FNT(NE) or RT_FONT(PE) resources. |
michael@0 | 5574 | Add verbose debug logs to make it easier to debug failing load |
michael@0 | 5575 | attempts. |
michael@0 | 5576 | (FNT_Face_Init): A single FNT font can't contain more than 1 face, |
michael@0 | 5577 | so return an error if requested face index is > 0. |
michael@0 | 5578 | Do not do further attempt to load fonts if a previous attempt has |
michael@0 | 5579 | failed but returned error FNT_Err_Invalid_File_Format, i.e., the |
michael@0 | 5580 | file format has been recognized but no fonts found in the file. |
michael@0 | 5581 | |
michael@0 | 5582 | 2007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 5583 | |
michael@0 | 5584 | * src/base/ftmac.c: Apply patches proposed by Sean McBride. |
michael@0 | 5585 | (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix |
michael@0 | 5586 | the compiler warnings against unused arguments. |
michael@0 | 5587 | (FT_ATSFontGetFileReference): Ditto. |
michael@0 | 5588 | (FT_GetFile_From_Mac_ATS_Name): Ditto. |
michael@0 | 5589 | (FT_New_Face_From_FSSpec): Ditto. |
michael@0 | 5590 | (lookup_lwfn_by_fond): Fix wrong comment. |
michael@0 | 5591 | Replace `const StringPtr' by more appropriate type |
michael@0 | 5592 | `ConstStr255Param'. |
michael@0 | 5593 | FSRefMakePathPath always returns UTF8 POSIX pathname in |
michael@0 | 5594 | Mach-O, thus HFS pathname support is dropped. |
michael@0 | 5595 | (count_faces): Remove HLock and HUnlock which is not |
michael@0 | 5596 | required on Mac OS X anymore. |
michael@0 | 5597 | (FT_New_Face_From_SFNT): Ditto. |
michael@0 | 5598 | (FT_New_Face_From_FOND): Ditto. |
michael@0 | 5599 | * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c, |
michael@0 | 5600 | except of HFS pathname support and HLock/HUnlock. |
michael@0 | 5601 | They are required on classic CFM environment. |
michael@0 | 5602 | |
michael@0 | 5603 | 2007-06-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 5604 | |
michael@0 | 5605 | * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect |
michael@0 | 5606 | assertion. |
michael@0 | 5607 | (ps_parser_to_bytes): Fix error message. |
michael@0 | 5608 | |
michael@0 | 5609 | * src/type42/t42objs.c (T42_Open_Face): Handle one more error. |
michael@0 | 5610 | * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/. |
michael@0 | 5611 | Don't allow mixed binary and hex strings. |
michael@0 | 5612 | Handle string_size == 0 and string_buf == 0. |
michael@0 | 5613 | (t42_parse_encoding): Handle one more error. |
michael@0 | 5614 | |
michael@0 | 5615 | 2007-06-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 5616 | |
michael@0 | 5617 | * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit |
michael@0 | 5618 | logic. |
michael@0 | 5619 | (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters |
michael@0 | 5620 | correctly. |
michael@0 | 5621 | (ps_parser_load_field_table): Use `fields->array_max' instead of |
michael@0 | 5622 | T1_MAX_TABLE_ELEMENTS to limit the number of arguments. |
michael@0 | 5623 | |
michael@0 | 5624 | * src/cff/cffgload.c (cff_decoder_prepare): Fix change from |
michael@0 | 5625 | 2007-06-06. |
michael@0 | 5626 | |
michael@0 | 5627 | 2007-06-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 5628 | |
michael@0 | 5629 | * src/tools/ftrandom.c (font_size): New global variable. |
michael@0 | 5630 | (TestFace): Use it. |
michael@0 | 5631 | (main): Handle new option `--size' to set `font_size'. |
michael@0 | 5632 | (Usage): Updated. |
michael@0 | 5633 | |
michael@0 | 5634 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of |
michael@0 | 5635 | invalid font. |
michael@0 | 5636 | (FNT_Load_Glyph): Protect against invalid bitmap width. |
michael@0 | 5637 | |
michael@0 | 5638 | 2007-06-16 David Turner <david@freetype.org> |
michael@0 | 5639 | |
michael@0 | 5640 | * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline): |
michael@0 | 5641 | Prevent integer overflows when rendering very large outlines. |
michael@0 | 5642 | |
michael@0 | 5643 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the |
michael@0 | 5644 | well-formedness of the contours array when loading a glyph. |
michael@0 | 5645 | |
michael@0 | 5646 | * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1', |
michael@0 | 5647 | and `zp2'. |
michael@0 | 5648 | (Ins_IP): Check argument ranges to reject bogus operations properly. |
michael@0 | 5649 | (IUP_WorkerRec): Add `max_points' member. |
michael@0 | 5650 | (_iup_worker_interpolate): Check argument ranges. |
michael@0 | 5651 | (Ins_IUP): Ignore empty outlines. |
michael@0 | 5652 | |
michael@0 | 5653 | 2007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com> |
michael@0 | 5654 | |
michael@0 | 5655 | * src/winfonts/winfnt.h: Add necessary structures for PE resource |
michael@0 | 5656 | parsing. |
michael@0 | 5657 | (WinPE32_HeaderRec): New structure. |
michael@0 | 5658 | (WinPE32_SectionRec): New structure. |
michael@0 | 5659 | (WinPE_RsrcDirRec): New structure. |
michael@0 | 5660 | (WinPE_RsrcDirEntryRec): New structure. |
michael@0 | 5661 | (WinPE_RsrcDataEntryRec): New structure. |
michael@0 | 5662 | (FNT_FontRec): Remove unused `size_shift' field. |
michael@0 | 5663 | |
michael@0 | 5664 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for |
michael@0 | 5665 | loading bitmap .fon files in PE format. |
michael@0 | 5666 | |
michael@0 | 5667 | 2007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com> |
michael@0 | 5668 | |
michael@0 | 5669 | * builds/win32/ftdebug.c: Unify debug level handling with other |
michael@0 | 5670 | platforms. |
michael@0 | 5671 | |
michael@0 | 5672 | 2007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com> |
michael@0 | 5673 | |
michael@0 | 5674 | * builds/win32/ftdebug.c (FT_Message): Send debug output to the |
michael@0 | 5675 | console as well as to the debugger. |
michael@0 | 5676 | |
michael@0 | 5677 | 2007-06-14 Werner Lemberg <wl@gnu.org> |
michael@0 | 5678 | |
michael@0 | 5679 | * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to |
michael@0 | 5680 | cover all ranges which could possibly be handled by the aflatin |
michael@0 | 5681 | module (since the default fallback for unknown ranges is now the |
michael@0 | 5682 | afcjk module). It might be necessary to fine-tune this further by |
michael@0 | 5683 | splitting off modules for Greek, Cyrillic, or other blocks. |
michael@0 | 5684 | |
michael@0 | 5685 | 2007-06-11 David Turner <david@freetype.org> |
michael@0 | 5686 | |
michael@0 | 5687 | * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix |
michael@0 | 5688 | incorrect segment linking computation. This was the root cause of |
michael@0 | 5689 | Savannah bug #19565. |
michael@0 | 5690 | |
michael@0 | 5691 | |
michael@0 | 5692 | * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes |
michael@0 | 5693 | to improve the Latin auto-hinter. Note that the new code is |
michael@0 | 5694 | disabled by default since it is not stabilized yet. |
michael@0 | 5695 | |
michael@0 | 5696 | * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files |
michael@0 | 5697 | (disabled currently). |
michael@0 | 5698 | |
michael@0 | 5699 | * src/autofit/afhints.c: Remove dead code. |
michael@0 | 5700 | (af_axis_hints_new_edge): Add argument to handle segment directions. |
michael@0 | 5701 | (af_edge_flags_to_string): New function. |
michael@0 | 5702 | (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle |
michael@0 | 5703 | option flags. |
michael@0 | 5704 | (af_glyph_hints_reload): Add argument to handle inflections. |
michael@0 | 5705 | Simplify. |
michael@0 | 5706 | (af_direction_compute): Fine tuning. |
michael@0 | 5707 | (af_glyph_hints_align_edge_points): Fix logic. |
michael@0 | 5708 | (af_glyph_hints_align_strong_points): Do linear search for small |
michael@0 | 5709 | edge counts. |
michael@0 | 5710 | (af_glyph_hints_align_weak_points): Skip any touched neighbors. |
michael@0 | 5711 | (af_iup_shift): Handle zero `delta'. |
michael@0 | 5712 | |
michael@0 | 5713 | * src/autofit/afhints.h: Updated. |
michael@0 | 5714 | (AF_SORT_SEGMENTS): New macro (disabled). |
michael@0 | 5715 | (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'. |
michael@0 | 5716 | |
michael@0 | 5717 | * src/autofit/afglobal.c (af_face_globals_get_metrics): Add |
michael@0 | 5718 | argument to pass option flags for handling scripts. |
michael@0 | 5719 | * src/autofit/afglobal.h: Updated. |
michael@0 | 5720 | |
michael@0 | 5721 | * src/autofit/afcjk.c: Updated. |
michael@0 | 5722 | * src/autofit/aflatin.c: Updated. |
michael@0 | 5723 | (af_latin_metrics_scale_dim): Don't reduce scale by 2%. |
michael@0 | 5724 | |
michael@0 | 5725 | (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code. |
michael@0 | 5726 | (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code. |
michael@0 | 5727 | Don't set `edge->dir' |
michael@0 | 5728 | (af_latin_hint_edges): Add more logging. |
michael@0 | 5729 | |
michael@0 | 5730 | * src/autofit/afloader.c: Updated. |
michael@0 | 5731 | |
michael@0 | 5732 | 2007-06-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 5733 | |
michael@0 | 5734 | * docs/CHANGES: Document FT_Face_CheckTrueTypePatents. |
michael@0 | 5735 | |
michael@0 | 5736 | 2007-06-10 David Turner <david@freetype.org> |
michael@0 | 5737 | |
michael@0 | 5738 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to |
michael@0 | 5739 | the TrueType glyph loader. |
michael@0 | 5740 | |
michael@0 | 5741 | * include/freetype/config/ftoption.h: Clarify documentation |
michael@0 | 5742 | regarding unpatented hinting. |
michael@0 | 5743 | |
michael@0 | 5744 | |
michael@0 | 5745 | Add new `FT_Face_CheckTrueTypePatents' API. |
michael@0 | 5746 | |
michael@0 | 5747 | * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New |
michael@0 | 5748 | declaration. |
michael@0 | 5749 | |
michael@0 | 5750 | * include/freetype/internal/services/svttglyf.h, |
michael@0 | 5751 | src/base/ftpatent.c: New files. |
michael@0 | 5752 | |
michael@0 | 5753 | * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H): |
michael@0 | 5754 | New macro. |
michael@0 | 5755 | |
michael@0 | 5756 | * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and |
michael@0 | 5757 | `ttpload.h'. |
michael@0 | 5758 | (tt_service_truetype_glyf): New service structure. |
michael@0 | 5759 | (tt_services): Register it. |
michael@0 | 5760 | |
michael@0 | 5761 | * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add |
michael@0 | 5762 | `ftpatent.c'. |
michael@0 | 5763 | |
michael@0 | 5764 | 2007-06-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 5765 | |
michael@0 | 5766 | * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28. |
michael@0 | 5767 | Fonts without a cmap must be handled correctly by FreeType (anything |
michael@0 | 5768 | else would be a bug). |
michael@0 | 5769 | |
michael@0 | 5770 | |
michael@0 | 5771 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) |
michael@0 | 5772 | [FT_DEBUG_LEVEL_TRACE]: Improve tracing message. |
michael@0 | 5773 | |
michael@0 | 5774 | 2007-06-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 5775 | |
michael@0 | 5776 | * src/sfnt/ttsbit0.c (tt_sbit_decoder_init, |
michael@0 | 5777 | tt_sbit_decoder_load_image): Protect against integer overflows. |
michael@0 | 5778 | |
michael@0 | 5779 | |
michael@0 | 5780 | * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks |
michael@0 | 5781 | for `x_control' and `y_control'. |
michael@0 | 5782 | |
michael@0 | 5783 | 2007-06-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 5784 | |
michael@0 | 5785 | * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'. |
michael@0 | 5786 | |
michael@0 | 5787 | |
michael@0 | 5788 | * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal |
michael@0 | 5789 | FreeType error. |
michael@0 | 5790 | |
michael@0 | 5791 | |
michael@0 | 5792 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of |
michael@0 | 5793 | `font_count'. |
michael@0 | 5794 | |
michael@0 | 5795 | |
michael@0 | 5796 | * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'. |
michael@0 | 5797 | |
michael@0 | 5798 | |
michael@0 | 5799 | * src/cff/cffgload.c (cff_decoder_prepare): Change return type to |
michael@0 | 5800 | `FT_Error'. |
michael@0 | 5801 | Check `fd_index'. |
michael@0 | 5802 | (cff_slot_load): Updated. |
michael@0 | 5803 | * src/cff/cffgload.h: Updated. |
michael@0 | 5804 | |
michael@0 | 5805 | 2007-06-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 5806 | |
michael@0 | 5807 | * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code. |
michael@0 | 5808 | (pfr_glyph_load_simple): Convert assertion into normal FreeType |
michael@0 | 5809 | error. |
michael@0 | 5810 | Check `idx'. |
michael@0 | 5811 | (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to): |
michael@0 | 5812 | Convert assertion into normal FreeType error. |
michael@0 | 5813 | |
michael@0 | 5814 | * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code. |
michael@0 | 5815 | |
michael@0 | 5816 | |
michael@0 | 5817 | * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'. |
michael@0 | 5818 | |
michael@0 | 5819 | |
michael@0 | 5820 | * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1 |
michael@0 | 5821 | in case of parsing error. |
michael@0 | 5822 | (ps_parser_load_field): Updated. |
michael@0 | 5823 | |
michael@0 | 5824 | * src/type1/t1load.c (parse_font_matrix): Updated. |
michael@0 | 5825 | |
michael@0 | 5826 | 2007-06-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 5827 | |
michael@0 | 5828 | * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'. |
michael@0 | 5829 | |
michael@0 | 5830 | * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'. |
michael@0 | 5831 | |
michael@0 | 5832 | 2007-06-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 5833 | |
michael@0 | 5834 | * src/tools/ftrandom/*: Add the `ftrandom' test program written by |
michael@0 | 5835 | George Williams (with some modifications). |
michael@0 | 5836 | |
michael@0 | 5837 | 2007-06-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 5838 | |
michael@0 | 5839 | * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c |
michael@0 | 5840 | (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for |
michael@0 | 5841 | face == NULL. Suggested by Graham Asher. |
michael@0 | 5842 | |
michael@0 | 5843 | 2007-06-03 Ismail Dönmez <ismail@pardus.org.tr> |
michael@0 | 5844 | |
michael@0 | 5845 | * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning. |
michael@0 | 5846 | |
michael@0 | 5847 | 2007-06-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 5848 | |
michael@0 | 5849 | * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header, |
michael@0 | 5850 | FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files. |
michael@0 | 5851 | |
michael@0 | 5852 | * src/bdf/bdflib.c (bdf_load_font): Use them. |
michael@0 | 5853 | |
michael@0 | 5854 | * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better. |
michael@0 | 5855 | |
michael@0 | 5856 | 2007-06-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 5857 | |
michael@0 | 5858 | * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c |
michael@0 | 5859 | (FTC_CMapCache_Lookup): Remove unused code. |
michael@0 | 5860 | |
michael@0 | 5861 | 2007-06-01 Sean McBride <sean@rogue-research.com> |
michael@0 | 5862 | |
michael@0 | 5863 | * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed, |
michael@0 | 5864 | unused. |
michael@0 | 5865 | |
michael@0 | 5866 | 2007-06-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 5867 | |
michael@0 | 5868 | * src/cid/cidparse.c (cid_parser_new): Don't continue second search |
michael@0 | 5869 | pass for `StartData' if an error has occurred. |
michael@0 | 5870 | Exit properly if no `StartData' has been seen at all. |
michael@0 | 5871 | |
michael@0 | 5872 | * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but |
michael@0 | 5873 | LONG_MAX to avoid compiler warning. Suggested by Sean McBride. |
michael@0 | 5874 | |
michael@0 | 5875 | 2007-05-30 Werner Lemberg <wl@gnu.org> |
michael@0 | 5876 | |
michael@0 | 5877 | * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect |
michael@0 | 5878 | against too small binary data strings. |
michael@0 | 5879 | |
michael@0 | 5880 | * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better. |
michael@0 | 5881 | |
michael@0 | 5882 | 2007-05-28 David Turner <david@freetype.org> |
michael@0 | 5883 | |
michael@0 | 5884 | * src/cff/cffgload.c (cff_slot_load): Do not apply the identity |
michael@0 | 5885 | transformation. This significantly reduces the loading time of CFF |
michael@0 | 5886 | glyphs. |
michael@0 | 5887 | |
michael@0 | 5888 | * docs/CHANGES: Updated. |
michael@0 | 5889 | |
michael@0 | 5890 | * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default |
michael@0 | 5891 | hinting script to CJK, since it works well with more scripts than |
michael@0 | 5892 | latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing |
michael@0 | 5893 | this out! |
michael@0 | 5894 | |
michael@0 | 5895 | 2007-05-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 5896 | |
michael@0 | 5897 | * docs/CHANGES: Updated. |
michael@0 | 5898 | |
michael@0 | 5899 | 2007-05-24 Werner Lemberg <wl@gnu.org> |
michael@0 | 5900 | |
michael@0 | 5901 | * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration |
michael@0 | 5902 | into TT_USE_BYTECODE_INTERPRETER preprocessor block. |
michael@0 | 5903 | |
michael@0 | 5904 | 2007-05-24 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 5905 | |
michael@0 | 5906 | * src/truetype/ttobjs.c (tt_size_ready_bytecode) |
michael@0 | 5907 | [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused. |
michael@0 | 5908 | |
michael@0 | 5909 | 2007-05-22 David Turner <david@freetype.org> |
michael@0 | 5910 | |
michael@0 | 5911 | * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to |
michael@0 | 5912 | avoid crashes in case the bytecode interpreter is not used. |
michael@0 | 5913 | |
michael@0 | 5914 | |
michael@0 | 5915 | Avoid heap blowup with very large .Z font files. This fixes |
michael@0 | 5916 | Savannah bug #19910. |
michael@0 | 5917 | |
michael@0 | 5918 | * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor', |
michael@0 | 5919 | `in_limit', `pad', `pad_bits', and `in_buff' members. |
michael@0 | 5920 | Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and |
michael@0 | 5921 | `buf_total' members. |
michael@0 | 5922 | |
michael@0 | 5923 | * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes |
michael@0 | 5924 | only one argument. |
michael@0 | 5925 | (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated. |
michael@0 | 5926 | |
michael@0 | 5927 | 2007-05-20 Ismail Dönmez <ismail@pardus.org.tr> |
michael@0 | 5928 | |
michael@0 | 5929 | * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'. |
michael@0 | 5930 | (ps_dimension_set_mask_bits): Remove `const'. |
michael@0 | 5931 | |
michael@0 | 5932 | 2007-05-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 5933 | |
michael@0 | 5934 | * src/sfnt/ttmtx.c (tt_face_get_metrics) |
michael@0 | 5935 | [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix. |
michael@0 | 5936 | |
michael@0 | 5937 | 2007-05-19 Derek Clegg <dclegg@apple.com> |
michael@0 | 5938 | |
michael@0 | 5939 | Savannah patch #5929. |
michael@0 | 5940 | |
michael@0 | 5941 | * include/freetype/tttables.h, src/base/ftobjcs.c |
michael@0 | 5942 | (FT_Get_CMap_Format): New function. |
michael@0 | 5943 | |
michael@0 | 5944 | * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add |
michael@0 | 5945 | `format' member. |
michael@0 | 5946 | * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set |
michael@0 | 5947 | cmap_info->format. |
michael@0 | 5948 | |
michael@0 | 5949 | 2007-05-19 Werner Lemberg <wl@gnu.org> |
michael@0 | 5950 | |
michael@0 | 5951 | * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state |
michael@0 | 5952 | before handling subglyphs so that it can be reinitialized each time. |
michael@0 | 5953 | This fixes Savannah bug #19859. |
michael@0 | 5954 | |
michael@0 | 5955 | 2007-05-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 5956 | |
michael@0 | 5957 | * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink), |
michael@0 | 5958 | src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h |
michael@0 | 5959 | (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init), |
michael@0 | 5960 | src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea, |
michael@0 | 5961 | tt_face_get_metrics): Fix type-punning issues. |
michael@0 | 5962 | |
michael@0 | 5963 | 2007-05-15 David Turner <david@freetype.org> |
michael@0 | 5964 | |
michael@0 | 5965 | * include/freetype/config/ftstdlib.h, |
michael@0 | 5966 | include/freetype/internal/ftobjs.h: As suggested by Graham Asher, |
michael@0 | 5967 | ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values |
michael@0 | 5968 | instead on relying on the locale-dependent functions provided by |
michael@0 | 5969 | <ctypes.h>. |
michael@0 | 5970 | |
michael@0 | 5971 | 2007-05-15 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 5972 | |
michael@0 | 5973 | * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused |
michael@0 | 5974 | variable. |
michael@0 | 5975 | * src/autofit/afloader.c (af_loader_load_g): Ditto. |
michael@0 | 5976 | |
michael@0 | 5977 | * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'. |
michael@0 | 5978 | (open_face_from_buffer): Initialize `stream'. |
michael@0 | 5979 | (FT_Request_Metrics): Remove unused variable. |
michael@0 | 5980 | Remove redundant `break' statements. |
michael@0 | 5981 | (FT_Get_Track_Kerning): Remove unused variable. |
michael@0 | 5982 | |
michael@0 | 5983 | * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs, |
michael@0 | 5984 | afm_parse_kern_data): Remove redundant |
michael@0 | 5985 | `break' statements. |
michael@0 | 5986 | (afm_parser_parse): Ditto. |
michael@0 | 5987 | Don't use uninitialized variables. |
michael@0 | 5988 | |
michael@0 | 5989 | * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long. |
michael@0 | 5990 | Use `|' operator instead of `^' to set it. |
michael@0 | 5991 | Update all users. |
michael@0 | 5992 | |
michael@0 | 5993 | * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'. |
michael@0 | 5994 | * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable. |
michael@0 | 5995 | |
michael@0 | 5996 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant |
michael@0 | 5997 | comparison. |
michael@0 | 5998 | (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'. |
michael@0 | 5999 | (TT_Load_Glyph): Remove unused variable. |
michael@0 | 6000 | |
michael@0 | 6001 | 2007-05-13 Derek Clegg <dclegg@apple.com> |
michael@0 | 6002 | |
michael@0 | 6003 | * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool |
michael@0 | 6004 | if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928. |
michael@0 | 6005 | |
michael@0 | 6006 | 2007-05-11 David Turner <david@freetype.org> |
michael@0 | 6007 | |
michael@0 | 6008 | * src/cache/ftbasic.c, include/freetype/ftcache.h |
michael@0 | 6009 | (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new |
michael@0 | 6010 | functions that allow us to look up glyphs using an FTC_Scaler object |
michael@0 | 6011 | to specify the size, making it possible to use fractional pixel |
michael@0 | 6012 | sizes. |
michael@0 | 6013 | |
michael@0 | 6014 | * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set |
michael@0 | 6015 | `size->cvt_ready'. Reported by Boris Letocha. |
michael@0 | 6016 | |
michael@0 | 6017 | 2007-05-09 Graham Asher <graham.asher@btinternet.com> |
michael@0 | 6018 | |
michael@0 | 6019 | * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c |
michael@0 | 6020 | (af_latin_metrics_scale_dim): Fix compiler warnings. |
michael@0 | 6021 | |
michael@0 | 6022 | 2007-05-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 6023 | |
michael@0 | 6024 | * builds/win32/visualce/freetype.sln: Removed, as requested by |
michael@0 | 6025 | Vincent. |
michael@0 | 6026 | |
michael@0 | 6027 | 2007-05-04 Vincent RICHOMME <richom.v@free.fr> |
michael@0 | 6028 | |
michael@0 | 6029 | * builds/win32/visualce/*: Add Visual C++ project files for Pocket |
michael@0 | 6030 | PC targets. |
michael@0 | 6031 | |
michael@0 | 6032 | * docs/CHANGES: Document them. |
michael@0 | 6033 | |
michael@0 | 6034 | 2007-05-04 <harry@kdevelop.org> |
michael@0 | 6035 | |
michael@0 | 6036 | * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of |
michael@0 | 6037 | mmap (which might happen on some RTOS). From Savannah patch #5909. |
michael@0 | 6038 | |
michael@0 | 6039 | 2007-05-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 6040 | |
michael@0 | 6041 | * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code. |
michael@0 | 6042 | * include/freetype/freetype.h (FT_Set_Char_Size): Update |
michael@0 | 6043 | documentation. |
michael@0 | 6044 | |
michael@0 | 6045 | 2007-04-28 Victor Stinner <victor.stinner@inl.fr> |
michael@0 | 6046 | |
michael@0 | 6047 | * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading |
michael@0 | 6048 | `cmap'. |
michael@0 | 6049 | |
michael@0 | 6050 | 2007-04-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 6051 | |
michael@0 | 6052 | * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative |
michael@0 | 6053 | number of points in contours. Problem reported by Victor Stinner |
michael@0 | 6054 | <victor.stinner@haypocalc.com>. |
michael@0 | 6055 | (TT_Process_Simple_Glyph): Synchronize variable types. |
michael@0 | 6056 | |
michael@0 | 6057 | 2007-04-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 6058 | |
michael@0 | 6059 | * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to |
michael@0 | 6060 | zero in case of error. This fixes Savannah bug #19689. |
michael@0 | 6061 | |
michael@0 | 6062 | 2007-04-25 Boris Letocha <b.letocha@cz.gmc.net> |
michael@0 | 6063 | |
michael@0 | 6064 | * src/truetype/ttobjs.c: Fix a typo that created a speed regression |
michael@0 | 6065 | in the TrueType bytecode loader. |
michael@0 | 6066 | |
michael@0 | 6067 | 2007-04-10 Martin Horak <horakm@centrum.cz> |
michael@0 | 6068 | |
michael@0 | 6069 | * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]: |
michael@0 | 6070 | Ignore `hhea' table. This fixes Savannah bug #19261. |
michael@0 | 6071 | |
michael@0 | 6072 | 2007-04-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 6073 | |
michael@0 | 6074 | |
michael@0 | 6075 | * Version 2.3.4 released. |
michael@0 | 6076 | ========================= |
michael@0 | 6077 | |
michael@0 | 6078 | |
michael@0 | 6079 | Tag sources with `VER-2-3-4'. |
michael@0 | 6080 | |
michael@0 | 6081 | * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump |
michael@0 | 6082 | version number to 2.3.4. |
michael@0 | 6083 | |
michael@0 | 6084 | * README, Jamfile (RefDoc), builds/win32/visualc/index.html, |
michael@0 | 6085 | builds/win32/visualc/freetype.dsp, |
michael@0 | 6086 | builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/. |
michael@0 | 6087 | |
michael@0 | 6088 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. |
michael@0 | 6089 | |
michael@0 | 6090 | * builds/unix/configure.raw (version_info): Set to 9:15:3. |
michael@0 | 6091 | |
michael@0 | 6092 | 2007-04-09 Martin Horak <horakm@centrum.cz> |
michael@0 | 6093 | |
michael@0 | 6094 | * src/truetype/ttgload.c (load_truetype_glyph): Save and restore |
michael@0 | 6095 | memory stream to avoid a crash with the incremental memory |
michael@0 | 6096 | interface (Savannah bug #19260). |
michael@0 | 6097 | |
michael@0 | 6098 | 2007-04-06 David Turner <david@freetype.org> |
michael@0 | 6099 | |
michael@0 | 6100 | * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug |
michael@0 | 6101 | (Savannah bug #19536). |
michael@0 | 6102 | |
michael@0 | 6103 | 2007-04-04 Werner Lemberg <wl@gnu.org> |
michael@0 | 6104 | |
michael@0 | 6105 | |
michael@0 | 6106 | * Version 2.3.3 released. |
michael@0 | 6107 | ========================= |
michael@0 | 6108 | |
michael@0 | 6109 | |
michael@0 | 6110 | Tag sources with `VER-2-3-3'. |
michael@0 | 6111 | |
michael@0 | 6112 | * docs/CHANGES: Mention CVE-2007-1351. |
michael@0 | 6113 | |
michael@0 | 6114 | 2007-04-03 David Turner <david@freetype.org> |
michael@0 | 6115 | |
michael@0 | 6116 | * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos, |
michael@0 | 6117 | if one of the resolution values is 0, treat it as if it were the |
michael@0 | 6118 | same as the other value. |
michael@0 | 6119 | |
michael@0 | 6120 | 2007-04-02 David Turner <david@freetype.org> |
michael@0 | 6121 | |
michael@0 | 6122 | Add special code to detect `extra-light' fonts and do not snap their |
michael@0 | 6123 | stem widths too much to avoid bizarre hinting effects. |
michael@0 | 6124 | |
michael@0 | 6125 | * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and |
michael@0 | 6126 | `extra_light' members. |
michael@0 | 6127 | |
michael@0 | 6128 | * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize |
michael@0 | 6129 | them. |
michael@0 | 6130 | (af_latin_metrics_scale_dim): Set `extra_light'. |
michael@0 | 6131 | (af_latin_compute_stem_width): Use `extra_light'. |
michael@0 | 6132 | |
michael@0 | 6133 | 2007-03-28 David Turner <david@freetype.org> |
michael@0 | 6134 | |
michael@0 | 6135 | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the |
michael@0 | 6136 | padding. |
michael@0 | 6137 | |
michael@0 | 6138 | 2007-03-28 Werner Lemberg <wl@gnu.org> |
michael@0 | 6139 | |
michael@0 | 6140 | * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128 |
michael@0 | 6141 | gracefully. |
michael@0 | 6142 | (_bdf_set_default_spacing): Increase `name' buffer size to 256 and |
michael@0 | 6143 | issue an error for longer names. This fixes CVE-2007-1351. |
michael@0 | 6144 | (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the |
michael@0 | 6145 | number of code points in Unicode. |
michael@0 | 6146 | |
michael@0 | 6147 | * builds/win32/visualc/index.html, |
michael@0 | 6148 | builds/win32/visualc/freetype.dsp, |
michael@0 | 6149 | builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/, |
michael@0 | 6150 | s/232/233/. |
michael@0 | 6151 | |
michael@0 | 6152 | * docs/CHANGES: Mention ftdiff. |
michael@0 | 6153 | |
michael@0 | 6154 | 2007-03-26 David Turner <david@freetype.org> |
michael@0 | 6155 | |
michael@0 | 6156 | * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and |
michael@0 | 6157 | corresponding code. |
michael@0 | 6158 | (Ins_MD): Last regression fix. |
michael@0 | 6159 | |
michael@0 | 6160 | * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues |
michael@0 | 6161 | computations in order to ignore single-point contours. These are |
michael@0 | 6162 | never rasterized and correspond in certain fonts to mark-attach |
michael@0 | 6163 | points that are very far from the glyph's real outline, ruining the |
michael@0 | 6164 | computation. |
michael@0 | 6165 | |
michael@0 | 6166 | * src/autofit/afloader.c (af_loader_load_g): In the case of |
michael@0 | 6167 | monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0. |
michael@0 | 6168 | Otherwise code that uses them will most certainly ruin the fixed |
michael@0 | 6169 | advance property. |
michael@0 | 6170 | |
michael@0 | 6171 | * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update |
michael@0 | 6172 | documentation and bump version number to 2.3.3. |
michael@0 | 6173 | |
michael@0 | 6174 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. |
michael@0 | 6175 | |
michael@0 | 6176 | * builds/unix/configure.raw (version_info): Set to 9:14:3. |
michael@0 | 6177 | |
michael@0 | 6178 | 2007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6179 | |
michael@0 | 6180 | * builds/unix/ftconfig.in: Disable Carbon framework dependency on |
michael@0 | 6181 | 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride. |
michael@0 | 6182 | * builds/vms/ftconfig.h: Ditto. |
michael@0 | 6183 | * include/freetype/config/ftconfig.h: Ditto. |
michael@0 | 6184 | |
michael@0 | 6185 | 2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6186 | |
michael@0 | 6187 | * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent |
michael@0 | 6188 | 32bit unsigned long overflow by 64bit filesize on LP64 platform, as |
michael@0 | 6189 | proposed by Sean McBride: |
michael@0 | 6190 | http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html |
michael@0 | 6191 | |
michael@0 | 6192 | 2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6193 | |
michael@0 | 6194 | * builds/unix/ftconfig.in: Suppress SGI compiler's warning against |
michael@0 | 6195 | setjmp, proposed by Sean McBride: |
michael@0 | 6196 | http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html |
michael@0 | 6197 | |
michael@0 | 6198 | 2007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6199 | |
michael@0 | 6200 | * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of |
michael@0 | 6201 | conftest.c, to avoid unexpected shell evaluation. Possibly it is a |
michael@0 | 6202 | bug or undocumented behaviour of autoconf. |
michael@0 | 6203 | |
michael@0 | 6204 | 2007-03-18 David Turner <david@freetype.org> |
michael@0 | 6205 | |
michael@0 | 6206 | * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression |
michael@0 | 6207 | fix; testing still needed. |
michael@0 | 6208 | |
michael@0 | 6209 | * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix. |
michael@0 | 6210 | |
michael@0 | 6211 | 2007-03-17 David Turner <david@freetype.org> |
michael@0 | 6212 | |
michael@0 | 6213 | * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the |
michael@0 | 6214 | (undocumented) twilight zone special case. |
michael@0 | 6215 | |
michael@0 | 6216 | 2007-03-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 6217 | |
michael@0 | 6218 | |
michael@0 | 6219 | * Version 2.3.2 released. |
michael@0 | 6220 | ========================= |
michael@0 | 6221 | |
michael@0 | 6222 | |
michael@0 | 6223 | Tag sources with `VER-2-3-2'. |
michael@0 | 6224 | |
michael@0 | 6225 | * builds/win32/visualc/index.html, |
michael@0 | 6226 | builds/win32/visualc/freetype.dsp, |
michael@0 | 6227 | builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/, |
michael@0 | 6228 | s/231/232/. |
michael@0 | 6229 | |
michael@0 | 6230 | 2007-03-08 David Turner <david@freetype.org> |
michael@0 | 6231 | |
michael@0 | 6232 | * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release. |
michael@0 | 6233 | |
michael@0 | 6234 | * builds/unix/configure.raw (version_info): Set to 9:13:3. |
michael@0 | 6235 | |
michael@0 | 6236 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. |
michael@0 | 6237 | |
michael@0 | 6238 | * README, Jamfile (RefDoc): s/2.3.1/2.3.2/. |
michael@0 | 6239 | |
michael@0 | 6240 | * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the |
michael@0 | 6241 | function to work properly, over-writing user-provided buffers in |
michael@0 | 6242 | some cases. Reported by James Cloos <cloos@jhcloos.com>. |
michael@0 | 6243 | |
michael@0 | 6244 | |
michael@0 | 6245 | 2007-03-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 6246 | |
michael@0 | 6247 | * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper |
michael@0 | 6248 | macro for `strstr'. |
michael@0 | 6249 | |
michael@0 | 6250 | * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning |
michael@0 | 6251 | `trick_names', as suggested by Ivan Nincic. |
michael@0 | 6252 | |
michael@0 | 6253 | 2007-03-05 David Turner <david@freetype.org> |
michael@0 | 6254 | |
michael@0 | 6255 | * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in |
michael@0 | 6256 | case FT_Init_FreeType fails for some reason. Problem reported by |
michael@0 | 6257 | Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>. |
michael@0 | 6258 | |
michael@0 | 6259 | * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem' |
michael@0 | 6260 | and `y_ppem' fields of the `TT_Size.metrics' structure, not those of |
michael@0 | 6261 | `TT_Size.root.metrics'. Problem reported by Daniel Glöckner |
michael@0 | 6262 | <daniel-gl@gmx.net>. |
michael@0 | 6263 | |
michael@0 | 6264 | * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit |
michael@0 | 6265 | signed values, not unsigned ones. Problem reported by Johannes |
michael@0 | 6266 | Walther <joh_walt@yahoo.de>. |
michael@0 | 6267 | |
michael@0 | 6268 | 2007-02-21 David Turner <david@freetype.org> |
michael@0 | 6269 | |
michael@0 | 6270 | * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting |
michael@0 | 6271 | of small and ghost stems in the Postscript interpreter. |
michael@0 | 6272 | |
michael@0 | 6273 | 2007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6274 | |
michael@0 | 6275 | * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory |
michael@0 | 6276 | leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>. |
michael@0 | 6277 | * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto. |
michael@0 | 6278 | |
michael@0 | 6279 | 2007-02-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 6280 | |
michael@0 | 6281 | * src/truetype/ttinterp.c (Ins_MD): Remove unused variable. |
michael@0 | 6282 | * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto. |
michael@0 | 6283 | |
michael@0 | 6284 | 2007-02-14 David Turner <david@freetype.org> |
michael@0 | 6285 | |
michael@0 | 6286 | It seems that the following changes fix most of the known |
michael@0 | 6287 | interpreter problems with my fonts, but more testing is needed, |
michael@0 | 6288 | though. |
michael@0 | 6289 | |
michael@0 | 6290 | * src/truetype/ttinterp.c (FIX_BYTECODE): Activate. |
michael@0 | 6291 | (TT_MulFix14): Rewrite. |
michael@0 | 6292 | (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated. |
michael@0 | 6293 | (Ins_MIRP): Ditto. |
michael@0 | 6294 | |
michael@0 | 6295 | 2007-02-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 6296 | |
michael@0 | 6297 | * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler |
michael@0 | 6298 | warnings. |
michael@0 | 6299 | |
michael@0 | 6300 | * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c |
michael@0 | 6301 | (bdf_interpret_style): Ditto. |
michael@0 | 6302 | |
michael@0 | 6303 | 2007-02-12 David Turner <david@freetype.org> |
michael@0 | 6304 | |
michael@0 | 6305 | Simplify projection and dual-projection code interface. |
michael@0 | 6306 | |
michael@0 | 6307 | * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not |
michael@0 | 6308 | FT_Vector' as argument type. |
michael@0 | 6309 | * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj): |
michael@0 | 6310 | Updated. |
michael@0 | 6311 | (CUR_fast_project, CUR_fast_dualproj): New macros. |
michael@0 | 6312 | (Project, Dual_Project, Project_x, Project_y): Updated. |
michael@0 | 6313 | (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast' |
michael@0 | 6314 | macros. |
michael@0 | 6315 | |
michael@0 | 6316 | |
michael@0 | 6317 | * src/autofit/afloader.c (af_loader_load_g): Improve spacing |
michael@0 | 6318 | adjustments for the non-light auto-hinted modes. Gets rid of |
michael@0 | 6319 | `inter-letter spacing is too wide' problems. |
michael@0 | 6320 | |
michael@0 | 6321 | * src/autofit/aflatin.c (af_latin_hints_link_segments, |
michael@0 | 6322 | af_latin_hints_compute_edges): Slight optimization of the segment |
michael@0 | 6323 | linker and better handling of serif segments to get rid of broken |
michael@0 | 6324 | `9' in Arial at 9pt (96dpi). |
michael@0 | 6325 | |
michael@0 | 6326 | |
michael@0 | 6327 | Introduce new string functions and the corresponding macros to get |
michael@0 | 6328 | rid of various uses of strcpy and other `evil' functions, as well as |
michael@0 | 6329 | to simplify a few things. |
michael@0 | 6330 | |
michael@0 | 6331 | * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup, |
michael@0 | 6332 | ft_mem_strcpyn): New declarations. |
michael@0 | 6333 | (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New |
michael@0 | 6334 | macros. |
michael@0 | 6335 | * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New |
michael@0 | 6336 | functions. |
michael@0 | 6337 | |
michael@0 | 6338 | * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init), |
michael@0 | 6339 | src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c |
michael@0 | 6340 | (pcf_get_properties, pcf_interpret_style, pcf_load_font), |
michael@0 | 6341 | src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c |
michael@0 | 6342 | (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy), |
michael@0 | 6343 | src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c |
michael@0 | 6344 | (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name, |
michael@0 | 6345 | t42_get_name_index): Use new functions and simplify code. |
michael@0 | 6346 | |
michael@0 | 6347 | * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN. |
michael@0 | 6348 | |
michael@0 | 6349 | 2007-02-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 6350 | |
michael@0 | 6351 | * src/autofit/afloader.c (af_loader_load_g): Don't change width for |
michael@0 | 6352 | non-spacing glyphs. |
michael@0 | 6353 | |
michael@0 | 6354 | 2007-02-07 Tom Parker <palfrey@tevp.net> |
michael@0 | 6355 | |
michael@0 | 6356 | * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL |
michael@0 | 6357 | pointer. |
michael@0 | 6358 | |
michael@0 | 6359 | 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6360 | |
michael@0 | 6361 | * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE): |
michael@0 | 6362 | Introduce __attribute((deprecated))__ to warn functions |
michael@0 | 6363 | which use non-ANSI data types in its interfaces. |
michael@0 | 6364 | (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec. |
michael@0 | 6365 | (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec. |
michael@0 | 6366 | (FT_New_Face_From_FSSpec): Deprecated, using FSSpec. |
michael@0 | 6367 | (FT_New_Face_From_FSRef): Deprecated, using FSRef. |
michael@0 | 6368 | |
michael@0 | 6369 | * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void |
michael@0 | 6370 | to avoid warning in building FreeType. |
michael@0 | 6371 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 6372 | |
michael@0 | 6373 | 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6374 | |
michael@0 | 6375 | * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured |
michael@0 | 6376 | `--with-fsspec' etc. Replace #include "ftmac.c" with |
michael@0 | 6377 | #include <ftmac.c>. |
michael@0 | 6378 | |
michael@0 | 6379 | 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6380 | |
michael@0 | 6381 | * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name): |
michael@0 | 6382 | Introduced as replacement of FT_GetFile_From_Mac_ATS_Name. |
michael@0 | 6383 | * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto. |
michael@0 | 6384 | (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of |
michael@0 | 6385 | FT_GetFilePath_From_Mac_ATS_Name. |
michael@0 | 6386 | * builds/mac/ftmac.c: Ditto. |
michael@0 | 6387 | |
michael@0 | 6388 | 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6389 | |
michael@0 | 6390 | * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of |
michael@0 | 6391 | FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are |
michael@0 | 6392 | for passing to FT_New_Face_From_FSSpec. |
michael@0 | 6393 | |
michael@0 | 6394 | 2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6395 | |
michael@0 | 6396 | * builds/unix/configure.raw: Check whether Mac OS X system headers |
michael@0 | 6397 | can be built under ANSI C mode. |
michael@0 | 6398 | |
michael@0 | 6399 | * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version |
michael@0 | 6400 | compatible to ANSI C in case system headers are ANSI C incompatible. |
michael@0 | 6401 | * builds/mac/ftmac.c (OS_INLINE): Ditto. |
michael@0 | 6402 | |
michael@0 | 6403 | 2007-02-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 6404 | |
michael@0 | 6405 | * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN): |
michael@0 | 6406 | Explain why applications shouldn't use it. Found by Alexei. |
michael@0 | 6407 | |
michael@0 | 6408 | 2007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com> |
michael@0 | 6409 | |
michael@0 | 6410 | * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning |
michael@0 | 6411 | message. |
michael@0 | 6412 | |
michael@0 | 6413 | * src/gxvalid/gxvmort1.c |
michael@0 | 6414 | (gxv_mort_subtable_type1_substTable_validate): Fix debugging |
michael@0 | 6415 | message. |
michael@0 | 6416 | |
michael@0 | 6417 | 2007-01-31 Werner Lemberg <wl@gnu.org> |
michael@0 | 6418 | |
michael@0 | 6419 | |
michael@0 | 6420 | * Version 2.3.1 released. |
michael@0 | 6421 | ========================= |
michael@0 | 6422 | |
michael@0 | 6423 | |
michael@0 | 6424 | Tag sources with `VER-2-3-1-FINAL'. |
michael@0 | 6425 | |
michael@0 | 6426 | * builds/win32/visualc/freetype.dsp, |
michael@0 | 6427 | builds/win32/visualc/freetype.vcproj: s/230/231/. |
michael@0 | 6428 | * builds/win32/visualc/index.html: s/221/231/. |
michael@0 | 6429 | |
michael@0 | 6430 | * vms_make.com: Add `ftgasp'. |
michael@0 | 6431 | |
michael@0 | 6432 | 2007-01-30 David Turner <david@freetype.org> |
michael@0 | 6433 | |
michael@0 | 6434 | Tag sources with VER-2-3-1 to prepare release. |
michael@0 | 6435 | |
michael@0 | 6436 | * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. |
michael@0 | 6437 | |
michael@0 | 6438 | * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc): |
michael@0 | 6439 | s/2.3.0/2.3.1/. |
michael@0 | 6440 | |
michael@0 | 6441 | * builds/unix/configure.raw (version_info): Set to 9:12:3. |
michael@0 | 6442 | |
michael@0 | 6443 | |
michael@0 | 6444 | * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c |
michael@0 | 6445 | (af_loader_load_g): Disable the warper (i.e., the light hinting |
michael@0 | 6446 | improvements) to make a 2.3.1 bugfix release before introducing a |
michael@0 | 6447 | new feature. This should give us more time to tune and improve the |
michael@0 | 6448 | warper for the next release. |
michael@0 | 6449 | |
michael@0 | 6450 | * docs/CHANGES: Update accordingly. |
michael@0 | 6451 | |
michael@0 | 6452 | 2007-01-25 David Turner <david@freetype.org> |
michael@0 | 6453 | |
michael@0 | 6454 | For light auto-hinting, improve glyph advance widths and resurrect |
michael@0 | 6455 | normal/full hinting to its normal quality. |
michael@0 | 6456 | |
michael@0 | 6457 | * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta' |
michael@0 | 6458 | and `xmax_delta'. |
michael@0 | 6459 | * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta' |
michael@0 | 6460 | and `xmax_delta'. |
michael@0 | 6461 | |
michael@0 | 6462 | * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace |
michael@0 | 6463 | preprocessor conditional with if-clause, handling both light and |
michael@0 | 6464 | normal mode. |
michael@0 | 6465 | |
michael@0 | 6466 | * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again. |
michael@0 | 6467 | (af_warper_compute): Handle `xmin_delta' and `xmax_delta'. |
michael@0 | 6468 | |
michael@0 | 6469 | 2007-01-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 6470 | |
michael@0 | 6471 | * docs/release: Updated -- Savannah uses a new uploading scheme. |
michael@0 | 6472 | |
michael@0 | 6473 | 2007-01-25 David Turner <david@freetype.org> |
michael@0 | 6474 | |
michael@0 | 6475 | * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix. |
michael@0 | 6476 | |
michael@0 | 6477 | * src/cff/cffgload.c (cff_decoder_parse_charstrings) |
michael@0 | 6478 | <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty |
michael@0 | 6479 | functions. |
michael@0 | 6480 | |
michael@0 | 6481 | * docs/CHANGES: Document light auto-hinting improvement. |
michael@0 | 6482 | |
michael@0 | 6483 | 2007-01-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 6484 | |
michael@0 | 6485 | * src/cff/cffload.c (cff_index_get_pointers): Handle last entry |
michael@0 | 6486 | correctly in a sanity check. Since this function is only used to |
michael@0 | 6487 | load local and global functions, any charstring that called the last |
michael@0 | 6488 | local/global function would fail otherwise. This fixes Savannah bug |
michael@0 | 6489 | #18867. |
michael@0 | 6490 | |
michael@0 | 6491 | * docs/CHANGES: Document it. |
michael@0 | 6492 | |
michael@0 | 6493 | 2007-01-23 David Turner <david@freetype.org> |
michael@0 | 6494 | |
michael@0 | 6495 | * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that |
michael@0 | 6496 | prevented compilation when disabling both the unpatented and the |
michael@0 | 6497 | bytecode interpreter in the TrueType font driver. |
michael@0 | 6498 | |
michael@0 | 6499 | |
michael@0 | 6500 | Fix and enable the warper to improve `light' hinting mode. This is |
michael@0 | 6501 | not necessarily a final version, but it seems to work well. |
michael@0 | 6502 | |
michael@0 | 6503 | * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]: |
michael@0 | 6504 | Disable code. |
michael@0 | 6505 | (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT. |
michael@0 | 6506 | * src/autofit/aftypes.h: Activate AF_USE_WARPER. |
michael@0 | 6507 | |
michael@0 | 6508 | * src/autofit/afwarp.c (AF_WarpScore): Tune table. |
michael@0 | 6509 | (af_warper_compute_line_best): Fix array size of `scores'. |
michael@0 | 6510 | (af_warper_compute): Better handling of border cases. |
michael@0 | 6511 | * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1' |
michael@0 | 6512 | and `X2'. |
michael@0 | 6513 | |
michael@0 | 6514 | 2007-01-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 6515 | |
michael@0 | 6516 | * ChangeLog: Split off older entries into... |
michael@0 | 6517 | * ChangeLog.22: This new file. |
michael@0 | 6518 | |
michael@0 | 6519 | 2007-01-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 6520 | |
michael@0 | 6521 | * docs/CHANGES: Document SHZ fix. |
michael@0 | 6522 | |
michael@0 | 6523 | 2007-01-21 George Williams <gww@silcom.com> |
michael@0 | 6524 | |
michael@0 | 6525 | * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom |
michael@0 | 6526 | points. |
michael@0 | 6527 | |
michael@0 | 6528 | 2007-01-21 Werner Lemberg <wl@gnu.org> |
michael@0 | 6529 | |
michael@0 | 6530 | * src/sfnt/ttmtx.c (tt_face_get_metrics) |
michael@0 | 6531 | [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check. |
michael@0 | 6532 | |
michael@0 | 6533 | 2007-01-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 6534 | |
michael@0 | 6535 | |
michael@0 | 6536 | * Version 2.3.0 released. |
michael@0 | 6537 | ========================= |
michael@0 | 6538 | |
michael@0 | 6539 | |
michael@0 | 6540 | Tag sources with `VER-2-3-0-FINAL'. |
michael@0 | 6541 | |
michael@0 | 6542 | 2007-01-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 6543 | |
michael@0 | 6544 | * docs/release: Updated. |
michael@0 | 6545 | |
michael@0 | 6546 | 2007-01-16 David Turner <david@freetype.org> |
michael@0 | 6547 | |
michael@0 | 6548 | * src/autofit/aflatin.c (af_latin_hints_compute_segments), |
michael@0 | 6549 | src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c |
michael@0 | 6550 | (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler |
michael@0 | 6551 | warnings. |
michael@0 | 6552 | |
michael@0 | 6553 | 2007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de> |
michael@0 | 6554 | |
michael@0 | 6555 | * builds/amiga/makefile, builds/amiga/makefile.os4, |
michael@0 | 6556 | builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'. |
michael@0 | 6557 | |
michael@0 | 6558 | * builds/amiga/include/freetype/config/ftconfig.h: Synchronize. |
michael@0 | 6559 | |
michael@0 | 6560 | 2007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de> |
michael@0 | 6561 | |
michael@0 | 6562 | Fix various compiler warnings. |
michael@0 | 6563 | |
michael@0 | 6564 | * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h, |
michael@0 | 6565 | src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h: |
michael@0 | 6566 | s/index/strike_index/. |
michael@0 | 6567 | * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/. |
michael@0 | 6568 | |
michael@0 | 6569 | * src/gxvalid/gxvmorx5.c |
michael@0 | 6570 | (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/. |
michael@0 | 6571 | |
michael@0 | 6572 | * src/truetype/ttinterp.c (Compute_Point_Displacement), |
michael@0 | 6573 | src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly |
michael@0 | 6574 | uninitialized variables. |
michael@0 | 6575 | |
michael@0 | 6576 | 2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6577 | |
michael@0 | 6578 | * docs/CHANGES, docs/INSTALL.MAC: Improvements. |
michael@0 | 6579 | |
michael@0 | 6580 | 2007-01-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 6581 | |
michael@0 | 6582 | * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM |
michael@0 | 6583 | versions up to 0x3FF without complaining. |
michael@0 | 6584 | |
michael@0 | 6585 | 2007-01-13 Derek Clegg <dclegg@apple.com> |
michael@0 | 6586 | |
michael@0 | 6587 | Add FT_Get_PS_Font_Info interface to CFF driver. |
michael@0 | 6588 | |
michael@0 | 6589 | * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H. |
michael@0 | 6590 | (CFF_FontRec): Add `font_info' field. |
michael@0 | 6591 | |
michael@0 | 6592 | * src/cff/cffload.c: Include FT_TYPE1_TABLES_H. |
michael@0 | 6593 | (cff_font_done): Free font->font_info if necessary. |
michael@0 | 6594 | |
michael@0 | 6595 | * src/cff/cffdrvr.c (cff_ps_get_font_info): New function. |
michael@0 | 6596 | (cff_service_ps_info): Register cff_ps_get_font_info. |
michael@0 | 6597 | |
michael@0 | 6598 | 2007-01-13 Werner Lemberg <wl@gnu.org> |
michael@0 | 6599 | |
michael@0 | 6600 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation |
michael@0 | 6601 | with C++ compiler. |
michael@0 | 6602 | |
michael@0 | 6603 | * src/autofit/afhints.c (af_glyph_hints_dump_segments, |
michael@0 | 6604 | af_glyph_hints_dump_edges): Ditto. |
michael@0 | 6605 | |
michael@0 | 6606 | * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in |
michael@0 | 6607 | `modules.cfg'). |
michael@0 | 6608 | |
michael@0 | 6609 | * src/sfnt/ttsbit0.h: Remove. |
michael@0 | 6610 | |
michael@0 | 6611 | * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c. |
michael@0 | 6612 | |
michael@0 | 6613 | 2007-01-12 David Turner <david@freetype.org> |
michael@0 | 6614 | |
michael@0 | 6615 | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping |
michael@0 | 6616 | bug in the bitmap emboldener if the pitch of the source bitmap is |
michael@0 | 6617 | much larger than its width. |
michael@0 | 6618 | |
michael@0 | 6619 | * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related |
michael@0 | 6620 | compilation warning. |
michael@0 | 6621 | |
michael@0 | 6622 | 2007-01-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 6623 | |
michael@0 | 6624 | * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from |
michael@0 | 6625 | `automake' CVS module from sources.redhat.com. |
michael@0 | 6626 | |
michael@0 | 6627 | 2007-01-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 6628 | |
michael@0 | 6629 | * src/type1/t1load.c (is_space): Removed. |
michael@0 | 6630 | (parse_encoding, parse_charstrings): Use IS_PS_DELIM. |
michael@0 | 6631 | (parse_charstrings): Use IS_PS_TOKEN. |
michael@0 | 6632 | |
michael@0 | 6633 | |
michael@0 | 6634 | * autogen.sh: Avoid bash specific syntax. |
michael@0 | 6635 | |
michael@0 | 6636 | 2007-01-11 David Turner <david@freetype.org> |
michael@0 | 6637 | |
michael@0 | 6638 | * docs/CHANGES: Small update. |
michael@0 | 6639 | |
michael@0 | 6640 | * builds/unix/configure.raw (version_info): Set to 9:11:3. |
michael@0 | 6641 | |
michael@0 | 6642 | * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a |
michael@0 | 6643 | crash with some Mac OS X .dfont files. Submitted by Masatake |
michael@0 | 6644 | Yamato. |
michael@0 | 6645 | |
michael@0 | 6646 | * autogen.sh: Small fix to get it working on Mac OS X properly: |
michael@0 | 6647 | The issue is that GNU libtool is called `glibtool' on this platform, |
michael@0 | 6648 | and we must call `glibtoolize', since `libtoolize' doesn't exist. |
michael@0 | 6649 | |
michael@0 | 6650 | 2007-01-10 David Turner <david@freetype.org> |
michael@0 | 6651 | |
michael@0 | 6652 | * all-sources: Tag all sources with VER-2-3-0-RC1 and |
michael@0 | 6653 | VER-2-3-0. |
michael@0 | 6654 | |
michael@0 | 6655 | * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp, |
michael@0 | 6656 | builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update |
michael@0 | 6657 | version number to 2.3.0. |
michael@0 | 6658 | |
michael@0 | 6659 | * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3. |
michael@0 | 6660 | (FREETYPE_PATCH): Set to 0. |
michael@0 | 6661 | |
michael@0 | 6662 | * include/freetype/ftchapters.h, include/freetype/ftgasp.h, |
michael@0 | 6663 | include/freetype/ftlcdfil.h: Update reference documentation with |
michael@0 | 6664 | GASP support and LCD filtering sections. |
michael@0 | 6665 | |
michael@0 | 6666 | * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo |
michael@0 | 6667 | which created an endless loop with some malformed font files. |
michael@0 | 6668 | |
michael@0 | 6669 | 2007-01-10 Derek Clegg <dclegg@apple.com> |
michael@0 | 6670 | |
michael@0 | 6671 | * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point |
michael@0 | 6672 | values. |
michael@0 | 6673 | |
michael@0 | 6674 | 2007-01-08 David Turner <david@freetype.org> |
michael@0 | 6675 | |
michael@0 | 6676 | * docs/CHANGES: Updated. |
michael@0 | 6677 | |
michael@0 | 6678 | * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add |
michael@0 | 6679 | a new API `FT_Get_Gasp' to return entries of the `gasp' table |
michael@0 | 6680 | corresponding to a given character pixel size. |
michael@0 | 6681 | |
michael@0 | 6682 | * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the |
michael@0 | 6683 | `gasp' table, in order to avoid potential problems with later |
michael@0 | 6684 | versions. |
michael@0 | 6685 | |
michael@0 | 6686 | * include/freetype/config/ftheader.h (FT_GASP_H): New macro for |
michael@0 | 6687 | <freetype/ftgasp.h>. |
michael@0 | 6688 | |
michael@0 | 6689 | * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources), |
michael@0 | 6690 | modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp, |
michael@0 | 6691 | builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the |
michael@0 | 6692 | default build. |
michael@0 | 6693 | |
michael@0 | 6694 | 2007-01-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 6695 | |
michael@0 | 6696 | * src/cid/cidparse.c (cid_parser_new): Improve error message for |
michael@0 | 6697 | Type 11 fonts. |
michael@0 | 6698 | Scan for `/sfnts' token. |
michael@0 | 6699 | |
michael@0 | 6700 | 2007-01-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 6701 | |
michael@0 | 6702 | * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts. |
michael@0 | 6703 | |
michael@0 | 6704 | 2007-01-06 Werner Lemberg <wl@gnu.org> |
michael@0 | 6705 | |
michael@0 | 6706 | * src/cff/cffload.c (cff_index_init): Remove unused variable. |
michael@0 | 6707 | (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing. |
michael@0 | 6708 | |
michael@0 | 6709 | 2007-01-04 David Turner <david@freetype.org> |
michael@0 | 6710 | |
michael@0 | 6711 | * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts |
michael@0 | 6712 | correctly. This fixes Savannah bug #17876. |
michael@0 | 6713 | |
michael@0 | 6714 | |
michael@0 | 6715 | Do not allocate interpreter-specific tables in memory if we are not |
michael@0 | 6716 | going to load glyphs with the bytecode interpreter anyway. |
michael@0 | 6717 | |
michael@0 | 6718 | * src/truetype/ttgload.c (tt_loader_init): Load execution context |
michael@0 | 6719 | only if glyph is hinted. |
michael@0 | 6720 | Updated. |
michael@0 | 6721 | * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready' |
michael@0 | 6722 | and `cvs_ready'. |
michael@0 | 6723 | Add `tt_size_ready_bytecode' declaration. |
michael@0 | 6724 | * src/truetype/ttobjs.c (tt_size_done_bytecode, |
michael@0 | 6725 | tt_size_init_bytecode, tt_size_ready_bytecode): New functions. |
michael@0 | 6726 | (tt_size_init): Move most code into `tt_size_init_bytecode'. |
michael@0 | 6727 | (tt_size_done): Move most code into `tt_size_done_bytecode'. |
michael@0 | 6728 | (tt_size_reset): Move some code to `tt_size_ready_bytecode'. |
michael@0 | 6729 | |
michael@0 | 6730 | |
michael@0 | 6731 | Don't extract the metrics table from the SFNT font file. Instead, |
michael@0 | 6732 | reparse it on each glyph load. The runtime difference is not |
michael@0 | 6733 | noticeable, and it can save a lot of heap memory when memory-mapped |
michael@0 | 6734 | files are not used. |
michael@0 | 6735 | |
michael@0 | 6736 | * include/freetype/internal/tttypes.h (TT_FaceRec): Add members |
michael@0 | 6737 | `horz_metrics_offset' and `vert_metrics_ofset'. |
michael@0 | 6738 | * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): |
michael@0 | 6739 | Updated. |
michael@0 | 6740 | |
michael@0 | 6741 | |
michael@0 | 6742 | * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization. |
michael@0 | 6743 | |
michael@0 | 6744 | |
michael@0 | 6745 | Do not load the CFF index offsets into memory, since this wastes a |
michael@0 | 6746 | *lot* of heap memory with large Asian CFF fonts. There is no |
michael@0 | 6747 | significant performance loss. |
michael@0 | 6748 | |
michael@0 | 6749 | * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration. |
michael@0 | 6750 | * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and |
michael@0 | 6751 | `data_size'. |
michael@0 | 6752 | (CFF_CharsetRec): Add field `num_glyphs'. |
michael@0 | 6753 | |
michael@0 | 6754 | * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets, |
michael@0 | 6755 | cff_charset_cid_to_gindex): New functions. |
michael@0 | 6756 | (cff_new_index): Renamed to... |
michael@0 | 6757 | (cff_index_init): This. Update all callers. |
michael@0 | 6758 | Updated -- some code has been moved to `cff_index_load_offsets'. |
michael@0 | 6759 | (cff_done_index): Renamed to... |
michael@0 | 6760 | (cff_index_done): This. Update all callers. |
michael@0 | 6761 | (cff_index_get_pointers, cff_index_access_element): Updated to use |
michael@0 | 6762 | stream offsets. |
michael@0 | 6763 | (cff_charset_compute_cids): Set `num_glyphs' field. |
michael@0 | 6764 | (cff_encoding_load): Updated. |
michael@0 | 6765 | |
michael@0 | 6766 | * src/cff/cffgload.c (cff_slot_load): Updated. |
michael@0 | 6767 | |
michael@0 | 6768 | 2007-01-04 David Turner <david@freetype.org> |
michael@0 | 6769 | |
michael@0 | 6770 | * docs/INSTALL.UNIX: Simplify some parts, add reference to |
michael@0 | 6771 | autogen.sh and pointer to README.CVS. |
michael@0 | 6772 | |
michael@0 | 6773 | * README.CVS: Add common problem description and solution |
michael@0 | 6774 | when running autogen.sh. |
michael@0 | 6775 | |
michael@0 | 6776 | * docs/INSTALL: Add reference to MacOS X. |
michael@0 | 6777 | |
michael@0 | 6778 | * docs/MAKEPP, docs/INSTALL.MAC: New documentation files. |
michael@0 | 6779 | |
michael@0 | 6780 | * docs/TODO: Remove obsolete items. |
michael@0 | 6781 | |
michael@0 | 6782 | * src/raster/ftraster.c: (TRaster_Instance): Replace it with... |
michael@0 | 6783 | (TWorker): This. |
michael@0 | 6784 | Remove `count_table' and `memory'. |
michael@0 | 6785 | Make `grays' a pointer. |
michael@0 | 6786 | (TRaster): New structure. |
michael@0 | 6787 | (count_table): New static array. |
michael@0 | 6788 | (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras, |
michael@0 | 6789 | Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done, |
michael@0 | 6790 | ft_black_set_mode, ft_black_render): Updated. |
michael@0 | 6791 | (ft_black_init): Don't initialize `count_table'. |
michael@0 | 6792 | (ft_black_reset): Use the render pool. This saves about 6KB of |
michael@0 | 6793 | heap space for each FT_Library instance. |
michael@0 | 6794 | |
michael@0 | 6795 | * src/smooth/ftgrays.c (TRaster): Replaced with... |
michael@0 | 6796 | (TWorker): This. |
michael@0 | 6797 | Remove `memory'. |
michael@0 | 6798 | (TRaster): New structure. |
michael@0 | 6799 | |
michael@0 | 6800 | (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line, |
michael@0 | 6801 | gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to, |
michael@0 | 6802 | gray_render_span, gray_raster_render): Updated. |
michael@0 | 6803 | (gray_raster_reset): Use the render pool. This saves about 6KB of |
michael@0 | 6804 | heap space for each FT_Library instance. |
michael@0 | 6805 | |
michael@0 | 6806 | * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h, |
michael@0 | 6807 | src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, |
michael@0 | 6808 | src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove |
michael@0 | 6809 | FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since |
michael@0 | 6810 | the optimization is no longer experimental. |
michael@0 | 6811 | |
michael@0 | 6812 | * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points): |
michael@0 | 6813 | Remove a typo that results in no hinting and a memory leak with some |
michael@0 | 6814 | large Asian CFF fonts. |
michael@0 | 6815 | |
michael@0 | 6816 | * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak |
michael@0 | 6817 | which happens when FT_Done_Library is called with still opened |
michael@0 | 6818 | CFF_Faces in it. We need to close all faces before destroying the |
michael@0 | 6819 | modules, or else some bad things (memory leaks) may happen. |
michael@0 | 6820 | |
michael@0 | 6821 | 2007-01-02 Werner Lemberg <wl@gnu.org> |
michael@0 | 6822 | |
michael@0 | 6823 | * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): |
michael@0 | 6824 | Remove compiler warning. |
michael@0 | 6825 | |
michael@0 | 6826 | 2007-01-02 David Turner <david@freetype.org> |
michael@0 | 6827 | |
michael@0 | 6828 | * src/sfnt/sfobjs.c: Add documentation comment. |
michael@0 | 6829 | |
michael@0 | 6830 | 2006-12-31 Masatake YAMATO <jet@gyve.org> |
michael@0 | 6831 | |
michael@0 | 6832 | * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New |
michael@0 | 6833 | function. |
michael@0 | 6834 | Check uniqueness of the gid pairs. |
michael@0 | 6835 | (gxv_kern_subtable_fmt0_validate): Move some code to |
michael@0 | 6836 | `gxv_kern_subtable_fmt0_pairs_validate'. |
michael@0 | 6837 | |
michael@0 | 6838 | 2006-12-22 David Turner <david@freetype.org> |
michael@0 | 6839 | |
michael@0 | 6840 | * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler |
michael@0 | 6841 | warnings. |
michael@0 | 6842 | |
michael@0 | 6843 | * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE |
michael@0 | 6844 | to avoid deprecation warnings with Visual C++ 8. |
michael@0 | 6845 | |
michael@0 | 6846 | 2006-12-16 Anders Kaseorg <anders@kaseorg.com> |
michael@0 | 6847 | |
michael@0 | 6848 | * src/base/ftlcdfil.c (FT_Library_SetLcdFilter) |
michael@0 | 6849 | [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo. |
michael@0 | 6850 | |
michael@0 | 6851 | 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6852 | |
michael@0 | 6853 | * include/freetype/internal/services/svotval.h: Add `volatile' to |
michael@0 | 6854 | sync with the modification by Jens Claudius on 2006-08-22; cf. |
michael@0 | 6855 | http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5 |
michael@0 | 6856 | |
michael@0 | 6857 | 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6858 | |
michael@0 | 6859 | * src/base/ftmac.c: Specialized for Mac OS X only. |
michael@0 | 6860 | * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework. |
michael@0 | 6861 | * builds/unix/configure.raw: Ditto. When explicit switches for |
michael@0 | 6862 | FSSpec/FSRef/QuickDraw/ATS availability are given to configure, |
michael@0 | 6863 | builds/mac/ftmac.c is used instead of default src/base/ftmac.c. |
michael@0 | 6864 | |
michael@0 | 6865 | 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6866 | |
michael@0 | 6867 | * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system. |
michael@0 | 6868 | * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c |
michael@0 | 6869 | instead of src/base/ftmac.c |
michael@0 | 6870 | * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. |
michael@0 | 6871 | * builds/mac/FreeType.ppc_classic.make.txt: Ditto. |
michael@0 | 6872 | * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c |
michael@0 | 6873 | that cannot be built at present. |
michael@0 | 6874 | |
michael@0 | 6875 | 2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 6876 | |
michael@0 | 6877 | * src/base/ftobjs.c: Improvement of resource fork handler for |
michael@0 | 6878 | POSIX, cf. |
michael@0 | 6879 | http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html |
michael@0 | 6880 | (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font |
michael@0 | 6881 | format or .dfont, to simulate the face index number counted by ftmac.c. |
michael@0 | 6882 | (IsMacResource): Return the number of scalable faces correctly. |
michael@0 | 6883 | |
michael@0 | 6884 | 2006-12-10 Werner Lemberg <wl@gnu.org> |
michael@0 | 6885 | |
michael@0 | 6886 | * builds/toplevel.mk (version): Protect against `distclean' target. |
michael@0 | 6887 | |
michael@0 | 6888 | 2006-12-09 Werner Lemberg <wl@gnu.org> |
michael@0 | 6889 | |
michael@0 | 6890 | * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat' |
michael@0 | 6891 | or `type'. |
michael@0 | 6892 | |
michael@0 | 6893 | * builds/freetype.mk (version): Extracted from freetype.h, using |
michael@0 | 6894 | GNU make's built-in string functions. |
michael@0 | 6895 | (refdoc): Use $(version) instead of static version number. |
michael@0 | 6896 | |
michael@0 | 6897 | 2006-12-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 6898 | |
michael@0 | 6899 | * builds/toplevel.mk (dist): Extract version number from freetype.h. |
michael@0 | 6900 | |
michael@0 | 6901 | 2006-12-08 Vladimir Volovich <vvv@vsu.ru> |
michael@0 | 6902 | |
michael@0 | 6903 | * src/tools/apinames.c (State): Remove final comma in structure -- |
michael@0 | 6904 | xlc v5 under AIX 4.3 doesn't like this. |
michael@0 | 6905 | |
michael@0 | 6906 | 2006-12-07 David Turner <david@freetype.org> |
michael@0 | 6907 | |
michael@0 | 6908 | * src/autofit/afloader.c (af_loader_load_g): Small adjustment |
michael@0 | 6909 | to the spacing of auto-fitted glyphs. This only impacts rare |
michael@0 | 6910 | cases (e.g., Arial Bold at rather small character sizes). |
michael@0 | 6911 | |
michael@0 | 6912 | 2006-12-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 6913 | |
michael@0 | 6914 | * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. |
michael@0 | 6915 | |
michael@0 | 6916 | 2006-12-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 6917 | |
michael@0 | 6918 | * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are |
michael@0 | 6919 | encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>. |
michael@0 | 6920 | (tt_name_entry_ascii_from_ucs4): Removed. |
michael@0 | 6921 | |
michael@0 | 6922 | |
michael@0 | 6923 | * include/freetype/ftxf86.h: Fix and extend comment so that it |
michael@0 | 6924 | appears in the documentation. |
michael@0 | 6925 | |
michael@0 | 6926 | * include/freetype/ftchapters.h: Add `font_format' section. |
michael@0 | 6927 | |
michael@0 | 6928 | |
michael@0 | 6929 | * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link |
michael@0 | 6930 | to TOC in index page. |
michael@0 | 6931 | |
michael@0 | 6932 | 2006-11-28 David Turner <david@freetype.org> |
michael@0 | 6933 | |
michael@0 | 6934 | * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are |
michael@0 | 6935 | trying to render into a zero-width/height bitmap, not an error code. |
michael@0 | 6936 | |
michael@0 | 6937 | * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch. |
michael@0 | 6938 | |
michael@0 | 6939 | * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType |
michael@0 | 6940 | ones instead. |
michael@0 | 6941 | |
michael@0 | 6942 | * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused |
michael@0 | 6943 | variable. |
michael@0 | 6944 | |
michael@0 | 6945 | 2006-11-26 Pierre Hanser <hanser@club-internet.fr> |
michael@0 | 6946 | |
michael@0 | 6947 | * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer. |
michael@0 | 6948 | |
michael@0 | 6949 | 2006-11-25 David Turner <david@freetype.org> |
michael@0 | 6950 | |
michael@0 | 6951 | * src/autofit/afhints.c (af_glyph_hints_dump_points, |
michael@0 | 6952 | af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]: |
michael@0 | 6953 | Add stubs to link the `ftgrid' test program when debugging is |
michael@0 | 6954 | disabled in the auto-hinter. |
michael@0 | 6955 | |
michael@0 | 6956 | 2006-11-23 David Turner <david@freetype.org> |
michael@0 | 6957 | |
michael@0 | 6958 | * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, |
michael@0 | 6959 | src/autofit/aftypes.h: Miscellaneous auto-hinter improvements. |
michael@0 | 6960 | |
michael@0 | 6961 | * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]: |
michael@0 | 6962 | Emit more sensible information. |
michael@0 | 6963 | |
michael@0 | 6964 | * src/autofit/afhints.h (AF_SegmentRec): Add `height' member. |
michael@0 | 6965 | |
michael@0 | 6966 | * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve |
michael@0 | 6967 | rounding of blue values. |
michael@0 | 6968 | (af_latin_hints_compute_segments): Hint segment heights. |
michael@0 | 6969 | (af_latin_hints_link_segments): Reduce `len_score' value. |
michael@0 | 6970 | (af_latin_hints_compute_edges): Increase `segment_length_threshold' |
michael@0 | 6971 | value and use `height' member for comparisons. |
michael@0 | 6972 | (af_latin_hint_edges): Extend logging message. |
michael@0 | 6973 | Improve handling of remaining edges. |
michael@0 | 6974 | |
michael@0 | 6975 | 2006-11-22 Werner Lemberg <wl@gnu.org> |
michael@0 | 6976 | |
michael@0 | 6977 | Fix Savannah bug #15553. |
michael@0 | 6978 | |
michael@0 | 6979 | * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT |
michael@0 | 6980 | program after a change from mono to grayscaling (and vice versa). |
michael@0 | 6981 | Use correct constant for comparison to get `exec->grayscale'. |
michael@0 | 6982 | |
michael@0 | 6983 | 2006-11-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 6984 | |
michael@0 | 6985 | Because FT_Load_Glyph expects CID values for CID-keyed fonts, the |
michael@0 | 6986 | test for a valid glyph index must be deferred to the font drivers. |
michael@0 | 6987 | This patch fixes Savannah bug #18301. |
michael@0 | 6988 | |
michael@0 | 6989 | * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'. |
michael@0 | 6990 | * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c |
michael@0 | 6991 | (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), |
michael@0 | 6992 | src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c |
michael@0 | 6993 | (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph), |
michael@0 | 6994 | src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c |
michael@0 | 6995 | (FNT_Load_Glyph): Check validity of `glyph_index'. |
michael@0 | 6996 | |
michael@0 | 6997 | 2006-11-13 David Turner <david@freetype.org> |
michael@0 | 6998 | |
michael@0 | 6999 | * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter |
michael@0 | 7000 | `enhancements' are still too buggy for general use. |
michael@0 | 7001 | |
michael@0 | 7002 | * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and |
michael@0 | 7003 | FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros |
michael@0 | 7004 | when building the library to change the default LCD filter to be |
michael@0 | 7005 | used. This is only useful for experimentation. |
michael@0 | 7006 | |
michael@0 | 7007 | * include/freetype/ftlcdfil.h: Update documentation. |
michael@0 | 7008 | |
michael@0 | 7009 | 2006-11-10 David Turner <david@freetype.org> |
michael@0 | 7010 | |
michael@0 | 7011 | * src/smooth/ftsmooth.c: API change for the LCD |
michael@0 | 7012 | filter. The FT_LcdFilter value is an enumeration describing which |
michael@0 | 7013 | filter to apply, with new values FT_LCD_FILTER_LIGHT and |
michael@0 | 7014 | FT_LCD_FILTER_LEGACY (the latter implements the LibXft original |
michael@0 | 7015 | algorithm which produces strong color fringes for everything |
michael@0 | 7016 | except very-well hinted text). |
michael@0 | 7017 | |
michael@0 | 7018 | * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change |
michael@0 | 7019 | second parameter to an enum type. |
michael@0 | 7020 | |
michael@0 | 7021 | * src/base/ftlcdfil.c (USE_LEGACY): Define. |
michael@0 | 7022 | (_ft_lcd_filter): Rename to... |
michael@0 | 7023 | (_ft_lcd_filter_fir): This. |
michael@0 | 7024 | Update parameters. |
michael@0 | 7025 | (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function. |
michael@0 | 7026 | (FT_Library_Set_LcdFilter): Update parameters. |
michael@0 | 7027 | Handle new filter modes. |
michael@0 | 7028 | |
michael@0 | 7029 | * include/internal/ftobjs.h: Include FT_LCD_FILTER_H. |
michael@0 | 7030 | (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'. |
michael@0 | 7031 | (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering |
michael@0 | 7032 | callback and update other fields. |
michael@0 | 7033 | |
michael@0 | 7034 | * src/smooth/ftsmooth.c (ft_smooth_render_generic) |
michael@0 | 7035 | [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update. |
michael@0 | 7036 | Other minor improvements. |
michael@0 | 7037 | |
michael@0 | 7038 | * src/autofit/aflatin.c: Various tiny improvements that drastically |
michael@0 | 7039 | improve the handling of serif fonts and of LCD/LCD_V hinting modes. |
michael@0 | 7040 | (af_latin_hints_compute_edges): Fix typo. |
michael@0 | 7041 | (af_latin_compute_stem_width): Take better care of diagonal stems. |
michael@0 | 7042 | |
michael@0 | 7043 | 2006-11-09 David Turner <david@freetype.org> |
michael@0 | 7044 | |
michael@0 | 7045 | * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix |
michael@0 | 7046 | typo which created a variable-used-before-initialized bug. |
michael@0 | 7047 | |
michael@0 | 7048 | 2006-11-07 Zhe Su <james.su@gmail.com> |
michael@0 | 7049 | |
michael@0 | 7050 | * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout |
michael@0 | 7051 | also. |
michael@0 | 7052 | |
michael@0 | 7053 | 2006-11-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 7054 | |
michael@0 | 7055 | * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'. |
michael@0 | 7056 | |
michael@0 | 7057 | 2006-11-02 David Turner <david@freetype.org> |
michael@0 | 7058 | |
michael@0 | 7059 | Add a few tweaks to better handle serif fonts. |
michael@0 | 7060 | Add more debugging messages. |
michael@0 | 7061 | |
michael@0 | 7062 | * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore |
michael@0 | 7063 | segments that are less than 1.5 pixels high. This gets rid of |
michael@0 | 7064 | *many* corner cases with serifs. |
michael@0 | 7065 | (af_latin_align_linked_edge): Add logging message. |
michael@0 | 7066 | (af_latin_hint_edges): Use AF_HINTS_DO_BLUES. |
michael@0 | 7067 | Add logging messages. |
michael@0 | 7068 | Handle AF_EDGE_FLAG flag specially. |
michael@0 | 7069 | |
michael@0 | 7070 | * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug, |
michael@0 | 7071 | _af_debug_disable_blue_hints, and _af_debug_hints variables. |
michael@0 | 7072 | |
michael@0 | 7073 | * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug. |
michael@0 | 7074 | Update external declarations. |
michael@0 | 7075 | (af_corner_orientation, af_corner_is_flat): Replaced by... |
michael@0 | 7076 | |
michael@0 | 7077 | * include/freetype/internal/ftcalc.h (ft_corner_orientation, |
michael@0 | 7078 | ft_corner_is_flat): These declarations. |
michael@0 | 7079 | |
michael@0 | 7080 | * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat): |
michael@0 | 7081 | Comment out. Replaced by... |
michael@0 | 7082 | |
michael@0 | 7083 | * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat): |
michael@0 | 7084 | These functions. Update all callers. |
michael@0 | 7085 | (FT_Add64) [!FT_LONG64]: Simplify. |
michael@0 | 7086 | |
michael@0 | 7087 | * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 7088 | (af_direction_compute): Add a missing FT_ABS call. This bug caused |
michael@0 | 7089 | production of garbage by missing lots of segments. |
michael@0 | 7090 | |
michael@0 | 7091 | * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro. |
michael@0 | 7092 | |
michael@0 | 7093 | * src/autofit/afloader.c (af_loader_init, af_loader_done) |
michael@0 | 7094 | [AF_DEBUG]: Set _af_debug_hints. |
michael@0 | 7095 | |
michael@0 | 7096 | |
michael@0 | 7097 | * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H. |
michael@0 | 7098 | (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat |
michael@0 | 7099 | and ft_corner_orientation. |
michael@0 | 7100 | |
michael@0 | 7101 | |
michael@0 | 7102 | * src/gzip/inftrees.c (huft_build): Remove compiler warning. |
michael@0 | 7103 | |
michael@0 | 7104 | 2006-10-24 Werner Lemberg <wl@gnu.org> |
michael@0 | 7105 | |
michael@0 | 7106 | * src/cff/cffload.c (cff_encoding_load): Remove unused variable. |
michael@0 | 7107 | |
michael@0 | 7108 | * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE |
michael@0 | 7109 | as argument. |
michael@0 | 7110 | |
michael@0 | 7111 | 2006-10-23 Zhe Su <zsu@novell.com> |
michael@0 | 7112 | |
michael@0 | 7113 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to |
michael@0 | 7114 | better deal with broken Asian fonts with strange glyphs, having |
michael@0 | 7115 | self-intersections and other peculiarities. The used algorithm is |
michael@0 | 7116 | based on the nonzero winding rule. |
michael@0 | 7117 | |
michael@0 | 7118 | 2006-10-23 David Turner <david@freetype.org> |
michael@0 | 7119 | |
michael@0 | 7120 | Speed up the CFF font loader. With some large CFF fonts, |
michael@0 | 7121 | FT_Open_Face is now more than three times faster. |
michael@0 | 7122 | |
michael@0 | 7123 | * src/cff/cffload.c (cff_get_offset): Removed. |
michael@0 | 7124 | (cff_new_index): Inline functionality of `cff_get_offset'. |
michael@0 | 7125 | (cff_charset_compute_cids, cff_charset_free_cids): New functions. |
michael@0 | 7126 | (cff_charset_done): Call `cff_charset_free_cids'. |
michael@0 | 7127 | (cff_charset_load): Call `cff_charset_compute_cids'. |
michael@0 | 7128 | (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop. |
michael@0 | 7129 | |
michael@0 | 7130 | * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX |
michael@0 | 7131 | with FT_NEXT_XXX. |
michael@0 | 7132 | |
michael@0 | 7133 | |
michael@0 | 7134 | Speed up the Postscript hinter, with more than 100% speed increase |
michael@0 | 7135 | on my machine. |
michael@0 | 7136 | |
michael@0 | 7137 | * src/pshinter/pshalgo.c (psh_corner_is_flat, |
michael@0 | 7138 | psh_corner_orientation): New functions. |
michael@0 | 7139 | (psh_glyph_compute_inflections): Merge loops for efficiency. |
michael@0 | 7140 | Use `psh_corner_orientation'. |
michael@0 | 7141 | (psh_glyph_init): Use `psh_corner_is_flat'. |
michael@0 | 7142 | (psh_hint_table_find_strong_point): Renamed to... |
michael@0 | 7143 | (psh_hint_table_find_strong_points): This. |
michael@0 | 7144 | Rewrite, adding argument to handle all points at once. |
michael@0 | 7145 | Update all callers. |
michael@0 | 7146 | (PSH_MAX_STRONG_INTERNAL): New macro. |
michael@0 | 7147 | (psh_glyph_interpolate_normal_points): Rewrite for efficiency. |
michael@0 | 7148 | |
michael@0 | 7149 | 2006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7150 | |
michael@0 | 7151 | * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable |
michael@0 | 7152 | `error' with FT_Err_Ok. |
michael@0 | 7153 | |
michael@0 | 7154 | 2006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7155 | |
michael@0 | 7156 | * docs/INSTALL.CROSS: New document file for cross-building. |
michael@0 | 7157 | |
michael@0 | 7158 | * builds/unix/configure.raw: Preliminary cross-building support. |
michael@0 | 7159 | Find native C compiler and pass it by CC_BUILD, and |
michael@0 | 7160 | find suffix for native executable and pass it by EXEEXT_BUILD. |
michael@0 | 7161 | Also suffix for target executable is passed by EXEEXT. |
michael@0 | 7162 | |
michael@0 | 7163 | * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to |
michael@0 | 7164 | build `apinames' which runs on building system. They are set by |
michael@0 | 7165 | CC_BUILD and EXEEXT_BUILD. |
michael@0 | 7166 | |
michael@0 | 7167 | * builds/exports.mk (APINAMES_EXE): Change the extension for |
michael@0 | 7168 | apinames from the suffix for target (E) to that for building host |
michael@0 | 7169 | (E_BUILD). |
michael@0 | 7170 | |
michael@0 | 7171 | 2006-10-12 Werner Lemberg <wl@gnu.org> |
michael@0 | 7172 | |
michael@0 | 7173 | * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to... |
michael@0 | 7174 | * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents |
michael@0 | 7175 | which reference those files. |
michael@0 | 7176 | |
michael@0 | 7177 | 2006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7178 | |
michael@0 | 7179 | * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is |
michael@0 | 7180 | embedded in freetype2.pc and freetype-config. Use it to record |
michael@0 | 7181 | Carbon dependency of MacOSX. |
michael@0 | 7182 | |
michael@0 | 7183 | * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS. |
michael@0 | 7184 | |
michael@0 | 7185 | * builds/unix/freetype-config.in: Ditto. |
michael@0 | 7186 | |
michael@0 | 7187 | 2006-10-11 Werner Lemberg <wl@gnu.org> |
michael@0 | 7188 | |
michael@0 | 7189 | * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for |
michael@0 | 7190 | development. |
michael@0 | 7191 | |
michael@0 | 7192 | 2006-10-03 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7193 | |
michael@0 | 7194 | * include/freetype/config/ftstdlib.h: Cast away volatileness from |
michael@0 | 7195 | argument to ft_setjmp. |
michael@0 | 7196 | |
michael@0 | 7197 | * include/freetype/internal/ftvalid.h: Add comment that |
michael@0 | 7198 | ft_validator_run must not be used. |
michael@0 | 7199 | |
michael@0 | 7200 | 2006-10-01 Werner Lemberg <wl@gnu.org> |
michael@0 | 7201 | |
michael@0 | 7202 | * src/base/ftbase.c: Undo change from 2006-09-30. |
michael@0 | 7203 | |
michael@0 | 7204 | * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'. |
michael@0 | 7205 | |
michael@0 | 7206 | 2006-09-30 David Turner <david@freetype.org> |
michael@0 | 7207 | |
michael@0 | 7208 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): |
michael@0 | 7209 | s/unpatented_hinting/ignore_unpatented_hinter/. |
michael@0 | 7210 | Update all callers. |
michael@0 | 7211 | |
michael@0 | 7212 | * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether |
michael@0 | 7213 | auto-hinting shall be used or not. |
michael@0 | 7214 | |
michael@0 | 7215 | * src/truetype/ttobjs.c (tt_face_init): Ditto. |
michael@0 | 7216 | |
michael@0 | 7217 | 2006-09-30 Werner Lemberg <wl@gnu.org> |
michael@0 | 7218 | |
michael@0 | 7219 | * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer |
michael@0 | 7220 | in use). |
michael@0 | 7221 | |
michael@0 | 7222 | * src/base/ftbase.c: Include `ftlcdfil.c'. |
michael@0 | 7223 | |
michael@0 | 7224 | 2006-09-29 Werner Lemberg <wl@gnu.org> |
michael@0 | 7225 | |
michael@0 | 7226 | * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for |
michael@0 | 7227 | overlapping segments. Bug reported by Stefan Koch. |
michael@0 | 7228 | |
michael@0 | 7229 | 2006-09-28 David Turner <david@freetype.org> |
michael@0 | 7230 | |
michael@0 | 7231 | Fix a bug in the automatic unpatented hinting support which prevents |
michael@0 | 7232 | normal bytecode hinting to work properly. |
michael@0 | 7233 | |
michael@0 | 7234 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): |
michael@0 | 7235 | s/force_autohint/unpatented_hinting/. Update all callers. |
michael@0 | 7236 | |
michael@0 | 7237 | * src/base/ftobjs.c (FT_Load_Glyph): Updated code. |
michael@0 | 7238 | |
michael@0 | 7239 | * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces. |
michael@0 | 7240 | |
michael@0 | 7241 | 2006-09-27 David Turner <david@freetype.org> |
michael@0 | 7242 | |
michael@0 | 7243 | * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2. |
michael@0 | 7244 | |
michael@0 | 7245 | |
michael@0 | 7246 | Add a new API to support color filtering of subpixel glyph bitmaps. |
michael@0 | 7247 | In a default build, the function `FT_Library_SetLcdFilter' returns |
michael@0 | 7248 | `FT_Err_Unimplemented_Feature'; you need to #define |
michael@0 | 7249 | FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the |
michael@0 | 7250 | real implementation. |
michael@0 | 7251 | |
michael@0 | 7252 | * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files. |
michael@0 | 7253 | |
michael@0 | 7254 | * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New |
michael@0 | 7255 | typedef. |
michael@0 | 7256 | (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members |
michael@0 | 7257 | `lcd_filter_weights' and `lcd_filter'. |
michael@0 | 7258 | |
michael@0 | 7259 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments |
michael@0 | 7260 | `hmul' and `vmul'. |
michael@0 | 7261 | |
michael@0 | 7262 | Handle subpixel rendering. |
michael@0 | 7263 | Simplify function. |
michael@0 | 7264 | (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'. |
michael@0 | 7265 | (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'. |
michael@0 | 7266 | |
michael@0 | 7267 | * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro, |
michael@0 | 7268 | pointing to <freetype/ftlcdfil.h>. |
michael@0 | 7269 | |
michael@0 | 7270 | * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC), |
michael@0 | 7271 | vms_make.com: Add `ftlcdfil.c' to the list of compiled source files. |
michael@0 | 7272 | |
michael@0 | 7273 | * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c. |
michael@0 | 7274 | |
michael@0 | 7275 | 2006-09-26 David Bustin |
michael@0 | 7276 | |
michael@0 | 7277 | * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes |
michael@0 | 7278 | correctly. Reported as Savannah bug #17843. |
michael@0 | 7279 | |
michael@0 | 7280 | 2006-09-26 David Turner <david@freetype.org> |
michael@0 | 7281 | |
michael@0 | 7282 | * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL, |
michael@0 | 7283 | AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable |
michael@0 | 7284 | horizontal and vertical hinting for the purpose of debugging the |
michael@0 | 7285 | auto-fitter. |
michael@0 | 7286 | |
michael@0 | 7287 | * src/autofit/afmodule.c (_af_debug_disable_horz_hints, |
michael@0 | 7288 | _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables. |
michael@0 | 7289 | |
michael@0 | 7290 | * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables. |
michael@0 | 7291 | |
michael@0 | 7292 | * include/freetype/config/ftoption.h, devel/ftoption.h |
michael@0 | 7293 | (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether |
michael@0 | 7294 | we want to compile LCD-optimized rendering code (Ã la ClearType) or |
michael@0 | 7295 | not. The macro *must* be disabled in default builds of the library |
michael@0 | 7296 | for patent reasons. |
michael@0 | 7297 | |
michael@0 | 7298 | * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable |
michael@0 | 7299 | LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING |
michael@0 | 7300 | isn't defined at compile time. This only changes the content of the |
michael@0 | 7301 | rendered glyph to match the one of normal gray-level rendering, |
michael@0 | 7302 | hence clients should not need to be modified. |
michael@0 | 7303 | |
michael@0 | 7304 | * docs/CHANGES: Updated. |
michael@0 | 7305 | |
michael@0 | 7306 | 2006-09-18 Garrick Meeker <garrick@digitalanarchy.com> |
michael@0 | 7307 | |
michael@0 | 7308 | * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if |
michael@0 | 7309 | LWFN fails and both are available. |
michael@0 | 7310 | |
michael@0 | 7311 | 2006-09-11 David Turner <david@freetype.org> |
michael@0 | 7312 | |
michael@0 | 7313 | * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which |
michael@0 | 7314 | report their English names through an Apple Roman |
michael@0 | 7315 | (platform,encoding) pair, with language_id != English. |
michael@0 | 7316 | |
michael@0 | 7317 | If the font uses another name entry with language_id == English, it |
michael@0 | 7318 | will be selected correctly, though. |
michael@0 | 7319 | |
michael@0 | 7320 | * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting |
michael@0 | 7321 | selection for `mingli.ttf'. |
michael@0 | 7322 | |
michael@0 | 7323 | 2006-09-05 Werner Lemberg <wl@gnu.org> |
michael@0 | 7324 | |
michael@0 | 7325 | * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size' |
michael@0 | 7326 | values which have the upper two bytes set to 0xFF instead of 0x00 |
michael@0 | 7327 | (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and |
michael@0 | 7328 | `HAN NOM B.ttf'). |
michael@0 | 7329 | |
michael@0 | 7330 | * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code. |
michael@0 | 7331 | |
michael@0 | 7332 | 2006-09-05 David Turner <david@freetype.org> |
michael@0 | 7333 | |
michael@0 | 7334 | Minor source cleanups and optimizations. |
michael@0 | 7335 | |
michael@0 | 7336 | * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed. |
michael@0 | 7337 | (TRaster): Remove `count_ex' and `count_ey'. |
michael@0 | 7338 | (gray_find_cell): Remove 2nd and 3rd argument. |
michael@0 | 7339 | (gray_alloc_cell): Merged with `gray_find_cell'. |
michael@0 | 7340 | (gray_record_cell): Simplify. |
michael@0 | 7341 | (gray_set_cell): Rewrite. |
michael@0 | 7342 | (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'. |
michael@0 | 7343 | (gray_render_span): Don't use FT_MEM_SET for small values. |
michael@0 | 7344 | (gray_dump_cells) [DEBUG_GRAYS]: New function. |
michael@0 | 7345 | (gray_sweep): Avoid buffer overwrites when to drawing the end of a |
michael@0 | 7346 | bitmap scanline. |
michael@0 | 7347 | (gray_convert_glyph): Fix speed-up. |
michael@0 | 7348 | |
michael@0 | 7349 | 2006-09-04 David Turner <david@freetype.org> |
michael@0 | 7350 | |
michael@0 | 7351 | * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with |
michael@0 | 7352 | 64bit processors. |
michael@0 | 7353 | |
michael@0 | 7354 | 2006-09-03 Werner Lemberg <wl@gnu.org> |
michael@0 | 7355 | |
michael@0 | 7356 | * devel/ftoption.h: Synchronize with |
michael@0 | 7357 | include/freetype/config/ftoption.h. |
michael@0 | 7358 | |
michael@0 | 7359 | * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing |
michael@0 | 7360 | variable declaration. |
michael@0 | 7361 | (gray_convert_glyph): Fix compiler warnings. |
michael@0 | 7362 | |
michael@0 | 7363 | 2006-09-01 David Turner <david@freetype.org> |
michael@0 | 7364 | |
michael@0 | 7365 | * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader |
michael@0 | 7366 | to recognize a few fonts that require the automatic unpatented |
michael@0 | 7367 | loader. |
michael@0 | 7368 | |
michael@0 | 7369 | * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased |
michael@0 | 7370 | rasterizer. The speed improvement is between 15% and 25%, depending |
michael@0 | 7371 | on the font data. |
michael@0 | 7372 | |
michael@0 | 7373 | (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code. |
michael@0 | 7374 | (TCell): Redefine. |
michael@0 | 7375 | (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'. |
michael@0 | 7376 | (gray_init_cells): Updated. |
michael@0 | 7377 | (gray_find_cell, gray_alloc_cell): New functions. |
michael@0 | 7378 | (gray_record_cell): Rewritten to use `gray_find_cell' and |
michael@0 | 7379 | `gray_alloc_cell'. |
michael@0 | 7380 | (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT, |
michael@0 | 7381 | QSORT_THRESHOLD): |
michael@0 | 7382 | Removed. |
michael@0 | 7383 | (gray_shell_sort, gray_quick_sort, gray_check_sort, |
michael@0 | 7384 | gray_dump_cells): Removed. |
michael@0 | 7385 | (gray_sweep): Rewritten. |
michael@0 | 7386 | (gray_convert_glyph): Rewrite code which used one of the sorting |
michael@0 | 7387 | functions. |
michael@0 | 7388 | (gray_raster_render): Updated. |
michael@0 | 7389 | |
michael@0 | 7390 | 2006-08-29 Dr. Werner Fink <werner@suse.de> |
michael@0 | 7391 | |
michael@0 | 7392 | * configure: Make it possible to handle configure options which |
michael@0 | 7393 | have strings containing spaces. |
michael@0 | 7394 | |
michael@0 | 7395 | 2006-08-27 David Turner <david@freetype.org> |
michael@0 | 7396 | |
michael@0 | 7397 | * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER): |
michael@0 | 7398 | New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER |
michael@0 | 7399 | or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined. |
michael@0 | 7400 | |
michael@0 | 7401 | * include/freetype/internal/ftcalc.h, src/base/ftcalc.c, |
michael@0 | 7402 | src/truetype/truetype.c, src/truetype/ttdriver.c, |
michael@0 | 7403 | src/truetype/ttgload.c, src/truetype/ttgload.h, |
michael@0 | 7404 | src/truetype/ttinterp.c, src/truetype/ttobjs.c, |
michael@0 | 7405 | src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c: |
michael@0 | 7406 | s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/. |
michael@0 | 7407 | |
michael@0 | 7408 | * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New |
michael@0 | 7409 | member `force_autohint'. |
michael@0 | 7410 | |
michael@0 | 7411 | * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'. |
michael@0 | 7412 | |
michael@0 | 7413 | * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing |
michael@0 | 7414 | against a list of font names which need the bytecode interpreter. |
michael@0 | 7415 | |
michael@0 | 7416 | 2006-08-27 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7417 | |
michael@0 | 7418 | Fix miscellaneous compiler warnings. |
michael@0 | 7419 | |
michael@0 | 7420 | * include/freetype/internal/ftobjs.h: Close comment with `*/' to |
michael@0 | 7421 | avoid `/* in comment' compiler warning. |
michael@0 | 7422 | |
michael@0 | 7423 | * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast |
michael@0 | 7424 | `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on |
michael@0 | 7425 | 64-bit platforms void* is larger than FT_UInt32. |
michael@0 | 7426 | |
michael@0 | 7427 | * src/base/ftobjs.c (t_validator_error): Cast away |
michael@0 | 7428 | volatileness of argument to ft_longjmp. Spotted by Werner |
michael@0 | 7429 | `Putzfrau' Lemberg. |
michael@0 | 7430 | |
michael@0 | 7431 | * src/bdf/bdflib.c (bdf_load_font): Initialize local |
michael@0 | 7432 | variable `lineno'. |
michael@0 | 7433 | |
michael@0 | 7434 | * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable |
michael@0 | 7435 | `error' as volatile. |
michael@0 | 7436 | |
michael@0 | 7437 | 2006-08-27 Werner Lemberg <wl@gnu.org> |
michael@0 | 7438 | |
michael@0 | 7439 | * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. |
michael@0 | 7440 | Reported by Jens. |
michael@0 | 7441 | |
michael@0 | 7442 | 2006-08-22 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7443 | |
michael@0 | 7444 | Fix for previous commit, which caused many compiler warnings/errors |
michael@0 | 7445 | about addresses of volatile objects passed as function arguments as |
michael@0 | 7446 | non-volatile pointers. |
michael@0 | 7447 | |
michael@0 | 7448 | * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a |
michael@0 | 7449 | pointer to a volatile object. |
michael@0 | 7450 | |
michael@0 | 7451 | * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument |
michael@0 | 7452 | `table' a pointer to a volatile object. |
michael@0 | 7453 | |
michael@0 | 7454 | * src/otvalid/otvmod.c (otv_load_table): Make function argument |
michael@0 | 7455 | `table' a pointer to a volatile object. |
michael@0 | 7456 | |
michael@0 | 7457 | 2006-08-18 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7458 | |
michael@0 | 7459 | * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt' |
michael@0 | 7460 | as volatile since it must keep its value across a call to ft_setjmp. |
michael@0 | 7461 | (gxv_validate): Same for local variables `memory' and `valid'. |
michael@0 | 7462 | (classic_kern_validate): Same for local variables `memory', |
michael@0 | 7463 | `ckern', and `valid'. |
michael@0 | 7464 | |
michael@0 | 7465 | * src/otvalid/otvmod.c (otv_validate): Same for function parameter |
michael@0 | 7466 | `face' and local variables `base', `gdef', `gpos', `gsub', `jstf', |
michael@0 | 7467 | and 'valid'. |
michael@0 | 7468 | |
michael@0 | 7469 | * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable |
michael@0 | 7470 | `cmap'. |
michael@0 | 7471 | |
michael@0 | 7472 | 2006-08-16 David Turner <david@freetype.org> |
michael@0 | 7473 | |
michael@0 | 7474 | * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler |
michael@0 | 7475 | warnings. |
michael@0 | 7476 | |
michael@0 | 7477 | * src/base/ftobjs.c (ft_validator_run): Disable function; it is |
michael@0 | 7478 | buggy by design. Always return -1. |
michael@0 | 7479 | |
michael@0 | 7480 | |
michael@0 | 7481 | Improvements to native TrueType hinting. This is a first try, |
michael@0 | 7482 | controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c. |
michael@0 | 7483 | |
michael@0 | 7484 | * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member |
michael@0 | 7485 | `extra_points2'. |
michael@0 | 7486 | |
michael@0 | 7487 | * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member |
michael@0 | 7488 | `orus'. |
michael@0 | 7489 | |
michael@0 | 7490 | * src/base/ftgloadr.c (FT_GlyphLoader_Reset, |
michael@0 | 7491 | FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra, |
michael@0 | 7492 | FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to |
michael@0 | 7493 | handle `extra_points2'. |
michael@0 | 7494 | |
michael@0 | 7495 | * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'. |
michael@0 | 7496 | Remove compiler warning. |
michael@0 | 7497 | (cur_to_arg): Remove macro. |
michael@0 | 7498 | (TT_Hint_Glyph): Updated. |
michael@0 | 7499 | (TT_Process_Simple_Glyph): Handle `orus'. |
michael@0 | 7500 | |
michael@0 | 7501 | * src/truetype/ttinterp.c (FIX_BYTECODE): New macro. |
michael@0 | 7502 | (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'. |
michael@0 | 7503 | (LOC_Ins_IUP): Renamed to... |
michael@0 | 7504 | (IUP_WorkerRec): This. |
michael@0 | 7505 | Add `orus' member. |
michael@0 | 7506 | (Shift): Renamed to... |
michael@0 | 7507 | (_iup_worker_shift): This. |
michael@0 | 7508 | Updated. |
michael@0 | 7509 | (Interp): Renamed to... |
michael@0 | 7510 | (_iup_worker_interpolate): This. |
michael@0 | 7511 | Updated to handle `orus'. |
michael@0 | 7512 | (Ins_IUP): Updated. |
michael@0 | 7513 | |
michael@0 | 7514 | * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new): |
michael@0 | 7515 | Handle `orus'. |
michael@0 | 7516 | |
michael@0 | 7517 | 2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7518 | |
michael@0 | 7519 | * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to |
michael@0 | 7520 | build ftvalid in ft2demos. This has been inadvertedly changed |
michael@0 | 7521 | 2006-08-13. |
michael@0 | 7522 | |
michael@0 | 7523 | 2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7524 | |
michael@0 | 7525 | `ft_validator_run' wrapping `setjmp' can cause a crash, as found by |
michael@0 | 7526 | Jens: |
michael@0 | 7527 | http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm. |
michael@0 | 7528 | |
michael@0 | 7529 | * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'. |
michael@0 | 7530 | It reverts the change introduced on 2005-08-20. |
michael@0 | 7531 | |
michael@0 | 7532 | * src/gxvalid/gxvmod.c: Ditto. |
michael@0 | 7533 | |
michael@0 | 7534 | 2006-08-13 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7535 | |
michael@0 | 7536 | * finclude/freetype/internal/psaux.h: (T1_TokenType): Add |
michael@0 | 7537 | T1_TOKEN_TYPE_KEY. |
michael@0 | 7538 | (T1_FieldRec): Add `dict'. |
michael@0 | 7539 | (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros. |
michael@0 | 7540 | (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS |
michael@0 | 7541 | keyword is expected as an additional argument. |
michael@0 | 7542 | |
michael@0 | 7543 | * src/cid/cidload.c: (cid_field_records): Adjust invocations of |
michael@0 | 7544 | T1_FIELD_XXX. |
michael@0 | 7545 | |
michael@0 | 7546 | * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX. |
michael@0 | 7547 | |
michael@0 | 7548 | * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing. |
michael@0 | 7549 | (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY, |
michael@0 | 7550 | not T1_TOKEN_TYPE_ANY. |
michael@0 | 7551 | (ps_parser_load_field): Make sure a token that should be a string or |
michael@0 | 7552 | name is really a string or name. |
michael@0 | 7553 | Avoid memory leak if a keyword has been already encountered and its |
michael@0 | 7554 | value is overwritten. |
michael@0 | 7555 | * src/type1/t1load.c: (t1_keywords): Adjust invocations of |
michael@0 | 7556 | T1_FIELD_XXX. |
michael@0 | 7557 | (parse_dict): Ignore keywords that occur in the wrong dictionary |
michael@0 | 7558 | (e.g., in `Private' instead of `FontDict'). |
michael@0 | 7559 | |
michael@0 | 7560 | * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX. |
michael@0 | 7561 | |
michael@0 | 7562 | * src/type42/t42parse.c: (t42_keywords): Adjust invocations of |
michael@0 | 7563 | T1_FIELD_XXX. |
michael@0 | 7564 | |
michael@0 | 7565 | 2006-07-18 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7566 | |
michael@0 | 7567 | Move creation of field `buildchar' of T1_DecoderRec out of |
michael@0 | 7568 | `t1_decoder_init' and let the caller of `t1_decoder_init' take care |
michael@0 | 7569 | of it. |
michael@0 | 7570 | |
michael@0 | 7571 | Call the finisher for T1_Decoder in `cid_face_compute_max_advance' |
michael@0 | 7572 | and `T1_Compute_Max_Advance'. |
michael@0 | 7573 | |
michael@0 | 7574 | * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field |
michael@0 | 7575 | `face', add `len_buildchar'. |
michael@0 | 7576 | |
michael@0 | 7577 | * include/freetype/internal/t1types.h (T1_FaceRec): Add field |
michael@0 | 7578 | `buildchar'. |
michael@0 | 7579 | |
michael@0 | 7580 | * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher |
michael@0 | 7581 | for T1_Decoder. |
michael@0 | 7582 | (cid_slot_load_glyph): Do not ignore failure when initializing the |
michael@0 | 7583 | T1_Decoder. |
michael@0 | 7584 | |
michael@0 | 7585 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated. |
michael@0 | 7586 | (t1_decoder_init): Remove initialization of fields `buildchar' and |
michael@0 | 7587 | `len_buildchar'. |
michael@0 | 7588 | (t1_decoder_done): Remove deallocation of field `buildchar'. |
michael@0 | 7589 | |
michael@0 | 7590 | * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize |
michael@0 | 7591 | T1_Decoder's `buildchar' and `len_buildchar'; call finisher for |
michael@0 | 7592 | T1_Decoder. |
michael@0 | 7593 | (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and |
michael@0 | 7594 | `len_buildchar'; make sure to call finisher for T1_Decoder even in |
michael@0 | 7595 | case of error. |
michael@0 | 7596 | |
michael@0 | 7597 | * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar' |
michael@0 | 7598 | of T1_FaceRec. |
michael@0 | 7599 | |
michael@0 | 7600 | * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of |
michael@0 | 7601 | T1_FaceRec. |
michael@0 | 7602 | |
michael@0 | 7603 | 2006-07-14 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7604 | |
michael@0 | 7605 | * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE, |
michael@0 | 7606 | IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, |
michael@0 | 7607 | and IS_PS_BASE85 (from src/psaux/psconv.h). |
michael@0 | 7608 | (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER, |
michael@0 | 7609 | T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND. |
michael@0 | 7610 | (T1_DecoderRec): New fields `buildchar' and `face'. |
michael@0 | 7611 | (IS_PS_TOKEN): New macro. |
michael@0 | 7612 | |
michael@0 | 7613 | * include/freetype/internal/t1types.h (T1_FaceRec): New fields |
michael@0 | 7614 | `ndv_idx', `cdv_idx', and `len_buildchar'. |
michael@0 | 7615 | |
michael@0 | 7616 | * include/freetype/t1tables.h (PS_BlendRec): New fields |
michael@0 | 7617 | `default_design_vector' and `num_default_design_vector'. |
michael@0 | 7618 | |
michael@0 | 7619 | * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE, |
michael@0 | 7620 | IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and |
michael@0 | 7621 | IS_PS_BASE85 to include/freetype/internal/psaux.h. |
michael@0 | 7622 | |
michael@0 | 7623 | * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token' |
michael@0 | 7624 | argument to be NULL if we want only to count the number of tokens. |
michael@0 | 7625 | (ps_tocoordarray): Allow `coords' argument to be NULL if we just |
michael@0 | 7626 | want to skip the array. |
michael@0 | 7627 | (ps_tofixedarray): Allow `values' argument to be NULL if we just |
michael@0 | 7628 | want to skip the array. |
michael@0 | 7629 | |
michael@0 | 7630 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support |
michael@0 | 7631 | for (partially commented out) othersubrs 19-25, 27, and 28. |
michael@0 | 7632 | (t1_decoder_init): Initialize new fields `face' and `buildchar'. |
michael@0 | 7633 | (t1_decoder_done): Release new field `buildchar'. |
michael@0 | 7634 | |
michael@0 | 7635 | * src/type1/t1load.c (parse_buildchar, parse_private): New |
michael@0 | 7636 | functions. |
michael@0 | 7637 | (t1_keywords): Register them. |
michael@0 | 7638 | (t1_allocate_blend): Updated. |
michael@0 | 7639 | (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER, |
michael@0 | 7640 | T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND. |
michael@0 | 7641 | (parse_dict): Remove `keyword_flags' argument. |
michael@0 | 7642 | Use new macro IS_PS_TOKEN. |
michael@0 | 7643 | Changed function so that later PostScript definitions override |
michael@0 | 7644 | earlier ones. |
michael@0 | 7645 | (t1_init_loader): Initialize new field `keywords_encountered'. |
michael@0 | 7646 | (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and |
michael@0 | 7647 | `len_buildchar'. |
michael@0 | 7648 | Remove `keywords_flags'. |
michael@0 | 7649 | |
michael@0 | 7650 | * src/type1/t1load.h (T1_LoaderRect): New field |
michael@0 | 7651 | `keywords_encountered'. |
michael@0 | 7652 | (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros. |
michael@0 | 7653 | |
michael@0 | 7654 | * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New |
michael@0 | 7655 | entries for parsing /NDV, /CDV, and /DesignVector. |
michael@0 | 7656 | |
michael@0 | 7657 | 2006-07-07 Werner Lemberg <wl@gnu.org> |
michael@0 | 7658 | |
michael@0 | 7659 | Add many checks to protect against malformed PCF files. |
michael@0 | 7660 | |
michael@0 | 7661 | * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers. |
michael@0 | 7662 | (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors. |
michael@0 | 7663 | |
michael@0 | 7664 | * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table |
michael@0 | 7665 | data and check that tables don't overlap (using a simple |
michael@0 | 7666 | bubblesort). |
michael@0 | 7667 | (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE): |
michael@0 | 7668 | New macros which give the size of data structures in the data |
michael@0 | 7669 | stream. |
michael@0 | 7670 | (pcf_get_properties): Use rough estimates to get array size limits. |
michael@0 | 7671 | Assign `face->nprops' and `face->properties' earlier so that a call |
michael@0 | 7672 | to PCF_Face_Done can do the clean-up in case of error. |
michael@0 | 7673 | Protect against invalid string offsets. |
michael@0 | 7674 | (pcf_get_metrics): Clean up code. |
michael@0 | 7675 | Adjust tracing message levels. |
michael@0 | 7676 | Use rough estimate to get array size limit. |
michael@0 | 7677 | (pcf_get_bitmaps): Clean up code. |
michael@0 | 7678 | Adjust tracing message levels. |
michael@0 | 7679 | Use rough estimates to get offset limits. |
michael@0 | 7680 | (pcf_get_encodings): Adjust tracing message level. |
michael@0 | 7681 | (pcf_get_accel): Clean up code. |
michael@0 | 7682 | |
michael@0 | 7683 | 2006-06-26 Werner Lemberg <wl@gnu.org> |
michael@0 | 7684 | |
michael@0 | 7685 | * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which |
michael@0 | 7686 | don't have a POINT_SIZE property. This fixes Savannah bug #16914. |
michael@0 | 7687 | |
michael@0 | 7688 | 2006-06-26 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7689 | |
michael@0 | 7690 | * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15. |
michael@0 | 7691 | (t1_decoder_parse_charstrings): Operator with |
michael@0 | 7692 | opcode 15 pops its two arguments. |
michael@0 | 7693 | Handle the case where the pops of an othersubr may be part of a |
michael@0 | 7694 | subroutine. |
michael@0 | 7695 | Handle unknown othersubrs gracefully: count their operands and let |
michael@0 | 7696 | the following pop operators push the operands as the results onto |
michael@0 | 7697 | the Type1 stack. |
michael@0 | 7698 | Improve handling of setcurrentpoint opcode. |
michael@0 | 7699 | |
michael@0 | 7700 | 2006-06-25 Jens Claudius <jens.claudius@yahoo.com> |
michael@0 | 7701 | |
michael@0 | 7702 | The Type 1 parser now skips over top-level procedures as required |
michael@0 | 7703 | for a `Simplified Parser'. This makes the parser more robust as it |
michael@0 | 7704 | doesn't poke around in PostScript code. Additionally, it makes the |
michael@0 | 7705 | FontDirectory hackery in src/type1/t1load.c unnecessary. |
michael@0 | 7706 | |
michael@0 | 7707 | * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro. |
michael@0 | 7708 | (skip_literal_string): Add FT_Error as return value. |
michael@0 | 7709 | Handle escapes better. |
michael@0 | 7710 | (skip_string): Add FT_Error as return value. |
michael@0 | 7711 | Don't set `parser->error' but return error code directly. |
michael@0 | 7712 | (skip_procedure): New function. |
michael@0 | 7713 | (ps_parser_skip_PS_token): Handle procedures. |
michael@0 | 7714 | Update code. |
michael@0 | 7715 | (ps_parser_to_token): Update code. |
michael@0 | 7716 | (ps_parser_load_field_table): Handle bbox entries also. |
michael@0 | 7717 | |
michael@0 | 7718 | * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery. |
michael@0 | 7719 | Add commented-out code for synthetic fonts. |
michael@0 | 7720 | |
michael@0 | 7721 | 2006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua> |
michael@0 | 7722 | |
michael@0 | 7723 | Fix two hinting bugs as reported in |
michael@0 | 7724 | http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html. |
michael@0 | 7725 | |
michael@0 | 7726 | * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add |
michael@0 | 7727 | `first_point' member. |
michael@0 | 7728 | |
michael@0 | 7729 | * src/truetype/ttgload.c (tt_prepare_zone): Initialize |
michael@0 | 7730 | `first_point'. |
michael@0 | 7731 | (TT_Process_Composite_Glyph): Always untouch points. |
michael@0 | 7732 | |
michael@0 | 7733 | * src/truetype/ttinterp.c (Ins_SHC): Fix computation of |
michael@0 | 7734 | `first_point' and `last_point' in case of composite glyphs. |
michael@0 | 7735 | (Ins_IUP): Fix computation of `end_point'. |
michael@0 | 7736 | |
michael@0 | 7737 | 2006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7738 | |
michael@0 | 7739 | Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel |
michael@0 | 7740 | Mac. The original patch was written by David Sachitano and Lawrence |
michael@0 | 7741 | Coopet, and modified by Sean McBride for MPW compatibility. Only |
michael@0 | 7742 | required data are converted; unused data are left in big endian. |
michael@0 | 7743 | |
michael@0 | 7744 | * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non |
michael@0 | 7745 | Mac OS X platforms. |
michael@0 | 7746 | (OS_INLINE): Undefine before definition. |
michael@0 | 7747 | (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of |
michael@0 | 7748 | FontAssociation table in FOND resource. |
michael@0 | 7749 | (count_faces_scalable): Insert EndianS16_BtoN to parse the header |
michael@0 | 7750 | and fontSize at each entry of FontAssociation table in FOND |
michael@0 | 7751 | resource. |
michael@0 | 7752 | (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse |
michael@0 | 7753 | ffStylOff of FamilyRecord header of FOND resource, the header, |
michael@0 | 7754 | fontSize, fontID at each entry of FontAssociation table, and |
michael@0 | 7755 | StyleMapping table. |
michael@0 | 7756 | (count_faces): Call `HUnlock' after all FOND utilization. |
michael@0 | 7757 | |
michael@0 | 7758 | 2006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7759 | |
michael@0 | 7760 | Public API of TrueTypeGX, OpenType, and classic kern table validator |
michael@0 | 7761 | should return `FT_Err_Unimplemented_Feature' if validation service |
michael@0 | 7762 | is unavailable (disabled in `modules.cfg'). It is originally |
michael@0 | 7763 | suggested by David Turner, cf. |
michael@0 | 7764 | http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html |
michael@0 | 7765 | |
michael@0 | 7766 | * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return |
michael@0 | 7767 | FT_Err_Unimplemented_Feature if TrueTypeGX validation service is |
michael@0 | 7768 | unavailable. |
michael@0 | 7769 | (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if |
michael@0 | 7770 | classic kern table validation service is unavailable. |
michael@0 | 7771 | |
michael@0 | 7772 | * src/base/ftotval.c (FT_OpenType_Validate): Return |
michael@0 | 7773 | FT_Err_Unimplemented_Feature if OpenType validation service is |
michael@0 | 7774 | unavailable. |
michael@0 | 7775 | |
michael@0 | 7776 | 2006-06-08 Werner Lemberg <wl@gnu.org> |
michael@0 | 7777 | |
michael@0 | 7778 | * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of |
michael@0 | 7779 | errors. |
michael@0 | 7780 | |
michael@0 | 7781 | 2006-06-07 David Turner <david@freetype.org> |
michael@0 | 7782 | |
michael@0 | 7783 | * src/type1/t1afm.c (KERN_INDEX): Make it more robust. |
michael@0 | 7784 | (T1_Read_Metrics): Fix memory leak which happened when the metrics |
michael@0 | 7785 | file doesn't have kerning pairs. This fixes Savannah bug #16768. |
michael@0 | 7786 | |
michael@0 | 7787 | 2006-06-06 David Turner <david@freetype.org> |
michael@0 | 7788 | |
michael@0 | 7789 | Fix memory leak described in Savannah bug #16759. |
michael@0 | 7790 | |
michael@0 | 7791 | We change `ps_unicodes_init' so that it also takes a |
michael@0 | 7792 | `free_glyph_name' callback to release the glyph names returned by |
michael@0 | 7793 | `get_glyph_name' |
michael@0 | 7794 | |
michael@0 | 7795 | * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc): |
michael@0 | 7796 | Renamed to ... |
michael@0 | 7797 | (PS_GetGlyphNameFunc): This. |
michael@0 | 7798 | (PS_FreeGlyphNameFunc): New typedef. |
michael@0 | 7799 | (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc. |
michael@0 | 7800 | |
michael@0 | 7801 | * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first |
michael@0 | 7802 | argument. |
michael@0 | 7803 | (cff_sid_free_glyph_name): New function. |
michael@0 | 7804 | (cff_cmap_unicode_init): Updated. |
michael@0 | 7805 | |
michael@0 | 7806 | * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated. |
michael@0 | 7807 | |
michael@0 | 7808 | * src/psnames/psmodule.c (ps_unicodes_init): Add variable for |
michael@0 | 7809 | PS_FreeGlyphNameFunc and use it. |
michael@0 | 7810 | |
michael@0 | 7811 | |
michael@0 | 7812 | 2006-06-04 David Turner <david@freetype.org> |
michael@0 | 7813 | |
michael@0 | 7814 | * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept |
michael@0 | 7815 | `item_size == 0' as well -- though this sounds weird, it can |
michael@0 | 7816 | theoretically happen. This fixes Savannah bug #16669. |
michael@0 | 7817 | |
michael@0 | 7818 | * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation |
michael@0 | 7819 | of `face->num_glyphs' which missed the last glyph, due to |
michael@0 | 7820 | the offset-by-1 computation, since the PFR format doesn't |
michael@0 | 7821 | guarantee that glyph index 0 corresponds to the `missing |
michael@0 | 7822 | glyph. This fixes Savannah bug #16668. |
michael@0 | 7823 | |
michael@0 | 7824 | 2006-05-25 Werner Lemberg <wl@gnu.org> |
michael@0 | 7825 | |
michael@0 | 7826 | * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out |
michael@0 | 7827 | `-no-undefined'. Reported by Christian Biesinger. |
michael@0 | 7828 | |
michael@0 | 7829 | 2006-05-19 Brian Weed <bw@imaginengine.com> |
michael@0 | 7830 | |
michael@0 | 7831 | * builds/win32/visualc/freetype.dsp: Release libraries no longer |
michael@0 | 7832 | have debug information, and debug libraries use `C7 compatible' |
michael@0 | 7833 | debug info. |
michael@0 | 7834 | |
michael@0 | 7835 | 2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7836 | |
michael@0 | 7837 | Apply patch by Derek Clegg to fix two memory leaks in the MacOS |
michael@0 | 7838 | resource fork handler. This fixes Savannah bug #16631. |
michael@0 | 7839 | |
michael@0 | 7840 | * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace |
michael@0 | 7841 | `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. |
michael@0 | 7842 | |
michael@0 | 7843 | * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name): |
michael@0 | 7844 | Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. |
michael@0 | 7845 | |
michael@0 | 7846 | 2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7847 | |
michael@0 | 7848 | * build/unix/configure.raw: Add a fallback to disable Carbon |
michael@0 | 7849 | dependency, if configured with no options on Mac OS X. |
michael@0 | 7850 | |
michael@0 | 7851 | 2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |
michael@0 | 7852 | |
michael@0 | 7853 | * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when |
michael@0 | 7854 | its content cannot be parsed as supported font. This fixes |
michael@0 | 7855 | the second part of Savannah bug #16590. |
michael@0 | 7856 | |
michael@0 | 7857 | 2006-05-18 Werner Lemberg <wl@gnu.org> |
michael@0 | 7858 | |
michael@0 | 7859 | * src/truetype/ttgload.c (TT_Load_Composite_Glyph) |
michael@0 | 7860 | [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again. |
michael@0 | 7861 | |
michael@0 | 7862 | 2006-05-17 David Turner <david@freetype.org> |
michael@0 | 7863 | |
michael@0 | 7864 | This is a major patch used to drastically improve the performance of |
michael@0 | 7865 | loading glyphs. This both speeds up loading the glyph vectors |
michael@0 | 7866 | themselves and the auto-fitter module. |
michael@0 | 7867 | |
michael@0 | 7868 | We now use inline assembler code with GCC to implement `FT_MulFix', |
michael@0 | 7869 | which is probably the most important function related to the |
michael@0 | 7870 | engine's performance. |
michael@0 | 7871 | |
michael@0 | 7872 | The resulting speed-up is about 25%. |
michael@0 | 7873 | |
michael@0 | 7874 | |
michael@0 | 7875 | * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields |
michael@0 | 7876 | `cursor' and `limit'. |
michael@0 | 7877 | |
michael@0 | 7878 | * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation): |
michael@0 | 7879 | New functions. |
michael@0 | 7880 | (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out. |
michael@0 | 7881 | [TEST]: Remove. |
michael@0 | 7882 | |
michael@0 | 7883 | * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test |
michael@0 | 7884 | code. |
michael@0 | 7885 | |
michael@0 | 7886 | * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call |
michael@0 | 7887 | `FT_ZERO' |
michael@0 | 7888 | (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten. |
michael@0 | 7889 | (af_glyph_hints_reload: Rewrite recognition of weak points. |
michael@0 | 7890 | |
michael@0 | 7891 | * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move |
michael@0 | 7892 | constant values out of the loops. |
michael@0 | 7893 | |
michael@0 | 7894 | * src/autofit/aftypes.h: Updated. |
michael@0 | 7895 | |
michael@0 | 7896 | * src/base/ftcalc.c (FT_MulFix): Use inline assembler code. |
michael@0 | 7897 | |
michael@0 | 7898 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector |
michael@0 | 7899 | product to get orientation. |
michael@0 | 7900 | |
michael@0 | 7901 | * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function. |
michael@0 | 7902 | (FT_Stream_OpenGzip): Use it to handle small files directly in |
michael@0 | 7903 | memory. |
michael@0 | 7904 | |
michael@0 | 7905 | * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode): |
michael@0 | 7906 | Improve performance. |
michael@0 | 7907 | |
michael@0 | 7908 | * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and |
michael@0 | 7909 | `limit'. |
michael@0 | 7910 | |
michael@0 | 7911 | (TT_Load_Glyph_Header, TT_Load_Simple_Glyph, |
michael@0 | 7912 | TT_Load_Composite_Glyph): Updated. Add threshold to protect against |
michael@0 | 7913 | exceedingly large values of number of contours. Speed up by |
michael@0 | 7914 | reducing the number of loops. |
michael@0 | 7915 | |
michael@0 | 7916 | * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix. |
michael@0 | 7917 | |
michael@0 | 7918 | |
michael@0 | 7919 | * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold |
michael@0 | 7920 | used to detect rogue clients from 4 to 16. This is to prevent some |
michael@0 | 7921 | segmentation faults with fonts like `KozMinProVI-Regular.otf' which |
michael@0 | 7922 | comes from the Japanese Adobe Reader Asian Font pack. |
michael@0 | 7923 | |
michael@0 | 7924 | 2007-05-17 Werner Lemberg <wl@gnu.org> |
michael@0 | 7925 | |
michael@0 | 7926 | * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This |
michael@0 | 7927 | fixes the first part of Savannah bug #16590. |
michael@0 | 7928 | |
michael@0 | 7929 | 2006-05-16 Werner Lemberg <wl@gnu.org> |
michael@0 | 7930 | |
michael@0 | 7931 | * docs/PROBLEMS: Updated icl issues. |
michael@0 | 7932 | |
michael@0 | 7933 | ---------------------------------------------------------------------------- |
michael@0 | 7934 | |
michael@0 | 7935 | Copyright 2006, 2007, 2008, 2009, 2010 by |
michael@0 | 7936 | David Turner, Robert Wilhelm, and Werner Lemberg. |
michael@0 | 7937 | |
michael@0 | 7938 | This file is part of the FreeType project, and may only be used, modified, |
michael@0 | 7939 | and distributed under the terms of the FreeType project license, |
michael@0 | 7940 | LICENSE.TXT. By continuing to use, modify, or distribute this file you |
michael@0 | 7941 | indicate that you have read the license and understand and accept it |
michael@0 | 7942 | fully. |
michael@0 | 7943 | |
michael@0 | 7944 | |
michael@0 | 7945 | Local Variables: |
michael@0 | 7946 | version-control: never |
michael@0 | 7947 | coding: utf-8 |
michael@0 | 7948 | End: |