1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/freetype2/ChangeLog.23 Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,7948 @@ 1.4 +2010-02-13 Werner Lemberg <wl@gnu.org> 1.5 + 1.6 + * Version 2.3.12 released. 1.7 + ========================== 1.8 + 1.9 + 1.10 + Tag sources with `VER-2-3-12'. 1.11 + 1.12 + * docs/CHANGES: Updated. 1.13 + 1.14 + * docs/VERSION.DLL: Update documentation and bump version number to 1.15 + 2.3.12. 1.16 + 1.17 + * README, Jamfile (RefDoc), 1.18 + builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, 1.19 + builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, 1.20 + builds/win32/visualc/freetype.dsp, 1.21 + builds/win32/visualc/freetype.vcproj, 1.22 + builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, 1.23 + builds/win32/visualce/freetype.vcproj, 1.24 + builds/win32/visualce/index.html, 1.25 + builds/wince/vc2005-ce/freetype.vcproj, 1.26 + builds/wince/vc2005-ce/index.html, 1.27 + builds/wince/vc2008-ce/freetype.vcproj, 1.28 + builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/. 1.29 + 1.30 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. 1.31 + 1.32 + * builds/unix/configure.raw (version_info): Set to 10:0:4. 1.33 + 1.34 +2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.35 + 1.36 + Improve autotool version checking to work with beta releases. 1.37 + 1.38 + * autogen.sh (check_tool_version): Improve the extraction of version 1.39 + number from "tool --version" output. Some beta releases of 1.40 + autotools have extra strings before version number. 1.41 + 1.42 +2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.43 + 1.44 + Fix overallocating bug in FT_Outline_New_Internal(). 1.45 + 1.46 + * src/base/ftoutln.c (FT_Outline_New_Internal): The length of 1.47 + FT_Outline->points[] should be numPoints, not 2 * numPoints. 1.48 + Found by Paul Messmer, see 1.49 + http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html 1.50 + 1.51 +2010-02-10 Ken Sharp <ken.sharp@artifex.com> 1.52 + 1.53 + Really fix Savannah bug #28678 (part 2). 1.54 + 1.55 + Since we consider `sbw' for the horizontal direction only, we still have 1.56 + to synthesize vertical metrics if the user wants to use the vertical 1.57 + writing direction. 1.58 + 1.59 + * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c 1.60 + (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): 1.61 + Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is 1.62 + set. 1.63 + 1.64 +2010-02-10 Ken Sharp <ken.sharp@artifex.com> 1.65 + 1.66 + Really fix Savannah bug #28678 (part 1). 1.67 + 1.68 + After long discussion, we now consider the character width vector 1.69 + (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* 1.70 + direction only. For example, if you are using the horizontal 1.71 + writing direction, you get the horizontal and vertical components of 1.72 + the advance width for this direction. Note that OpenType and CFF fonts 1.73 + don't have such a vertical component; instead, the GPOS table can be 1.74 + used to generate two-dimensional advance widths (but this isn't 1.75 + handled by FreeType). 1.76 + 1.77 + * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add 1.78 + `advance_v' field to hold the vertical component of the advance 1.79 + value. 1.80 + 1.81 + * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c 1.82 + (cff_slot_load), src/type1/t1gload.c 1.83 + (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c 1.84 + (cid_load_glyph): Use it. 1.85 + 1.86 +2010-02-08 Werner Lemberg <wl@gnu.org> 1.87 + 1.88 + * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. 1.89 + 1.90 +2010-02-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.91 + 1.92 + Prevent NULL pointer dereference passed to FT_Module_Requester. 1.93 + 1.94 + * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'. 1.95 + * src/psnames/psmodule.c (psnames_get_interface): Ditto. 1.96 + 1.97 + * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'. 1.98 + * src/truetype/ttdriver.c (tt_get_interface): Ditto. 1.99 + 1.100 +2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.101 + 1.102 + Fix memory leaks in previous patch. 1.103 + 1.104 + * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings 1.105 + allocated for face->root.family_name and style_name. 1.106 + 1.107 +2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.108 + 1.109 + New parameters for FT_Open_Face() to ignore preferred family names. 1.110 + 1.111 + Preferred family names should be used for legacy systems that 1.112 + can hold only a few faces (<= 4) for a family name. Suggested by 1.113 + Andreas Heinrich. 1.114 + http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html 1.115 + 1.116 + * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, 1.117 + FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define. 1.118 + 1.119 + * src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and 1.120 + ignore preferred family and subfamily names if requested. 1.121 + 1.122 +2010-01-27 Ken Sharp <ken.sharp@artifex.com> 1.123 + 1.124 + Fix Savannah bug #28678. 1.125 + 1.126 + * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c 1.127 + (cid_load_glyph): Handle vertical metrics correctly. 1.128 + 1.129 + * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle 1.130 + vertical metrics correctly. 1.131 + (T1_Load_Glyph): Don't synthesize vertical metrics. 1.132 + 1.133 +2010-01-14 Werner Lemberg <wl@gnu.org> 1.134 + 1.135 + Make FT_Set_Transform work if no renderer is available. 1.136 + 1.137 + * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation 1.138 + if no renderer is compiled into the library. 1.139 + 1.140 +2010-01-14 Werner Lemberg <wl@gnu.org> 1.141 + 1.142 + Fix compilation warning. 1.143 + 1.144 + * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/. 1.145 + * src/base/ftobjc.s: Include ftbase.h conditionally. 1.146 + 1.147 +2010-01-11 Kwang Yul Seo <skyul@company100.net> 1.148 + 1.149 + Provide inline assembly code for RVCT compiler. 1.150 + This is Savannah patch #7059. 1.151 + 1.152 + * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER, 1.153 + FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define. 1.154 + 1.155 +2010-01-08 Ken Sharp <ken.sharp@artifex.com> 1.156 + 1.157 + Fix Savannah bug #28521. 1.158 + 1.159 + Issue #28226 involved a work-around for a font which used the 1.160 + `setcurrentpoint' operator in an invalid way; this operator is only 1.161 + supposed to be used with the result of OtherSubrs, and the font used 1.162 + it directly. The supplied patch removed the block of code which 1.163 + checked this usage entirely. 1.164 + 1.165 + This turns out to be a Bad Thing. If `setcurrentpoint' is being 1.166 + used correctly it should reset the flex flag in the decoder. If we 1.167 + don't do this then the flag never gets reset and we omit any further 1.168 + contours from the glyph (at least until we close the path or 1.169 + similar). 1.170 + 1.171 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1.172 + <op_setcurrentpoint>: Handle `flex_state' correctly. 1.173 + 1.174 +2010-01-05 Werner Lemberg <wl@gnu.org> 1.175 + 1.176 + Apply reports from clang static analyzer. 1.177 + 1.178 + * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c 1.179 + (FT_Stroker_ParseOutline), src/base/ftsynth.c 1.180 + (FT_GlyphSlot_Embolden): Remove dead code. 1.181 + 1.182 + * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize 1.183 + `offset_i' and `length_i'. 1.184 + 1.185 +2010-01-05 Ralph Giles <giles@ghostscript.com> 1.186 + 1.187 + Enable the incremental font interface by default. 1.188 + 1.189 + Ghostscript requires the incremental font interface for handling 1.190 + some Postscript documents. It is moving to using FreeType as its 1.191 + primary renderer; supporting this in the default build makes it 1.192 + Ghostscript to be linked against the system FreeType when one is 1.193 + available. 1.194 + 1.195 + * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL): 1.196 + Uncomment. 1.197 + 1.198 +2010-01-05 Werner Lemberg <wl@gnu.org> 1.199 + 1.200 + Fix Savannah bug #28395. 1.201 + 1.202 + * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c 1.203 + (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface 1.204 + is used. 1.205 + 1.206 +2010-01-05 Ken Sharp <ken.sharp@artifex.com> 1.207 + 1.208 + Make Type 1 `seac' operator work with incremental interface. 1.209 + This fixes Savannah bug #28480. 1.210 + 1.211 + * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names' 1.212 + if incremental interface is used. 1.213 + 1.214 +2010-01-04 Ken Sharp <ken.sharp@artifex.com> 1.215 + 1.216 + Make incremental interface work with TrueType fonts. 1.217 + This fixes Savannah bug #28478. 1.218 + 1.219 + * src/truetype/ttgload.c (load_truetype_glyph): Don't check 1.220 + `glyf_offset' if incremental interface is used. 1.221 + 1.222 +2009-12-31 Lars Abrahamsson <wonko@opera.com> 1.223 + 1.224 + Make compilation with FT_CONFIG_OPTION_PIC work again. 1.225 + 1.226 + * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]: 1.227 + Declare `library' for FT_BITMAP_GLYPH_CLASS_GET. 1.228 + 1.229 + * src/base/ftinit.c (ft_destroy_default_module_classes, 1.230 + ft_create_default_module_classes): Use proper casts (needed for C++ 1.231 + compilation). 1.232 + 1.233 + * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP. 1.234 + 1.235 +2009-12-22 Marc Kleine-Budde <mkl@pengutronix.de> 1.236 + 1.237 + Make freetype-config aware of $SYSROOT. 1.238 + This is Savannah patch #7040. 1.239 + 1.240 + * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where 1.241 + appropriate. 1.242 + 1.243 +2009-12-20 Werner Lemberg <wl@gnu.org> 1.244 + 1.245 + Fix compiler warning. 1.246 + Reported by Sean. 1.247 + 1.248 + * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty 1.249 + source files; however, some compilers warn about an unused variable 1.250 + declaration. This is now replaced with a typedef. 1.251 + 1.252 +2009-12-18 Werner Lemberg <wl@gnu.org> 1.253 + 1.254 + Fix Savannah bug #28320. 1.255 + 1.256 + There exist corrupt, subsetted fonts (embedded in PDF files) which 1.257 + contain a private dict that ends with an unterminated floating point 1.258 + number (no operator following). We now ignore this error (as 1.259 + acrobat does). 1.260 + 1.261 + * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for 1.262 + unterminated floating point numbers. 1.263 + 1.264 +2009-12-16 Werner Lemberg <wl@gnu.org> 1.265 + 1.266 + Really fix compiler warnings. 1.267 + Reported by Sean. 1.268 + 1.269 + * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS, 1.270 + GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros. 1.271 + 1.272 +2009-12-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.273 + 1.274 + Improve configure.raw to copy some options from CFLAGS to LDFLAGS. 1.275 + The linker of Mac OS X 10.6 is sensitive to the architecture. If 1.276 + the architectures are specified explicitly for the C compiler, the 1.277 + linker requires the architecture specifications too. 1.278 + 1.279 + * builds/unix/configure.raw: Replace `-isysroot' option parser by 1.280 + more generic argument parser. 1.281 + 1.282 +2009-12-15 Werner Lemberg <wl@gnu.org> 1.283 + 1.284 + Fix compiler warnings. 1.285 + Reported by Sean. 1.286 + 1.287 + * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data 1.288 + type. 1.289 + 1.290 +2009-12-14 Ken Sharp <ken.sharp@artifex.com> 1.291 + 1.292 + Ignore invalid `setcurrentpoint' operations in Type 1 fonts. 1.293 + This fixes Savannah bug #28226. 1.294 + 1.295 + At least two wild PostScript files of unknown provenance contain 1.296 + Type 1 fonts, apparently converted from TrueType fonts in earlier 1.297 + PDF versions of the files, which use the `setcurrentpoint' operator 1.298 + inappropriately. 1.299 + 1.300 + FreeType currently throws an error in this case, but Ghostscript and 1.301 + Adobe Distiller both accept the fonts and ignore the problem. This 1.302 + commit #ifdefs out the check so PostScript interpreters using 1.303 + FreeType can render these files. 1.304 + 1.305 + The specification says `setcurrentpoint' should only be used to set 1.306 + the point after a `Subr' call, but these fonts use it to set the 1.307 + initial point to (0,0). Unnecessarily so, as they correctly use an 1.308 + `hsbw' operation which implicitly sets the initial point. 1.309 + 1.310 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1.311 + <op_setcurrentpoint>: Comment out code. 1.312 + 1.313 +2009-12-14 Bram Tassyns <bramt@enfocus.be> 1.314 + 1.315 + Fix parsing of /CIDFontVersion. 1.316 + This fixes Savannah bug #28287. 1.317 + 1.318 + * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in 1.319 + t1tables.h) is of type FT_Fixed. 1.320 + 1.321 +2009-12-14 Werner Lemberg <wl@gnu.org> 1.322 + 1.323 + Trace glyph index in CID module. 1.324 + Suggested in Savannah patch #7023. 1.325 + 1.326 + * src/cid/cidgload.c (cid_load_glyph): Add tracing message. 1.327 + 1.328 +2009-12-03 Werner Lemberg <wl@gnu.org> 1.329 + 1.330 + Fix compiler warnings. 1.331 + 1.332 + * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the 1.333 + proper preprocessor conditional. 1.334 + * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc. 1.335 + 1.336 +2009-11-25 John Tytgat <John.Tytgat@esko.com> 1.337 + 1.338 + Better handling of start of `eexec' section. 1.339 + This fixes Savannah bug #28090. 1.340 + 1.341 + * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace 1.342 + characters before start of `eexec' section. 1.343 + 1.344 +2009-11-20 Werner Lemberg <wl@gnu.org> 1.345 + 1.346 + Fix Savannah bug #27742. 1.347 + 1.348 + * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by 1.349 + zero, using a threshold for `theta'. 1.350 + 1.351 +2009-11-20 Werner Lemberg <wl@gnu.org> 1.352 + 1.353 + Fix Savannah bug #28036. 1.354 + 1.355 + * src/type1/t1afm.c (t1_get_index): Fix comparison. 1.356 + 1.357 +2009-11-16 Werner Lemberg <wl@gnu.org> 1.358 + 1.359 + Fix compiler warnings. 1.360 + Reported by Kevin Blenkinsopp <arqon@promode.org>. 1.361 + 1.362 + * src/sfnt/ttload.c (check_table_dir): Use proper data type. 1.363 + 1.364 +2009-11-15 Werner Lemberg <wl@gnu.org> 1.365 + 1.366 + Really fix FreeDesktop bug #21197. 1.367 + This also fixes Savannah bug #28021. 1.368 + 1.369 + * src/autofit/aflatin.c (af_latin_metrics_check_digits), 1.370 + src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop. 1.371 + 1.372 +2009-11-15 Werner Lemberg <wl@gnu.org> 1.373 + 1.374 + Add tracing messages for advance values. 1.375 + 1.376 + * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c 1.377 + (TT_Get_HMetrics, TT_Get_VMetrics): Do it. 1.378 + 1.379 +2009-11-08 Werner Lemberg <wl@gnu.org> 1.380 + 1.381 + Fix compiler warning. 1.382 + Reported by Jeremy Manson <jeremy.manson@gmail.com>. 1.383 + 1.384 + * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'. 1.385 + 1.386 +2009-11-04 Werner Lemberg <wl@gnu.org> 1.387 + 1.388 + Remove compiler warning. 1.389 + Reported by Sean McBride <sean@rogue-research.com>. 1.390 + 1.391 + * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to 1.392 + `int', as specified in the printf(3) man page. 1.393 + 1.394 +2009-11-04 Werner Lemberg <wl@gnu.org> 1.395 + 1.396 + Fix Savannah bug #27921. 1.397 + 1.398 + * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c 1.399 + (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics), 1.400 + src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant 1.401 + values for rounding if the argument can be negative. 1.402 + 1.403 +2009-11-03 Bram Tassyns <bramt@enfocus.be> 1.404 + 1.405 + Add basic support for Type1 charstrings in CFF. 1.406 + This fixes Savannah bug #27922. 1.407 + 1.408 + * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle 1.409 + `seac', `sbw', and `setcurrentpoint' opcodes. 1.410 + (cff_compute_bias): Add parameter to indicate the charstring type. 1.411 + Update all callers. 1.412 + (cff_operator_seac): Add parameter for side bearing. 1.413 + (cff_decoder_parse_charstrings): Updated for more Type1 support. 1.414 + 1.415 +2009-11-03 Werner Lemberg <wl@gnu.org> 1.416 + 1.417 + Return correct `linearHoriAdvance' value for embedded TT bitmaps too. 1.418 + Reported by Jeremy Manson <jeremy.manson@gmail.com>. 1.419 + 1.420 + src/truetype/ttgload.c (load_truetype_glyph): Add parameter to 1.421 + quickly load the glyph header only. 1.422 + Update all callers. 1.423 + (tt_loader_init): Add parameter to quickly load the `glyf' table 1.424 + only. 1.425 + Update all callers. 1.426 + (TT_Load_Glyph): Compute linear advance values for embedded bitmap 1.427 + glyphs too. 1.428 + 1.429 +2009-11-03 Werner Lemberg <wl@gnu.org> 1.430 + 1.431 + Improve code readability. 1.432 + 1.433 + * src/ttgload.c (load_truetype_glyph): Move metrics calculation 1.434 + to... 1.435 + (tt_get_metrics): This new function. 1.436 + 1.437 +2009-10-26 Bram Tassyns <bramt@enfocus.be> 1.438 + 1.439 + Fix Savannah bug #27811. 1.440 + 1.441 + * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix 1.442 + signed/unsigned mismatch. 1.443 + 1.444 +2009-10-19 Ning Dong <flintning@163.com> 1.445 + 1.446 + Fix handling of `get' and `put' CFF instructions. 1.447 + 1.448 + * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get, 1.449 + cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of 1.450 + elements for the `get' and `put' operators to 32. 1.451 + * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define. 1.452 + (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'. 1.453 + 1.454 +2009-10-18 Werner Lemberg <wl@gnu.org> 1.455 + 1.456 + Fix handling of `dup' CFF instruction. 1.457 + Problem and solution reported by Ning Dong <flintning@163.com>. 1.458 + 1.459 + * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>: 1.460 + Increase `args' by 2, not 1. 1.461 + 1.462 +2009-10-10 Werner Lemberg <wl@gnu.org> 1.463 + 1.464 + * Version 2.3.11 released. 1.465 + ========================== 1.466 + 1.467 + 1.468 + Tag sources with `VER-2-3-11'. 1.469 + 1.470 + * docs/VERSION.DLL: Update documentation and bump version number to 1.471 + 2.3.11. 1.472 + 1.473 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.474 + builds/win32/visualc/freetype.dsp, 1.475 + builds/win32/visualc/freetype.vcproj, 1.476 + builds/win32/visualce/index.html, 1.477 + builds/win32/visualce/freetype.dsp, 1.478 + builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/. 1.479 + 1.480 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11. 1.481 + 1.482 + * builds/unix/configure.raw (version_info): Set to 9:22:3. 1.483 + 1.484 +2009-10-10 Werner Lemberg <wl@gnu.org> 1.485 + 1.486 + * docs/CHANGES, docs/release: Updated. 1.487 + 1.488 +2009-10-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.489 + 1.490 + * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops 1.491 + truncation. Reported by Martin von Gagern and Peter Volkov. 1.492 + https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256 1.493 + 1.494 +2009-10-06 Werner Lemberg <wl@gnu.org> 1.495 + 1.496 + * Version 2.3.10 released. 1.497 + ========================== 1.498 + 1.499 + 1.500 + Tag sources with `VER-2-3-10'. 1.501 + 1.502 + * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more 1.503 + than a single digit. 1.504 + (dist): We now use git. 1.505 + 1.506 + * docs/VERSION.DLL: Update documentation and bump version number to 1.507 + 2.3.10. 1.508 + 1.509 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.510 + builds/win32/visualc/freetype.dsp, 1.511 + builds/win32/visualc/freetype.vcproj, 1.512 + builds/win32/visualce/index.html, 1.513 + builds/win32/visualce/freetype.dsp, 1.514 + builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/. 1.515 + 1.516 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. 1.517 + 1.518 + * builds/unix/configure.raw (version_info): Set to 9:21:3. 1.519 + 1.520 +2009-10-06 Werner Lemberg <wl@gnu.org> 1.521 + 1.522 + Fix `make multi'. 1.523 + 1.524 + * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. 1.525 + 1.526 + * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H. 1.527 + 1.528 +2009-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.529 + 1.530 + [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582. 1.531 + Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed. 1.532 + Now these functions should be called with FTC_Node or FTC_MruNode 1.533 + variable, and the caller should cast them to appropriate pointers to 1.534 + concrete data. These tricky casts can GCC-4.4 optimizer (-O2) 1.535 + confused and the crashing binaries are generated. 1.536 + 1.537 + * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast. 1.538 + Now the 4th argument `node' of this function should be typed as 1.539 + FTC_MruNode. 1.540 + 1.541 + * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline 1.542 + implementation, new temporal variable FTC_MruNode `_mrunode' to take 1.543 + the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline 1.544 + implementation, tricky cast is dropped. 1.545 + 1.546 + * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting 1.547 + to FTC_SizeNode. 1.548 + (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode 1.549 + `mrunode', and FTC_SIZE_NODE() is inserted. 1.550 + (FTC_FACE_NODE): New macro casting to FTC_FaceNode. 1.551 + (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode 1.552 + `mrunode', and FTC_FACE_NODE() is inserted. 1.553 + 1.554 + * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of 1.555 + `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE() 1.556 + is dropped. 1.557 + (FTC_ImageCache_LookupScaler): Ditto. 1.558 + (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to 1.559 + FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE() 1.560 + is inserted. 1.561 + (FTC_SBitCache_LookupScaler): Ditto. 1.562 + 1.563 + * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of 1.564 + `node' from FTC_CMapNode to FTC_Node. Extra casting macro 1.565 + FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted. 1.566 + 1.567 +2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.568 + 1.569 + [cache, psaux, type1] Fix for multi build. 1.570 + In multi build, some cpp functions are left as unresolved symbols. 1.571 + 1.572 + * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1(). 1.573 + 1.574 + * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for 1.575 + FIXED_TO_INT(). 1.576 + * src/type1/t1gload.c: Ditto. 1.577 + * src/type1/t1objs.c: Ditto. 1.578 + 1.579 +2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.580 + 1.581 + [autofit] Fix for multi build. 1.582 + 1.583 + * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use 1.584 + FT_DECLARE_MODULE() macro in multi build. 1.585 + 1.586 + * src/autofit/aflatin.c: Include <ft2build.h> to handle 1.587 + FT_ADVANCES_H correctly in multi build. 1.588 + 1.589 +2009-09-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.590 + 1.591 + [cache] Check the face filled by FTC_Manager_LookupFace(). 1.592 + 1.593 + * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return 1.594 + immediately if FTC_Manager_LookupFace() fills face by NULL. Such 1.595 + case can occur when the code is optimized by GCC-4.2.x. 1.596 + 1.597 +2009-09-23 Werner Lemberg <wl@gnu.org> 1.598 + 1.599 + * docs/CHANGES: Updated. 1.600 + 1.601 +2009-09-12 Werner Lemberg <wl@gnu.org> 1.602 + 1.603 + [raster] Fix 5-levels grayscale output. 1.604 + This was broken since version 2.3.0. 1.605 + 1.606 + * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which 1.607 + were then computed dynamically). 1.608 + (Vertical_Gray_Sweep_Step): Updated. 1.609 + 1.610 + (ft_black_render): Initialize `worker->gray_lines' (problem found by 1.611 + valgrind). 1.612 + 1.613 + (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just 1.614 + comment out. 1.615 + 1.616 +2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.617 + 1.618 + Improve configure.raw for cross build. 1.619 + 1.620 + * builds/unix/configure.raw: Remove temporal files created by the 1.621 + suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when 1.622 + cross compiler is GCC. AC_PROG_CC checks whether the cross compiler 1.623 + is GCC, its result is stored in GCC. 1.624 + 1.625 +2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.626 + 1.627 + [BDF] Modify hash API to take size_t value instead of void *. 1.628 + 1.629 + The hash API in BDF driver is designed to be generic, it takes 1.630 + void * typed data. But BDF driver always gives an unsigned long 1.631 + integer (the index to a property). To reduce non-essential 1.632 + casts from unsigned long to void* and from void* to unsigned 1.633 + long, the hash API is changed to take size_t integer. 1.634 + The issue of incompatible cast between unsigned long and void* 1.635 + on LLP64 platform is reported by NightStrike from MinGW-Win64 1.636 + project. See 1.637 + http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html 1.638 + 1.639 + * src/bdf/bdf.h: The type of hashnode->data is changed from 1.640 + void* to size_t. 1.641 + 1.642 + * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of 1.643 + void* data. 1.644 + (bdf_create_property): Get the name length of new property by 1.645 + size_t variable, with a cut-off at FT_ULONG_MAX. 1.646 + (_bdf_set_default_spacing): Get the name length of the face by 1.647 + size_t variable, with a cut-off at 256. 1.648 + (bdf_get_property): Get the property id by size_t variable to 1.649 + reduce the casts between 32-bit prop ID & hashnode->data during 1.650 + simple copying. 1.651 + (_bdf_add_property): Ditto. 1.652 + (_bdf_parse_start): Calculate the index to the property array 1.653 + by size_t variable. 1.654 + (bdf_get_font_property): Drop a cast to unsigned long. 1.655 + 1.656 +2009-09-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.657 + 1.658 + [Win64] Improve the computation of random seed from stack address. 1.659 + 1.660 + On LLP64 platform, the conversion from pointer to FT_Fixed need 1.661 + to drop higher 32-bit. Explict casts are required. Reported by 1.662 + NightStrike from MinGW-w64 project. See 1.663 + http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html 1.664 + 1.665 + * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly. 1.666 + 1.667 + * src/psaux/t1decode.c: Ditto. 1.668 + 1.669 + 1.670 +2009-09-03 Werner Lemberg <wl@gnu.org> 1.671 + 1.672 + [raster] Improvements for stand-alone mode. 1.673 + 1.674 + * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for 1.675 + stand-alone mode only. 1.676 + 1.677 + * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func, 1.678 + FT_Realloc_Func): Copy declarations from ftsystem.h. 1.679 + 1.680 +2009-09-02 Bram Tassyns <bramt@enfocus.be> 1.681 + 1.682 + Improve vertical metrics calculation (Savannah bug #27364). 1.683 + 1.684 + The calculation of `vertBearingX' is not defined in the OTF font 1.685 + spec so FreeType does a `best effort' attempt. However, this value 1.686 + is defined in the PDF and PostScript specs, and that algorithm is 1.687 + better than the one FreeType currently uses: 1.688 + 1.689 + FreeType: Use the middle of the bounding box as the X coordinate 1.690 + of the vertical origin. 1.691 + 1.692 + Adobe PDF spec: Use the middle of the horizontal advance vector as 1.693 + the X coordinate of the vertical origin. 1.694 + 1.695 + FreeType's algorithm goes wrong if you have a really small glyph 1.696 + (like the full-width, circle-like dot at the end of the sentence, as 1.697 + used in CJK scripts) with large bearings. With the FreeType 1.698 + algorithm this dot gets centered on the baseline; with the PDF 1.699 + algorithm it gets the correct location (in the top right). Note 1.700 + that this is a serious issue, it's like printing the dot at the end 1.701 + of a Roman sentence at the center of the textline instead of on the 1.702 + baseline like it should. So i believe the PDF spec's algorithm 1.703 + should be used in FreeType as well. 1.704 + 1.705 + The `vertBearingY' value for such small glyphs is also very strange 1.706 + if no `vmtx' information is present, since the height of the bbox is 1.707 + not representable for the height of the glyph visually (the 1.708 + whitespace up to the baseline is part of the glyph). The fix also 1.709 + includes some code for a better estimate of `vertBearingY'. 1.710 + 1.711 + * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX' 1.712 + is now calculated as described by the Adobe PDF Spec. Estimate for 1.713 + `vertBearingY' now works better for small glyphs completely above or 1.714 + below the baseline into account. 1.715 + 1.716 + * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now 1.717 + calculated as described by the Adobe PDF Spec. Vertical metrics 1.718 + information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS 1.719 + was not defined. 1.720 + 1.721 + * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is 1.722 + now calculated as described by the Adobe PDF Spec. 1.723 + 1.724 +2009-09-01 John Tytgat <John.Tytgat@esko.com> 1.725 + 1.726 + Fix custom cmap for empty Type 1 font (Savannah bug #27294). 1.727 + 1.728 + * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update 1.729 + comment to reflect revised code_last meaning. 1.730 + * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c 1.731 + (T42_Open_Face): Assign max_char as highest character code + 1 and 1.732 + use this for T1_EncodingRecRec_::code_last. 1.733 + * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised 1.734 + T1_EncodingRecRec_::code_last meaning. 1.735 + 1.736 +2009-08-25 Werner Lemberg <wl@gnu.org> 1.737 + 1.738 + Fix rendering of horizontally compressed CFFs. 1.739 + Bug reported by Ivan Nincic <inincic@pdftron.com>. 1.740 + 1.741 + * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of 1.742 + `font_matrix' also. 1.743 + 1.744 + * docs/CHANGES: Updated. 1.745 + 1.746 +2009-08-03 suyu0925@gmail.com 1.747 + 1.748 + Don't call `ft_fseek' every time when executing `ft_fread'. 1.749 + 1.750 + * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c 1.751 + (ft_ansi_stream_io): Implement it. 1.752 + 1.753 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.754 + 1.755 + sfnt: Cast a charcode to 32-bit in cmap format 14 parser. 1.756 + 1.757 + * src/sfnt/ttcmap.c (tt_cmap14_char_var_index, 1.758 + tt_cmap14_char_var_isdefault, tt_cmap14_char_variants, 1.759 + tt_cmap14_variant_chars): Correct mismatches from 1.760 + FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments 1.761 + are replaced by FT_UInt32 arguments. 1.762 + 1.763 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.764 + 1.765 + sfnt: Cast a charcode to 32-bit in cmap format 12 parser. 1.766 + 1.767 + * src/sfnt/ttcmap.c (tt_cmap12_char_next): 1.768 + Insert explicit cast from FT_UFast to FT_UInt32 1.769 + for return value. 1.770 + 1.771 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.772 + 1.773 + psaux: Fix a few casts to FT_Int32 value. 1.774 + 1.775 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): 1.776 + Fix a few casts setting `value' from FT_Long to FT_Int32, 1.777 + because `value' is typed as FT_Int32 since 2009-06-22. 1.778 + 1.779 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.780 + 1.781 + sfnt: Fix a data type mismatching with its source. 1.782 + 1.783 + * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the 1.784 + type of `gindex' from FT_ULong to FT_UInt because 1.785 + it is set by FT_UInt tt_cmap13_char_map_binary() or 1.786 + TT_CMap13->cur_gindex. 1.787 + 1.788 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.789 + 1.790 + sfnt: Extend a few local variables to load 32-bit values. 1.791 + 1.792 + * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count' 1.793 + and `kern' to load 32-bit values. 1.794 + 1.795 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.796 + 1.797 + pfr: Extend `num_aux' to take 32-bit value. 1.798 + 1.799 + * src/pfr/pfrload.c (pfr_phy_font_load): Extend 1.800 + `num_aux' to load 32-bit value. 1.801 + 1.802 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.803 + 1.804 + pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops. 1.805 + 1.806 + * src/pcf/pcfread.c (pcf_get_properties): Load `nprops' 1.807 + as FT_ULong value from PCF file, but truncate it as 1.808 + int to fit PCF_Face->nprops. The number of truncated 1.809 + properties is shown in the trace message. 1.810 + 1.811 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.812 + 1.813 + gxvalid: Extend a few local variables to reduce the casts. 1.814 + 1.815 + * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): 1.816 + Extend `type' and `rest' to take FT_ULong values. 1.817 + 1.818 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.819 + 1.820 + gxvalid: Extend `settingTable' to take 32-bit offset. 1.821 + 1.822 + * src/gxvalid/gxvfeat.c (gxv_feat_name_validate): 1.823 + Extend `settingTable' to take 32-bit offset. 1.824 + 1.825 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.826 + 1.827 + autofit: Cast FT_Long glyph_count to compare with FT_UInt GID. 1.828 + 1.829 + * src/autofit/afglobal.c (af_face_globals_is_digit, 1.830 + af_face_globals_compute_script_coverage): Cast FT_Long 1.831 + globals->glyph_count to FT_ULong, to compare with FT_UInt 1.832 + gindex. 1.833 + 1.834 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.835 + 1.836 + smooth: Exclude 16-bit system in invalid pitch/height check. 1.837 + 1.838 + * src/smooth/ftsmooth.c (ft_smooth_render_generic): 1.839 + pitch and height are typed as FT_UInt but checked to fit 1.840 + 16-bit range, to avoid the overflows. On 16-bit system, 1.841 + this checking inserts a conditional that never occurs. 1.842 + 1.843 +2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.844 + 1.845 + cff: Type large constants > 0x7FFF as long for 16-bit systems. 1.846 + 1.847 + * src/cff/cffload.c (cff_charset_load): Type large 1.848 + constants > 0x7FFF as long, because normal constants 1.849 + are typed signed integer that is less than 0x8000 on 1.850 + 16-bit systems. 1.851 + 1.852 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.853 + 1.854 + base: Remove an unused variable. 1.855 + 1.856 + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an 1.857 + unused variable `library'. glyph->library is used. 1.858 + 1.859 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.860 + 1.861 + cache: Check higher bits in flags for non ILP32 systems. 1.862 + 1.863 + 4 public functions ought to take FT_ULong flags, but take 1.864 + FT_UInt flags. To keep binary compatibility, we drop higher 1.865 + bits on non ILP32 platforms, 1.866 + ILP64 systems: No drop occurs. 1.867 + LP64 systems: Higher bits are not used. 1.868 + 16-bit systems: Drop can occur. 1.869 + See 1.870 + http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html 1.871 + These functions will be refined to take FT_ULong flags in 1.872 + next bump with incompatible API change. 1.873 + 1.874 + * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): 1.875 + Check `flags' in `type', the 2nd argument. 1.876 + (FTC_SBitCache_Lookup): Ditto. 1.877 + (FTC_ImageCache_LookupScaler): Check `load_flags', 1.878 + the 3rd argument. 1.879 + (FTC_SBitCache_LookupScaler): Ditto. 1.880 + 1.881 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.882 + 1.883 + sfnt: Ignore invalid GIDs in glyph name lookup. 1.884 + 1.885 + * include/freetype/internal/fttrace.h: 1.886 + New trace module for sfdriver.c is added. 1.887 + 1.888 + * src/sfnt/sfdriver.c (sfnt_get_name_index): 1.889 + Restrict glyph name lookup to FT_UInt GID. 1.890 + Genuine TrueType can hold 16-bit glyphs. 1.891 + 1.892 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.893 + 1.894 + pcf: Fix a comparison between FT_Long and FT_ULong. 1.895 + 1.896 + * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error 1.897 + if PCF_Face->nemetrics is negative. 1.898 + 1.899 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.900 + 1.901 + gxvalid: Guarantee `nFeatureFlags' size up to 32-bit. 1.902 + 1.903 + * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate): 1.904 + Extend the 3rd argument `nFeatureFlags' to FT_ULong. 1.905 + * src/gxvalid/gxvmort.h: Ditto. 1.906 + 1.907 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.908 + 1.909 + sfnt: Insert explicit cast for LP64 system. 1.910 + 1.911 + * src/sfnt/ttkern.c (tt_face_load_kern): Insert 1.912 + cast from unsigned long to FT_UInt32. 1.913 + 1.914 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.915 + 1.916 + gxvalid: Guarantee `just' table size upto 32-bit. 1.917 + 1.918 + * src/gxvalid/gxvjust.c (gxv_just_validate): 1.919 + The type of `offset' is changed from FT_UInt to 1.920 + FT_Offset, for 16-bit platforms. 1.921 + 1.922 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.923 + 1.924 + gxvalid: Guarantee `trak' table size upto 32-bit. 1.925 + 1.926 + * src/gxvalid/gxvtrak.c (gxv_trak_validate): 1.927 + The type of `offset' is changed from FT_UInt to 1.928 + FT_Offset, for 16-bit platforms. 1.929 + 1.930 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.931 + 1.932 + type1: Fix a data type mismatching with its source. 1.933 + 1.934 + * include/freetype/internal/t1types.h: The type of 1.935 + T1_Face->buildchar is matched with T1_Decorder->top. 1.936 + 1.937 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.938 + 1.939 + pfr: Fix a data type mismatching with its source. 1.940 + 1.941 + * src/pfr/pfrtypes.h: The type of PFR_KernItem->offset 1.942 + is extended from FT_UInt32 to FT_Offset, because it is 1.943 + calculated with the pointer difference, in 1.944 + pfr_extra_item_load_kerning_pairs(). 1.945 + 1.946 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.947 + 1.948 + pfr: Fix a data type mismatching with its source. 1.949 + 1.950 + * src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset 1.951 + is extended from FT_UInt32 to FT_Offset, because it is 1.952 + calculated with the pointer difference in pfr_phy_font_load(). 1.953 + 1.954 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.955 + 1.956 + pfr: Fix a data type mismatching with its source. 1.957 + 1.958 + * src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset 1.959 + is extended from FT_UInt32 to FT_Long, because it is 1.960 + loaded by FT_STREAM_POS() in pfr_phy_font_load(). 1.961 + 1.962 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.963 + 1.964 + smooth: Improve the format in debug message. 1.965 + 1.966 + * src/smooth/ftgrays.c (gray_dump_cells): Improve the 1.967 + format specifications to dump variables. 1.968 + 1.969 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.970 + 1.971 + sfnt: Fix a data type mismatching with its source. 1.972 + 1.973 + * src/sfnt/sfobjs.c (sfnt_load_face): The type of 1.974 + local `flags' is matched with FT_Face->face_flags. 1.975 + 1.976 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.977 + 1.978 + psaux: Fix a data type mismatching with its source. 1.979 + 1.980 + * include/freetype/internal/psaux.h: The type of 1.981 + T1_DecorderRec.buildchar is matched with 1.982 + T1_DecorderRec.top. 1.983 + 1.984 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.985 + 1.986 + truetype: Extend TrueType GX packed deltas to FT_Offset. 1.987 + 1.988 + * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): 1.989 + The type of 2nd argument `delta_cnt' is changed from 1.990 + FT_Int to FT_Offset, because its source can be cvt 1.991 + table size calculated from stream position. 1.992 + 1.993 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.994 + 1.995 + truetype: Extend mmvar_len to hold size_t values. 1.996 + 1.997 + * src/truetype/ttgxvar.h: The type of 1.998 + GX_BlendRec.mmvar_len is changed from FT_Int to 1.999 + FT_Offset, because TT_Get_MM_Var() calculates it 1.1000 + by sizeof() results. 1.1001 + 1.1002 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1003 + 1.1004 + truetype: Check invalid function number in IDEF instruction. 1.1005 + 1.1006 + * src/truetype/ttinterp.c (Ins_IDEF): Check 1.1007 + if the operand fits to 8-bit opcode limitation. 1.1008 + 1.1009 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1010 + 1.1011 + truetype: Check invalid function number in FDEF instruction. 1.1012 + 1.1013 + * src/truetype/ttinterp.c (Ins_FDEF): Check 1.1014 + if the operand fits 16-bit function number. 1.1015 + 1.1016 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1017 + 1.1018 + truetype: Truncate the deltas of composite glyph at 16-bit values. 1.1019 + 1.1020 + * src/truetype/ttgload.c (load_truetype_glyph): 1.1021 + Insert cast from FT_Long (deltas[i].{x,y}) to 1.1022 + FT_Int16 in the summation of deltas[] for composite 1.1023 + glyphs. Because deltas[i] is typed as FT_Pos, 1.1024 + its component x, y are typed as FT_Long, but 1.1025 + their sources are always FT_Int16 when they are 1.1026 + loaded by ft_var_readpackeddeltas(). However, 1.1027 + the limitation about the summed deltas is unclear. 1.1028 + 1.1029 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1030 + 1.1031 + truetype: Truncate the instructions upto 16-bit per a glyph. 1.1032 + 1.1033 + * src/truetype/ttgload.c (TT_Hint_Glyph): Truncate 1.1034 + the instructions upto 16-bit length per a glyph. 1.1035 + 1.1036 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1037 + 1.1038 + truetype: Cast the numerical operands to 32-bit for LP64 systems. 1.1039 + 1.1040 + * src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP, 1.1041 + Ins_MIRP): Insert cast from long (args[], the 1.1042 + operands passed to TrueType operator) to FT_Int32 1.1043 + (the argument of TT_MulFix14()). 1.1044 + 1.1045 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1046 + 1.1047 + truetype: Cast the project vector to 32-bit for LP64 system. 1.1048 + 1.1049 + * src/truetype/ttinterp.c (Project, DualProject): 1.1050 + Insert casts from FT_Pos (the arguments `dx', `dy') 1.1051 + to FT_UInt32 (the argument to TT_DotFix14()). 1.1052 + 1.1053 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1054 + 1.1055 + truetype: Cast the scaling params to 32-bit for LP64 system. 1.1056 + 1.1057 + * src/truetype/ttgload.c (TT_Process_Composite_Component): 1.1058 + Insert casts from long (return value of FT_MulFix()) to 1.1059 + FT_Int32 (the argument to FT_SqrtFixed()). 1.1060 + 1.1061 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1062 + 1.1063 + sfnt: Cast a character code to FT_UInt32 for LP64 system. 1.1064 + 1.1065 + * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, 1.1066 + tt_cmap14_variants, tt_cmap14_char_variants, 1.1067 + tt_cmap14_def_char_count, tt_cmap14_get_def_chars, 1.1068 + tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars) 1.1069 + Insert casts when FT_UInt32 variable is loaded by 1.1070 + TT_NEXT_{UINT24|ULONG}. Because most of them are 1.1071 + compared with FT_UInt32 values in public API, replacing 1.1072 + FT_UFast is not recommended. 1.1073 + 1.1074 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1075 + 1.1076 + sfnt: Cast a character code to FT_UInt32 for LP64 system. 1.1077 + 1.1078 + * src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next): 1.1079 + Insert the casts from unsigned long constant to 1.1080 + FT_UInt32. 1.1081 + 1.1082 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1083 + 1.1084 + sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF. 1.1085 + 1.1086 + * include/freetype/internal/tttypes.h: The type 1.1087 + of TT_BDF->string_size is extended from FT_UInt32 1.1088 + to FT_ULong, because BDF specification does not 1.1089 + restrict the length of string. 1.1090 + * src/sfnt/ttbdf.c: The scratch variable `strings' 1.1091 + to load TT_BDF->string_size is matched with 1.1092 + TT_BDF->string_size. 1.1093 + 1.1094 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1095 + 1.1096 + psaux: Handle the string length by FT_Offset variables. 1.1097 + 1.1098 + * src/psaux/afmparse.c (afm_parser_next_key, 1.1099 + afm_tokenize, afm_parse_track_kern, 1.1100 + afm_parse_kern_pairs, afm_parse_kern_data, 1.1101 + afm_parser_skip_section, afm_parser_parse): 1.1102 + The length of key is handled by FT_Offset, 1.1103 + instead of FT_UInt. Although the length of 1.1104 + PostScript strings or name object is 16-bit, 1.1105 + AFM_STREAM_KEY_LEN() calculates the length 1.1106 + from the pointer difference. 1.1107 + 1.1108 + * src/psaux/afmparse.h (afm_parser_next_key): 1.1109 + Ditto. 1.1110 + 1.1111 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1112 + 1.1113 + pcf: Fix some data types mismatching with their sources. 1.1114 + 1.1115 + * src/pcf/pcfread.c (pcf_get_bitmaps): The types 1.1116 + of `nbitmaps', `i', `sizebitmaps' are matched with 1.1117 + the type of area FT_Bitmap.pitch * FT_Bitmap.rows. 1.1118 + 1.1119 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1120 + 1.1121 + pcf: Handle the string length by size_t variables. 1.1122 + 1.1123 + * src/pcf/pcfread.c (pcf_interpret_style): The types 1.1124 + of nn, len, lengths[4] are changed to size_t, because 1.1125 + they are loaded by (or compared with) ft_strlen(). 1.1126 + 1.1127 + * src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap, 1.1128 + FourByteSwap): The type of the 2nd argument `nbytes' 1.1129 + is changed to size_t, for similarity with ANSI C 1.1130 + string functions. 1.1131 + 1.1132 + * src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of 1.1133 + `bytes' is changed to FT_Offset, because it is passed 1.1134 + to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At 1.1135 + least, using unsigned type is better. 1.1136 + 1.1137 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1138 + 1.1139 + pcf: Fix some data types mismatching with their sources. 1.1140 + 1.1141 + * src/pcf/pcfread.c (pcf_seek_to_table_type, 1.1142 + pcf_has_table_type): The type of 3rd argument 1.1143 + `ntables' is matched with PCF_Toc->count. 1.1144 + 1.1145 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1146 + 1.1147 + otvalid: Truncate the glyph index to 16-bit. 1.1148 + 1.1149 + * src/otvalid/otvalid.c (otv_validate): Checks 1.1150 + face->num_glyphs does not exceed 16-bit limit, 1.1151 + pass FT_UInt num_glyphs to backend functions 1.1152 + otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate(). 1.1153 + 1.1154 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1155 + 1.1156 + cache: Insert explict casts for LP64 systems. 1.1157 + 1.1158 + * src/cache/ftcbasic.c (FTC_ImageCache_Lookup, 1.1159 + FTC_SBitCache_Lookup): The type of FTC_ImageType->width 1.1160 + is FT_Int, so the cast to unsigned larger type FT_ULong 1.1161 + is introduced for the comparisons with 0x10000L for 1.1162 + LP64 platform. 1.1163 + 1.1164 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1165 + 1.1166 + cache: Fix some data types mismatching with their sources. 1.1167 + 1.1168 + * src/cache/ftccache.h: The type of return value 1.1169 + by FTC_Node_WeightFunc function is changed to 1.1170 + FT_Offset. The type of FTC_CacheClass->cache_size 1.1171 + is changed to FT_Offset, too. 1.1172 + 1.1173 + * src/cache/ftccback.h (ft_inode_weight, 1.1174 + ftc_snode_weight): Ditto. 1.1175 + 1.1176 + * src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto. 1.1177 + 1.1178 + * src/cache/ftcimage.c (ftc_inode_weight, 1.1179 + FTC_INode_Weight): Ditto. 1.1180 + 1.1181 + * src/cache/ftcsbits.c (ftc_snode_weight, 1.1182 + FTC_SNode_Weight): Ditto. 1.1183 + 1.1184 + * src/cache/ftcmru.h: The type of 1.1185 + FTC_MruListClass->node_size is changed to FT_Offset, 1.1186 + because it is passed to FT_ALLOC() to specify the 1.1187 + size of buffer. 1.1188 + 1.1189 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1190 + 1.1191 + XXX_cmap_encoding_char_next() return FT_UInt32 values. 1.1192 + 1.1193 + * include/freetype/internal/services/svpscmap.h: 1.1194 + The size of the charcode value returned by 1.1195 + the function typed PS_Unicodes_CharNextFunc is 1.1196 + matched with its input charcode value. 1.1197 + 1.1198 + * src/cff/cffmap.c (cff_cmap_encoding_char_next, 1.1199 + cff_cmap_unicode_char_next): Ditto. 1.1200 + 1.1201 + * src/pfr/pfrmap.c (pfr_cmap_encoding_char_next): 1.1202 + Ditto. 1.1203 + 1.1204 + * src/psaux/t1cmap.c (t1_cmap_std_char_next, 1.1205 + t1_cmap_custom_char_next, t1_cmap_unicode_char_next): 1.1206 + Ditto. 1.1207 + 1.1208 + * src/psnames/psmodule.c (ps_unicodes_char_next): 1.1209 + Ditto. 1.1210 + 1.1211 + * src/winfonts/winfnt.c (fnt_cmap_char_next): 1.1212 + Ditto. 1.1213 + 1.1214 + * src/sfnt/ttcmap.c (tt_cmap0_char_next, 1.1215 + tt_cmap2_char_next, tt_cmap4_char_next, 1.1216 + tt_cmap6_char_next, tt_cmap10_char_next, 1.1217 + tt_cmap12_char_next, tt_cmap13_char_next): Ditto. 1.1218 + (tt_cmap14_char_variants): Handle base unicode 1.1219 + codepoint by FT_UInt32 variable to avoid overflow 1.1220 + on 16-bit platforms. 1.1221 + (tt_cmap14_ensure): The type of `num_results' is 1.1222 + extend to FT_UInt32, to cover unsigned 32-bit 1.1223 + `numVarSelectorRecords' in cmap14 table header. 1.1224 + 1.1225 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1226 + 1.1227 + truetype: Extend TT_Face->num_locations for broken TTFs. 1.1228 + 1.1229 + * include/freetype/internal/tttypes.h: 1.1230 + TT_Face->num_locations are extended from FT_UInt 1.1231 + to FT_ULong, to stand with broken huge loca table. 1.1232 + Some people insists there are broken TTF including 1.1233 + the glyphs over 16-bit limitation, in PRC market. 1.1234 + * src/truetype/ttpload.c (tt_face_load_loca): 1.1235 + Remove unrequired 16-bit truncation for FT_UInt 1.1236 + TT_Face->num_locations. 1.1237 + 1.1238 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1239 + 1.1240 + smooth: Fix some data types mismatching with their sources. 1.1241 + 1.1242 + * src/smooth/ftgrays.c: The type of `TCoord' is 1.1243 + matched to `TPos', because they are mixed in 1.1244 + gray_set_cell(). The type of TCell->x is extended 1.1245 + to `TPos', because gray_find_cell() sets it by 1.1246 + TWorker.ex. The type of TCell->cover is extended 1.1247 + to `TCoord', because gray_render_scanline() adds 1.1248 + TCoord value to it. The type of TWork.cover is matched 1.1249 + with TCell->cover. The types of 1.1250 + TWork.{max_cells,num_cells} are changed to FT_PtrDist, 1.1251 + because they are calculated from the memory addresses. 1.1252 + The type of TWork.ycount is changed to TPos, because 1.1253 + it is calculated from TPos variables. 1.1254 + (gray_find_cell): The type of `x' is matched with 1.1255 + its initial value ras.ex. 1.1256 + (gray_render_scanline): The types of `mod', `lift' 1.1257 + and `rem' are changed to TCoord, because their values 1.1258 + are set with explicit casts to TCoord. When ras.area 1.1259 + is updated by the differential values including 1.1260 + `delta', they are explicitly cast to TArea, because 1.1261 + the type of `delta' is not TArea but TCoord. 1.1262 + (gray_render_line): The type of `mod' is extended 1.1263 + from int to TCoord, because (TCoord)dy is added to mod. 1.1264 + (gray_hline): The argument `acount' is extended to 1.1265 + TCoord, to match with the parameters in the callers. 1.1266 + 1.1267 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1268 + 1.1269 + cff: Fix some data types mismatching with their sources. 1.1270 + 1.1271 + * src/cff/cffobjs.c (cff_face_init): The type of 1.1272 + `scaling' is matched with the scaling parameter 1.1273 + in FT_Matrix_Multiply_Scaled() and 1.1274 + FT_Vector_Transform_Scaled(). 1.1275 + 1.1276 + * src/cff/cffparse.c (cff_parse_real): The type of 1.1277 + `power_ten', `scaling', `exponent_add', 1.1278 + `integer_length', `fraction_length', 1.1279 + `new_fraction_length' and `shift' are matched with 1.1280 + the type of `exponent' to avoid unexpected truncation. 1.1281 + (cff_parse_fixed_scaled): The type of `scaling' is 1.1282 + matched with the `scaling' argument to 1.1283 + cff_parse_real(). 1.1284 + (cff_parse_fixed_dynamic): Ditto. 1.1285 + (cff_parse_font_matrix): The type of `scaling' is 1.1286 + matched with the `scaling' argument to 1.1287 + cff_parse_dynamic(). 1.1288 + 1.1289 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1290 + 1.1291 + autofit: Fix some data types mismatching with their sources. 1.1292 + 1.1293 + * src/autofit/afglobal.c: Correct the type of 1.1294 + AF_FaceGlobalsRec.glyph_count to match with 1.1295 + FT_Face->num_glyphs. 1.1296 + (af_face_globals_compute_script_coverage): 1.1297 + Insert explicit cast to compare 1.1298 + FT_Long AF_FaceGlobalsRec.glyph_count versus 1.1299 + FT_UInt gindex. The type of `nn' is changed 1.1300 + to scan glyph index upto AF_FaceGlobalsRec.glyph_count. 1.1301 + (af_face_globals_get_metrics): The type of `script_max' 1.1302 + is changed to cover size_t value. Insert explicit cast 1.1303 + to compare FT_Long AF_FaceGlobalsRec.glyph_count versus 1.1304 + FT_UInt gindex. 1.1305 + 1.1306 + * src/autofit/afhints.c (af_axis_hints_new_segment): 1.1307 + Insert explicit cast to calculate `big_max' from 1.1308 + integer and size_t values. 1.1309 + (af_axis_hints_new_edge): Ditto. 1.1310 + 1.1311 + * src/autofit/aflatin.c (af_latin_metrics_init_blues): 1.1312 + The type of `best_y' is matched to FT_Vector.y. 1.1313 + (af_latin_compute_stem_width): The type of `delta' is 1.1314 + matched to `dist' and `org_dist'. 1.1315 + 1.1316 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1317 + 1.1318 + autofit: Count the size of the memory object by ptrdiff_t. 1.1319 + 1.1320 + * src/autofit/afcjk.c (af_cjk_hint_edges): The 1.1321 + number of edges `n_edges' should be counted by 1.1322 + FT_PtrDist variable instead of FT_Int. 1.1323 + 1.1324 + * src/autofit/aflatin.c (af_latin_hint_edges): 1.1325 + Ditto. 1.1326 + 1.1327 + * src/autofit/aftypes.h: In AF_ScriptClassRec, 1.1328 + the size of metric `script_metrics_size' should 1.1329 + be counted by FT_Offset variable instead of FT_UInt. 1.1330 + 1.1331 + * src/autofit/afhints.c 1.1332 + (af_glyph_hints_align_strong_points): The cursors 1.1333 + for the edges `min', `max', `mid' in the memory 1.1334 + buffer should be typed FT_PtrDist. 1.1335 + 1.1336 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1337 + 1.1338 + autofit: Fix for unused variable `first'. 1.1339 + 1.1340 + * src/autofit/afhints.c (af_glyph_hints_reload): Insert 1.1341 + FT_UNUSED() to hide the unused variable warning. 1.1342 + 1.1343 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1344 + 1.1345 + Improve bitmap size or pixel variables for 16-bit systems. 1.1346 + 1.1347 + * include/freetype/config/ftstdlib.h: Introduce 1.1348 + FT_INT_MIN, to use in signed integer overflow in 1.1349 + 16-bit and 64-bit platforms. 1.1350 + 1.1351 + * include/freetype/internal/fttrace.h: Add a tracer 1.1352 + to ftsynth.c. 1.1353 + 1.1354 + * src/base/ftbitmap.c (FT_Bitmap_Embolden): Check 1.1355 + invalid strength causing integer overflow on 16-bit 1.1356 + platform. 1.1357 + 1.1358 + * src/base/ftcalc.c (ft_corner_orientation): Change 1.1359 + the internal calculation from FT_Int to FT_Long, to 1.1360 + avoid an overflow on 16-bit platforms. The caller of 1.1361 + this function should use only the sign of result, 1.1362 + so the cast to FT_Int is acceptable. 1.1363 + 1.1364 + * src/base/ftsynth.c: Introduce a tracer for synth module. 1.1365 + (FT_GlyphSlot_Embolden): Check invalid strength causing 1.1366 + integer overflow on 16-bit platform. 1.1367 + 1.1368 + * src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index 1.1369 + in FT2 API is typed as FT_UInt, although BDF driver 1.1370 + can handle unsigned long glyph index internally. To 1.1371 + avoid integer overflow on 16-bit platform, too large 1.1372 + glyph index should be excluded. 1.1373 + (BDF_Glyph_Load): The glyph pitch in FT2 is typed as 1.1374 + FT_UInt, although BDF driver can handle unsigned long 1.1375 + glyph pitch internally. To avoid integer overflow on 1.1376 + 16-bit platform, too large glyph pitch should not be 1.1377 + returned. 1.1378 + 1.1379 + * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph 1.1380 + pitch in FT2 is typed as FT_UInt, although PFR font 1.1381 + format can include huge bitmap glyph with 24-bit pitch 1.1382 + (however, a glyph spends 16.7 pixel, it's not realistic). 1.1383 + To avoid integer overflow on 16-bit platform, huge 1.1384 + bitmap glyph should be excluded. 1.1385 + 1.1386 + * src/smooth/ftgrays.c (gray_hline): As FT_Span.x is 1.1387 + truncated to fit its type (16-bit short), FT_Span.y 1.1388 + should be truncated to fit its type (FT_Int). 1.1389 + 1.1390 + * src/cff/cffdrivr.c (cff_get_ros): CFF specification 1.1391 + defines the supplement in ROS as a real number. 1.1392 + Truncate it to fit public FT2 API. 1.1393 + 1.1394 + * src/cff/cffparse.c (cff_parse_cid_ros): Warn the 1.1395 + supplement if it is truncated or rounded in cff_get_ros(). 1.1396 + 1.1397 + * src/cff/cfftypes.h: Change the type of internal variable 1.1398 + `supplement' from FT_Long to FT_ULong to fit the signedness 1.1399 + to the type in public API. 1.1400 + 1.1401 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1402 + 1.1403 + psaux: Prevent invalid arguments to afm_parser_read_vals(). 1.1404 + 1.1405 + * src/psaux/afmparse.c (afm_parser_read_vals): Change 1.1406 + the type of `n' to prevent negative number how many 1.1407 + arguments should be parsed. 1.1408 + 1.1409 + * src/psaux/afmparse.h (afm_parser_read_vals): Ditto. 1.1410 + 1.1411 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1412 + 1.1413 + base: Prevent some overflows on LP64 systems. 1.1414 + 1.1415 + * src/base/ftadvance.c (FT_Get_Advances): Cast the 1.1416 + unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32 1.1417 + for LP64 platforms. 1.1418 + 1.1419 + * src/base/ftcalc.c (FT_Sqrt32): All internal variables 1.1420 + are changed to FT_UInt32 from FT_ULong. 1.1421 + (FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms. 1.1422 + This function is designed for 32-bit integer, although 1.1423 + their arguments and return value are FT_Long. 1.1424 + 1.1425 + * src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode' 1.1426 + is within unsigned 32-bit integer for LP64 platforms. 1.1427 + (FT_Face_GetCharVariantIndex): Check `charcode' and 1.1428 + `variantSelector' are within 32-bit integer for LP64 1.1429 + platforms. 1.1430 + (FT_Face_GetCharsOfVariant): Check `variantSelector' is 1.1431 + within unsigned 32-bit integer for LP64 platforms. 1.1432 + 1.1433 + * src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed 1.1434 + variable `val' and unsigned long constant FT_TRIG_SCALE 1.1435 + are cast to FT_UInt32, when calculates FT_UInt32. 1.1436 + (FT_Vector_Rotate): The long constant 1L is cast to 1.1437 + FT_Int32 to calculate FT_Int32 `half'. 1.1438 + 1.1439 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1440 + 1.1441 + cff: Cast the long variables to 32-bit for LP64 systems. 1.1442 + 1.1443 + * src/cff/cffdrivr.c (cff_get_advances): Insert 1.1444 + explicit cast to modify a 32-bit flag by unsigned 1.1445 + long constant. 1.1446 + 1.1447 + * src/cff/cffobjs.c (cff_face_init): Ditto. 1.1448 + 1.1449 + * src/cff/cffgload.c (cff_decoder_parse_charstrings): 1.1450 + Replace the casts to FT_Long by the casts to FT_Int32 1.1451 + for LP64 platforms. 1.1452 + 1.1453 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1454 + 1.1455 + pcf: Improve PCF_PropertyRec.value names on LP64 platforms. 1.1456 + 1.1457 + * src/pcf/pcf.h: In PCF_PropertyRec.value, the member 1.1458 + `integer' is replaced by `l', `cardinal' is replaced 1.1459 + by `ul', to fix the difference between the name and 1.1460 + the types on LP64 platforms. 1.1461 + 1.1462 + * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect 1.1463 + PCF_PropertyRec.value change, with appropriate casts 1.1464 + to FT_Int32/FT_UInt32. Their destinations 1.1465 + BDF_PropertyRec.{integer|cardinal} are public and 1.1466 + explicitly defined as FT_Int32/FT_UInt32. 1.1467 + 1.1468 + * src/pcf/pcfread.c (pcf_get_properties, pcf_load_font): 1.1469 + Reflect PCF_PropertyRec.value change. 1.1470 + 1.1471 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1472 + 1.1473 + pcf: Fix some data types mismatching with their sources. 1.1474 + 1.1475 + * src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of 1.1476 + `code' is matched to PCF_Encoding->enc. 1.1477 + (pcf_cmap_char_next): The type of `charcode' is matched 1.1478 + to PCF_Encoding->enc. When *acharcode is set by charcode, 1.1479 + an overflow is checked and cast to unsigned 32-bit 1.1480 + integer. 1.1481 + 1.1482 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1483 + 1.1484 + bdf: Improve bdf_property_t.value names for LP64 platforms. 1.1485 + 1.1486 + * src/bdf/bdf.h: In bdf_property_t.value, the member 1.1487 + `int32' is replaced by `l', `card32' is replaced by 1.1488 + `ul', to fix the difference between the name and the 1.1489 + types on LP64 platforms. 1.1490 + 1.1491 + * src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect 1.1492 + bdf_property_t.value change. 1.1493 + (bdf_get_bdf_property): Reflect bdf_property_t.value 1.1494 + change, with appropriate casts to FT_Int32/FT_UInt32. 1.1495 + Their destinations BDF_PropertyRec.{integer|cardinal} 1.1496 + are public and explicitly defined as FT_Int32/FT_UInt32. 1.1497 + 1.1498 + * src/bdf/bdflib.c (_bdf_add_property): Reflect 1.1499 + bdf_property_t.value change. 1.1500 + 1.1501 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1502 + 1.1503 + bdf: Fix some data types mismatching with their sources. 1.1504 + 1.1505 + * src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type 1.1506 + of `code' is matched with BDF_encoding_el->enc. 1.1507 + (bdf_cmap_char_next): The type of `charcode' is 1.1508 + matched with BDF_encoding_el->enc. When *acharcode 1.1509 + is set by charcode, an overflow is checked and 1.1510 + cast to unsigned 32-bit integer. 1.1511 + 1.1512 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1513 + 1.1514 + autofit: Improve Unicode range definitions. 1.1515 + 1.1516 + * src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro 1.1517 + to declare a range by two unsigned 32-bit integer, 1.1518 + to avoid 64-bit range definition on LP64 platforms. 1.1519 + 1.1520 + * src/autofit/aflatin.c (af_latin_uniranges): Ditto. 1.1521 + 1.1522 + * src/autofit/aflatin2.c (af_latin2_uniranges): Ditto. 1.1523 + 1.1524 + * src/autofit/afindic.c (af_indic_uniranges): Ditto. 1.1525 + 1.1526 + * src/autofit/afcjk.c (af_cjk_uniranges): Declare 1.1527 + the ranges by AF_UNIRANGE_REC. 1.1528 + 1.1529 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1530 + 1.1531 + smooth: Fix a data type mismatching with its source. 1.1532 + 1.1533 + * src/smooth/ftgrays.c (gray_sweep): The type of 1.1534 + `area' is matched with the 3rd argument `area' 1.1535 + of gray_hline(). 1.1536 + 1.1537 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1538 + 1.1539 + smooth: Fix a data type mismatching with its source. 1.1540 + 1.1541 + * src/smooth/ftgrays.c (gray_render_line): The type 1.1542 + of `area' is matched with TWorker.area. 1.1543 + 1.1544 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1545 + 1.1546 + cache: Disable the legacy compatibility if 16-bit system. 1.1547 + 1.1548 + * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude 1.1549 + the legacy behaviour from 16-bit platform, because the 1.1550 + current hack cannot detect the caller uses this function 1.1551 + via legacy convension. 1.1552 + (FTC_SBitCache_Lookup): Ditto. 1.1553 + 1.1554 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1555 + 1.1556 + cache: Check 32-bit glyph index on 16-bit systems. 1.1557 + 1.1558 + * src/cache/ftcbasic.c (ftc_basic_family_get_count): 1.1559 + Check overflow caused by the face including large 1.1560 + number of glyphs > 64k. 1.1561 + 1.1562 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1563 + 1.1564 + cache: Fix some data types mismatching with their sources. 1.1565 + 1.1566 + * src/cache/ftccache.c (ftc_cache_resize): The types of 1.1567 + `p', `mask', `count' are matched with FTC_Cache->{p,mask}. 1.1568 + (FTC_Cache_Clear): The type of `old_index' is matched to 1.1569 + FTC_Cache->{p,mask}. 1.1570 + 1.1571 + * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type 1.1572 + of `_idx' is matched with FTC_Cache->{p,mask}. 1.1573 + 1.1574 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1575 + 1.1576 + cache: Fix some data types mismatching with their sources. 1.1577 + 1.1578 + * src/cache/ftcsbits.c (ftc_snode_load): The types 1.1579 + of `xadvance' and `yadvance' are matched with 1.1580 + FT_GlyphSlot->advance.{x|y}. 1.1581 + 1.1582 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1583 + 1.1584 + cache: Cast NULL to a required function type explicitly. 1.1585 + 1.1586 + * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): 1.1587 + Insert explicit cast from NULL to function type. 1.1588 + 1.1589 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1590 + 1.1591 + fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly. 1.1592 + 1.1593 + * include/freetype/fttypes.h (FT_MAKE_TAG): 1.1594 + Cast the result to FT_Tag. 1.1595 + 1.1596 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1597 + 1.1598 + psnames: Handle Unicode codepoints by FT_UInt32 variables. 1.1599 + 1.1600 + * src/psnames/psmodule.c (BASE_GLYPH): Cast the result 1.1601 + to unsigned 32-bit integer for LP64 platform. 1.1602 + (ps_unicode_value): Return the value by unsigned 32-bit 1.1603 + integer instead of unsigned long. 1.1604 + 1.1605 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1606 + 1.1607 + psaux: Use size_t variable to pass the buffer size. 1.1608 + 1.1609 + * src/psaux/psaux.h (to_bytes): The type of `max_bytes' 1.1610 + (the argument to pass the buffer size) is changed to 1.1611 + size_t, to match with ANSI C string functions. 1.1612 + 1.1613 + * src/psaux/psconv.h (PS_Conv_StringDecode, 1.1614 + PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. 1.1615 + 1.1616 + * src/psaux/psconv.c (PS_Conv_StringDecode, 1.1617 + PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto. 1.1618 + 1.1619 + * src/psaux/psobjs.h (ps_parser_to_bytes): Ditto. 1.1620 + 1.1621 + * src/psaux/psobjs.c (ps_parser_to_bytes): Ditto. 1.1622 + 1.1623 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1624 + 1.1625 + type1: Use size_t variable to pass the string length. 1.1626 + 1.1627 + * psaux.h: The type of `len' (the argument to pass 1.1628 + the buffer size to the function in AFM_ParserRec) 1.1629 + is changed to size_t, to match with ANSI C string 1.1630 + functions. 1.1631 + 1.1632 + * t1afm.c (t1_get_index): Ditto. 1.1633 + 1.1634 + * test_afm.c (dummy_get_index): Ditto. 1.1635 + 1.1636 + * afmparse.c (afm_parser_read_vals): To call 1.1637 + AFM_ParserRec.get_index, the length of token 1.1638 + `len' is cast to size_t. 1.1639 + 1.1640 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1641 + 1.1642 + cid: Fix some data types mismatching with their sources. 1.1643 + 1.1644 + * src/cid/cidparse.c (cid_parser_new): The types of 1.1645 + `read_len' and `stream_len' are matched to 1.1646 + FT_Stream->size. Unrequired cast is removed. 1.1647 + 1.1648 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1649 + 1.1650 + cff: Fix for unused variable `rest'. 1.1651 + 1.1652 + * src/cff/cffparse.c (cff_parse_real): Insert 1.1653 + FT_UNUSED() to hide the unused variable warning. 1.1654 + 1.1655 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1656 + 1.1657 + cff: Fix some data types mismatching with their sources. 1.1658 + 1.1659 + * src/cff/cffgload.c (cff_slot_load): The types of 1.1660 + `top_upm' and `sub_upm' are matched with 1.1661 + CFF_FontRecDict->units_per_em. 1.1662 + 1.1663 + * src/cff/cffobjs.c (cff_size_select): Ditto. 1.1664 + (cff_size_request): Ditto. 1.1665 + 1.1666 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1667 + 1.1668 + bdf: Fix some data types mismatching with their sources. 1.1669 + 1.1670 + * bdflib.c (_bdf_list_ensure): The type of `num_items' 1.1671 + is matched with _bdf_list_t.used. Also the types of 1.1672 + `oldsize', `newsize', `bigsize' are matched too. 1.1673 + (_bdf_readstream): `cursor' is used as an offset to 1.1674 + the pointer, it should be typed as FT_Offset. Also 1.1675 + the types of `bytes', `start', `end', `avail' are matched. 1.1676 + 1.1677 + * bdfdrivr.c: The type of BDF_CMap->num_encodings is 1.1678 + matched with FT_CMap->clazz->size. 1.1679 + (bdf_cmap_char_index): The types of `min', `max', `mid' 1.1680 + are matched with BDF_CMap->num_encodings. The type of 1.1681 + `result' is matched with encoding->glyph. 1.1682 + (bdf_cmap_char_next): Ditto, the type of `code' is 1.1683 + matched with BDF_encoding_el.enc. 1.1684 + (bdf_interpret_style): The type of `lengths' is changed 1.1685 + to size_t, to take the value by ft_strlen(). Also the 1.1686 + types of `len', `nn', `mm' are matched. 1.1687 + 1.1688 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1689 + 1.1690 + sfnt: Count the size of the memory object by ptrdiff_t. 1.1691 + 1.1692 + * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of 1.1693 + `peroperty_len' is changed from FT_UInt to FT_Offset, 1.1694 + to match with size_t, which is appropriate type for the 1.1695 + object in the memory buffer. 1.1696 + 1.1697 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1698 + 1.1699 + lzw: Count the size of the memory object by ptrdiff_t. 1.1700 + 1.1701 + * src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total, 1.1702 + stack_size} are changed from FT_UInt to FT_Offset, to match 1.1703 + with size_t, which is appropriate type for the object in 1.1704 + the memory buffer. 1.1705 + 1.1706 + * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of 1.1707 + `old_size' and `new_size' are changed from FT_UInt to 1.1708 + FT_Offset, to match with size_t, which is appropriate type 1.1709 + for the object in the memory buffer. 1.1710 + 1.1711 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1712 + 1.1713 + otvalid: Count the table size on memory by ptrdiff_t. 1.1714 + 1.1715 + * src/otvalid/otvgpos.c (otv_ValueRecord_validate): 1.1716 + Change the type of table size from FT_UInt to 1.1717 + FT_PtrDist because it is calculated by the memory 1.1718 + addresses. 1.1719 + 1.1720 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1721 + 1.1722 + otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset. 1.1723 + 1.1724 + * src/otvalid/otvgpos.c (otv_ExtensionPos_validate): 1.1725 + Extend ExtensionOffset from FT_UInt to FT_ULong, to 1.1726 + cover 32-bit offset on 16-bit platform. 1.1727 + 1.1728 + * src/otvalid/otvgsub.c (otv_ExtensionSubst_validate): 1.1729 + Ditto. 1.1730 + 1.1731 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1732 + 1.1733 + ftobjs.c: Prevent an overflow in glyph index handling. 1.1734 + 1.1735 + * src/base/ftobjs.c (FT_Face_GetCharsOfVariant): 1.1736 + Improve the cast in comparison to avoid the truncation. 1.1737 + 1.1738 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1739 + 1.1740 + Improve the variable types in raccess_make_file_name(). 1.1741 + 1.1742 + * src/base/ftrfork.c (raccess_make_file_name): 1.1743 + Change the type of cursor variable `tmp' to const char*, 1.1744 + to prevent the unexpected modification of original pathname. 1.1745 + (raccess_make_file_name): Change the type of new_length 1.1746 + to size_t. 1.1747 + 1.1748 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1749 + 1.1750 + ftpatent.c: Fix for unused variable `error'. 1.1751 + 1.1752 + * src/base/ftpatent.c (_tt_check_patents_in_range): 1.1753 + Fix warning for unused variable `error'. 1.1754 + 1.1755 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1756 + 1.1757 + type1: Check invalid string longer than PostScript limit. 1.1758 + 1.1759 + * src/type1/t1afm.c (t1_get_index): Check invalid string 1.1760 + which exceeds the limit of PostScript string/name objects. 1.1761 + 1.1762 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1763 + 1.1764 + gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default. 1.1765 + 1.1766 + * src/gzip/ftgzip.c (zcalloc, zcfree): Disable all 1.1767 + zcalloc() & zfree() by zlib in zutil.c, those in 1.1768 + ftgzip.c by FT2 are enabled by default. To use 1.1769 + zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC. 1.1770 + See discussion: 1.1771 + http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html 1.1772 + 1.1773 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1774 + 1.1775 + gzip: Distinguish PureC from TurboC on MSDOS. 1.1776 + 1.1777 + * src/gzip/zutil.c (zcalloc, zcfree): Enable only for 1.1778 + MSDOS platform. 1.1779 + 1.1780 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1781 + 1.1782 + gxvalid: Insert PureC pragma to allow unevaluated variables. 1.1783 + 1.1784 + * builds/atari/ATARI.H: Insert PureC pragma not to 1.1785 + warn against set-but-unevaluated variable in gxvalid 1.1786 + module. 1.1787 + 1.1788 +2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1789 + 1.1790 + gxvalid: Pass the union by the pointer instead of the value. 1.1791 + 1.1792 + * src/gxvalid/gxvcommn.h: 1.1793 + - Declare new type `GXV_LookupValueCPtr'. 1.1794 + - Update the type of the 2nd argument to pass GXV_LookupValueDesc 1.1795 + data to the function prototyped as GXV_Lookup_Value_Validate_Func, 1.1796 + from GXV_LookupValueDesc to GXV_LookupValueCPtr. 1.1797 + - Likewise for the function prototyped as 1.1798 + GXV_Lookup_Fmt4_Transit_Func. 1.1799 + 1.1800 + - Declare new type `GXV_StateTable_GlyphOffsetCPtr'. 1.1801 + - Update the type of the 3rd argument to pass 1.1802 + GXV_StateTable_GlyphOffsetDesc data to the function prototyped 1.1803 + as GXV_StateTable_Entry_Validate_Func, from 1.1804 + GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr. 1.1805 + 1.1806 + - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'. 1.1807 + - Update the type of the 3rd argument to pass 1.1808 + GXV_XStateTable_GlyphOffsetDesc data to the function prototyped 1.1809 + as GXV_XStateTable_Entry_Validate_Func, 1.1810 + from GXV_XStateTable_GlyphOffsetDesc 1.1811 + to GXV_XStateTable_GlyphOffsetCPtr. 1.1812 + 1.1813 + * src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate, 1.1814 + gxv_XClassTable_lookupval_validate, 1.1815 + gxv_XClassTable_lookupfmt4_transit): 1.1816 + Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. 1.1817 + 1.1818 + * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate, 1.1819 + gxv_bsln_LookupFmt4_transit): Ditto. 1.1820 + 1.1821 + * src/gxvalid/gxvjust.c 1.1822 + (gxv_just_pcTable_LookupValue_entry_validate, 1.1823 + gxv_just_classTable_entry_validate, 1.1824 + gxv_just_wdcTable_LookupValue_validate): Ditto. 1.1825 + 1.1826 + * src/gxvalid/gxvkern.c 1.1827 + (gxv_kern_subtable_fmt1_entry_validate): Ditto. 1.1828 + 1.1829 + * src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate, 1.1830 + gxv_lcar_LookupFmt4_transit): Ditto. 1.1831 + 1.1832 + * src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate, 1.1833 + gxv_opbd_LookupFmt4_transit): Ditto. 1.1834 + 1.1835 + * src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate, 1.1836 + gxv_prop_LookupFmt4_transit): Ditto. 1.1837 + 1.1838 + * src/gxvalid/gxvmort4.c 1.1839 + (gxv_mort_subtable_type4_lookupval_validate): Ditto. 1.1840 + 1.1841 + * src/gxvalid/gxvmort0.c 1.1842 + (gxv_mort_subtable_type0_entry_validate): Update 1.1843 + from GXV_StateTable_GlyphOffsetDesc 1.1844 + to GXV_StateTable_GlyphOffsetCPtr. 1.1845 + 1.1846 + * src/gxvalid/gxvmort1.c 1.1847 + (gxv_mort_subtable_type1_entry_validate): Ditto. 1.1848 + 1.1849 + * src/gxvalid/gxvmort2.c 1.1850 + (gxv_mort_subtable_type2_entry_validate): Ditto. 1.1851 + 1.1852 + * src/gxvalid/gxvmort5.c 1.1853 + (gxv_mort_subtable_type5_entry_validate): Ditto. 1.1854 + 1.1855 + * src/gxvalid/gxvmorx2.c 1.1856 + (gxv_morx_subtable_type2_entry_validate): Ditto. 1.1857 + 1.1858 + * src/gxvalid/gxvmorx5.c 1.1859 + (gxv_morx_subtable_type5_entry_validate): Ditto. 1.1860 + 1.1861 + * src/gxvalid/gxvmorx1.c 1.1862 + (gxv_morx_subtable_type1_entry_validate): Ditto. 1.1863 + (gxv_morx_subtable_type1_LookupValue_validate, 1.1864 + gxv_morx_subtable_type1_LookupFmt4_transit): 1.1865 + Update from GXV_LookupValueDesc to GXV_LookupValueCPtr. 1.1866 + 1.1867 + * src/gxvalid/gxvmorx0.c 1.1868 + (gxv_morx_subtable_type0_entry_validate): Update 1.1869 + from GXV_XStateTable_GlyphOffsetDesc 1.1870 + to GXV_XStateTable_GlyphOffsetCPtr. 1.1871 + 1.1872 +2009-07-29 Fabrice Bellet <fabrice@bellet.info> 1.1873 + 1.1874 + Fix Redhat bugzilla #513582 and Savannah bug #26849. 1.1875 + 1.1876 + * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix 1.1877 + aliasing bug. 1.1878 + 1.1879 +2009-07-19 Werner Lemberg <wl@gnu.org> 1.1880 + 1.1881 + Document recent library changes. 1.1882 + 1.1883 + * docs/CHANGES: Do it. 1.1884 + 1.1885 +2009-07-17 Werner Lemberg <wl@gnu.org> 1.1886 + 1.1887 + Fix Savannah bug #23786. 1.1888 + 1.1889 + * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem 1.1890 + and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c 1.1891 + get never called. 1.1892 + An anonymous guy suggested this change on Savannah, and it seems to 1.1893 + be the right solution. 1.1894 + 1.1895 +2009-07-15 Werner Lemberg <wl@gnu.org> 1.1896 + 1.1897 + * docs/release: Updated. 1.1898 + 1.1899 +2009-07-15 Werner Lemberg <wl@gnu.org> 1.1900 + 1.1901 + README.CVS -> README.git 1.1902 + 1.1903 + * README.CVS: Renamed to... 1.1904 + * README.git: This. 1.1905 + Updated. 1.1906 + 1.1907 +2009-07-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1908 + 1.1909 + Borland C++ compiler patch proposed by Mirco Babin. 1.1910 + http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html. 1.1911 + 1.1912 + * builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}. 1.1913 + Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform 1.1914 + specific pathname syntax. 1.1915 + * builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS. 1.1916 + Define TE = `-e' separately (bcc32 cannot specify the pathname of 1.1917 + binary executable by T = `-o'). 1.1918 + Extend the large page size in linking freetype.lib. 1.1919 + Add extra CLEAN target to delete bcc specific temporary files. 1.1920 + * builds/compiler/bcc-dev.mk: Ditto. 1.1921 + 1.1922 +2009-07-14 Werner Lemberg <wl@gnu.org> 1.1923 + 1.1924 + Fix Savannah bug #27026. 1.1925 + 1.1926 + * builds/win32/vc2005/freetype.sln: Use correct version number. 1.1927 + 1.1928 +2009-07-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1929 + 1.1930 + Add a script to check the undefined and unused trace macros. 1.1931 + 1.1932 + * src/tools/chktrcmp.py: A script to check trace_XXXX macros 1.1933 + that are used in C source but undefined in fttrace.h, or 1.1934 + defined in fttrace.h but unused in C sources. See 1.1935 + http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html. 1.1936 + * docs/DEBUG: Mention on chktrcmp.py. 1.1937 + * docs/release: Ditto. 1.1938 + 1.1939 +2009-07-09 Werner Lemberg <wl@gnu.org> 1.1940 + 1.1941 + [ftraster] Make it compile again with -D_STANDALONE_. 1.1942 + 1.1943 + * src/raster/ftraster.c [_STANDALONE_]: Define 1.1944 + FT_CONFIG_STANDARD_LIBRARY_H. 1.1945 + Include `string.h'. 1.1946 + Don't include `rastpic.h'. 1.1947 + Define FT_DEFINE_RASTER_FUNCS. 1.1948 + 1.1949 +2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1950 + 1.1951 + smooth: Check glyph size by width/height, instead of pitch/height. 1.1952 + Suggested by der Mouse <mouse@Rodents-Montreal.ORG>. 1.1953 + 1.1954 + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve 1.1955 + the check for too large glyph. Replace the pair of `pitch' and 1.1956 + `height' by the pair of `width' and `height'. `pitch' cannot 1.1957 + be greater than `height'. The required is checking the product 1.1958 + `pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for 1.1959 + the realistic case only. 1.1960 + 1.1961 +2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1962 + 1.1963 + Register 2 missing trace components, t1afm and ttbdf. 1.1964 + 1.1965 + * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm ) 1.1966 + and FT_TRACE_DEF( ttbdf ). See 1.1967 + http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html 1.1968 + 1.1969 +2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1970 + 1.1971 + Register a trace component for ftgloadr.c. 1.1972 + 1.1973 + * include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ). 1.1974 + The macro `trace_gloader' was already used in the initial version 1.1975 + on 2002-02-24. 1.1976 + 1.1977 +2009-07-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.1978 + 1.1979 + Prevent the overflows by a glyph with too many points or contours. 1.1980 + The bug is reported by Boris Letocha <b.letocha@gmc.net>. See 1.1981 + http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html 1.1982 + http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html 1.1983 + 1.1984 + * include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX, 1.1985 + FT_OUTLINE_POINTS_MAX): New macros to declare the maximum 1.1986 + values of FT_Outline.{n_contours,n_points}. 1.1987 + * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the 1.1988 + total numbers of points and contours cause no overflows in 1.1989 + FT_Outline.{n_contours,n_points}. 1.1990 + 1.1991 + * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P, 1.1992 + FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and 1.1993 + contours as unsigned long number, instead of signed int, to 1.1994 + prevent the overflows on 16-bit systems. 1.1995 + 1.1996 +2009-07-05 Bram Tassyns <bramt@enfocus.be> 1.1997 + 1.1998 + Improve compatibility to Acroread. 1.1999 + This fixes Savannah bug #26944. 1.2000 + 1.2001 + * src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to 1.2002 + single CID mappings, make the lowest value win. 1.2003 + 1.2004 +2009-06-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.2005 + 1.2006 + ftpatent: Fix a bug by wrong usage of service->table_info(). 1.2007 + http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html 1.2008 + 1.2009 + * include/freetype/internal/services/svsfnt.h: Extend 1.2010 + FT_SFNT_TableInfoFunc() to take new argument to obtain the offset 1.2011 + to the specified table. 1.2012 + * src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the 1.2013 + table-offset to the caller function. 1.2014 + * src/base/ftpatent.c (_tt_check_patents_in_table): Use new 1.2015 + service->table_info(). 1.2016 + * src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new 1.2017 + service->table_info(). 1.2018 + 1.2019 +2009-06-28 Werner Lemberg <wl@gnu.org> 1.2020 + 1.2021 + [psaux, cff] Protect against nested `seac' calls. 1.2022 + 1.2023 + * include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h 1.2024 + (CFF_Decoder): Add `seac' boolean variable. 1.2025 + 1.2026 + * src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c 1.2027 + (t1operator_seac): Use it. 1.2028 + 1.2029 +2009-06-28 Werner Lemberg <wl@gnu.org> 1.2030 + 1.2031 + Thinko. 1.2032 + 1.2033 + * src/psaux/t1decode.c (t1operator_seac) 1.2034 + [FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental 1.2035 + interface. 1.2036 + 1.2037 +2009-06-28 Werner Lemberg <wl@gnu.org> 1.2038 + 1.2039 + * devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define. 1.2040 + 1.2041 +2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.2042 + 1.2043 + Add tools to preprocess the source files for AtariST PureC. 1.2044 + 1.2045 + * builds/atari/deflinejoiner.awk: New file to filter C source files 1.2046 + for broken C preprocessor of PureC compiler. 1.2047 + 1.2048 + * builds/atari/gen-purec-patch.sh: New file to generate a patch set 1.2049 + for PureC, by using deflinejoiner.awk. 1.2050 + 1.2051 +2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.2052 + 1.2053 + Keep existing modules.cfg in the building tree. 1.2054 + 1.2055 + * configure: If `configure' is executed outside of the source tree, 1.2056 + an existing `modules.cfg' file in the build directory should be 1.2057 + kept, not overwritten by the version in the source tree. 1.2058 + 1.2059 +2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.2060 + 1.2061 + Filter --srcdir= option before invoking builds/unix/configure. 1.2062 + 1.2063 + * configure: If builds/unix/configure is invoked with --srcdir 1.2064 + option, the option should take `builds/unix' directory instead of 1.2065 + the top source directory. Thus the configure script in the top 1.2066 + directory should modify the --srcdir= option if 1.2067 + `builds/unix/configure' is invoked. 1.2068 + 1.2069 +2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.2070 + 1.2071 + Improve configure.raw for cross-building on exe-suffixed systems. 1.2072 + 1.2073 + * builds/unix/configure.raw: Fix a bug in sed script to extract 1.2074 + native suffix for binary executables, patch by Peter Breitenlohner. 1.2075 + http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html 1.2076 + 1.2077 +2009-06-26 Werner Lemberg <wl@gnu.org> 1.2078 + 1.2079 + [truetype] Remove TT_SubGlyphRec. 1.2080 + 1.2081 + * src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused. 1.2082 + 1.2083 +2009-06-26 Werner Lemberg <wl@gnu.org> 1.2084 + 1.2085 + * */*: For warning messages, replace FT_ERROR with FT_TRACE0. 1.2086 + 1.2087 + FT_ERROR is now used only if a function produces a non-zero `error' 1.2088 + value. 1.2089 + 1.2090 + Formatting, improving and harmonizing debug strings. 1.2091 + 1.2092 +2009-06-25 Werner Lemberg <wl@gnu.org> 1.2093 + 1.2094 + Provide version information better. 1.2095 + 1.2096 + * src/base/ftinit.c (FT_Init_FreeType): Don't set version here 1.2097 + but... 1.2098 + * src/base/ftobjs.c (FT_New_Library): Here. 1.2099 + 1.2100 +2009-06-22 Werner Lemberg <wl@gnu.org> 1.2101 + 1.2102 + Use 16.16 format while parsing Type 1 charstrings. 1.2103 + This fixes Savannah bug #26867. 1.2104 + 1.2105 + Previously, only integers have been used which can lead to serious 1.2106 + rounding errors. 1.2107 + 1.2108 + However, fractional values are only used internally; after the 1.2109 + charstrings (of either Type 1 or 2) have been processed, the 1.2110 + resulting coordinates get rounded to integers currently -- before 1.2111 + applying scaling. This should be fixed; at the same time a new load 1.2112 + flag should be introduced, to be used in combination with 1.2113 + FT_LOAD_NO_SCALE, which indicates that font units are returned in 1.2114 + 16.16 format. Similarly, the incremental interface should be 1.2115 + extended to allow fractional values for metrics. 1.2116 + 1.2117 + * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift' 1.2118 + field. 1.2119 + * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc, 1.2120 + T1_Hints_SetStem3Func): Use FT_Fixed for coordinates. 1.2121 + 1.2122 + * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H. 1.2123 + (t1_build_add_point): Always convert fixed to integer. 1.2124 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): 1.2125 + Use 16.16 format everywhere (except for large integers followed by a 1.2126 + `div'). 1.2127 + [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate 1.2128 + code uncoditionally. 1.2129 + Add support for random numbers and update remaining code 1.2130 + accordingly; this should work now. 1.2131 + (t1_operator_seac): Updated. 1.2132 + * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H. 1.2133 + (ps_hints_t1stem3, t1_hints_stem): Updated. 1.2134 + 1.2135 + * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H. 1.2136 + (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL], 1.2137 + (cid_face_compute_max_advance, cid_slot_load_glyph): Updated. 1.2138 + 1.2139 + * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) 1.2140 + [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph): 1.2141 + Updated. 1.2142 + * src/type1/t1load.c: Include FT_INTERNAL_CALC_H. 1.2143 + * src/type1/t1objs.c (T1_Face_Init): Updated. 1.2144 + 1.2145 +2009-06-21 Werner Lemberg <wl@gnu.org> 1.2146 + 1.2147 + * src/pshinter/pshrec.c: Use PSH_Err_Ok. 1.2148 + 1.2149 +2009-06-21 Werner Lemberg <wl@gnu.org> 1.2150 + 1.2151 + Code beautification. 1.2152 + 1.2153 + * src/type1/t1load.c (FT_INT_TO_FIXED): Removed. 1.2154 + Replace everywhere with INT_TO_FIXED. 1.2155 + (FT_FIXED_TO_INT): Move to ... 1.2156 + * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here. 1.2157 + Update all users. 1.2158 + 1.2159 +2009-06-20 Werner Lemberg <wl@gnu.org> 1.2160 + 1.2161 + Remove unused variables. 1.2162 + 1.2163 + * include/freetype/internal/psaux.h (T1_BuilderRec), 1.2164 + src/cff/cffgload.h (CFF_Builder): Remove `last'. 1.2165 + Update all users. 1.2166 + 1.2167 +2009-06-20 Werner Lemberg <wl@gnu.org> 1.2168 + 1.2169 + [psaux] Check large integers while parsing charstrings. 1.2170 + 1.2171 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large 1.2172 + integers must be followed by a `div' operator. 1.2173 + 1.2174 +2009-06-20 Werner Lemberg <wl@gnu.org> 1.2175 + 1.2176 + [cff] Revert last change. 1.2177 + 1.2178 + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it. 1.2179 + Next time, don't confuse Type 2 charstring opcodes with TOP DICT 1.2180 + values... 1.2181 + 1.2182 +2009-06-20 Werner Lemberg <wl@gnu.org> 1.2183 + 1.2184 + * src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix 1.2185 + compiler warning. 1.2186 + 1.2187 +2009-06-20 Werner Lemberg <wl@gnu.org> 1.2188 + 1.2189 + * builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6. 1.2190 + 1.2191 +2009-06-19 Werner Lemberg <wl@gnu.org> 1.2192 + 1.2193 + [cff] Fix handling of reserved byte 0xFF. 1.2194 + 1.2195 + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte 1.2196 + 0xFF is encountered. 1.2197 + 1.2198 +2009-06-19 Werner Lemberg <wl@gnu.org> 1.2199 + 1.2200 + Improve debug messages for Type1 charstrings. 1.2201 + 1.2202 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines 1.2203 + after instructions. 1.2204 + Prettify output. 1.2205 + 1.2206 +2009-06-19 Werner Lemberg <wl@gnu.org> 1.2207 + 1.2208 + More ftgray fixes for FT_STATIC_RASTER. 1.2209 + Problems reported by suyu@cooee.cn. 1.2210 + 1.2211 + * src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use 1.2212 + RAS_VAR. 1.2213 + 1.2214 +2009-06-18 Werner Lemberg <wl@gnu.org> 1.2215 + 1.2216 + * docs/CHANGES: Updated. 1.2217 + 1.2218 +2009-06-18 Werner Lemberg <wl@gnu.org> 1.2219 + 1.2220 + Fix B/W rasterization of subglyphs with different drop-out modes. 1.2221 + 1.2222 + Normally, the SCANMODE instruction (if present) to set the drop-out 1.2223 + mode in a TrueType font is located in the `prep' table only and thus 1.2224 + valid for all glyphs. However, there are fonts like `pala.ttf' 1.2225 + which additionally contain this instruction in the hinting code of 1.2226 + some glyphs (but not all). As a result it can happen that a 1.2227 + composite glyph needs multiple drop-out modes for its subglyphs 1.2228 + since the rendering state gets reset for each subglyph. 1.2229 + 1.2230 + FreeType collects the hinted outlines from all subglyphs, then it 1.2231 + sends the data to the rasterizer. It also sends the drop-out mode 1.2232 + -- after hinting has been applied -- and here is the error: It sends 1.2233 + the drop-out mode of the last subglyph only; drop-out modes of all 1.2234 + other subglyphs are lost. 1.2235 + 1.2236 + This patch fixes the problem; it adds a second, alternative 1.2237 + mechanism to pass the drop-out mode: For each contour, the 1.2238 + rasterizer now checks the first `tags' array element. If bit 2 is 1.2239 + set, bits 5-7 contain the contour's drop-out mode, overriding the 1.2240 + global drop-out mode. 1.2241 + 1.2242 + * include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro. 1.2243 + 1.2244 + * src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in 1.2245 + `tags[0]'. 1.2246 + 1.2247 + * src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom): 1.2248 + Use bits 3-5 instead of 0-2. 1.2249 + (New_Profile): Set the drop-out mode in the profile's `flags' field. 1.2250 + (Decompose_Curve): Check `tags[0]' and set `dropOutControl' if 1.2251 + necessary. 1.2252 + (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, 1.2253 + Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out 1.2254 + mode. 1.2255 + 1.2256 +2009-06-16 Werner Lemberg <wl@gnu.org> 1.2257 + 1.2258 + Improve scan conversion rules 4 and 6. 1.2259 + 1.2260 + Two new constraints are introduced to better identify a `stub' -- a 1.2261 + concept which is only vaguely described in the OpenType 1.2262 + specification. The old code was too rigorous and suppressed more 1.2263 + pixel than it should. 1.2264 + 1.2265 + . The intersection of the two profiles with the scanline is less 1.2266 + than a half pixel. Code related to this was already present in 1.2267 + the sources but has been commented out. 1.2268 + 1.2269 + . The endpoint of the original contour forming a profile has a 1.2270 + distance (`overshoot') less than half a pixel to the scanline. 1.2271 + 1.2272 + Note that the two additional conditions fix almost all differences 1.2273 + to the Windows rasterizer, but some problematic cases remain. 1.2274 + 1.2275 + * src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New 1.2276 + macros for the `flags' field in the `TProfile' structure. 1.2277 + (IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros. 1.2278 + (New_Profile, End_Profile): Pass overshoot flag as an argument and 1.2279 + set it accordingly. 1.2280 + Update callers. 1.2281 + (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new 1.2282 + constraints. 1.2283 + 1.2284 +2009-06-11 Werner Lemberg <wl@gnu.org> 1.2285 + 1.2286 + Increase precision for B/W rasterizer. 1.2287 + 1.2288 + * src/raster/ftraster.c (Set_High_Precision): Add two more bits to 1.2289 + the precision. This corrects rendering of some small glyphs, for 1.2290 + example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench 1.2291 + on my GNU/Linux box I don't see a performance degradation. 1.2292 + 1.2293 +2009-06-08 Michael Zucchi <notzed@gmail.com> 1.2294 + 1.2295 + Handle FT_STROKER_LINECAP_BUTT. 1.2296 + This fixes Savannah bug #26757. 1.2297 + 1.2298 + * src/base/ftstroke.c (ft_stroker_cap): Implement it. 1.2299 + 1.2300 +2009-06-07 Harald Fernengel <harry@kdevelop.org> 1.2301 + 1.2302 + Fix some potential out-of-memory crashes. 1.2303 + 1.2304 + * src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'. 1.2305 + * src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'. 1.2306 + * src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of 1.2307 + `exec' in case of failure. 1.2308 + 1.2309 +2009-06-07 Werner Lemberg <wl@gnu.org> 1.2310 + 1.2311 + Simplify math. 1.2312 + Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>. 1.2313 + 1.2314 + * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, 1.2315 + Horizontal_Gray_Sweep_Drop): Do it. 1.2316 + 1.2317 +2009-06-04 Werner Lemberg <wl@gnu.org> 1.2318 + 1.2319 + Preparation for fixing scan conversion rules 4 and 6. 1.2320 + 1.2321 + * src/raster/ftraster.c (TFlow): Replace enumeration with... 1.2322 + (Flow_Up): This macro. 1.2323 + (TProfile): Replace `flow' member with `flags' bit field. 1.2324 + Update all affected code. 1.2325 + 1.2326 +2009-05-29 James Cloos <cloos@jhcloos.com> 1.2327 + 1.2328 + Enable autohinting for glyphs rotated by multiples of 90°. 1.2329 + 1.2330 + * src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted 1.2331 + matrices to allow rotations by multiples of 90°, not only unrotated, 1.2332 + possibly slanted matrices. 1.2333 + 1.2334 +2009-05-28 Werner Lemberg <wl@gnu.org> 1.2335 + 1.2336 + Remove compiler warning. 1.2337 + Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. 1.2338 + 1.2339 + * src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of 1.2340 + `n_edges' into `#if' block. 1.2341 + 1.2342 +2009-05-28 Werner Lemberg <wl@gnu.org> 1.2343 + 1.2344 + Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined. 1.2345 + Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>. 1.2346 + 1.2347 + * src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]: 1.2348 + Make it work. 1.2349 + Simplify #ifdef logic. 1.2350 + 1.2351 +2009-05-22 Werner Lemberg <wl@gnu.org> 1.2352 + 1.2353 + Improve b/w rasterizer. 1.2354 + Problem reported by Krzysztof Kotlenga <pocek@users.sf.net>. 1.2355 + 1.2356 + * src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, 1.2357 + Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if 1.2358 + intersections are equally distant relative to next pixel center, 1.2359 + select the left pixel, not the right one. 1.2360 + 1.2361 +2009-05-19 Werner Lemberg <wl@gnu.org> 1.2362 + 1.2363 + Fix Savannah bug #26600. 1.2364 + 1.2365 + * src/type42/t42parse.c (t42_load_keyword): Handle 1.2366 + T1_FIELD_LOCATION_FONT_EXTRA. 1.2367 + 1.2368 +2009-04-30 Werner Lemberg <wl@gnu.org> 1.2369 + 1.2370 + Document recent changes to ftview. 1.2371 + 1.2372 + * docs/CHANGES: Do it. 1.2373 + 1.2374 +2009-04-27 Werner Lemberg <wl@gnu.org> 1.2375 + 1.2376 + autohinter: Don't change digit widths if all widths are the same. 1.2377 + This fixes FreeDesktop bug #21197. 1.2378 + 1.2379 + * src/autofit/afglobal.c (AF_DIGIT): New macro. 1.2380 + (af_face_globals_compute_script_coverage): Mark ASCII digits in 1.2381 + `glyph_scripts' array. 1.2382 + (af_face_globals_get_metrics): Updated. 1.2383 + (af_face_globals_is_digit): New function. 1.2384 + * src/autofit/afglobal.h: Updated. 1.2385 + (AF_ScriptMetricsRec): Add `digits_have_same_width' flag. 1.2386 + 1.2387 + * src/autofit/aflatin.c: Include FT_ADVANCES_H. 1.2388 + (af_latin_metrics_check_digits): New function. 1.2389 + (af_latin_metrics_init): Use it. 1.2390 + * src/autofit/aflatin.h: Updated. 1.2391 + * src/autofit/afcjk.c (af_cjk_metrics_init): Updated. 1.2392 + 1.2393 + * src/autofit/aflatin2.c: Similar changes as with aflatin.c. 1.2394 + 1.2395 + * src/autofit/afloader.c (af_loader_load_g): Test digit width. 1.2396 + 1.2397 + * docs/CHANGES: Document it. 1.2398 + 1.2399 +2009-04-26 Werner Lemberg <wl@gnu.org> 1.2400 + 1.2401 + Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again. 1.2402 + Problems reported by suyu@cooee.cn. 1.2403 + 1.2404 + * src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS, 1.2405 + FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define. 1.2406 + [!_STANDALONE_]: Include ftspic.h only here. 1.2407 + (ras): Define/declare after definition of `TWorker'. 1.2408 + Use `RAS_VAR_' where necessary. 1.2409 + 1.2410 +2009-04-21 Karl Berry <karl@gnu.org> 1.2411 + 1.2412 + Fix AC_CHECK_FT2. 1.2413 + 1.2414 + * builds/unix/freetype2.m4: Only check PATH for freetype-config if 1.2415 + we did not already find it from a prefix option. 1.2416 + 1.2417 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2418 + 1.2419 + Add #error to modules and files that do not support PIC yet. 1.2420 + 1.2421 + When FT_CONFIG_OPTION_PIC is defined the following files will 1.2422 + create #error: 1.2423 + * src/bdf/bdfdrivr.h 1.2424 + * src/cache/ftcmanag.c 1.2425 + * src/cid/cidriver.h 1.2426 + * src/gxvalid/gxvmod.h 1.2427 + * src/gzip/ftgzip.c 1.2428 + * src/lzw/ftlzw.c 1.2429 + * src/otvalid/otvmod.h 1.2430 + * src/pcf/pcfdrivr.h 1.2431 + * src/pfr/pfrdrivr.h 1.2432 + * src/psaux/psauxmod.h 1.2433 + * src/type1/t1driver.h 1.2434 + * src/type42/t42drivr.h 1.2435 + * src/winfonts/winfnt.h 1.2436 + 1.2437 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2438 + 1.2439 + Position Independent Code (PIC) support in autofit module. 1.2440 + 1.2441 + * include/freetype/internal/autohint.h add macros to init 1.2442 + instances of FT_AutoHinter_ServiceRec. 1.2443 + 1.2444 + * src/autofit/afmodule.h declare autofit_module_class 1.2445 + using macros from ftmodapi.h, 1.2446 + when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2447 + functions will be declared. 1.2448 + * src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined 1.2449 + af_autofitter_service and autofit_module_class structs 1.2450 + will have functions to init or create and destroy them 1.2451 + instead of being allocated in the global scope. 1.2452 + And macros will be used from afpic.h in order to access them. 1.2453 + 1.2454 + * src/autofit/aftypes.h add macros to init and declare 1.2455 + instances of AF_ScriptClassRec. 1.2456 + 1.2457 + * src/autofit/afcjk.h declare af_cjk_script_class 1.2458 + using macros from aftypes.h, 1.2459 + when FT_CONFIG_OPTION_PIC is defined init function will be declared. 1.2460 + * src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined 1.2461 + af_cjk_script_class struct will have function to init it instead of 1.2462 + being allocated in the global scope. 1.2463 + 1.2464 + * src/autofit/afdummy.h declare af_dummy_script_class 1.2465 + using macros from aftypes.h, 1.2466 + when FT_CONFIG_OPTION_PIC is defined init function will be declared. 1.2467 + * src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined 1.2468 + af_dummy_script_class struct will have function to init it instead of 1.2469 + being allocated in the global scope. 1.2470 + 1.2471 + * src/autofit/afindic.h declare af_indic_script_class 1.2472 + using macros from aftypes.h, 1.2473 + when FT_CONFIG_OPTION_PIC is defined init function will be declared. 1.2474 + * src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined 1.2475 + af_indic_script_class struct will have function to init it instead of 1.2476 + being allocated in the global scope. 1.2477 + 1.2478 + * src/autofit/aflatin.h declare af_latin_script_class 1.2479 + using macros from aftypes.h, 1.2480 + when FT_CONFIG_OPTION_PIC is defined init function will be declared. 1.2481 + * src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined 1.2482 + af_latin_script_class struct will have function to init it instead of 1.2483 + being allocated in the global scope. 1.2484 + Change af_latin_blue_chars to be PIC-compatible by being a two 1.2485 + dimentional array rather than array of pointers. 1.2486 + 1.2487 + 1.2488 + * src/autofit/aflatin2.h declare af_latin2_script_class 1.2489 + using macros from aftypes.h, 1.2490 + when FT_CONFIG_OPTION_PIC is defined init function will be declared. 1.2491 + * src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined 1.2492 + af_latin2_script_class struct will have function to init it instead of 1.2493 + being allocated in the global scope. 1.2494 + Change af_latin2_blue_chars to be PIC-compatible by being a two 1.2495 + dimentional array rather than array of pointers. 1.2496 + 1.2497 + * src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined 1.2498 + af_script_classes array initialization was moved to afpic.c and 1.2499 + is later refered using macros defeined in afpic.h. 1.2500 + 1.2501 + New Files: 1.2502 + * src/autofit/afpic.h declare struct to hold PIC globals for autofit 1.2503 + module and macros to access them. 1.2504 + * src/autofit/afpic.c implement functions to allocate, destroy and 1.2505 + initialize PIC globals for autofit module. 1.2506 + 1.2507 + * src/autofit/autofit.c add new file to build: afpic.c. 1.2508 + * src/autofit/jamfile add new files to FT2_MULTI build: afpic.c. 1.2509 + 1.2510 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2511 + 1.2512 + Position Independent Code (PIC) support in pshinter module. 1.2513 + 1.2514 + * include/freetype/internal/pshints.h add macros to init 1.2515 + instances of PSHinter_Interface. 1.2516 + 1.2517 + * src/pshinter/pshmod.h declare pshinter_module_class 1.2518 + using macros from ftmodapi.h, 1.2519 + when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2520 + functions will be declared. 1.2521 + * src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined 1.2522 + pshinter_interface and pshinter_module_class structs 1.2523 + will have functions to init or create and destroy them 1.2524 + instead of being allocated in the global scope. 1.2525 + And macros will be used from pshpic.h in order to access them. 1.2526 + 1.2527 + New Files: 1.2528 + * src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter 1.2529 + module and macros to access them. 1.2530 + * src/pshinter/pshpic.c implement functions to allocate, destroy and 1.2531 + initialize PIC globals for pshinter module. 1.2532 + 1.2533 + * src/pshinter/pshinter.c add new file to build: pshpic.c. 1.2534 + * src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c. 1.2535 + 1.2536 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2537 + 1.2538 + Position Independent Code (PIC) support in psnames module. 1.2539 + 1.2540 + * include/freetype/internal/services/svpscmap.h add macros to init 1.2541 + instances of FT_Service_PsCMapsRec. 1.2542 + 1.2543 + * src/psnames/psmodule.h declare psnames_module_class 1.2544 + using macros from ftmodapi.h, 1.2545 + when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2546 + functions will be declared. 1.2547 + * src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined 1.2548 + pscmaps_interface and pscmaps_services structs 1.2549 + and psnames_module_class array 1.2550 + will have functions to init or create and destroy them 1.2551 + instead of being allocated in the global scope. 1.2552 + And macros will be used from pspic.h in order to access them. 1.2553 + 1.2554 + New Files: 1.2555 + * src/psnames/pspic.h declare struct to hold PIC globals for psnames 1.2556 + module and macros to access them. 1.2557 + * src/psnames/pspic.c implement functions to allocate, destroy and 1.2558 + initialize PIC globals for psnames module. 1.2559 + 1.2560 + * src/psnames/psnames.c add new file to build: pspic.c. 1.2561 + * src/psnames/jamfile add new files to FT2_MULTI build: pspic.c. 1.2562 + 1.2563 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2564 + 1.2565 + Position Independent Code (PIC) support in raster renderer. 1.2566 + 1.2567 + * src/raster/ftrend1.h declare ft_raster1_renderer_class 1.2568 + and ft_raster5_renderer_class 1.2569 + using macros from ftrender.h, 1.2570 + when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2571 + functions will be declared. 1.2572 + * src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined 1.2573 + ft_raster1_renderer_class and ft_raster5_renderer_class structs 1.2574 + will have functions to init or create and destroy them 1.2575 + instead of being allocated in the global scope. 1.2576 + Macros will be used from rastpic.h in order to access 1.2577 + ft_standard_raster from the pic_container (allocated in ftraster.c). 1.2578 + In ft_raster1_render when PIC is enabled, the last letter of 1.2579 + module_name is used to verfy the renderer class rather than the 1.2580 + class pointer. 1.2581 + 1.2582 + * src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined 1.2583 + ft_standard_raster struct will have function to init it 1.2584 + instead of being allocated in the global scope. 1.2585 + 1.2586 + New Files: 1.2587 + * src/raster/rastpic.h declare struct to hold PIC globals for raster 1.2588 + renderer and macros to access them. 1.2589 + * src/raster/rastpic.c implement functions to allocate, destroy and 1.2590 + initialize PIC globals for raster renderer. 1.2591 + 1.2592 + * src/raster/raster.c add new file to build: rastpic.c. 1.2593 + * src/raster/jamfile add new files to FT2_MULTI build: rastpic.c. 1.2594 + 1.2595 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2596 + 1.2597 + Position Independent Code (PIC) support in smooth renderer. 1.2598 + 1.2599 + * src/smooth/ftsmooth.h declare ft_smooth_renderer_class, 1.2600 + ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class 1.2601 + using macros from ftrender.h, 1.2602 + when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2603 + functions will be declared. 1.2604 + * src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined 1.2605 + the following structs: 1.2606 + ft_smooth_renderer_class, ft_smooth_lcd_renderer_class 1.2607 + and ft_smooth_lcd_v_renderer_class 1.2608 + will have functions to init or create and destroy them 1.2609 + instead of being allocated in the global scope. 1.2610 + And macros will be used from ftspic.h in order to access 1.2611 + ft_grays_raster from the pic_container (allocated in ftgrays.c). 1.2612 + 1.2613 + * src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H 1.2614 + * src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined 1.2615 + func_interface was moved from gray_convert_glyph_inner function 1.2616 + to the global scope. 1.2617 + When FT_CONFIG_OPTION_PIC is defined 1.2618 + func_interface and ft_grays_raster structs 1.2619 + will have functions to init them 1.2620 + instead of being allocated in the global scope. 1.2621 + And func_interface will be allocated on the stack of 1.2622 + gray_convert_glyph_inner. 1.2623 + 1.2624 + New Files: 1.2625 + * src/smooth/ftspic.h declare struct to hold PIC globals for smooth 1.2626 + renderer and macros to access them. 1.2627 + * src/smooth/ftspic.c implement functions to allocate, destroy and 1.2628 + initialize PIC globals for smooth renderer. 1.2629 + 1.2630 + * src/smooth/smooth.c add new file to build: ftspic.c. 1.2631 + * src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c. 1.2632 + 1.2633 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2634 + 1.2635 + Position Independent Code (PIC) support in cff driver. 1.2636 + 1.2637 + * include/freetype/internal/services/svcid.h add macros to init 1.2638 + instances of FT_Service_CIDRec. 1.2639 + * include/freetype/internal/services/svpsinfo.h add macros to init 1.2640 + instances of FT_Service_PsInfoRec. 1.2641 + 1.2642 + * src/cff/cffcmap.h declare cff_cmap_encoding_class_rec 1.2643 + and cff_cmap_unicode_class_rec using macros from 1.2644 + ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2645 + functions will be declared. 1.2646 + * src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined 1.2647 + the following structs: 1.2648 + cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec 1.2649 + will have functions to init or create and destroy them 1.2650 + instead of being allocated in the global scope. 1.2651 + 1.2652 + * src/cff/cffdrivr.h declare cff_driver_class using macros from 1.2653 + ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2654 + functions will be declared. 1.2655 + * src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined 1.2656 + the following structs: 1.2657 + cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name 1.2658 + cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class, 1.2659 + and cff_services array 1.2660 + will have functions to init or create and destroy them 1.2661 + instead of being allocated in the global scope. 1.2662 + And macros will be used from cffpic.h in order to access them 1.2663 + from the pic_container. 1.2664 + Use macros from cffpic.h in order to access the 1.2665 + structs allocated in cffcmap.c 1.2666 + 1.2667 + * src/cff/cffobjs.c Use macros from cffpic.h in order to access the 1.2668 + structs allocated in cffcmap.c 1.2669 + 1.2670 + * src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined 1.2671 + implement functions to create and destroy cff_field_handlers array 1.2672 + instead of being allocated in the global scope. 1.2673 + And macros will be used from cffpic.h in order to access it 1.2674 + from the pic_container. 1.2675 + 1.2676 + New Files: 1.2677 + * src/cff/cffpic.h declare struct to hold PIC globals for cff 1.2678 + driver and macros to access them. 1.2679 + * src/cff/cffpic.c implement functions to allocate, destroy and 1.2680 + initialize PIC globals for cff driver. 1.2681 + 1.2682 + * src/cff/cff.c add new file to build: cffpic.c. 1.2683 + * src/cff/jamfile add new files to FT2_MULTI build: cffpic.c. 1.2684 + 1.2685 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2686 + 1.2687 + Position Independent Code (PIC) support in sfnt driver. 1.2688 + 1.2689 + * include/freetype/internal/services/svbdf.h add macros to init 1.2690 + instances of FT_Service_BDFRec. 1.2691 + * include/freetype/internal/services/svgldict.h add macros to init 1.2692 + instances of FT_Service_GlyphDictRec. 1.2693 + * include/freetype/internal/services/svpostnm.h add macros to init 1.2694 + instances of FT_Service_PsFontNameRec. 1.2695 + * include/freetype/internal/services/svsfnt.h add macros to init 1.2696 + instances of FT_Service_SFNT_TableRec. 1.2697 + * include/freetype/internal/services/svttcmap.h add macros to init 1.2698 + instances of FT_Service_TTCMapsRec. 1.2699 + * include/freetype/internal/sfnt.h add macros to init 1.2700 + instances of SFNT_Interface. 1.2701 + 1.2702 + * src/sfnt/sfdriver.h declare sfnt_module_class using macros from 1.2703 + ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2704 + functions will be declared. 1.2705 + * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined 1.2706 + the following structs: 1.2707 + sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name 1.2708 + tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface, 1.2709 + sfnt_module_class, and sfnt_services array 1.2710 + will have functions to init or create and destroy them 1.2711 + instead of being allocated in the global scope. 1.2712 + And macros will be used from sfntpic.h in order to access them 1.2713 + from the pic_container. 1.2714 + 1.2715 + * src/sfnt/ttcmap.h add macros to init 1.2716 + instances of TT_CMap_ClassRec. 1.2717 + * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined 1.2718 + the following structs: 1.2719 + tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec 1.2720 + tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec, 1.2721 + tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array 1.2722 + will have functions to init or create and destroy them 1.2723 + instead of being allocated in the global scope. 1.2724 + And macros will be used from sfntpic.h in order to access them 1.2725 + from the pic_container. 1.2726 + The content of tt_cmap_classes is now described in the 1.2727 + new file 'ttcmapc.h'. 1.2728 + 1.2729 + New Files: 1.2730 + * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt 1.2731 + driver and macros to access them. 1.2732 + * src/sfnt/sfntpic.c implement functions to allocate, destroy and 1.2733 + initialize PIC globals for sfnt driver. 1.2734 + * src/sfnt/ttcmapc.h describing the content of 1.2735 + tt_cmap_classes allocated in ttcmap.c 1.2736 + 1.2737 + * src/sfnt/sfnt.c add new file to build: sfntpic.c. 1.2738 + * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c. 1.2739 + 1.2740 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2741 + 1.2742 + Position Independent Code (PIC) support in truetype driver. 1.2743 + 1.2744 + * include/freetype/internal/services/svmm.h add macros to init 1.2745 + instances of FT_Service_MultiMastersRec. 1.2746 + * include/freetype/internal/services/svttglyf.h add macros to init 1.2747 + instances of FT_Service_TTGlyfRec. 1.2748 + 1.2749 + * src/truetype/ttdriver.h declare tt_driver_class using macros from 1.2750 + ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy 1.2751 + functions will be declared. 1.2752 + * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined 1.2753 + the following structs: 1.2754 + tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class 1.2755 + and tt_services array, 1.2756 + will have functions to init or create and destroy them 1.2757 + instead of being allocated in the global scope. 1.2758 + And macros will be used from ttpic.h in order to access them 1.2759 + from the pic_container. 1.2760 + * src/truetype/ttobjs.c change trick_names array to be 1.2761 + PIC-compatible by being a two dimentional array rather than array 1.2762 + of pointers. 1.2763 + 1.2764 + New Files: 1.2765 + * src/truetype/ttpic.h declare struct to hold PIC globals for truetype 1.2766 + driver and macros to access them. 1.2767 + * src/truetype/ttpic.c implement functions to allocate, destroy and 1.2768 + initialize PIC globals for truetype driver. 1.2769 + 1.2770 + * src/truetype/truetype.c add new file to build: ttpic.c. 1.2771 + * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c. 1.2772 + 1.2773 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2774 + 1.2775 + Position Independent Code (PIC) support and infrastructure in base. 1.2776 + 1.2777 + * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC 1.2778 + * include/freetype/internal/ftobjs.h Add pic_container member to 1.2779 + FT_LibraryRec. 1.2780 + Add macros to declare and init instances of FT_CMap_ClassRec. 1.2781 + Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs. 1.2782 + Add macros to declare, allocate and initialize modules 1.2783 + (FT_Module_Class). 1.2784 + Add macros to declare, allocate and initialize renderers 1.2785 + (FT_Renderer_Class). 1.2786 + Add macro to init instances of FT_Glyph_Class. 1.2787 + Add macros to declare, allocate and initialize drivers 1.2788 + (FT_Driver_ClassRec). 1.2789 + * include/freetype/internal/ftpic.h new file to declare the 1.2790 + FT_PIC_Container struct and the functions to allocate and detroy it. 1.2791 + * include/freetype/internal/ftserv.h add macros to allocate and 1.2792 + destory arrays of FT_ServiceDescRec. 1.2793 + * include/freetype/internal/internal.h define macro to include 1.2794 + ftpic.h. 1.2795 + 1.2796 + New Files: 1.2797 + * src/base/ftpic.c implement functions to allocate and destory the 1.2798 + global pic_container. 1.2799 + * src/base/basepic.h declare struct to hold PIC globals for base and 1.2800 + macros to access them. 1.2801 + * src/base/basepic.c implement functions to allocate, destroy and 1.2802 + initialize PIC globals for base. 1.2803 + 1.2804 + * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement 1.2805 + functions that allocate and destroy ft_default_modules according to 1.2806 + FT_CONFIG_MODULES_H in the pic_container instead of the global scope 1.2807 + and use macro from basepic.h to access it. 1.2808 + * src/base/ftobjs.c add calls to the functions that allocate and 1.2809 + destroy the global pic_container when the library is created and 1.2810 + destroyed. 1.2811 + 1.2812 + * src/base/jamfile add new files to FT2_MULTI build: 1.2813 + ftpic.c and basepic.c. 1.2814 + * src/base/ftbase.c add new files to build: 1.2815 + ftpic.c and basepic.c. 1.2816 + 1.2817 + * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined 1.2818 + ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated 1.2819 + in the pic_container instead of the global scope and use macros from 1.2820 + basepic.h to access them. 1.2821 + * src/base/ftbbox.c allocate bbox_interface stract on the stack 1.2822 + instead of the global scope when FT_CONFIG_OPTION_PIC is defined. 1.2823 + * src/base/ftstroke.c access ft_outline_glyph_class allocated in 1.2824 + ftglyph.c via macros from basepic.h 1.2825 + 1.2826 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2827 + 1.2828 + Preparing changes in cff parser later needed for PIC version. 1.2829 + 1.2830 + * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c, 1.2831 + src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to 1.2832 + 'CFF_ParserRec' set by `cff_parser_init'. 1.2833 + Route library pointer from 'cff_face_init' to 'cff_subfont_load' 1.2834 + for `cff_parser_init'. 1.2835 + 1.2836 + * src/cff/cffparse.c (CFF_Field_Handler): Move it to... 1.2837 + * src/cff/cffparse.h: This file, to be used by other C files. 1.2838 + 1.2839 +2009-04-05 Oran Agra <oran@monfort.co.il> 1.2840 + 1.2841 + Minor change in ftstroke.c. 1.2842 + 1.2843 + * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with 1.2844 + `library' needed for PIC version. 1.2845 + Update all callers. 1.2846 + 1.2847 +2009-04-04 Werner Lemberg <wl@gnu.org> 1.2848 + 1.2849 + ftnames.c -> ftsnames.c 1.2850 + 1.2851 + * src/base/ftnames.c: Rename to... 1.2852 + * src/base/ftsnames.c: This. 1.2853 + * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated. 1.2854 + 1.2855 +2009-04-04 Werner Lemberg <wl@gnu.org> 1.2856 + 1.2857 + Add support for cmap type 13. 1.2858 + 1.2859 + * devel/ftoption.h, include/freetype/config/ftoption.h 1.2860 + (TT_CONFIG_CMAP_FORMAT_13): New macro. 1.2861 + 1.2862 + * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init, 1.2863 + tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next, 1.2864 + tt_cmap13_get_info, tt_cmap13_char_map_def_binary, 1.2865 + tt_cmap14_class_rec): New functions and structures for cmap 13 1.2866 + support. 1.2867 + (tt_cmap_classes): Register tt_cmap13_class_rec. 1.2868 + 1.2869 + * docs/CHANGES: Mention cmap 13 support. 1.2870 + 1.2871 +2009-04-01 Werner Lemberg <wl@gnu.org> 1.2872 + 1.2873 + Ignore empty contours in CFF glyphs. 1.2874 + 1.2875 + Problem reported by Albert Astals Cid <aacid@kde.org>. 1.2876 + 1.2877 + * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with 1.2878 + t1_builder_close_contour. 1.2879 + 1.2880 +2009-03-21 Werner Lemberg <wl@gnu.org> 1.2881 + 1.2882 + Another redundant header inclusion. 1.2883 + 1.2884 + * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041. 1.2885 + 1.2886 +2009-03-21 Werner Lemberg <wl@gnu.org> 1.2887 + 1.2888 + Remove redundant header inclusions. 1.2889 + 1.2890 + This covers many Ghostscript Coverity issues. 1.2891 + 1.2892 + * src/*: Do it. 1.2893 + 1.2894 +2009-03-21 Werner Lemberg <wl@gnu.org> 1.2895 + 1.2896 + Fix Ghostscript Coverity issue #3904. 1.2897 + 1.2898 + * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against 1.2899 + invalid values of `runcnt'. 1.2900 + 1.2901 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2902 + 1.2903 + Fix `make multi' run. 1.2904 + 1.2905 + * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H. 1.2906 + 1.2907 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2908 + 1.2909 + Fix Savannah bug #25923. 1.2910 + 1.2911 + * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo. 1.2912 + 1.2913 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2914 + 1.2915 + Protect against too large glyphs. 1.2916 + 1.2917 + Problem reported by Tavis Ormandy <taviso@google.com>. 1.2918 + 1.2919 + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow 1.2920 + `pitch' or `height' to be larger than 0xFFFF. 1.2921 + 1.2922 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2923 + Tavis Ormandy <taviso@google.com> 1.2924 + 1.2925 + Fix validation for various cmap table formats. 1.2926 + 1.2927 + * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate, 1.2928 + tt_cmap12_validate): Check `length' correctly. 1.2929 + (tt_cmap_14_validate): Check `length' and `numMappings' correctly. 1.2930 + 1.2931 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2932 + 1.2933 + Protect against malformed compressed data. 1.2934 + 1.2935 + * src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is 1.2936 + zero. 1.2937 + 1.2938 +2009-03-20 Werner Lemberg <wl@gnu.org> 1.2939 + 1.2940 + Protect against invalid SID values in CFFs. 1.2941 + 1.2942 + Problem reported by Tavis Ormandy <taviso@google.com>. 1.2943 + 1.2944 + * src/cff/cffload.c (cff_charset_load): Reject SID values larger 1.2945 + than 64999. 1.2946 + 1.2947 +2009-03-19 Vincent Richomme <richom.v@free.fr> 1.2948 + 1.2949 + Update WinCE Visual C project files. 1.2950 + 1.2951 + * builds/wince/vc2005-ce/freetype.vcproj, 1.2952 + builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension 1.2953 + files. 1.2954 + 1.2955 +2009-03-19 Werner Lemberg <wl@gnu.org> 1.2956 + 1.2957 + Remove unused Win32 code. 1.2958 + 1.2959 + * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'. 1.2960 + Since Win32 is handled separately this is no longer needed. 1.2961 + 1.2962 +2009-03-19 Vincent Richomme <richom.v@free.fr> 1.2963 + 1.2964 + Make `gzip' module compile on WinCE. 1.2965 + 1.2966 + * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H. 1.2967 + 1.2968 +2009-03-19 Werner Lemberg <wl@gnu.org> 1.2969 + 1.2970 + Remove unused WinCE code. 1.2971 + 1.2972 + * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'. 1.2973 + Since WinCE is handled separately this is no longer needed. 1.2974 + 1.2975 +2009-03-16 Werner Lemberg <wl@gnu.org> 1.2976 + 1.2977 + docmaker: Don't ignore single-line code blocks. 1.2978 + 1.2979 + * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from 1.2980 + 2009-01-31. 1.2981 + 1.2982 +2009-03-15 Steve Langasek <steve.langasek@canonical.com> 1.2983 + 1.2984 + Use __asm__ for declaring assembly instead of asm. 1.2985 + 1.2986 + * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of 1.2987 + asm on arm, fixing a build failure on armel with -pedantic. 1.2988 + 1.2989 +2009-03-14 Werner Lemberg <wl@gnu.org> 1.2990 + 1.2991 + Fix valgrind warning. 1.2992 + 1.2993 + * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read 1.2994 + past the end of the frame. 1.2995 + 1.2996 +2009-03-12 Werner Lemberg <wl@gnu.org> 1.2997 + 1.2998 + * Version 2.3.9 released. 1.2999 + ========================= 1.3000 + 1.3001 + 1.3002 + Tag sources with `VER-2-3-9'. 1.3003 + 1.3004 +2009-03-12 Werner Lemberg <wl@gnu.org> 1.3005 + 1.3006 + * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'. 1.3007 + 1.3008 +2009-03-12 Werner Lemberg <wl@gnu.org> 1.3009 + 1.3010 + Fix some FreeType Coverity issues as reported for Ghostscript. 1.3011 + 1.3012 + * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize 1.3013 + `args.stream' (#3874, #3875). 1.3014 + (open_face_PS_from_sfnt_stream): Improve error management (#3786). 1.3015 + * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice' 1.3016 + (#3870). 1.3017 + * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead 1.3018 + code (#3790). 1.3019 + * src/base/ftrfork.c (raccess_guess_apple_generic): Check error 1.3020 + value of `FT_Stream_Skip' (#3784). 1.3021 + 1.3022 + * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing 1.3023 + it (#3872) 1.3024 + 1.3025 + * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing 1.3026 + it (#3871). 1.3027 + * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of 1.3028 + `pcf_get_metric' (#3789, #3782). 1.3029 + (pcf_get_properties): Use FT_STREAM_SKIP (#3783). 1.3030 + 1.3031 + * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of 1.3032 + `acache' (#3797) 1.3033 + 1.3034 + * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff' 1.3035 + (#3796). 1.3036 + * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795). 1.3037 + * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794). 1.3038 + 1.3039 + * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom' 1.3040 + (#3793). 1.3041 + (_bdf_parse_start): Add comment (#3792). 1.3042 + 1.3043 + * src/raster/ftraster.c (Finalize_Profile_Table): Check 1.3044 + `ras.fProfile' (#3791). 1.3045 + 1.3046 + * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785). 1.3047 + 1.3048 + * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore 1.3049 + seek error (#3781). 1.3050 + 1.3051 +2009-03-11 Michael Toftdal <toftdal@gmail.com> 1.3052 + 1.3053 + Extend CID service functions to handle CID-keyed CFFs as CID fonts. 1.3054 + 1.3055 + * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed, 1.3056 + FT_Get_CID_From_Glyph_Index): New functions. 1.3057 + 1.3058 + * include/freetype/internal/services/svcid.h 1.3059 + (FT_CID_GetIsInternallyCIDKeyedFunc, 1.3060 + FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs. 1.3061 + (CID Service): Use them. 1.3062 + 1.3063 + * src/base/ftcid.c: Include FT_CID_H. 1.3064 + (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index): 1.3065 + New functions. 1.3066 + 1.3067 + * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index): 1.3068 + New functions. 1.3069 + (cff_service_cid_info): Add them. 1.3070 + * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids' 1.3071 + -- it is needed for access as a CID-keyed font. It gets deleted 1.3072 + later on. 1.3073 + 1.3074 + * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index): 1.3075 + New functions. 1.3076 + (cid_service_cid_info): Add them. 1.3077 + 1.3078 + * docs/CHANGES: Updated. 1.3079 + 1.3080 +2009-03-11 Bram Tassyns <bramt@enfocus.be> 1.3081 + 1.3082 + Fix Savannah bug #25597. 1.3083 + 1.3084 + * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length 1.3085 + to become larger than 9. 1.3086 + 1.3087 +2009-03-11 Werner Lemberg <wl@gnu.org> 1.3088 + 1.3089 + Fix Savannah bug #25814. 1.3090 + 1.3091 + * builds/unix/freetype2.in: As suggested in the bug report, move 1.3092 + @LIBZ@ to `Libs.private'. 1.3093 + 1.3094 +2009-03-11 Werner Lemberg <wl@gnu.org> 1.3095 + 1.3096 + Fix Savannah bug #25781. 1.3097 + We now simply check for a valid `offset', no longer handling `delta 1.3098 + = 1' specially. 1.3099 + 1.3100 + * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for 1.3101 + last segment. 1.3102 + (tt_cmap4_set_range, tt_cmap4_char_map_linear, 1.3103 + tt_cmap4_char_map_binary): Check offset. 1.3104 + 1.3105 +2009-03-11 Werner Lemberg <wl@gnu.org> 1.3106 + 1.3107 + * src/base/Jamfile: Fix handling of ftadvanc.c. 1.3108 + Reported by Oran Agra <oran@monfort.co.il>. 1.3109 + 1.3110 +2009-03-10 Vincent Richomme <richom.v@free.fr> 1.3111 + 1.3112 + Restructure Win32 and Wince compiler support. 1.3113 + 1.3114 + * src/builds/win32: Remove files for WinCE. 1.3115 + Move VC 2005 support to a separate directory. 1.3116 + Add directory for VC 2008 support. 1.3117 + 1.3118 + * src/builds/wince: New directory hierarchy for WinCE compilers 1.3119 + (VC 2005 and VC 2008). 1.3120 + 1.3121 +2009-03-09 Werner Lemberg <wl@gnu.org> 1.3122 + 1.3123 + More preparations for 2.3.9 release. 1.3124 + 1.3125 + * docs/CHANGES: Updated. 1.3126 + 1.3127 + * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/. 1.3128 + 1.3129 +2009-03-09 Werner Lemberg <wl@gnu.org> 1.3130 + 1.3131 + * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c. 1.3132 + 1.3133 +2009-03-09 Alexey Kryukov <anagnost@yandex.ru> 1.3134 + 1.3135 + Fix handling of EBDT formats 8 and 9 (part 2). 1.3136 + 1.3137 + This patch fixes the following problems in ttsbit0.c: 1.3138 + 1.3139 + . Bitmaps for compound glyphs were never allocated. 1.3140 + 1.3141 + . `SBitDecoder' refused to load metrics if some other metrics have 1.3142 + already been loaded. This condition certainly makes no sense for 1.3143 + recursive calls, so I've just disabled it. Another possibility 1.3144 + would be resetting `decoder->metrics_loaded' to false before 1.3145 + loading each composite component. However, we must restore the 1.3146 + original metrics after finishing the recursion; otherwise we can 1.3147 + get a misaligned glyph. 1.3148 + 1.3149 + . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos', 1.3150 + causing some glyph components to be shifted too far to the right 1.3151 + (especially noticeable for small sizes). 1.3152 + 1.3153 + Note that support for grayscale bitmaps (not necessarily compound) is 1.3154 + completely broken in ttsbit0.c. 1.3155 + 1.3156 + * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics. 1.3157 + (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case 1.3158 + of `h == height'. 1.3159 + (tt_sbit_decoder_load_compound): Reset metrics after loading 1.3160 + components. 1.3161 + Allocate bitmap. 1.3162 + 1.3163 +2009-03-09 Werner Lemberg <wl@gnu.org> 1.3164 + 1.3165 + * builds/unix/configure.raw (version_info): Set to 9:20:3. 1.3166 + 1.3167 +2009-03-03 David Turner <david@freetype.org> 1.3168 + 1.3169 + Protect SFNT kerning table parser against malformed tables. 1.3170 + 1.3171 + This closes Savannah BUG #25750. 1.3172 + 1.3173 + * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a 1.3174 + bug where a malformed table would be successfully loaded but later 1.3175 + crash the engine during parsing. 1.3176 + 1.3177 +2009-03-03 David Turner <david@freetype.org> 1.3178 + 1.3179 + Update documentation and bump version number to 2.3.9. 1.3180 + 1.3181 + * include/freetype/freetype.h: Bump patch version to 9. 1.3182 + * docs/CHANGES: Document the ABI break in 2.3.8. 1.3183 + * docs/VERSION.DLL: Update version numbers table for 2.3.9. 1.3184 + 1.3185 +2009-03-03 David Turner <david@freetype.org> 1.3186 + 1.3187 + Remove ABI-breaking field in public PS_InfoFontRec definition. 1.3188 + 1.3189 + Instead, we define a new internal PS_FontExtraRec structure to 1.3190 + hold the additional field, then place it in various internal 1.3191 + positions of the corresponding FT_Face derived objects. 1.3192 + 1.3193 + * include/freetype/t1tables.h (PS_FontInfoRec): Remove the 1.3194 + `fs_type' field from the public structure. 1.3195 + * include/freetype/internal/psaux.h (T1_FieldLocation): New 1.3196 + enumeration `T1_FIELD_LOCATION_FONT_EXTRA'. 1.3197 + * include/freetype/internal/t1types.h (PS_FontExtraRec): New 1.3198 + structure. 1.3199 + (T1_FontRec, CID_FaceRec): Add it. 1.3200 + 1.3201 + * src/cid/cidload.c (cid_load_keyword): Handle 1.3202 + T1_FIELD_LOCATION_FONT_EXTRA. 1.3203 + * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c: 1.3204 + Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'. 1.3205 + * src/type1/t1load.c (t1_load_keyword): Handle 1.3206 + T1_FIELD_LOCATION_FONT_EXTRA. 1.3207 + 1.3208 + * include/freetype/internal/services/svpsinfo.h (PsInfo service): 1.3209 + Add `PS_GetFontExtraFunc' function typedef. 1.3210 + 1.3211 + * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and 1.3212 + FT_SERVICE_POSTSCRIPT_INFO_H. 1.3213 + (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service. 1.3214 + 1.3215 + * src/cff/cffdrivr.c (cff_service_ps_info): Updated. 1.3216 + * src/cid/cidriver.c (cid_ps_get_font_extra): New function. 1.3217 + (cid_service_ps_info): Updated. 1.3218 + * src/type1/t1driver.c (t1_ps_get_font_extra): New function. 1.3219 + (t1_service_ps_info): Updated. 1.3220 + * src/type42/t42drivr.c (t42_ps_get_font_extra): New function. 1.3221 + (t42_service_ps_info): Updated. 1.3222 + 1.3223 +2009-03-02 Alexey Kryukov <anagnost@yandex.ru> 1.3224 + 1.3225 + Fix handling of EBDT formats 8 and 9. 1.3226 + 1.3227 + The main cycle in `blit_sbit' makes too many iterations: it actually 1.3228 + needs the count of lines in the source bitmap rather than in the 1.3229 + target image. 1.3230 + 1.3231 + * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]: 1.3232 + Add parameter `source_height' and use it for main loop. 1.3233 + (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated. 1.3234 + 1.3235 +2009-02-23 Werner Lemberg <wl@gnu.org> 1.3236 + 1.3237 + Fix Savannah bug #25669. 1.3238 + 1.3239 + * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo. 1.3240 + 1.3241 + * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix 1.3242 + scaling factor for non-scalable fonts. 1.3243 + 1.3244 + * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width 1.3245 + value to prevent incorrect scaling. 1.3246 + 1.3247 + * docs/CHANGES: Document it. 1.3248 + 1.3249 +2009-02-15 Matt Godbolt <matt@godbolt.org> 1.3250 + 1.3251 + Fix Savannah bug #25588. 1.3252 + 1.3253 + * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for 1.3254 + `orr' instruction. 1.3255 + 1.3256 +2009-02-11 Werner Lemberg <wl@gnu.org> 1.3257 + 1.3258 + * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'. 1.3259 + Reported by David Bevan <dbevan@emtex.com>. 1.3260 + 1.3261 +2009-02-09 Werner Lemberg <wl@gnu.org> 1.3262 + 1.3263 + Fix Savannah bug #25495. 1.3264 + 1.3265 + * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before 1.3266 + setting metrics and bbox values. This ensures that the check for a 1.3267 + font with neither a `glyf' table nor bitmap strikes can be performed 1.3268 + early enough to set metrics and bbox values too. 1.3269 + 1.3270 +2009-02-04 Werner Lemberg <wl@gnu.org> 1.3271 + 1.3272 + Fix Savannah bug #25480. 1.3273 + 1.3274 + * builds/unix/freetype-config.in: For --ftversion, don't use $prefix 1.3275 + but $includedir. 1.3276 + 1.3277 +2009-01-31 Werner Lemberg <wl@gnu.org> 1.3278 + 1.3279 + Minor docmaker improvements. 1.3280 + 1.3281 + * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty 1.3282 + code blocks. 1.3283 + 1.3284 +2009-01-25 Werner Lemberg <wl@gnu.org> 1.3285 + 1.3286 + Fix SCANCTRL handling in TTFs. 1.3287 + Problem reported by Alexey Kryukov <anagnost@yandex.ru>. 1.3288 + 1.3289 + * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling. 1.3290 + 1.3291 +2009-01-23 Werner Lemberg <wl@gnu.org> 1.3292 + 1.3293 + Move FT_Get_FSType_Flags to a separate file. 1.3294 + Problem reported by Mickey Gabel <mickey@monfort.co.il>. 1.3295 + 1.3296 + * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to... 1.3297 + * src/base/ftfstype.c: This new file. 1.3298 + 1.3299 + * modules.cfg (BASE_EXTENSION): Add ftfstype.c. 1.3300 + 1.3301 + * docs/INSTALL.ANY: Updated. 1.3302 + 1.3303 + * builds/mac/*.txt, builds/amiga/*makefile*, 1.3304 + builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*: 1.3305 + Updated. 1.3306 + 1.3307 +2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3308 + 1.3309 + * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error 1.3310 + messages ending without "\n". 1.3311 + 1.3312 +2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3313 + 1.3314 + Fix Savannah bug #25347. 1.3315 + 1.3316 + * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind 1.3317 + the stream to the original position passed to this function, 1.3318 + when ft_lookup_PS_in_sfnt_stream() failed. 1.3319 + (Mac_Read_sfnt_Resource): Rewind the stream to the head of 1.3320 + sfnt resource body, when open_face_PS_from_sfnt_stream() 1.3321 + failed. 1.3322 + 1.3323 +2009-01-19 Michael Lotz <mmlr@mlotz.ch> 1.3324 + 1.3325 + Fix Savannah bug #25355. 1.3326 + 1.3327 + * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make 1.3328 + assembler code work with gcc 2.95.3 (as used by the Haiku project). 1.3329 + Add `cc' register to the clobber list. 1.3330 + 1.3331 +2009-01-18 Werner Lemberg <wl@gnu.org> 1.3332 + 1.3333 + Protect FT_Get_Next_Char. 1.3334 + 1.3335 + * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to 1.3336 + change from 2008-07-22. 1.3337 + 1.3338 + Patch from Ronen Ghoshal <rghoshal@emtex.com>. 1.3339 + 1.3340 +2009-01-18 Werner Lemberg <wl@gnu.org> 1.3341 + 1.3342 + Implement FT_Get_Name_Index for SFNT driver. 1.3343 + 1.3344 + * src/sfnt/sfdriver.c (sfnt_get_name_index): New function. 1.3345 + (sfnt_service_glyph_dict): Use it. 1.3346 + 1.3347 + Problem reported by Truc Truong <tructv@necsv.com>. 1.3348 + 1.3349 +2009-01-18 Werner Lemberg <wl@gnu.org> 1.3350 + 1.3351 + * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix 1.3352 + documentation. Problem reported by Truc Truong <tructv@necsv.com>. 1.3353 + 1.3354 + * docs/CHANGES: Updated. 1.3355 + 1.3356 +2009-01-14 Werner Lemberg <wl@gnu.org> 1.3357 + 1.3358 + * Version 2.3.8 released. 1.3359 + ========================= 1.3360 + 1.3361 + 1.3362 + Tag sources with `VER-2-3-8'. 1.3363 + 1.3364 + * docs/VERSION.DLL: Update documentation and bump version number to 1.3365 + 2.3.8. 1.3366 + 1.3367 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.3368 + builds/win32/visualc/freetype.dsp, 1.3369 + builds/win32/visualc/freetype.vcproj, 1.3370 + builds/win32/visualce/index.html, 1.3371 + builds/win32/visualce/freetype.dsp, 1.3372 + builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/. 1.3373 + 1.3374 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. 1.3375 + 1.3376 + * builds/unix/configure.raw (version_info): Set to 9:19:3. 1.3377 + 1.3378 + * docs/release: Updated. 1.3379 + 1.3380 +2009-01-14 Werner Lemberg <wl@gnu.org> 1.3381 + 1.3382 + * builds/toplevel.mk (dist): Compress better. 1.3383 + 1.3384 +2009-01-13 Werner Lemberg <wl@gnu.org> 1.3385 + 1.3386 + * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation 1.3387 + with C++. 1.3388 + 1.3389 +2009-01-13 Werner Lemberg <wl@gnu.org> 1.3390 + 1.3391 + Don't use stdlib.h and friends directly. 1.3392 + Reported by Mickey Gabel <mickey@monfort.co.il>. 1.3393 + 1.3394 + * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/. 1.3395 + 1.3396 + * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h: 1.3397 + s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/. 1.3398 + 1.3399 + * src/autofit/aftypes.h, src/autofit/afhints.c, 1.3400 + src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/ 1.3401 + 1.3402 + * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h. 1.3403 + 1.3404 +2009-01-12 Werner Lemberg <wl@gnu.org> 1.3405 + 1.3406 + Avoid compiler warnings. 1.3407 + 1.3408 + * */*: s/do ; while ( 0 )/do { } while ( 0 )/. 1.3409 + Reported by Sean McBride <sean@rogue-research.com>. 1.3410 + 1.3411 +2009-01-12 Werner Lemberg <wl@gnu.org> 1.3412 + 1.3413 + Fix stdlib dependencies. 1.3414 + 1.3415 + Problem reported by Mickey Gabel <mickey@monfort.co.il>. 1.3416 + 1.3417 + * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused. 1.3418 + 1.3419 + * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c: 1.3420 + s/memcpy/ft_memcpy/. 1.3421 + * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/. 1.3422 + 1.3423 +2009-01-11 Werner Lemberg <wl@gnu.org> 1.3424 + 1.3425 + * docs/formats.txt: Add link to PCF specification. 1.3426 + 1.3427 + * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve 1.3428 + documentation. 1.3429 + 1.3430 +2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3431 + 1.3432 + * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, 1.3433 + FT_Get_Advances): Change the type of load_flags from FT_UInt32 to 1.3434 + FT_Int32, to match with the flags for FT_Load_Glyph(). 1.3435 + * src/cff/cffdrivr.c (cff_get_advances): Ditto. 1.3436 + * src/truetype/ttdriver.c (tt_get_advances): Ditto. 1.3437 + * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): 1.3438 + Ditto. 1.3439 + * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): 1.3440 + Ditto. 1.3441 + 1.3442 +2009-01-09 Daniel Zimmermann <netzimme@aol.com> 1.3443 + 1.3444 + * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong 1.3445 + length check. From Savannah patch #6682. 1.3446 + 1.3447 +2009-01-09 Werner Lemberg <wl@gnu.org> 1.3448 + 1.3449 + Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2. 1.3450 + 1.3451 + * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle 1.3452 + `count_offset' if it is zero (i.e., unused). Otherwise, the first 1.3453 + element of the structure which holds the data is erroneously 1.3454 + modified. Problem reported by Chi Nguyen <chint@necsv.com>. 1.3455 + 1.3456 +2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3457 + 1.3458 + * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance, 1.3459 + FT_Get_Advances): Extend the type of load_flags from FT_UInt to 1.3460 + FT_UInt32, to pass 32-bit flags on 16bit platforms. 1.3461 + * src/cff/cffdrivr.c (cff_get_advances): Ditto. 1.3462 + * src/truetype/ttdriver.c (tt_get_advances): Ditto. 1.3463 + * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances): 1.3464 + Ditto. 1.3465 + * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): 1.3466 + Ditto. 1.3467 + 1.3468 +2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3469 + 1.3470 + * src/base/ftobjs.c (FT_Done_Library): Issue an error message when 1.3471 + FT_Done_Face() cannot free all faces. If the list of the opened 1.3472 + faces includes broken face which FT_Done_Face() cannot free, 1.3473 + FT_Done_Library() retries FT_Done_Face() and it can fall into 1.3474 + an endless loop. See the discussion: 1.3475 + http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html 1.3476 + http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html 1.3477 + 1.3478 +2009-01-07 Werner Lemberg <wl@gnu.org> 1.3479 + 1.3480 + * docs/CHANGES: Document new key `a' in ftdiff. 1.3481 + 1.3482 +2009-01-06 Werner Lemberg <wl@gnu.org> 1.3483 + 1.3484 + * autogen.sh: Don't use GNUisms while calling sed. Problem reported 1.3485 + by Sean McBride. 1.3486 + 1.3487 +2009-01-06 Werner Lemberg <wl@gnu.org> 1.3488 + 1.3489 + * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD 1.3490 + and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen 1.3491 + <chint@necsv.com>. 1.3492 + 1.3493 +2009-01-06 Diego Pettenò <flameeyes@gmail.com> 1.3494 + 1.3495 + * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and 1.3496 + AC_CANONICAL_TARGET and use $host_os only. A nice explanation for 1.3497 + this change can be found at 1.3498 + http://blog.flameeyes.eu/s/canonical-target. 1.3499 + 1.3500 + From Savannah patch #6712. 1.3501 + 1.3502 +2009-01-06 Sean McBride <sean@rogue-research.com> 1.3503 + 1.3504 + * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static. 1.3505 + 1.3506 + * src/base/ftmac.c: Remove some #undefs. 1.3507 + 1.3508 +2008-12-26 Werner Lemberg <wl@gnu.org> 1.3509 + 1.3510 + Set `face_index' field in FT_Face for all font formats. 1.3511 + 1.3512 + * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init), 1.3513 + sfnt/sfobjs.c (sfnt_init_face): Do it. 1.3514 + 1.3515 + * docs/CHANGES: Document it. 1.3516 + 1.3517 +2008-12-22 Steve Grubb 1.3518 + 1.3519 + * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files. 1.3520 + Patch from Savannah bug #25151. 1.3521 + 1.3522 +2008-12-21 Werner Lemberg <wl@gnu.org> 1.3523 + 1.3524 + * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c, 1.3525 + src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c: 1.3526 + s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for 1.3527 + errors in the bytecode interpreter only. 1.3528 + 1.3529 +2008-12-21 Werner Lemberg <wl@gnu.org> 1.3530 + 1.3531 + * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL 1.3532 + arguments. 1.3533 + Fix return value for non-PFR fonts. Both problems reported by Chi 1.3534 + Nguyen <chint@necsv.com>. 1.3535 + 1.3536 +2008-12-21 anonymous 1.3537 + 1.3538 + FT_USE_MODULE declares things as: 1.3539 + 1.3540 + extern const FT_Module_Class 1.3541 + 1.3542 + (or similar for C++). However, the actual types of the variables 1.3543 + being declared are often different, e.g., FT_Driver_ClassRec or 1.3544 + FT_Renderer_Class. (Some are, indeed, FT_Module_Class.) 1.3545 + 1.3546 + This works with most C compilers (since those structs begin with an 1.3547 + FT_Module_Class struct), but technically it's undefined behavior. 1.3548 + 1.3549 + To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7 1.3550 + paragraph 2: 1.3551 + 1.3552 + All declarations that refer to the same object or function shall 1.3553 + have compatible type; otherwise, the behavior is undefined. 1.3554 + 1.3555 + (And they are not compatible types.) 1.3556 + 1.3557 + Most C compilers don't reject (or even detect!) code which has this 1.3558 + issue, but the GCC LTO development branch compiler does. (It 1.3559 + outputs the types of the objects while generating .o files, along 1.3560 + with a bunch of other information, then compares them when doing the 1.3561 + final link-time code generation pass.) 1.3562 + 1.3563 + Patch from Savannah bug #25133. 1.3564 + 1.3565 + * src/base/ftinit.c (FT_USE_MODULE): Include variable type. 1.3566 + 1.3567 + * builds/amiga/include/freetype/config/ftmodule.h, 1.3568 + include/freetype/config/ftmodule.h, */module.mk: Updated to declare 1.3569 + pass correct types to FT_USE_MODULE. 1.3570 + 1.3571 +2008-12-21 Hongbo Ni <hongbo@njstar.com> 1.3572 + 1.3573 + * src/autofit/aflatin.c (af_latin_hint_edges), 1.3574 + src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c 1.3575 + (af_cjk_hint_edges): Protect against division by zero. This fixes 1.3576 + Savannah bug #25124. 1.3577 + 1.3578 +2008-12-18 Werner Lemberg <wl@gnu.org> 1.3579 + 1.3580 + * docs/CHANGES: Updated. 1.3581 + 1.3582 +2008-12-18 Bevan, David <dbevan@emtex.com> 1.3583 + 1.3584 + Provide API for accessing embedding and subsetting restriction 1.3585 + information. 1.3586 + 1.3587 + * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING, 1.3588 + FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING, 1.3589 + FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING, 1.3590 + FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New 1.3591 + macros. 1.3592 + (FT_Get_FSType_Flags): New function declaration. 1.3593 + 1.3594 + * src/base/ftobjs.c (FT_Get_FSType_Flags): New function. 1.3595 + 1.3596 + * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c 1.3597 + (t42_keywords): Handle `FSType'. 1.3598 + 1.3599 + * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field. 1.3600 + 1.3601 +2008-12-17 Werner Lemberg <wl@gnu.org> 1.3602 + 1.3603 + * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal 1.3604 + macros so that copying the source code into an application works 1.3605 + out of the box. 1.3606 + 1.3607 +2008-12-17 Werner Lemberg <wl@gnu.org> 1.3608 + 1.3609 + * include/freetype/ftsynth.h, src/base/ftsynth.c: Move 1.3610 + FT_GlyphSlot_Own_Bitmap to... 1.3611 + * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files. 1.3612 + 1.3613 + * docs/CHANGES: Document it. 1.3614 + 1.3615 +2008-12-10 Werner Lemberg <wl@gnu.org> 1.3616 + 1.3617 + Generalize the concept of `tricky' fonts by introducing 1.3618 + FT_FACE_FLAG_TRICKY to indicate that the font format's hinting 1.3619 + engine is necessary for correct rendering. 1.3620 + 1.3621 + At the same time, slightly modify the behaviour of tricky fonts: 1.3622 + FT_LOAD_NO_HINTING is now ignored. To really force raw loading 1.3623 + of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and 1.3624 + FT_LOAD_NO_AUTOHINT must be used. 1.3625 + 1.3626 + Finally, tricky TrueType fonts always use the bytecode interpreter 1.3627 + even if the patented code is used. 1.3628 + 1.3629 + * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY): 1.3630 + New macros. 1.3631 + 1.3632 + * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags 1.3633 + semantics as described above. 1.3634 + 1.3635 + * src/truetype/ttobjs.c (tt_check_trickyness): New function, using 1.3636 + code of ... 1.3637 + (tt_face_init): This function, now simplified and updated to new 1.3638 + semantics. 1.3639 + 1.3640 + * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky 1.3641 + fonts. 1.3642 + 1.3643 + * docs/CHANGES: Document it. 1.3644 + 1.3645 +2008-12-09 Werner Lemberg <wl@gnu.org> 1.3646 + 1.3647 + Really fix Savannah bug #25010: An SFNT font with neither outlines 1.3648 + nor bitmaps can be considered as containing space `glyphs' only. 1.3649 + 1.3650 + * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where 1.3651 + a `glyf' table is missing. 1.3652 + 1.3653 + * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no 1.3654 + `glyf' table but a non-zero `loca' entry. 1.3655 + (tt_loader_init): Handle missing `glyf' table. 1.3656 + 1.3657 + * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05. 1.3658 + 1.3659 + * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines 1.3660 + nor bitmaps is scalable. 1.3661 + 1.3662 +2008-12-05 Werner Lemberg <wl@nu.org> 1.3663 + 1.3664 + * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This 1.3665 + fixes Savannah bug #21190 which also provides a basic patch. 1.3666 + 1.3667 +2008-12-05 Werner Lemberg <wl@nu.org> 1.3668 + 1.3669 + * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value 1.3670 + 0x100 instead of 0x10000; the latter value is already occupied by 1.3671 + FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos. 1.3672 + 1.3673 + 1.3674 + Handle SFNT with neither outlines nor bitmaps. This fixes Savannah 1.3675 + bug #25010. 1.3676 + 1.3677 + * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither 1.3678 + outlines nor bitmaps. 1.3679 + 1.3680 + * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there 1.3681 + is no table with glyphs. 1.3682 + 1.3683 + 1.3684 + * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging 1.3685 + message. 1.3686 + 1.3687 +2008-12-01 Werner Lemberg <wl@gnu.org> 1.3688 + 1.3689 + GDEF tables need `glyph_count' too for validation. Problem reported 1.3690 + by Chi Nguyen <chint@necsv.com>. 1.3691 + 1.3692 + * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h 1.3693 + (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass 1.3694 + `glyph_count'. 1.3695 + 1.3696 +2008-11-29 Werner Lemberg <wl@gnu.org> 1.3697 + 1.3698 + * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c, 1.3699 + src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c, 1.3700 + src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c, 1.3701 + src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c, 1.3702 + src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings 1.3703 + (Atari PureC). 1.3704 + 1.3705 +2008-11-29 James Cloos <cloos@jhcloos.com> 1.3706 + 1.3707 + * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix 1.3708 + it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values 1.3709 + in the /BlendDesignMap space). 1.3710 + 1.3711 +2008-11-29 James Cloos <cloos@jhcloos.com> 1.3712 + 1.3713 + * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*, 1.3714 + whereas `design_points' is FT_Long*. Therefore, return blend rather 1.3715 + than design points. 1.3716 + 1.3717 +2008-11-27 Werner Lemberg <wl@gnu.org> 1.3718 + 1.3719 + * src/cff/cffparse.c (cff_parse_real): Handle more than nine 1.3720 + significant digits correctly. This fixes Savannah bug #24953. 1.3721 + 1.3722 +2008-11-25 Daniel Zimmermann <netzimme@aol.com> 1.3723 + 1.3724 + * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream 1.3725 + before the NULL check. From Savannah patch #6681. 1.3726 + 1.3727 +2008-11-24 Werner Lemberg <wl@gnu.org> 1.3728 + 1.3729 + Fixes from the gnuwin32 port. 1.3730 + 1.3731 + * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. 1.3732 + 1.3733 + * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. 1.3734 + 1.3735 + * src/psaux/psobjs.c (ps_table_add): Check `length'. 1.3736 + 1.3737 +2008-11-15 Werner Lemberg <wl@gnu.org> 1.3738 + 1.3739 + * src/truetype/ttinterp.c (tt_default_graphics_state): The default 1.3740 + value for `scan_type' is zero, as confirmed by Greg Hitchcock from 1.3741 + Microsoft. Problem reported by Michal Nowakowski 1.3742 + <miszka@limes.com.pl>. 1.3743 + 1.3744 +2008-11-12 Tor Andersson <tor.andersson@gmail.com> 1.3745 + 1.3746 + * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field. 1.3747 + This fixes Savannah bug #24819. 1.3748 + 1.3749 +2008-11-08 Werner Lemberg <wl@gnu.org> 1.3750 + 1.3751 + * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards 1.3752 + since OpenType version 1.5 has been released. 1.3753 + 1.3754 + * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY, 1.3755 + TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5. 1.3756 + (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE, 1.3757 + TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN, 1.3758 + TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE, 1.3759 + TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI, 1.3760 + TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC, 1.3761 + TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA, 1.3762 + TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING, 1.3763 + TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE, 1.3764 + TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI, 1.3765 + TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS, 1.3766 + TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New 1.3767 + macros for OpenType 1.5. 1.3768 + 1.3769 +2008-11-08 Wenlin Institute <wenlin@wenlin.com> 1.3770 + 1.3771 + * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against 1.3772 + slot->internal == NULL. Reported by Graham Asher. 1.3773 + 1.3774 +2008-11-08 Werner Lemberg <wl@gnu.org> 1.3775 + 1.3776 + * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error 1.3777 + code so that memory allocation problems can be distinguished from 1.3778 + missing table entries. Reported by Graham Asher. 1.3779 + (GET_NAME): New macro. 1.3780 + (sfnt_load_face): Use it. 1.3781 + 1.3782 +2008-11-05 Werner Lemberg <wl@gnu.org> 1.3783 + 1.3784 + * devel/ftoption.h, include/freetype/config/ftoption.h 1.3785 + [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine 1.3786 + TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of 1.3787 + `FT_Get_TrueType_Engine_Type' (and makes it work as documented). 1.3788 + Reported in bug #441638 of bugzilla.novell.com. 1.3789 + 1.3790 + * docs/CHANGES: Document it. 1.3791 + 1.3792 +2008-11-03 Werner Lemberg <wl@gnu.org> 1.3793 + 1.3794 + * src/type1/t1load.c (parse_subrs): Use an endless loop. There are 1.3795 + fonts (like HELVI.PFB version 003.001, used on OS/2) which define 1.3796 + some `subrs' elements more than once. Problem reported by Peter 1.3797 + Weilbacher <mozilla@weilbacher.org>. 1.3798 + 1.3799 +2008-10-15 Graham Asher <graham.asher@btinternet.com> 1.3800 + 1.3801 + * src/sfnt/ttpost.c (tt_post_default_names): Add `const'. 1.3802 + 1.3803 +2008-10-15 David Turner <david@freetype.org> 1.3804 + 1.3805 + * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for 1.3806 + meddlesome compilers' warning against `for ( ...; ...; ...) ;'. 1.3807 + 1.3808 +2008-10-14 Werner Lemberg <wl@gnu.org> 1.3809 + 1.3810 + * src/cff/cffobjs.c (cff_face_init): Remove compiler warning. 1.3811 + Suggested by Bram Tassyns in Savannah patch #6651. 1.3812 + 1.3813 +2008-10-12 Graham Asher <graham.asher@btinternet.com> 1.3814 + 1.3815 + * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of 1.3816 + `underline_position'. 1.3817 + 1.3818 +2008-10-12 Werner Lemberg <wl@gnu.org> 1.3819 + 1.3820 + * docs/CHANGES: Updated. 1.3821 + 1.3822 +2008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3823 + 1.3824 + Fix Savannah bug #24468. 1.3825 + 1.3826 + According to include/freetype/internal/ftobjs.h, the appropriate 1.3827 + type to interchange single character codepoint is FT_UInt32. It 1.3828 + should be distinguished from FT_UInt which can be 16bit integer. 1.3829 + 1.3830 + * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type 1.3831 + of the second argument `pcharcode' from FT_UInt* to FT_UInt32*. 1.3832 + (tt_cmap4_char_map_binary): Ditto. 1.3833 + (tt_cmap14_get_nondef_chars): Change the type of return value 1.3834 + from FT_UInt* to FT_UInt32*. 1.3835 + 1.3836 +2008-10-08 John Tytgat <John.Tytgat@esko.com> 1.3837 + 1.3838 + Fix Savannah bug #24485. 1.3839 + 1.3840 + * src/type1/t1load.c (parse_charstrings): Assure that we always have 1.3841 + a .notdef glyph. 1.3842 + 1.3843 +2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3844 + 1.3845 + * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build. 1.3846 + * builds/mac/ftmac.c: Ditto. 1.3847 + 1.3848 +2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3849 + 1.3850 + * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions. 1.3851 + * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H. 1.3852 + 1.3853 +2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3854 + 1.3855 + * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in 1.3856 + the beginning of sfnt container. 1.3857 + * src/sfnt/ttload.c (check_table_dir): Return 1.3858 + `SFNT_Err_Table_Missing' when sfnt table directory structure is 1.3859 + correct but essential tables for TrueType fonts (`head', `bhed' or 1.3860 + `SING') are missing. Other errors are returned by 1.3861 + SFNT_Err_Unknown_File_Format. 1.3862 + 1.3863 + * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns 1.3864 + `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is 1.3865 + enabled only when old mac font support is configured. 1.3866 + 1.3867 +2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3868 + 1.3869 + * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN, 1.3870 + TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify 1.3871 + the repeated calculations of these values in ftobjs.c and ftmac.c. 1.3872 + * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags. 1.3873 + * src/base/ftmac.c: Ditto. 1.3874 + * builds/mac/ftmac.c: Ditto. 1.3875 + 1.3876 +2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3877 + 1.3878 + * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong 1.3879 + initialization of *is_sfnt_cid. 1.3880 + 1.3881 +2008-10-04 Werner Lemberg <wl@gnu.org> 1.3882 + 1.3883 + * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler 1.3884 + warnings. 1.3885 + 1.3886 +2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3887 + 1.3888 + * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by... 1.3889 + (ft_lookup_PS_in_sfnt_stream): This. 1.3890 + (open_face_PS_from_sfnt_stream): New function. It checks whether 1.3891 + the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed 1.3892 + font, then try to open a face for given face_index. 1.3893 + (Mac_Read_sfnt_Resource): Replace the combination of 1.3894 + `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by 1.3895 + `open_face_PS_from_sfnt_stream'. 1.3896 + * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto. 1.3897 + * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. 1.3898 + * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add 1.3899 + `open_face_PS_from_sfnt_stream'. 1.3900 + 1.3901 +2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3902 + 1.3903 + * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to 1.3904 + FALSE if neither `CID ' nor `TYP1' is found in the sfnt container. 1.3905 + 1.3906 +2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3907 + 1.3908 + * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or 1.3909 + MrC compiler of MPW is used. These compilers do not define the 1.3910 + macro __APPLE__ by themselves. 1.3911 + * builds/unix/ftconfig.in: Ditto. 1.3912 + * builds/vms/ftconfig.h: Ditto. 1.3913 + * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to 1.3914 + include ftmac.c if FreeType 2 is built by MPW. 1.3915 + * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to 1.3916 + enable shared functions for ftmac.c if FreeType 2 is built by MPW. 1.3917 + 1.3918 + * builds/mac/ftmac.c: Include ftbase.h. 1.3919 + (memory_stream_close): Removed. 1.3920 + (new_memory_stream): Ditto. 1.3921 + (open_face_from_buffer): Removed. Use the implementation in 1.3922 + ftobjs.c. 1.3923 + (ft_lookup_PS_in_sfnt): Ditto. 1.3924 + 1.3925 + * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an 1.3926 + included part of ftbase.c, to share the functions in ftobjs.c. The 1.3927 + rule compiling ftmac.c separately is removed and the rule copying 1.3928 + ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added. 1.3929 + * builds/mac/FreeType.m68k_cfm.make.txt: Ditto. 1.3930 + * builds/mac/FreeType.ppc_classic.make.txt: Ditto. 1.3931 + * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. 1.3932 + 1.3933 +2008-10-02 Bram Tassyns <bramt@enfocus.be> 1.3934 + 1.3935 + * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This 1.3936 + fixes Savannah bug #24430. 1.3937 + 1.3938 +2008-10-02 Werner Lemberg <wl@gnu.org> 1.3939 + 1.3940 + * builds/freetype.mk (BASE_H): Rename to... 1.3941 + (INTERNAL_H): This. 1.3942 + (FREETYPE_H): Updated. 1.3943 + * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H. 1.3944 + * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h. 1.3945 + * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h. 1.3946 + * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h. 1.3947 + * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h. 1.3948 + * src/type42/rules.mk (T42_DRV_H): Add t42types.h. 1.3949 + 1.3950 +2008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3951 + 1.3952 + * src/base/ftbase.h: New file to declare the private utility 1.3953 + functions shared by the sources of base modules. Currently, 1.3954 + `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to 1.3955 + share between ftobjs.c and ftmac.c. 1.3956 + 1.3957 + * src/base/rule.mk: Add ftbase.h. 1.3958 + 1.3959 + * src/base/ftobjs.c: Include ftbase.h. 1.3960 + (memory_stream_close): Build on any platform when old MacOS font 1.3961 + support is enabled. 1.3962 + (new_memory_stream): Ditto. 1.3963 + (open_face_from_buffer): Build on any platform when old MacOS font 1.3964 + support is enabled. The counting of the face in a font file is 1.3965 + slightly different between Carbon-dependent parser and Carbon-free 1.3966 + parser. They are merged with the platform-specific conditional. 1.3967 + (ft_lookup_PS_in_sfnt): Ditto. 1.3968 + 1.3969 + * src/base/ftmac.c: Include ftbase.h. 1.3970 + (memory_stream_close): Removed. 1.3971 + (new_memory_stream): Ditto. 1.3972 + (open_face_from_buffer): Removed. Use the implementation in 1.3973 + ftobjs.c. 1.3974 + (ft_lookup_PS_in_sfnt): Ditto. 1.3975 + 1.3976 +2008-10-02 Werner Lemberg <wl@gnu.org> 1.3977 + 1.3978 + * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed 1.3979 + if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined. 1.3980 + 1.3981 +2008-10-01 Werner Lemberg <wl@gnu.org> 1.3982 + 1.3983 + * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c 1.3984 + (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done), 1.3985 + src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c 1.3986 + (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done), 1.3987 + src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0. 1.3988 + Reported by Graham Asher. 1.3989 + 1.3990 +2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.3991 + 1.3992 + * src/base/rules.mk: Add conditional source to BASE_SRC, for `make 1.3993 + multi' on Mac OS X. If the macro $(ftmac_c) is defined, 1.3994 + $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the 1.3995 + lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes 1.3996 + ftmac.c. 1.3997 + * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c). 1.3998 + * builds/unix/configure.raw: Add procedure to set up appropriate 1.3999 + value of $(ftmac_c) with the consideration of the availability of 1.4000 + Carbon framework. 1.4001 + 1.4002 +2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4003 + 1.4004 + * src/base/Jamfile: Add target for multi build by jam on Mac OS X. 1.4005 + * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this 1.4006 + function for MPW building. It is synchronized the condition to 1.4007 + include ftmac.c source into ftbase.c. 1.4008 + 1.4009 +2008-09-22 Werner Lemberg <wl@gnu.org> 1.4010 + 1.4011 + * src/cff/cffgload.c (CFF_Operator, cff_argument_counts, 1.4012 + cff_decoder_parse_charstrings): Handle (invalid) 1.4013 + `callothersubr' and `pop' instructions. 1.4014 + 1.4015 +2008-09-22 John Tytgat <John.Tytgat@esko.com> 1.4016 + 1.4017 + Fix Savannah bug #24307. 1.4018 + 1.4019 + * include/freetype/internal/t1types.h (CID_FaceRec), 1.4020 + src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'. 1.4021 + 1.4022 +2008-09-21 Werner Lemberg <wl@gnu.org> 1.4023 + 1.4024 + * src/smooth/ftgrays.c (gray_raster_render): Don't dereference 1.4025 + `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by 1.4026 + Stephan T. Lavavej <stl@nuwen.net>. 1.4027 + 1.4028 +2008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4029 + 1.4030 + * src/otvalid/Jamfile: Add missing target `otvmath' for multi build 1.4031 + by jam. 1.4032 + * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by 1.4033 + jam. 1.4034 + 1.4035 +2008-09-20 Werner Lemberg <wl@gnu.org> 1.4036 + 1.4037 + * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values 1.4038 + passed to this function are already `normalized'. Problem reported 1.4039 + by Stephan T. Lavavej <stl@nuwen.net>. 1.4040 + 1.4041 + * docs/CHANGES: Document it. 1.4042 + 1.4043 +2008-09-20 Werner Lemberg <wl@gnu.org> 1.4044 + 1.4045 + * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H. 1.4046 + (FT_Outline_Decompose): Decorate with tracing messages. 1.4047 + 1.4048 + * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with 1.4049 + FT_DEBUG_LEVEL_TRACE. 1.4050 + [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and 1.4051 + stdarg.h. 1.4052 + 1.4053 + (FT_TRACE) [_STANDALONE_]: Remove. 1.4054 + (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function. 1.4055 + (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros. 1.4056 + (FT_ERROR) [_STANDALONE_]: Updated. 1.4057 + 1.4058 + (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition. 1.4059 + Use FT_TRACE7. 1.4060 + (gray_dump_cells): Make it `static void'. 1.4061 + (gray_convert_glyph): Use FT_TRACE7. 1.4062 + 1.4063 + (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in 1.4064 + ftoutln.c. 1.4065 + 1.4066 + * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use 1.4067 + FT_ERROR_BASE. 1.4068 + 1.4069 + * docs/formats.txt: Updated. 1.4070 + 1.4071 +2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4072 + 1.4073 + * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped 1.4074 + CID-keyed font support. 1.4075 + * builds/mac/ftmac.c: Ditto. 1.4076 + 1.4077 +2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4078 + 1.4079 + * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in 1.4080 + sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code. 1.4081 + `open_face_from_buffer' frees the passed buffer if it cannot open a 1.4082 + face from the buffer, so the caller must not free it. 1.4083 + 1.4084 +2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4085 + 1.4086 + * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support 1.4087 + for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font. 1.4088 + (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID ' 1.4089 + table in sfnt table directory. It is used before loading TrueType 1.4090 + font driver. 1.4091 + 1.4092 + * docs/CHANGES: Add note about the current status of sfnt-wrapped 1.4093 + Type1 and sfnt-wrapped CID-keyed font support. 1.4094 + 1.4095 +2008-09-18 Werner Lemberg <wl@gnu.org> 1.4096 + 1.4097 + * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for 1.4098 + orthogonality (ft_free and ft_sfree could belong to different memory 1.4099 + pools). This fixes Savannah bug #24297. 1.4100 + 1.4101 +2008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4102 + 1.4103 + * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined 1.4104 + in ttags.h instead of numerical value 0x4F54544FL. 1.4105 + 1.4106 +2008-09-16 Werner Lemberg <wl@gnu.org> 1.4107 + 1.4108 + * src/cff/cffgload.h, src/cff/cffgload.c 1.4109 + (cff_decoder_set_width_only): Eliminate function call. 1.4110 + 1.4111 +2008-09-15 George Williams <gww@silcom.com> 1.4112 + 1.4113 + Fix Savannah bug #24179, reported by Bram Tassyns. 1.4114 + 1.4115 + * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation 1.4116 + of default values. 1.4117 + 1.4118 +2008-09-15 Werner Lemberg <wl@gnu.org> 1.4119 + 1.4120 + * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index' 1.4121 + and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to 1.4122 + prevent unconditional definition. This fixes Savannah bug #24241. 1.4123 + 1.4124 + * src/psnames/pstables.h: Regenerated. 1.4125 + 1.4126 +2008-09-13 Werner Lemberg <wl@gnu.org> 1.4127 + 1.4128 + * autogen.sh, builds/unix/configure.raw, 1.4129 + include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor 1.4130 + beautifying. 1.4131 + 1.4132 + * include/freetype/ftadvanc.h, include/freetype/ftgasp.h, 1.4133 + include/freetype/ftlcdfil.h: Protect against FreeType 1. 1.4134 + Some other minor fixes. 1.4135 + 1.4136 + * devel/ftoption.h: Synchronize with 1.4137 + include/freetype/config/ftoption.h. 1.4138 + 1.4139 +2008-09-11 Werner Lemberg <wl@gnu.org> 1.4140 + 1.4141 + * src/base/ftbase.c: Include ftadvanc.c. 1.4142 + 1.4143 +2008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4144 + 1.4145 + * builds/unix/ftconfig.in: Duplicate the cpp computation of 1.4146 + FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h. 1.4147 + (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp 1.4148 + computation is disabled and the statically configured sizes are 1.4149 + used. This fixes Savannah bug #21250. 1.4150 + 1.4151 + * builds/unix/configure.raw: Add the checks to compare the cpp 1.4152 + computation results of the bit length of int and long versus the 1.4153 + sizes detected by running `configure'. If the results are 1.4154 + different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the 1.4155 + results. 1.4156 + New option --{enable|disable}-biarch-config is added to define or 1.4157 + undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually. 1.4158 + 1.4159 +2008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4160 + 1.4161 + * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or 1.4162 + ApplicationService framework is missing. Although this value is not 1.4163 + used in building of FreeType2, it is written in `freetype2.pc' and 1.4164 + `freetype-config'. 1.4165 + 1.4166 +2008-09-01 david turner <david@freetype.org> 1.4167 + 1.4168 + * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap 1.4169 + index to mean `use default cached FT_Face's charmap'. This fixes 1.4170 + Savannah bug #22625. 1.4171 + * include/freetype/ftcache.h: Document it. 1.4172 + 1.4173 + 1.4174 + Make FT_MulFix an inlined function. This is done to speed up 1.4175 + FreeType a little (on x86 3% when loading+hinting, 10% when 1.4176 + rendering, ARM savings are more important though). Disable this by 1.4177 + undefining FT_CONFIG_OPTION_INLINE_MULFIX. 1.4178 + 1.4179 + Use of assembler code can now be controlled with 1.4180 + FT_CONFIG_OPTION_NO_ASSEMBLER. 1.4181 + 1.4182 + * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in 1.4183 + [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler 1.4184 + implementation. 1.4185 + [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler 1.4186 + implementation taken from `ftcalc.c'. 1.4187 + [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro 1.4188 + which is defined to the platform-specific assembler implementation 1.4189 + of FT_MulFix. 1.4190 + [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER] 1.4191 + (FT_MULFIX_INLINED): New macro. 1.4192 + 1.4193 + * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER, 1.4194 + FT_CONFIG_OPTION_INLINE_MULFIX): New macros. 1.4195 + 1.4196 + * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED. 1.4197 + 1.4198 + * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and 1.4199 + FT_MULFIX_INLINED. 1.4200 + 1.4201 + 1.4202 + Add a new header named FT_ADVANCES_H declaring some new APIs to 1.4203 + extract the advances of one or more glyphs without necessarily 1.4204 + loading their outlines. Also provide `fast loaders' for the 1.4205 + TrueType, Type1, and CFF font drivers (more to come later). 1.4206 + 1.4207 + * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files. 1.4208 + 1.4209 + * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro. 1.4210 + * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro. 1.4211 + 1.4212 + * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc): 1.4213 + `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed', 1.4214 + respectively. 1.4215 + 1.4216 + * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add 1.4217 + ftadvanc.c. 1.4218 + 1.4219 + * src/cff/cffdrivr.c (cff_get_advances): New function. 1.4220 + (cff_driver_class): Register it. 1.4221 + 1.4222 + * src/cff/cffgload.c (cff_decoder_set_width_only): New function. 1.4223 + (cff_decoder_parse_charstrings): Handle `width_only'. 1.4224 + (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY. 1.4225 + 1.4226 + * src/cff/cffgload.h (cff_decoder): New element `width_only'. 1.4227 + (cff_decoder_set_width_only): New declaration. 1.4228 + 1.4229 + * src/truetype/ttdriver.c (tt_get_advances): New function. 1.4230 + (tt_driver_class): Register it. 1.4231 + 1.4232 + * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to... 1.4233 + (TT_Get_HMetrics, TT_Get_VMetrics): This. 1.4234 + Update callers. 1.4235 + * src/truetype/ttgload.h: Declare them. 1.4236 + 1.4237 + * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New 1.4238 + function. 1.4239 + * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances. 1.4240 + 1.4241 + 1.4242 + Add checks for minimum version of the `autotools' stuff. 1.4243 + 1.4244 + * autogen.sh: Implement it. 1.4245 + (get_major_version, get_minor_version, get_patch_version, 1.4246 + compare_to_minimum_version, check_tool_version): New auxiliary 1.4247 + functions. 1.4248 + 1.4249 + * README.CVS: Document it. 1.4250 + 1.4251 +2008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4252 + 1.4253 + * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in 1.4254 + ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ). 1.4255 + 1.4256 +2008-08-28 Werner Lemberg <wl@gnu.org> 1.4257 + 1.4258 + * src/type1/t1load.c (parse_encoding): Protect against infinite 1.4259 + loop. This fixes Savannah bug #24150 (where a patch has been posted 1.4260 + too). 1.4261 + 1.4262 +2008-08-23 Werner Lemberg <wl@gnu.org> 1.4263 + 1.4264 + * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c 1.4265 + (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug 1.4266 + #24119. 1.4267 + 1.4268 +2008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4269 + 1.4270 + * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always, 1.4271 + even if passed library or arguments are invalid. This fixes a bug 1.4272 + that an uninitialized stream is freed when an invalid library handle 1.4273 + is passed. Originally proposed by Mike Fabian, 2008/08/18 on 1.4274 + freetype-devel. 1.4275 + (FT_Open_Face): Ditto (stream). 1.4276 + (load_face_in_embedded_rfork): Ditto (stream2). 1.4277 + 1.4278 +2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4279 + 1.4280 + * src/base/ftmac.c: Add a fallback to guess the availability of the 1.4281 + `ResourceIndex' type. It is used when built without configure 1.4282 + (e.g., a build with Jam). 1.4283 + * builds/mac/ftmac.c: Ditto. 1.4284 + * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0 1.4285 + explicitly, even if `ResourceIndex' is unavailable. 1.4286 + 1.4287 +2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4288 + 1.4289 + * builds/unix/configure.raw: In checking of Mac OS X features, 1.4290 + all-in-one header file `Carbon.h' is replaced by the minimum 1.4291 + header file `CoreServices.h', similar to current src/base/ftmac.c. 1.4292 + 1.4293 +2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4294 + 1.4295 + * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of 1.4296 + sub-header when its code_count is 0. Many Japanese Dynalab fonts 1.4297 + include such an empty sub-header (code_count == 0, first_code == 0 1.4298 + delta == 0, but offset != 0) as the second sub-header in SJIS cmap. 1.4299 + 1.4300 +2008-08-04 Werner Lemberg <wl@gnu.org> 1.4301 + 1.4302 + * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes 1.4303 + Savannah bug #23995. 1.4304 + 1.4305 + * src/cid/cidload.c (parse_expansion_factor): New callback function. 1.4306 + (cid_field_records): Use it for `ExpansionFactor'. 1.4307 + * src/cod/cidtoken.h: Handle `ForceBold' keyword. 1.4308 + Don't handle `ExpansionFactor'. 1.4309 + 1.4310 +2008-08-04 Bram Tassyns <bramt@enfocus.be> 1.4311 + 1.4312 + * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which 1.4313 + resulted in incorrect scaling. This fixes Savannah bug #23973. 1.4314 + 1.4315 +2008-08-04 Werner Lemberg <wl@gnu.org> 1.4316 + 1.4317 + Be more tolerant w.r.t. invalid entries in SFNT table directory. 1.4318 + 1.4319 + * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and 1.4320 + adjust table count. 1.4321 + Add more trace messages. 1.4322 + (tt_face_load_font_dir): Updated. 1.4323 + 1.4324 +2008-07-30 Werner Lemberg <wl@gnu.org> 1.4325 + 1.4326 + * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer 1.4327 + assume that the first argument on the stack is the bottom-most 1.4328 + element. Two reasons: 1.4329 + 1.4330 + o According to people from Adobe it is missing in the Type 2 1.4331 + specification that pushing of additional, superfluous arguments 1.4332 + on the stack is prohibited. 1.4333 + 1.4334 + o Acroread in general handles fonts differently, namely by popping 1.4335 + the number of arguments needed for a particular operand (as a PS 1.4336 + interpreter would do). In case of buggy fonts this causes a 1.4337 + different interpretation which of the elements on the stack are 1.4338 + superfluous and which not. 1.4339 + 1.4340 + Since there are CFF subfonts (embedded in PDFs) which rely on 1.4341 + Acroread's behaviour, FreeType now does the same. 1.4342 + 1.4343 +2008-07-27 Werner Lemberg <wl@gnu.org> 1.4344 + 1.4345 + Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This 1.4346 + fixes Savannah bug #23940. 1.4347 + 1.4348 + * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to... 1.4349 + (EXTRA_GLYPH_LIST_SIZE): This. 1.4350 + Increase by 2. 1.4351 + (ft_wgl_extra_unicodes): Rename to... 1.4352 + (ft_extra_glyph_unicodes): This. 1.4353 + Add two code values. 1.4354 + (ft_wgl_extra_glyph_names): Rename to... 1.4355 + (ft_extra_glyph_names): This. 1.4356 + Add two glyphs. 1.4357 + (ft_wgl_extra_glyph_name_offsets): Rename to... 1.4358 + (ft_extra_glyph_name_offsets): This. 1.4359 + Add two offsets. 1.4360 + 1.4361 + (ps_check_wgl_name, ps_check_wgl_unicode): Rename to... 1.4362 + (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This. 1.4363 + Updated. 1.4364 + (ps_unicodes_init): Updated. 1.4365 + 1.4366 +2008-07-26 Werner Lemberg <wl@gnu.org> 1.4367 + 1.4368 + * src/cff/cffgload.c (cff_decoder_prepare, 1.4369 + cff_decoder_parse_charstrings): Improve debug output. 1.4370 + 1.4371 +2008-07-22 Martin McBride <mmcbride@emtex.com> 1.4372 + 1.4373 + * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear, 1.4374 + tt_cmap4_char_map_binary): Handle fonts which treat the last segment 1.4375 + specially. According to the specification, such fonts would be 1.4376 + invalid but acroread accepts them. 1.4377 + 1.4378 +2008-07-16 Jon Foster <Jon.Foster@cabot.co.uk> 1.4379 + 1.4380 + * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error. 1.4381 + 1.4382 + * src/base/ftcalc.c (FT_MulFix): Fix portability issue. 1.4383 + 1.4384 + * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]: 1.4385 + Fix compiler warning. 1.4386 + 1.4387 +2008-07-16 Werner Lemberg <wl@gnu.org> 1.4388 + 1.4389 + Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly. 1.4390 + 1.4391 + * src/cff/cffload.c (cff_font_load): Pass `pure_cff'. 1.4392 + Invert sids table only if `pure_cff' is set. 1.4393 + * src/cff/cffload.h: Udpated. 1.4394 + 1.4395 + * src/cff/cffobjs.c (cff_face_init): Updated. 1.4396 + Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set. 1.4397 + 1.4398 + * docs/CHANGES: Updated. 1.4399 + 1.4400 +2008-07-09 Werner Lemberg <wl@gnu.org> 1.4401 + 1.4402 + * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts 1.4403 + where num_locations < num_glyphs. Problem reported by Ding Li. 1.4404 + 1.4405 +2008-07-05 Werner Lemberg <wl@gnu.org> 1.4406 + 1.4407 + Since FreeType uses `$(value ...)', we now need GNU make 3.80 or 1.4408 + newer. This fixes Savannah bug #23648. 1.4409 + 1.4410 + * configure: zsh doesn't like ${1+"$@"}. 1.4411 + Update needed GNU make version. 1.4412 + * builds/toplevel.mk: Check for `$(eval ...)'. 1.4413 + * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document 1.4414 + it. 1.4415 + 1.4416 +2008-07-04 Werner Lemberg <wl@gnu.org> 1.4417 + 1.4418 + * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one 1.4419 + pixel, only check for dropouts if neither start nor end point lies 1.4420 + on a pixel center. This fixes Savannah bug #23762. 1.4421 + 1.4422 +2008-06-29 Werner Lemberg <wl@gnu.org> 1.4423 + 1.4424 + * Version 2.3.7 released. 1.4425 + ========================= 1.4426 + 1.4427 + 1.4428 + Tag sources with `VER-2-3-7'. 1.4429 + 1.4430 + * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump 1.4431 + version number to 2.3.7. 1.4432 + 1.4433 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.4434 + builds/win32/visualc/freetype.dsp, 1.4435 + builds/win32/visualc/freetype.vcproj, 1.4436 + builds/win32/visualce/index.html, 1.4437 + builds/win32/visualce/freetype.dsp, 1.4438 + builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/. 1.4439 + 1.4440 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. 1.4441 + 1.4442 + * builds/unix/configure.raw (version_info): Set to 9:18:3. 1.4443 + 1.4444 + * docs/release: Updated. 1.4445 + 1.4446 +2008-06-28 Werner Lemberg <wl@gnu.org> 1.4447 + 1.4448 + * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to... 1.4449 + * src/ftcalc.c: Here. This fixes Savannah bug #23729. 1.4450 + 1.4451 +2008-06-27 Werner Lemberg <wl@gnu.org> 1.4452 + 1.4453 + * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, 1.4454 + Horizontal_Gray_Sweep_Drop): Test for intersections which 1.4455 + degenerate to a single point can be ignored; this has been confirmed 1.4456 + by Greg Hitchcock from Microsoft. (This was commented out code.) 1.4457 + 1.4458 +2008-06-26 Werner Lemberg <wl@gnu.org> 1.4459 + 1.4460 + Improve navigation in API reference. 1.4461 + 1.4462 + * src/tools/docmaker/tohtml.py (html_header_3): Renamed to... 1.4463 + (html_header_6): This. 1.4464 + (html_header_3, html_header_3i, html_header_4, html_header_5, 1.4465 + html_header_5t): New strings. 1.4466 + (toc_footer_start, toc_footer_end): New strings. 1.4467 + (HtmlFormatter::html_header): Updated. 1.4468 + (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header): 1.4469 + New strings. 1.4470 + (HtmlFormatter::index_enter): Use `html_index_header'. 1.4471 + (HtmlFormatter::index_exit): Print `html_footer'. 1.4472 + (HtmlFormatter::toc_enter): Use `html_toc_header'. 1.4473 + (HtmlFormatter::toc_exit): Print proper footer. 1.4474 + 1.4475 + Convert ~ to non-breakable space. 1.4476 + 1.4477 + * src/tools/docmaker/tohtml.py (make_html_para): Implement it. 1.4478 + Update header files accordingly. 1.4479 + 1.4480 +2008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4481 + 1.4482 + * builds/unix/configure.raw: Check type `ResourceIndex' explicitly 1.4483 + and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5 1.4484 + bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without 1.4485 + ResourceIndex type definition. The macro does not inform the type 1.4486 + availability. 1.4487 + * src/base/ftmac.c: More parentheses are inserted to clarify the 1.4488 + conditionals to disable legacy APIs in `10.5 and later' cases. If 1.4489 + HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined. 1.4490 + 1.4491 +2008-06-24 Werner Lemberg <wl@gnu.org> 1.4492 + 1.4493 + * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering 1.4494 + mode. 1.4495 + 1.4496 + * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph, 1.4497 + Draw_Sweep): No-dropout mode is value 2, not value 0. 1.4498 + (Draw_Sweep): Really skip dropout handling for no-dropout mode. 1.4499 + 1.4500 +2008-06-24 Werner Lemberg <wl@gnu.org> 1.4501 + 1.4502 + * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour 1.4503 + if it consists of one point only. Based on a patch from Savannah 1.4504 + bug #23683 (from John Tytgat). 1.4505 + 1.4506 +2008-06-22 Werner Lemberg <wl@gnu.org> 1.4507 + 1.4508 + * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff 1.4509 + with IS_HINTED. 1.4510 + 1.4511 + * docs/CHANGES: Updated. 1.4512 + 1.4513 +2008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4514 + 1.4515 + * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option 1.4516 + but LDFLAGS does not, import it to LDFLAGS. The option is used to 1.4517 + specify non-default SDK on Mac OS X (e.g., universal binary SDK for 1.4518 + Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137 1.4519 + recommends to add the option only to CFLAGS, LDFLAGS should include 1.4520 + it because libfreetype.la is built with -no-undefined. This fixes a 1.4521 + bug reported by Ryan Schmidt in MacPorts, 1.4522 + http://trac.macports.org/ticket/15331. 1.4523 + 1.4524 +2008-06-21 Werner Lemberg <wl@gnu.org> 1.4525 + 1.4526 + Enable access to the various dropout rules of the B&W rasterizer. 1.4527 + Pass dropout rules from the TT bytecode interpreter to the 1.4528 + rasterizer. 1.4529 + 1.4530 + * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS, 1.4531 + FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline. 1.4532 + 1.4533 + * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop, 1.4534 + Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the 1.4535 + OpenType specification. 1.4536 + Fix mode 4 computation. 1.4537 + (Render_Glyph, Render_Gray_Glyph): Handle new outline flags. 1.4538 + 1.4539 + * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion 1.4540 + mode to FT_OUTLINE_XXX flags. 1.4541 + 1.4542 + * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check. 1.4543 + 1.4544 +2008-06-19 Werner Lemberg <wl@gnu.org> 1.4545 + 1.4546 + * src/cff/cffobjs.c (cff_face_init): Compute final 1.4547 + `dict->units_per_em' value before assigning it to 1.4548 + `cffface->units_per_EM'. Otherwise, CFFs without subfonts are 1.4549 + scaled incorrectly if the font matrix is non-standard. This fixes 1.4550 + Savannah bug #23630. 1.4551 + 1.4552 + * docs/CHANGES: Updated. 1.4553 + 1.4554 +2008-06-19 Werner Lemberg <wl@gnu.org> 1.4555 + 1.4556 + * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix 1.4557 + from 2008-06-19. 1.4558 + 1.4559 +2008-06-18 Werner Lemberg <wl@gnu.org> 1.4560 + 1.4561 + * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21. 1.4562 + Reported by Peter Weilbacher <mozilla@weilbacher.org>. 1.4563 + 1.4564 + * docs/CHANGES: Updated. 1.4565 + 1.4566 +2008-06-15 George Williams <gww@silcom.com> 1.4567 + 1.4568 + * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set 1.4569 + `valid->extra2' to 1. This is undocumented in the OpenType 1.5 1.4570 + specification. 1.4571 + 1.4572 +2008-06-15 Werner Lemberg <wl@gnu.org> 1.4573 + 1.4574 + * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly 1.4575 + from clobbering. Patch from Savannah bug report #23556. 1.4576 + 1.4577 + * docs/CHANGES: Document it. 1.4578 + 1.4579 +2008-06-10 Werner Lemberg <wl@gnu.org> 1.4580 + 1.4581 + * autogen.sh: Add option `--install' to libtoolize. 1.4582 + 1.4583 +2008-06-10 Werner Lemberg <wl@gnu.org> 1.4584 + 1.4585 + * Version 2.3.6 released. 1.4586 + ========================= 1.4587 + 1.4588 + 1.4589 + Tag sources with `VER-2-3-6'. 1.4590 + 1.4591 + * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump 1.4592 + version number to 2.3.6. 1.4593 + 1.4594 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.4595 + builds/win32/visualc/freetype.dsp, 1.4596 + builds/win32/visualc/freetype.vcproj, 1.4597 + builds/win32/visualce/index.html, 1.4598 + builds/win32/visualce/freetype.dsp, 1.4599 + builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/. 1.4600 + 1.4601 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. 1.4602 + 1.4603 + * builds/unix/configure.raw (version_info): Set to 9:17:3. 1.4604 + 1.4605 + 1.4606 + * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x' 1.4607 + and `scale_y'. 1.4608 + * src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'. 1.4609 + 1.4610 + 1.4611 + * src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H. 1.4612 + * src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. 1.4613 + 1.4614 +2008-06-10 Werner Lemberg <wl@gnu.org> 1.4615 + 1.4616 + * src/base/ftobjs.c (open_face): Check `clazz->init_face' and 1.4617 + `clazz->done_face'. 1.4618 + 1.4619 +2008-06-09 VaDiM <s_sliva@rambler.ru> 1.4620 + 1.4621 + Support debugging on WinCE. From Savannah patch #6536; this fixes 1.4622 + bug #23497. 1.4623 + 1.4624 + * builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro 1.4625 + as a replacement for OutputDebugStringA (which WinCE doesn't have). 1.4626 + Update all callers. 1.4627 + (ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have 1.4628 + environment variables. 1.4629 + 1.4630 +2008-06-09 Werner Lemberg <wl@gnu.org> 1.4631 + 1.4632 + * README.CVS: Updated. 1.4633 + 1.4634 + * builds/unix/configure.raw, builds/unix/freetype-config.in: Updated 1.4635 + for newer versions of autoconf and friends. 1.4636 + 1.4637 +2008-06-08 Werner Lemberg <wl@gnu.org> 1.4638 + 1.4639 + * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and 1.4640 + `private_len' unsigned. 1.4641 + 1.4642 + * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read 1.4643 + it as such. 1.4644 + (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned. 1.4645 + 1.4646 + 1.4647 + * src/base/ftstream.c (FT_Stream_Skip): Reject negative values. 1.4648 + 1.4649 + 1.4650 + * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis' 1.4651 + for sane value. 1.4652 + Fix typo. 1.4653 + 1.4654 + 1.4655 + * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly. 1.4656 + 1.4657 + 1.4658 + * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check 1.4659 + `last_point'. 1.4660 + 1.4661 + 1.4662 + * src/sfnt/ttload.c (tt_face_load_max_profile): Limit 1.4663 + `maxTwilightPoints'. 1.4664 + 1.4665 +2008-06-06 Werner Lemberg <wl@gnu.org> 1.4666 + 1.4667 + * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0' 1.4668 + correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem. 1.4669 + 1.4670 +2008-06-03 Werner Lemberg <wl@gnu.org> 1.4671 + 1.4672 + * include/freetype/ftcache.h (FTC_FaceID): Change type back to 1.4673 + FT_Pointer. Reported by Ian Britten <britten@caris.com>. 1.4674 + 1.4675 +2008-06-02 Werner Lemberg <wl@gnu.org> 1.4676 + 1.4677 + Emit header info for defined FreeType objects in reference. 1.4678 + 1.4679 + * src/tools/docmaker/content.py (re_header_macro): New regexp. 1.4680 + (ContentProcessor::__init__): Initialize new dictionary `headers'. 1.4681 + (DocBlock::__init__): Collect macro header definitions. 1.4682 + 1.4683 + * src/tools/docmaker/tohtml.py (header_location_header, 1.4684 + header_location_footer): New strings. 1.4685 + (HtmlFormatter::__init__): Pass `headers' dictionary. 1.4686 + (HtmlFormatter::print_html_field): Don't emit paragraph tags. 1.4687 + (HtmlFormatter::print_html_field_list): Emit empty paragraph. 1.4688 + (HtmlFormatter::block_enter): Emit header info. 1.4689 + 1.4690 +2008-06-01 Werner Lemberg <wl@gnu.org> 1.4691 + 1.4692 + * include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H, 1.4693 + FT_INCREMENTAL_H): Added. 1.4694 + 1.4695 +2008-05-28 Werner Lemberg <wl@gnu.org> 1.4696 + 1.4697 + * src/tools/docmaker/sources.py (SourceBlock::__init__): While 1.4698 + looking for markup tags, return immediately as soon a single one is 1.4699 + found. 1.4700 + 1.4701 +2008-05-28 Werner Lemberg <wl@gnu.org> 1.4702 + 1.4703 + * src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses 1.4704 + original, unscaled input values. Confirmed by Greg Hitchcock from 1.4705 + Microsoft. 1.4706 + 1.4707 +2008-05-27 Werner Lemberg <wl@gnu.org> 1.4708 + 1.4709 + * src/tools/docmaker/tohtml.py (block_footer_start, 1.4710 + block_footer_middle): Beautify output. 1.4711 + 1.4712 +2008-05-25 Werner Lemberg <wl@gnu.org> 1.4713 + 1.4714 + * src/raster/ftraster.c (fc_black_render): Return 0 when we are 1.4715 + trying to render into a zero-width/height bitmap, not an error code. 1.4716 + 1.4717 + * src/truetype/ttgload.c (load_truetype_glyph): Move initialization 1.4718 + of the graphics state for subglyphs to... 1.4719 + (TT_Hint_Glyph): This function. 1.4720 + Hinting instructions for a composite glyph apparently refer to the 1.4721 + just hinted subglyphs, not the unhinted, unscaled outline. This 1.4722 + seems to fix Savannah bugs #20973 and (at least partially) #23310. 1.4723 + 1.4724 +2008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4725 + 1.4726 + * src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid 1.4727 + `aface' is returned by FT_New_Face_From_FOND(). The patch was 1.4728 + proposed by an anonymous reporter of Savannah bug #23204. 1.4729 + 1.4730 +2008-05-18 Werner Lemberg <wl@gnu.org> 1.4731 + 1.4732 + * src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after 1.4733 + correction for pixel boundary. Without this patch, the effect can 1.4734 + be cumulative under certain circumstances, making glyphs taller and 1.4735 + taller after each call. This fixes Savannah bug #19976. 1.4736 + 1.4737 +2008-05-18 Werner Lemberg <wl@gnu.org> 1.4738 + 1.4739 + * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr. 1.4740 + This fixes Savannah bug #23280. 1.4741 + 1.4742 + * docs/CHANGES: Updated. 1.4743 + 1.4744 +2008-05-18 David Turner <david@freetype.org> 1.4745 + 1.4746 + * src/psnames/psmodule.c (ft_wgl_extra_unicodes, 1.4747 + ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets, 1.4748 + ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make 1.4749 + declarations non-global. 1.4750 + 1.4751 + * src/type1/t1load.c: Add missing comment. 1.4752 + 1.4753 +2008-05-17 Sam Hocevar <samh> 1.4754 + 1.4755 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour 1.4756 + glyphs correctly. Patch from Savannah bug #23277. 1.4757 + 1.4758 +2008-05-16 Werner Lemberg <wl@gnu.org> 1.4759 + 1.4760 + * docs/CHANGES: Updated. 1.4761 + 1.4762 +2008-05-16 Sergey Tolstov <stolstov@esri.com> 1.4763 + 1.4764 + Improve support for WGL4 encoded fonts. 1.4765 + 1.4766 + * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro. 1.4767 + (ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names, 1.4768 + ft_wgl_extra_glyph_name_offsets): New arrays. 1.4769 + (ps_check_wgl_name, ps_check_wgl_unicode): New functions. 1.4770 + (ps_unicodes_init): Use them to add additional Unicode mappings. 1.4771 + 1.4772 +2008-05-15 Werner Lemberg <wl@gnu.org> 1.4773 + 1.4774 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1.4775 + <op_closepath>: `closepath' without a path is a no-op, not an error 1.4776 + (cf. the PS reference manual). 1.4777 + 1.4778 + Reported by Martin McBride. 1.4779 + 1.4780 +2008-05-15 Werner Lemberg <wl@gnu.org> 1.4781 + 1.4782 + * builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated. 1.4783 + 1.4784 +2008-05-15 Werner Lemberg <wl@gnu.org> 1.4785 + 1.4786 + * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array 1.4787 + which contains a single but empty entry. This is technically 1.4788 + invalid (since it must end with `return'), but... 1.4789 + 1.4790 + Reported by Martin McBride. 1.4791 + 1.4792 +2008-05-14 Werner Lemberg <wl@gnu.org> 1.4793 + 1.4794 + Finish fix of scaling bug of CID-keyed CFF subfonts. 1.4795 + 1.4796 + * include/freetype/internal/ftcalc.h, src/base/ftcalc.c 1.4797 + (FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New 1.4798 + functions. 1.4799 + 1.4800 + * src/cff/cffobjs.h (CFF_Internal): New struct. It is used to 1.4801 + provide global hinting data for both the top-font and all subfonts 1.4802 + (with proper scaling). 1.4803 + 1.4804 + * src/cff/cffobjs.c (cff_make_private_dict): New function, using 1.4805 + code from `cff_size_init'. 1.4806 + (cff_size_init, cff_size_done, cff_size_select, cff_size_request): 1.4807 + Use CFF_Internal and handle subfonts. 1.4808 + (cff_face_init): Handle top-dict and subfont matrices correctly; 1.4809 + apply some heuristic in case of unlikely matrix concatenation 1.4810 + results. This has been discussed with people from Adobe (thanks 1.4811 + goes mainly to David Lemon) who confirm that the CFF specs are fuzzy 1.4812 + and not correct. 1.4813 + 1.4814 + * src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument. 1.4815 + 1.4816 + * src/cff/cffgload.c (cff_builder_init): Updated. 1.4817 + (cff_decoder_prepare): Handle hints globals for subfonts. 1.4818 + Update all callers. 1.4819 + (cff_slot_load): Handling scaling of subfonts properly. 1.4820 + 1.4821 + * src/cff/cffparse.c (cff_parse_fixed_dynamic): New function. 1.4822 + (cff_parse_font_matrix): Use it. 1.4823 + 1.4824 + * src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em' 1.4825 + FT_ULong. 1.4826 + 1.4827 + * docs/CHANGES: Document it. 1.4828 + 1.4829 +2008-05-13 Werner Lemberg <wl@gnu.org> 1.4830 + 1.4831 + * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init): 1.4832 + Handle case `face_index < 0'. 1.4833 + * docs/CHANGES: Document it. 1.4834 + 1.4835 +2008-05-04 Werner Lemberg <wl@gnu.org> 1.4836 + 1.4837 + First steps to fix the scaling bug of CID-keyed CFF subfonts, 1.4838 + reported by Ding Li on 2008/03/28 on freetype-devel. 1.4839 + 1.4840 + * src/base/cff/cffparse.c (power_tens): New array. 1.4841 + (cff_parse_real): Rewritten to introduce a fourth parameter which 1.4842 + returns the `scaling' of the real number so that we have no 1.4843 + precision loss. This is not used yet. 1.4844 + Update all callers. 1.4845 + (cff_parse_fixed_thousand): Replace with... 1.4846 + (cff_parse_fixed_scaled): This function. Update all callers. 1.4847 + 1.4848 +2008-05-03 Werner Lemberg <wl@gnu.org> 1.4849 + 1.4850 + * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without 1.4851 + transformation since it recursively calls FT_Load_Glyph. This fixes 1.4852 + Savannah bug #23143. 1.4853 + 1.4854 +2008-04-26 Werner Lemberg <wl@gnu.org> 1.4855 + 1.4856 + * include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x' 1.4857 + and `scale_y' as obsolete since they aren't used. 1.4858 + * src/psaux/psobjs.c (t1_builder_init): Updated. 1.4859 + 1.4860 + * src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as 1.4861 + obsolete since they aren't used. 1.4862 + * src/cff/cffgload.c (cff_builder_init): Updated. 1.4863 + 1.4864 +2008-04-14 Werner Lemberg <wl@gnu.org> 1.4865 + 1.4866 + * src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to 1.4867 + `FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah 1.4868 + bug #22909. 1.4869 + 1.4870 +2008-04-13 Werner Lemberg <wl@gnu.org> 1.4871 + 1.4872 + * src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if 1.4873 + integer part is zero. 1.4874 + 1.4875 +2008-04-01 Werner Lemberg <wl@gnu.org> 1.4876 + 1.4877 + Fix compilation with g++ 4.1 (with both `single' and `multi' 1.4878 + targets). 1.4879 + 1.4880 + * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block 1.4881 + which is crossed by a `goto'. 1.4882 + 1.4883 + * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype. 1.4884 + 1.4885 +2008-03-31 Werner Lemberg <wl@gnu.org> 1.4886 + 1.4887 + Fix support for subsetted CID-keyed CFFs. 1.4888 + 1.4889 + * include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED, 1.4890 + FT_IS_CID_KEYED): New macros. 1.4891 + 1.4892 + * src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the 1.4893 + maximum CID value in CID-keyed CFFs. 1.4894 + Handle FT_FACE_FLAG_CID_KEYED flag. 1.4895 + 1.4896 + * docs/CHANGES: Document it. 1.4897 + 1.4898 + 1.4899 + Fix CFF font matrix calculation and improve precision. 1.4900 + 1.4901 + * src/cff/cffparse.c (cff_parse_real): Increase precision if integer 1.4902 + part is zero. 1.4903 + (cff_parse_font_matrix): Simplify computation of `units_per_em'; 1.4904 + this prevents overflow also. 1.4905 + 1.4906 + 1.4907 + Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts. 1.4908 + 1.4909 + * src/cid/cidriver.c: Include FT_SERVICE_CID_H. 1.4910 + (cid_get_ros): New function. 1.4911 + (cid_service_cid_info): New service structure. 1.4912 + (cid_services): Register it. 1.4913 + 1.4914 +2008-03-23 Werner Lemberg <wl@gnu.org> 1.4915 + 1.4916 + Adjustments for Visual C++ 8.0, as reported by Rainer Deyke. 1.4917 + 1.4918 + * builds/compiler/visualc.mk (CFLAGS): Remove /W5. 1.4919 + (ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE. 1.4920 + 1.4921 +2008-03-21 Laurence Darby <ldarby> 1.4922 + 1.4923 + * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from 1.4924 + Savannah bug #22675. 1.4925 + 1.4926 +2008-03-13 Derek Clegg <dclegg@apple.com> 1.4927 + 1.4928 + * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop. 1.4929 + Patch from Savannah bug #22541. 1.4930 + 1.4931 +2008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp> 1.4932 + 1.4933 + * src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary, 1.4934 + tt_cmap14_find_variant): Return correct value. 1.4935 + (tt_cmap14_variant_chars): Fix check for `di'. 1.4936 + 1.4937 +2008-02-29 Wermer Lemberg <wl@gnu.org> 1.4938 + 1.4939 + * docs/CHANGES: Updated. 1.4940 + 1.4941 +2008-02-29 Wolf 1.4942 + 1.4943 + Add build support for symbian platform. From Savannah bug #22440. 1.4944 + 1.4945 + * builds/symbian/*: New files. 1.4946 + 1.4947 +2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4948 + 1.4949 + * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name 1.4950 + synthesis. For any face of a specified FOND, always the name for 1.4951 + the first face was used. Except of a FOND that refers multiple 1.4952 + Type1 font files, wrong synthesized font names are not used at all, 1.4953 + so this is an invisible bug. A few limit checks are added too. 1.4954 + 1.4955 + * builds/mac/ftmac.c: Ditto. 1.4956 + 1.4957 +2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4958 + 1.4959 + * builds/unix/configure.raw: Split compiler option to link Carbon 1.4960 + frameworks to one option for CoreServices framework and another 1.4961 + option for ApplicationServices framework. The split options can be 1.4962 + managed by GNU libtool to avoid unrequired duplication when FreeType 1.4963 + is linked with other applications. Suggested by Daniel Macks, 1.4964 + Savannah bug #22366. 1.4965 + 1.4966 +2008-02-18 Victor Stinner <victor.stinner@haypocalc.com> 1.4967 + 1.4968 + * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix 1.4969 + from Savannah bug #22356. 1.4970 + 1.4971 +2008-02-17 Jonathan Blow <jon@number-none.com> 1.4972 + 1.4973 + * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph): 1.4974 + Check for valid callback pointers. 1.4975 + 1.4976 +2008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4977 + 1.4978 + * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource 1.4979 + handle by its value instead of ResError(), fix provided by Deron 1.4980 + Kazmaier. According to the Resource Manager Reference, 1.4981 + GetResource(), Get1Resource(), GetNamedResource(), 1.4982 + Get1NamedResource() and RGetResource() set noErr but return NULL 1.4983 + handle when they can not find the requested resource. These 1.4984 + functions never return undefined values, so it is sufficient to 1.4985 + check if the handle is not NULL. 1.4986 + 1.4987 + * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto. 1.4988 + 1.4989 +2008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.4990 + 1.4991 + * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other 1.4992 + inclusion styles. Now it always includes src/base/ftmac.c; 1.4993 + builds/mac/ftmac.c is never included in any configuration. 1.4994 + 1.4995 + * builds/unix/configure.raw: Print warning if configure is executed 1.4996 + with options to specify Carbon functionalities explicitly. 1.4997 + 1.4998 + * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not 1.4999 + included automatically and manual replacement is required. 1.5000 + 1.5001 +2008-02-11 Werner Lemberg <wl@gnu.org> 1.5002 + 1.5003 + * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk 1.5004 + (dos_setup), builds/freetype.mk (clean_project_dos, 1.5005 + distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan 1.5006 + Murdoch. 1.5007 + 1.5008 +2008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com> 1.5009 + 1.5010 + * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to 1.5011 + mention intra-pixel algorithm. 1.5012 + 1.5013 + * include/freetype/freetype.h (FT_Render_Mode): Mention that 1.5014 + FT_Library_SetLcdFilter can be used to reduce fringes. 1.5015 + 1.5016 +2008-01-16 Werner Lemberg <wl@gnu.org> 1.5017 + 1.5018 + * src/raster/ftraster.c (ft_black_render): Check `outline' before 1.5019 + using it. Reported by Allan Yang. 1.5020 + 1.5021 +2008-01-12 Werner Lemberg <wl@gnu.org> 1.5022 + 1.5023 + * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove. 1.5024 + 1.5025 +2008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com> 1.5026 + 1.5027 + * src/raster/ftraster.c (ft_black_init) 1.5028 + [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation. 1.5029 + 1.5030 +2008-01-10 Werner Lemberg <wl@gnu.org> 1.5031 + 1.5032 + * src/truetype/ttgload.c (load_truetype_glyph): Handle the case 1.5033 + where the number of contours in a simple glyph is zero (and which 1.5034 + does contain an entry in the `glyf' table). This fixes Savannah bug 1.5035 + #21990. 1.5036 + 1.5037 +2008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5038 + 1.5039 + Formatting suggested by Sean McBride. 1.5040 + 1.5041 + * builds/mac/ftmac.c: Formatting (tab expanded). 1.5042 + * src/autofit/afindic.c: Ditto. 1.5043 + * src/base/ftcid.c: Ditto. 1.5044 + * src/base/ftmac.c: Ditto. 1.5045 + 1.5046 +2007-12-30 Werner Lemberg <wl@gnu.org> 1.5047 + 1.5048 + * src/smooth/ftgrays.c (gray_raster_render): Check `outline' 1.5049 + correctly. 1.5050 + 1.5051 +2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5052 + 1.5053 + Improvement of POSIX resource-fork accessor to load unsorted 1.5054 + references in a resource. In HelveLTMM (resource-fork PostScript 1.5055 + Type1 font bundled with Mac OS X since 10.3.x), the appearance order 1.5056 + of PFB chunks is not sorted; sorting the chunks by reference IDs is 1.5057 + required. 1.5058 + 1.5059 + * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure 1.5060 + type to store a pair of reference ID and offset to the chunk. 1.5061 + 1.5062 + * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to 1.5063 + sort FT_RFork_Ref by their reference IDs. 1.5064 + 1.5065 + (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is 1.5066 + sorted by reference ID. 1.5067 + 1.5068 +2007-12-14 Werner Lemberg <wl@gnu.org> 1.5069 + 1.5070 + * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten' 1.5071 + division too early; otherwise the most significant digit(s) of the 1.5072 + final result are lost as the value is truncated to an integer. This 1.5073 + fixes Savannah bug #21794 (where the patch has been posted too). 1.5074 + 1.5075 +2007-12-06 Fix <4d876b82@gmail.com> 1.5076 + 1.5077 + Pass options from one configure script to another as-is (not 1.5078 + expanded). This is needed for options like 1.5079 + --includedir='${prefix}/include'. 1.5080 + 1.5081 + * builds/unix/detect.mk, configure: Prevent argument expansion in 1.5082 + call to the (real) `configure' script. 1.5083 + 1.5084 +2007-12-06 Werner Lemberg <wl@gnu.org> 1.5085 + 1.5086 + * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if 1.5087 + TT_USE_BYTECODE_INTERPRETER isn't defined. 1.5088 + 1.5089 +2007-12-06 Werner Lemberg <wl@gnu.org> 1.5090 + 1.5091 + There exist CFFs which contain opcodes for the Type 1 operators 1.5092 + `hsbw' and `closepath' which are both invalid in Type 2 charstrings. 1.5093 + However, it doesn't harm to support them. 1.5094 + 1.5095 + * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and 1.5096 + `cff_op_closepath.' 1.5097 + (cff_argument_counts): Ditto. 1.5098 + 1.5099 + (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath) 1.5100 + and 13 (hsbw) which are invalid in Type 2 charstrings. 1.5101 + 1.5102 +2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5103 + 1.5104 + * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to 1.5105 + support new pathname syntax `..namedfork/rsrc' to access a resource 1.5106 + fork on Mac OS X. The legacy syntax `/rsrc' does not work on 1.5107 + case-sensitive HFS+. 1.5108 + (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of 1.5109 + buffer size to store a pathname. 1.5110 + * include/freetype/internal/ftrfork.h: Increment the number of 1.5111 + resource fork guessing rule. 1.5112 + 1.5113 +2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5114 + 1.5115 + * builds/unix/configure.raw: Improve the compile tests to search 1.5116 + Carbon functions. 1.5117 + * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities 1.5118 + proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16). 1.5119 + 1.5120 +2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5121 + 1.5122 + The documents and comments for Mac OS X are improved by Sean 1.5123 + McBride. 1.5124 + 1.5125 + * src/base/ftmac.c: Fix a comment. 1.5126 + * include/freetype/ftmac.h: Ditto. 1.5127 + * docs/INSTALL.MAC: Improve English and add comment on lowest 1.5128 + system version specified by MACOSX_DEPLOYMENT_TARGET. 1.5129 + 1.5130 +2007-12-04 Werner Lemberg <wl@gnu.org> 1.5131 + 1.5132 + * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to 1.5133 + concatenate error codes. 1.5134 + * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto. 1.5135 + 1.5136 +2007-12-04 Graham Asher <graham.asher@btinternet.com> 1.5137 + 1.5138 + * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to 1.5139 + concatenate error codes. 1.5140 + 1.5141 +2007-12-04 Sean McBride <sean@rogue-research.com> 1.5142 + 1.5143 + * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler 1.5144 + warning. 1.5145 + 1.5146 +2007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5147 + 1.5148 + Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is 1.5149 + not working since 2.3.5. In FT_Open_New(), if FT_New_Stream() 1.5150 + cannot mmap() the specified file and cannot seek to head of the 1.5151 + specified file, it returns NULL stream and FT_Open_New() returns the 1.5152 + error immediately. On MacOS, most legacy MacOS fonts fall into such 1.5153 + a scenario because their data forks are zero-sized and cannot be 1.5154 + sought. To proceed to guessing of resource fork fonts, the 1.5155 + functions for legacy MacOS font must properly handle the NULL stream 1.5156 + returned by FT_New_Stream(). 1.5157 + 1.5158 + * src/base/ftobjs.c (IsMacBinary): Return error 1.5159 + FT_Err_Invalid_Stream_Operation immediately when NULL stream is 1.5160 + passed. 1.5161 + (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed 1.5162 + to fallback. Originally, legacy MacOS font is tested in the cases 1.5163 + of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty) 1.5164 + or FT_Err_Unknown_File_Format (occurs when AppleSingle header or 1.5165 + .dfont header is combined). Now the case of 1.5166 + FT_Err_Cannot_Open_Stream is included. 1.5167 + 1.5168 + * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL, 1.5169 + skip FT_Stream_Seek(), which seeks to the head of stream, and 1.5170 + proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek() 1.5171 + for a NULL stream causes a Bus error on Mac OS X. 1.5172 + (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream 1.5173 + immediately if passed stream is NULL. 1.5174 + (raccess_guess_apple_single): Ditto. 1.5175 + 1.5176 +2007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5177 + 1.5178 + Fix for Carbon incompatibilities since Mac OS X 10.5, 1.5179 + proposed by Sean McBride. 1.5180 + 1.5181 + * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET. 1.5182 + 1.5183 + * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and 1.5184 + FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling 1.5185 + Carbon functions from a forked process is classified as unsafe 1.5186 + by Apple. All Carbon-dependent functions should be deprecated. 1.5187 + 1.5188 + * src/base/ftmac.c: Use essential header files 1.5189 + <CoreServices/CoreServices.h> and 1.5190 + <ApplicationServices/ApplicationServices.h> instead of 1.5191 + all-in-one header file <Carbon/Carbon.h>. 1.5192 + 1.5193 + Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple 1.5194 + genuine macro PATH_MAX. 1.5195 + 1.5196 + Add fallback macro for kATSOptionFlagsUnRestrictedScope which 1.5197 + is not found in Mac OS X 10.0. 1.5198 + 1.5199 + Multi-character constants ('POST', 'sfnt' etc) are replaced by 1.5200 + 64bit constants calculated by FT_MAKE_TAG() macro. 1.5201 + 1.5202 + For the index in the segment of resource fork, new portable 1.5203 + type ResourceIndex is introduced for better compatibility. 1.5204 + This type is since Mac OS X 10.5, so it is defined as short 1.5205 + when built on older platforms. 1.5206 + 1.5207 + (FT_ATSFontGetFileReference): If build target is only the systems 1.5208 + 10.5 and newer, it calls Apple genuine ATSFontGetFileReference(). 1.5209 + 1.5210 + (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5 1.5211 + and newer or 64bit platform, because legacy type FSSpec type is 1.5212 + removed completely. 1.5213 + 1.5214 + (FT_New_Face_From_FSSpec): Ditto. 1.5215 + 1.5216 +2007-11-01 Werner Lemberg <wl@gnu.org> 1.5217 + 1.5218 + * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This 1.5219 + fixes Savannah bug #21485. 1.5220 + 1.5221 +2007-10-29 Daniel Svoboda <dasvo@planeta@cz> 1.5222 + 1.5223 + * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver 1.5224 + can handle the font at all, then check `face_index'. Otherwise, the 1.5225 + driver might return the wrong error code. This fixes Savannah bug 1.5226 + #21468. 1.5227 + 1.5228 +2007-10-21 Werner Lemberg <wl@gnu.org> 1.5229 + 1.5230 + * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare 1.5231 + support for bit 8 of the `fsSelection' field in the `OS/2' table. 1.5232 + MS is already using this; hopefully, this becomes part of OpenType 1.5233 + 1.5. 1.5234 + Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22 1.5235 + (WWS_SUBFAMILY). 1.5236 + 1.5237 +2007-10-20 Werner Lemberg <wl@gnu.org> 1.5238 + 1.5239 + * src/tools/docmaker/tohtml.py (html_header_2): Fix typo. 1.5240 + Add `td.left' element to CSS. 1.5241 + (toc_section_enter): Use it. 1.5242 + 1.5243 +2007-10-18 David Turner <david@freetype.org> 1.5244 + 1.5245 + * include/freetype/freetype.h, src/base/ftobjs.c: Rename API 1.5246 + functions related to cmap type 14 support to the 1.5247 + `FT_Object_ActionName' scheme: 1.5248 + 1.5249 + FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex 1.5250 + FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault 1.5251 + FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors 1.5252 + FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar 1.5253 + FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant 1.5254 + 1.5255 + Update documentation accordingly. 1.5256 + 1.5257 + * src/sfnt/ttcmap.c: Stronger cmap 14 validation. 1.5258 + Make the code a little more consistent with FreeType coding 1.5259 + conventions and modify the cmap14 functions that returned a newly 1.5260 + allocated array to use a persistent vector from the TT_CMap14 object 1.5261 + instead. 1.5262 + 1.5263 + (TT_CMap14Rec): Provide array and auxiliary data for result. 1.5264 + (tt_cmap14_done, tt_cmap14_ensure): New functions. 1.5265 + 1.5266 + (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary, 1.5267 + tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant, 1.5268 + tt_cmap14_char_var_index, tt_cmap14_variants, 1.5269 + tt_cmap14_char_variants, tt_cmap14_def_char_count, 1.5270 + tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, 1.5271 + tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved. 1.5272 + 1.5273 +2007-10-15 George Williams <gww@silcom.com> 1.5274 + 1.5275 + Add support for cmap type 14. 1.5276 + 1.5277 + * devel/ftoption.h, include/freetype/config/ftoption.h 1.5278 + (TT_CONFIG_CMAP_FORMAT_14): New macro. 1.5279 + 1.5280 + * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc, 1.5281 + FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc, 1.5282 + FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New 1.5283 + support function prototypes. 1.5284 + (FT_CMap_ClassRec): Add them. 1.5285 + Update all users. 1.5286 + 1.5287 + * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New 1.5288 + macro. 1.5289 + 1.5290 + * include/freetype/freetype.h (FT_Get_Char_Variant_Index, 1.5291 + FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors, 1.5292 + FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API 1.5293 + functions. 1.5294 + 1.5295 + * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary 1.5296 + function. 1.5297 + (FT_Set_Charmap): Disallow cmaps of type 14. 1.5298 + (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault, 1.5299 + FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char, 1.5300 + FT_Get_Chars_Of_Variant): New API functions. 1.5301 + 1.5302 + * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros. 1.5303 + 1.5304 + (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate, 1.5305 + tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info, 1.5306 + tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary, 1.5307 + tt_cmap14_find_variant, tt_cmap14_char_var_index, 1.5308 + tt_cmap14_char_var_isdefault, tt_cmap14_variants, 1.5309 + tt_cmap14_char_variants, tt_cmap14_def_char_count, 1.5310 + tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars, 1.5311 + tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and 1.5312 + structures for cmap 14 support. 1.5313 + (tt_cmap_classes): Register tt_cmap14_class_rec. 1.5314 + (tt_face_build_cmaps): One more error message. 1.5315 + 1.5316 + * docs/CHANGES: Mention cmap 14 support. 1.5317 + 1.5318 +2007-10-01 Werner Lemberg <wl@gnu.org> 1.5319 + 1.5320 + * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4 1.5321 + charmap fails, do the loop again while searching a UCS-2 charmap. 1.5322 + This favours MS charmaps over Apple ones. 1.5323 + 1.5324 +2007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5325 + 1.5326 + * src/base/ftmac.c: Introduction of abstract `short' data types, 1.5327 + ResFileRefNum and ResID. These types were introduced for Copland, 1.5328 + then backported to MPW. The variables exchanged with FileManager 1.5329 + QuickDraw frameworks are redefined by these data types. Patch was 1.5330 + proposed by Sean McBride. 1.5331 + * builds/mac/ftmac.c: Ditto. 1.5332 + 1.5333 +2007-08-18 Werner Lemberg <wl@gnu.org> 1.5334 + 1.5335 + * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found 1.5336 + by Imran Yousaf. Fixes Savannah bug #20773. 1.5337 + 1.5338 + (otv_Lookup_validate): Correct handling of LookupType. Found by 1.5339 + Imran Yousaf. Fixes Savannah bug #20782. 1.5340 + 1.5341 +2007-08-17 George Williams <gww@silcom.com> 1.5342 + 1.5343 + * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of 1.5344 + SingleSubstFormat1. 1.5345 + 1.5346 +2007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5347 + 1.5348 + * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by 1.5349 + ${build-gcc} (unchecked) instead of by ${build}-gcc (checked). 1.5350 + Found by Ryan Hill. 1.5351 + 1.5352 +2007-08-11 George Williams <gww@silcom.com> 1.5353 + 1.5354 + * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h 1.5355 + (otv_Coverage_validate): Add fourth argument to pass an expected 1.5356 + count value. Update all users. 1.5357 + Check glyph IDs. 1.5358 + (otv_ClassDef_validate): Check `StartGlyph'. 1.5359 + 1.5360 + * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID 1.5361 + checks. 1.5362 + 1.5363 + * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only 1.5364 + 56 constants. 1.5365 + (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate): 1.5366 + Check glyph IDs. 1.5367 + 1.5368 +2007-08-08 Werner Lemberg <wl@gnu.org> 1.5369 + 1.5370 + * src/otvalid/otvbase.c, src/otvalid/otvcommn.c, 1.5371 + src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, 1.5372 + src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where 1.5373 + appropriate. Reported by George. 1.5374 + 1.5375 + * include/freetype/internal/fttrace.h: Define `trace_otvmath'. 1.5376 + 1.5377 + * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c. 1.5378 + 1.5379 + * docs/CHANGES: Updated. 1.5380 + 1.5381 +2007-08-08 George Williams <gww@silcom.com> 1.5382 + 1.5383 + Add `MATH' validating support to otvalid module. 1.5384 + 1.5385 + * include/freetype/tttags.h (TTAG_MATH): New macro. 1.5386 + * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro. 1.5387 + (FT_VALIDATE_OT): Updated. 1.5388 + 1.5389 + * src/otvalid/otmath.c: New file. 1.5390 + 1.5391 + * src/otvalid/otvalid.c: Include otvmath.c. 1.5392 + * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table. 1.5393 + 1.5394 +2007-08-04 Werner Lemberg <wl@gnu.org> 1.5395 + 1.5396 + * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL. 1.5397 + Fixes Savannah bug #20686. 1.5398 + 1.5399 +2007-08-03 Werner Lemberg <wl@gnu.org> 1.5400 + 1.5401 + * src/psnames/psmodule.c: Fix usage of 1.5402 + FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher. 1.5403 + 1.5404 +2007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5405 + 1.5406 + * src/base/ftmac.c (open_face_from_buffer): The argument 1.5407 + `driver_name' is typed as `const char*' to match with the 1.5408 + callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT. 1.5409 + This is same with open_face_from_buffer in src/base/ftobjs.c. 1.5410 + Found and fixed by Sean McBride. 1.5411 + 1.5412 +2007-07-28 Werner Lemberg <wl@gnu.org> 1.5413 + 1.5414 + * src/raster/ftraster.c (count_table): Make it conditional. 1.5415 + * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with 1.5416 + a preprocessor statement. 1.5417 + 1.5418 +2007-07-27 Werner Lemberg <wl@gnu.org> 1.5419 + 1.5420 + * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before 1.5421 + first usage. From Savannah patch #6115. 1.5422 + 1.5423 +2007-07-16 Werner Lemberg <wl@gnu.org> 1.5424 + 1.5425 + * docs/CHANGES: Updated. 1.5426 + 1.5427 +2007-07-16 Derek Clegg <dclegg@apple.com> 1.5428 + 1.5429 + Add new service for getting the ROS from a CID font. 1.5430 + 1.5431 + * include/freetype/config/ftheader.h (FT_CID_H): New macro. 1.5432 + * include/freetype/ftcid.h: New file. 1.5433 + 1.5434 + * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro. 1.5435 + * include/freetype/internal/services/svcid.h: New file. 1.5436 + 1.5437 + * src/base/ftcid.c: New file. 1.5438 + 1.5439 + * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H. 1.5440 + (cff_get_ros): New function. 1.5441 + (cff_service_cid_info): New service structure. 1.5442 + (cff_services): Register it. 1.5443 + 1.5444 + * src/cff/cffload.c (cff_font_done): Free registry and ordering. 1.5445 + 1.5446 + * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'. 1.5447 + 1.5448 + * modules.cfg (BASE_EXTENSIONS): Add ftcid.c. 1.5449 + 1.5450 +2007-07-11 Derek Clegg <dclegg@apple.com> 1.5451 + 1.5452 + Add support for postscript name service to CFF driver. 1.5453 + 1.5454 + * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H. 1.5455 + (cff_get_ps_name): New function. 1.5456 + (cff_service_ps_name): New service structure. 1.5457 + (cff_services): Register it. 1.5458 + 1.5459 +2007-07-07 Werner Lemberg <wl@gnu.org> 1.5460 + 1.5461 + * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of 1.5462 + `target'. Reported by Sean McBride. 1.5463 + 1.5464 +2007-07-06 Werner Lemberg <wl@gnu.org> 1.5465 + 1.5466 + * src/pfr/pfrcmap.c: Include pfrerror.h. 1.5467 + 1.5468 + * src/autofit/afindic.c: Add some external declarations to pacify 1.5469 + `make multi' compilation. 1.5470 + 1.5471 + * src/cid/cidgload.c (cid_load_glyph): Pacify compiler. 1.5472 + 1.5473 + * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c 1.5474 + (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP), 1.5475 + src/autofit/aflatin.c (af_latin_hints_compute_edges), 1.5476 + src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c 1.5477 + (tt_face_get_metrics), src/base/ftobjs.c (open_face) 1.5478 + [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler. 1.5479 + 1.5480 + * docs/release: Mention test compilation targets. 1.5481 + 1.5482 +2007-07-04 Werner Lemberg <wl@gnu.org> 1.5483 + 1.5484 + * docs/PROBLEMS: Mention that some PS based fonts can't be 1.5485 + handled correctly by FreeType. 1.5486 + 1.5487 + * src/truetype/ttgload.c (load_truetype_glyph): Always allow a 1.5488 + recursion depth of 1. This was the maximum value in TrueType 1.0, 1.5489 + and some older fonts don't set this field correctly. 1.5490 + 1.5491 + * src/gxvalid/gxvmort1.c 1.5492 + (gxv_mort_subtable_type1_substTable_validate): Fix tracing message. 1.5493 + 1.5494 +2007-07-03 Werner Lemberg <wl@gnu.org> 1.5495 + 1.5496 + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize 1.5497 + `round' to pacify compiler. 1.5498 + 1.5499 +2007-07-02 Werner Lemberg <wl@gnu.org> 1.5500 + 1.5501 + 1.5502 + * Version 2.3.5 released. 1.5503 + ========================= 1.5504 + 1.5505 + 1.5506 + Tag sources with `VER-2-3-5'. 1.5507 + 1.5508 + * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump 1.5509 + version number to 2.3.5. 1.5510 + 1.5511 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.5512 + builds/win32/visualc/freetype.dsp, 1.5513 + builds/win32/visualc/freetype.vcproj, 1.5514 + builds/win32/visualce/index.html, 1.5515 + builds/win32/visualce/freetype.dsp, 1.5516 + builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/. 1.5517 + 1.5518 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. 1.5519 + 1.5520 + * builds/unix/configure.raw (version_info): Set to 9:16:3. 1.5521 + 1.5522 +2007-07-01 David Turner <david@freetype.org> 1.5523 + 1.5524 + * include/freetype/freetype.h, src/base/ftpatent.c 1.5525 + (FT_Face_SetUnpatentedHinting): New function to dynamically change 1.5526 + the setting after a face is created. 1.5527 + 1.5528 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug 1.5529 + that created distortions in the bytecode interpreter results. 1.5530 + 1.5531 +2007-06-30 David Turner <david@freetype.org> 1.5532 + 1.5533 + * src/truetype/ttinterp.c (Ins_IUP): Add missing variable 1.5534 + initialization. 1.5535 + 1.5536 + * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an 1.5537 + infinite loop in the case of degenerate fonts. 1.5538 + 1.5539 +2007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com> 1.5540 + 1.5541 + Add autofit module for Indic scripts. This currently just reuses 1.5542 + the CJK-specific functions. 1.5543 + 1.5544 + * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New 1.5545 + macro. 1.5546 + * devel/ftoption.h: Synchronize with 1.5547 + include/freetype/config/ftoption.h. 1.5548 + 1.5549 + * src/autofit/afindic.c, src/autofit/afindic.h: New files. 1.5550 + 1.5551 + * src/autofit/afglobal.c, src/autofit/aftypes.h, 1.5552 + src/autofit/autofit.c: Updated. 1.5553 + 1.5554 + * src/autofit/Jamfile (_sources), * src/autofit/rules.mk 1.5555 + (AUTOF_DRV_SRC): Updated. 1.5556 + 1.5557 +2007-06-23 David Turner <david@freetype.org> 1.5558 + 1.5559 + * src/truetype/ttgload.c (TT_Load_Simple): Fix change from 1.5560 + 2007-06-16 that prevented the TrueType module from loading most 1.5561 + glyphs. 1.5562 + 1.5563 +2007-06-20 Werner Lemberg <wl@gnu.org> 1.5564 + 1.5565 + * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28 1.5566 + change. 1.5567 + 1.5568 +2007-06-19 Werner Lemberg <wl@gnu.org> 1.5569 + 1.5570 + * src/type1/t1load.c (parse_encoding): Handle one more error. 1.5571 + 1.5572 +2007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com> 1.5573 + 1.5574 + * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error 1.5575 + FNT_Err_Invalid_File_Format if file format was recognized but 1.5576 + the file doesn't contain any FNT(NE) or RT_FONT(PE) resources. 1.5577 + Add verbose debug logs to make it easier to debug failing load 1.5578 + attempts. 1.5579 + (FNT_Face_Init): A single FNT font can't contain more than 1 face, 1.5580 + so return an error if requested face index is > 0. 1.5581 + Do not do further attempt to load fonts if a previous attempt has 1.5582 + failed but returned error FNT_Err_Invalid_File_Format, i.e., the 1.5583 + file format has been recognized but no fonts found in the file. 1.5584 + 1.5585 +2007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.5586 + 1.5587 + * src/base/ftmac.c: Apply patches proposed by Sean McBride. 1.5588 + (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix 1.5589 + the compiler warnings against unused arguments. 1.5590 + (FT_ATSFontGetFileReference): Ditto. 1.5591 + (FT_GetFile_From_Mac_ATS_Name): Ditto. 1.5592 + (FT_New_Face_From_FSSpec): Ditto. 1.5593 + (lookup_lwfn_by_fond): Fix wrong comment. 1.5594 + Replace `const StringPtr' by more appropriate type 1.5595 + `ConstStr255Param'. 1.5596 + FSRefMakePathPath always returns UTF8 POSIX pathname in 1.5597 + Mach-O, thus HFS pathname support is dropped. 1.5598 + (count_faces): Remove HLock and HUnlock which is not 1.5599 + required on Mac OS X anymore. 1.5600 + (FT_New_Face_From_SFNT): Ditto. 1.5601 + (FT_New_Face_From_FOND): Ditto. 1.5602 + * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c, 1.5603 + except of HFS pathname support and HLock/HUnlock. 1.5604 + They are required on classic CFM environment. 1.5605 + 1.5606 +2007-06-18 Werner Lemberg <wl@gnu.org> 1.5607 + 1.5608 + * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect 1.5609 + assertion. 1.5610 + (ps_parser_to_bytes): Fix error message. 1.5611 + 1.5612 + * src/type42/t42objs.c (T42_Open_Face): Handle one more error. 1.5613 + * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/. 1.5614 + Don't allow mixed binary and hex strings. 1.5615 + Handle string_size == 0 and string_buf == 0. 1.5616 + (t42_parse_encoding): Handle one more error. 1.5617 + 1.5618 +2007-06-18 Werner Lemberg <wl@gnu.org> 1.5619 + 1.5620 + * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit 1.5621 + logic. 1.5622 + (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters 1.5623 + correctly. 1.5624 + (ps_parser_load_field_table): Use `fields->array_max' instead of 1.5625 + T1_MAX_TABLE_ELEMENTS to limit the number of arguments. 1.5626 + 1.5627 + * src/cff/cffgload.c (cff_decoder_prepare): Fix change from 1.5628 + 2007-06-06. 1.5629 + 1.5630 +2007-06-17 Werner Lemberg <wl@gnu.org> 1.5631 + 1.5632 + * src/tools/ftrandom.c (font_size): New global variable. 1.5633 + (TestFace): Use it. 1.5634 + (main): Handle new option `--size' to set `font_size'. 1.5635 + (Usage): Updated. 1.5636 + 1.5637 + * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of 1.5638 + invalid font. 1.5639 + (FNT_Load_Glyph): Protect against invalid bitmap width. 1.5640 + 1.5641 +2007-06-16 David Turner <david@freetype.org> 1.5642 + 1.5643 + * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline): 1.5644 + Prevent integer overflows when rendering very large outlines. 1.5645 + 1.5646 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the 1.5647 + well-formedness of the contours array when loading a glyph. 1.5648 + 1.5649 + * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1', 1.5650 + and `zp2'. 1.5651 + (Ins_IP): Check argument ranges to reject bogus operations properly. 1.5652 + (IUP_WorkerRec): Add `max_points' member. 1.5653 + (_iup_worker_interpolate): Check argument ranges. 1.5654 + (Ins_IUP): Ignore empty outlines. 1.5655 + 1.5656 +2007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com> 1.5657 + 1.5658 + * src/winfonts/winfnt.h: Add necessary structures for PE resource 1.5659 + parsing. 1.5660 + (WinPE32_HeaderRec): New structure. 1.5661 + (WinPE32_SectionRec): New structure. 1.5662 + (WinPE_RsrcDirRec): New structure. 1.5663 + (WinPE_RsrcDirEntryRec): New structure. 1.5664 + (WinPE_RsrcDataEntryRec): New structure. 1.5665 + (FNT_FontRec): Remove unused `size_shift' field. 1.5666 + 1.5667 + * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for 1.5668 + loading bitmap .fon files in PE format. 1.5669 + 1.5670 +2007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com> 1.5671 + 1.5672 + * builds/win32/ftdebug.c: Unify debug level handling with other 1.5673 + platforms. 1.5674 + 1.5675 +2007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com> 1.5676 + 1.5677 + * builds/win32/ftdebug.c (FT_Message): Send debug output to the 1.5678 + console as well as to the debugger. 1.5679 + 1.5680 +2007-06-14 Werner Lemberg <wl@gnu.org> 1.5681 + 1.5682 + * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to 1.5683 + cover all ranges which could possibly be handled by the aflatin 1.5684 + module (since the default fallback for unknown ranges is now the 1.5685 + afcjk module). It might be necessary to fine-tune this further by 1.5686 + splitting off modules for Greek, Cyrillic, or other blocks. 1.5687 + 1.5688 +2007-06-11 David Turner <david@freetype.org> 1.5689 + 1.5690 + * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix 1.5691 + incorrect segment linking computation. This was the root cause of 1.5692 + Savannah bug #19565. 1.5693 + 1.5694 + 1.5695 + * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes 1.5696 + to improve the Latin auto-hinter. Note that the new code is 1.5697 + disabled by default since it is not stabilized yet. 1.5698 + 1.5699 + * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files 1.5700 + (disabled currently). 1.5701 + 1.5702 + * src/autofit/afhints.c: Remove dead code. 1.5703 + (af_axis_hints_new_edge): Add argument to handle segment directions. 1.5704 + (af_edge_flags_to_string): New function. 1.5705 + (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle 1.5706 + option flags. 1.5707 + (af_glyph_hints_reload): Add argument to handle inflections. 1.5708 + Simplify. 1.5709 + (af_direction_compute): Fine tuning. 1.5710 + (af_glyph_hints_align_edge_points): Fix logic. 1.5711 + (af_glyph_hints_align_strong_points): Do linear search for small 1.5712 + edge counts. 1.5713 + (af_glyph_hints_align_weak_points): Skip any touched neighbors. 1.5714 + (af_iup_shift): Handle zero `delta'. 1.5715 + 1.5716 + * src/autofit/afhints.h: Updated. 1.5717 + (AF_SORT_SEGMENTS): New macro (disabled). 1.5718 + (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'. 1.5719 + 1.5720 + * src/autofit/afglobal.c (af_face_globals_get_metrics): Add 1.5721 + argument to pass option flags for handling scripts. 1.5722 + * src/autofit/afglobal.h: Updated. 1.5723 + 1.5724 + * src/autofit/afcjk.c: Updated. 1.5725 + * src/autofit/aflatin.c: Updated. 1.5726 + (af_latin_metrics_scale_dim): Don't reduce scale by 2%. 1.5727 + 1.5728 + (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code. 1.5729 + (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code. 1.5730 + Don't set `edge->dir' 1.5731 + (af_latin_hint_edges): Add more logging. 1.5732 + 1.5733 + * src/autofit/afloader.c: Updated. 1.5734 + 1.5735 +2007-06-11 Werner Lemberg <wl@gnu.org> 1.5736 + 1.5737 + * docs/CHANGES: Document FT_Face_CheckTrueTypePatents. 1.5738 + 1.5739 +2007-06-10 David Turner <david@freetype.org> 1.5740 + 1.5741 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to 1.5742 + the TrueType glyph loader. 1.5743 + 1.5744 + * include/freetype/config/ftoption.h: Clarify documentation 1.5745 + regarding unpatented hinting. 1.5746 + 1.5747 + 1.5748 + Add new `FT_Face_CheckTrueTypePatents' API. 1.5749 + 1.5750 + * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New 1.5751 + declaration. 1.5752 + 1.5753 + * include/freetype/internal/services/svttglyf.h, 1.5754 + src/base/ftpatent.c: New files. 1.5755 + 1.5756 + * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H): 1.5757 + New macro. 1.5758 + 1.5759 + * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and 1.5760 + `ttpload.h'. 1.5761 + (tt_service_truetype_glyf): New service structure. 1.5762 + (tt_services): Register it. 1.5763 + 1.5764 + * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add 1.5765 + `ftpatent.c'. 1.5766 + 1.5767 +2007-06-08 Werner Lemberg <wl@gnu.org> 1.5768 + 1.5769 + * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28. 1.5770 + Fonts without a cmap must be handled correctly by FreeType (anything 1.5771 + else would be a bug). 1.5772 + 1.5773 + 1.5774 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings) 1.5775 + [FT_DEBUG_LEVEL_TRACE]: Improve tracing message. 1.5776 + 1.5777 +2007-06-07 Werner Lemberg <wl@gnu.org> 1.5778 + 1.5779 + * src/sfnt/ttsbit0.c (tt_sbit_decoder_init, 1.5780 + tt_sbit_decoder_load_image): Protect against integer overflows. 1.5781 + 1.5782 + 1.5783 + * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks 1.5784 + for `x_control' and `y_control'. 1.5785 + 1.5786 +2007-06-06 Werner Lemberg <wl@gnu.org> 1.5787 + 1.5788 + * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'. 1.5789 + 1.5790 + 1.5791 + * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal 1.5792 + FreeType error. 1.5793 + 1.5794 + 1.5795 + * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of 1.5796 + `font_count'. 1.5797 + 1.5798 + 1.5799 + * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'. 1.5800 + 1.5801 + 1.5802 + * src/cff/cffgload.c (cff_decoder_prepare): Change return type to 1.5803 + `FT_Error'. 1.5804 + Check `fd_index'. 1.5805 + (cff_slot_load): Updated. 1.5806 + * src/cff/cffgload.h: Updated. 1.5807 + 1.5808 +2007-06-05 Werner Lemberg <wl@gnu.org> 1.5809 + 1.5810 + * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code. 1.5811 + (pfr_glyph_load_simple): Convert assertion into normal FreeType 1.5812 + error. 1.5813 + Check `idx'. 1.5814 + (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to): 1.5815 + Convert assertion into normal FreeType error. 1.5816 + 1.5817 + * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code. 1.5818 + 1.5819 + 1.5820 + * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'. 1.5821 + 1.5822 + 1.5823 + * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1 1.5824 + in case of parsing error. 1.5825 + (ps_parser_load_field): Updated. 1.5826 + 1.5827 + * src/type1/t1load.c (parse_font_matrix): Updated. 1.5828 + 1.5829 +2007-06-04 Werner Lemberg <wl@gnu.org> 1.5830 + 1.5831 + * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'. 1.5832 + 1.5833 + * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'. 1.5834 + 1.5835 +2007-06-03 Werner Lemberg <wl@gnu.org> 1.5836 + 1.5837 + * src/tools/ftrandom/*: Add the `ftrandom' test program written by 1.5838 + George Williams (with some modifications). 1.5839 + 1.5840 +2007-06-03 Werner Lemberg <wl@gnu.org> 1.5841 + 1.5842 + * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c 1.5843 + (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for 1.5844 + face == NULL. Suggested by Graham Asher. 1.5845 + 1.5846 +2007-06-03 Ismail Dönmez <ismail@pardus.org.tr> 1.5847 + 1.5848 + * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning. 1.5849 + 1.5850 +2007-06-02 Werner Lemberg <wl@gnu.org> 1.5851 + 1.5852 + * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header, 1.5853 + FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files. 1.5854 + 1.5855 + * src/bdf/bdflib.c (bdf_load_font): Use them. 1.5856 + 1.5857 + * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better. 1.5858 + 1.5859 +2007-06-01 Werner Lemberg <wl@gnu.org> 1.5860 + 1.5861 + * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c 1.5862 + (FTC_CMapCache_Lookup): Remove unused code. 1.5863 + 1.5864 +2007-06-01 Sean McBride <sean@rogue-research.com> 1.5865 + 1.5866 + * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed, 1.5867 + unused. 1.5868 + 1.5869 +2007-06-01 Werner Lemberg <wl@gnu.org> 1.5870 + 1.5871 + * src/cid/cidparse.c (cid_parser_new): Don't continue second search 1.5872 + pass for `StartData' if an error has occurred. 1.5873 + Exit properly if no `StartData' has been seen at all. 1.5874 + 1.5875 + * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but 1.5876 + LONG_MAX to avoid compiler warning. Suggested by Sean McBride. 1.5877 + 1.5878 +2007-05-30 Werner Lemberg <wl@gnu.org> 1.5879 + 1.5880 + * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect 1.5881 + against too small binary data strings. 1.5882 + 1.5883 + * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better. 1.5884 + 1.5885 +2007-05-28 David Turner <david@freetype.org> 1.5886 + 1.5887 + * src/cff/cffgload.c (cff_slot_load): Do not apply the identity 1.5888 + transformation. This significantly reduces the loading time of CFF 1.5889 + glyphs. 1.5890 + 1.5891 + * docs/CHANGES: Updated. 1.5892 + 1.5893 + * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default 1.5894 + hinting script to CJK, since it works well with more scripts than 1.5895 + latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing 1.5896 + this out! 1.5897 + 1.5898 +2007-05-25 Werner Lemberg <wl@gnu.org> 1.5899 + 1.5900 + * docs/CHANGES: Updated. 1.5901 + 1.5902 +2007-05-24 Werner Lemberg <wl@gnu.org> 1.5903 + 1.5904 + * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration 1.5905 + into TT_USE_BYTECODE_INTERPRETER preprocessor block. 1.5906 + 1.5907 +2007-05-24 Graham Asher <graham.asher@btinternet.com> 1.5908 + 1.5909 + * src/truetype/ttobjs.c (tt_size_ready_bytecode) 1.5910 + [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused. 1.5911 + 1.5912 +2007-05-22 David Turner <david@freetype.org> 1.5913 + 1.5914 + * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to 1.5915 + avoid crashes in case the bytecode interpreter is not used. 1.5916 + 1.5917 + 1.5918 + Avoid heap blowup with very large .Z font files. This fixes 1.5919 + Savannah bug #19910. 1.5920 + 1.5921 + * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor', 1.5922 + `in_limit', `pad', `pad_bits', and `in_buff' members. 1.5923 + Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and 1.5924 + `buf_total' members. 1.5925 + 1.5926 + * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes 1.5927 + only one argument. 1.5928 + (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated. 1.5929 + 1.5930 +2007-05-20 Ismail Dönmez <ismail@pardus.org.tr> 1.5931 + 1.5932 + * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'. 1.5933 + (ps_dimension_set_mask_bits): Remove `const'. 1.5934 + 1.5935 +2007-05-19 Werner Lemberg <wl@gnu.org> 1.5936 + 1.5937 + * src/sfnt/ttmtx.c (tt_face_get_metrics) 1.5938 + [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix. 1.5939 + 1.5940 +2007-05-19 Derek Clegg <dclegg@apple.com> 1.5941 + 1.5942 + Savannah patch #5929. 1.5943 + 1.5944 + * include/freetype/tttables.h, src/base/ftobjcs.c 1.5945 + (FT_Get_CMap_Format): New function. 1.5946 + 1.5947 + * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add 1.5948 + `format' member. 1.5949 + * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set 1.5950 + cmap_info->format. 1.5951 + 1.5952 +2007-05-19 Werner Lemberg <wl@gnu.org> 1.5953 + 1.5954 + * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state 1.5955 + before handling subglyphs so that it can be reinitialized each time. 1.5956 + This fixes Savannah bug #19859. 1.5957 + 1.5958 +2007-05-16 Werner Lemberg <wl@gnu.org> 1.5959 + 1.5960 + * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink), 1.5961 + src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h 1.5962 + (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init), 1.5963 + src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea, 1.5964 + tt_face_get_metrics): Fix type-punning issues. 1.5965 + 1.5966 +2007-05-15 David Turner <david@freetype.org> 1.5967 + 1.5968 + * include/freetype/config/ftstdlib.h, 1.5969 + include/freetype/internal/ftobjs.h: As suggested by Graham Asher, 1.5970 + ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values 1.5971 + instead on relying on the locale-dependent functions provided by 1.5972 + <ctypes.h>. 1.5973 + 1.5974 +2007-05-15 Graham Asher <graham.asher@btinternet.com> 1.5975 + 1.5976 + * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused 1.5977 + variable. 1.5978 + * src/autofit/afloader.c (af_loader_load_g): Ditto. 1.5979 + 1.5980 + * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'. 1.5981 + (open_face_from_buffer): Initialize `stream'. 1.5982 + (FT_Request_Metrics): Remove unused variable. 1.5983 + Remove redundant `break' statements. 1.5984 + (FT_Get_Track_Kerning): Remove unused variable. 1.5985 + 1.5986 + * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs, 1.5987 + afm_parse_kern_data): Remove redundant 1.5988 + `break' statements. 1.5989 + (afm_parser_parse): Ditto. 1.5990 + Don't use uninitialized variables. 1.5991 + 1.5992 + * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long. 1.5993 + Use `|' operator instead of `^' to set it. 1.5994 + Update all users. 1.5995 + 1.5996 + * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'. 1.5997 + * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable. 1.5998 + 1.5999 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant 1.6000 + comparison. 1.6001 + (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'. 1.6002 + (TT_Load_Glyph): Remove unused variable. 1.6003 + 1.6004 +2007-05-13 Derek Clegg <dclegg@apple.com> 1.6005 + 1.6006 + * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool 1.6007 + if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928. 1.6008 + 1.6009 +2007-05-11 David Turner <david@freetype.org> 1.6010 + 1.6011 + * src/cache/ftbasic.c, include/freetype/ftcache.h 1.6012 + (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new 1.6013 + functions that allow us to look up glyphs using an FTC_Scaler object 1.6014 + to specify the size, making it possible to use fractional pixel 1.6015 + sizes. 1.6016 + 1.6017 + * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set 1.6018 + `size->cvt_ready'. Reported by Boris Letocha. 1.6019 + 1.6020 +2007-05-09 Graham Asher <graham.asher@btinternet.com> 1.6021 + 1.6022 + * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c 1.6023 + (af_latin_metrics_scale_dim): Fix compiler warnings. 1.6024 + 1.6025 +2007-05-06 Werner Lemberg <wl@gnu.org> 1.6026 + 1.6027 + * builds/win32/visualce/freetype.sln: Removed, as requested by 1.6028 + Vincent. 1.6029 + 1.6030 +2007-05-04 Vincent RICHOMME <richom.v@free.fr> 1.6031 + 1.6032 + * builds/win32/visualce/*: Add Visual C++ project files for Pocket 1.6033 + PC targets. 1.6034 + 1.6035 + * docs/CHANGES: Document them. 1.6036 + 1.6037 +2007-05-04 <harry@kdevelop.org> 1.6038 + 1.6039 + * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of 1.6040 + mmap (which might happen on some RTOS). From Savannah patch #5909. 1.6041 + 1.6042 +2007-05-03 Werner Lemberg <wl@gnu.org> 1.6043 + 1.6044 + * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code. 1.6045 + * include/freetype/freetype.h (FT_Set_Char_Size): Update 1.6046 + documentation. 1.6047 + 1.6048 +2007-04-28 Victor Stinner <victor.stinner@inl.fr> 1.6049 + 1.6050 + * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading 1.6051 + `cmap'. 1.6052 + 1.6053 +2007-04-27 Werner Lemberg <wl@gnu.org> 1.6054 + 1.6055 + * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative 1.6056 + number of points in contours. Problem reported by Victor Stinner 1.6057 + <victor.stinner@haypocalc.com>. 1.6058 + (TT_Process_Simple_Glyph): Synchronize variable types. 1.6059 + 1.6060 +2007-04-26 Werner Lemberg <wl@gnu.org> 1.6061 + 1.6062 + * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to 1.6063 + zero in case of error. This fixes Savannah bug #19689. 1.6064 + 1.6065 +2007-04-25 Boris Letocha <b.letocha@cz.gmc.net> 1.6066 + 1.6067 + * src/truetype/ttobjs.c: Fix a typo that created a speed regression 1.6068 + in the TrueType bytecode loader. 1.6069 + 1.6070 +2007-04-10 Martin Horak <horakm@centrum.cz> 1.6071 + 1.6072 + * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]: 1.6073 + Ignore `hhea' table. This fixes Savannah bug #19261. 1.6074 + 1.6075 +2007-04-09 Werner Lemberg <wl@gnu.org> 1.6076 + 1.6077 + 1.6078 + * Version 2.3.4 released. 1.6079 + ========================= 1.6080 + 1.6081 + 1.6082 + Tag sources with `VER-2-3-4'. 1.6083 + 1.6084 + * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump 1.6085 + version number to 2.3.4. 1.6086 + 1.6087 + * README, Jamfile (RefDoc), builds/win32/visualc/index.html, 1.6088 + builds/win32/visualc/freetype.dsp, 1.6089 + builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/. 1.6090 + 1.6091 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. 1.6092 + 1.6093 + * builds/unix/configure.raw (version_info): Set to 9:15:3. 1.6094 + 1.6095 +2007-04-09 Martin Horak <horakm@centrum.cz> 1.6096 + 1.6097 + * src/truetype/ttgload.c (load_truetype_glyph): Save and restore 1.6098 + memory stream to avoid a crash with the incremental memory 1.6099 + interface (Savannah bug #19260). 1.6100 + 1.6101 +2007-04-06 David Turner <david@freetype.org> 1.6102 + 1.6103 + * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug 1.6104 + (Savannah bug #19536). 1.6105 + 1.6106 +2007-04-04 Werner Lemberg <wl@gnu.org> 1.6107 + 1.6108 + 1.6109 + * Version 2.3.3 released. 1.6110 + ========================= 1.6111 + 1.6112 + 1.6113 + Tag sources with `VER-2-3-3'. 1.6114 + 1.6115 + * docs/CHANGES: Mention CVE-2007-1351. 1.6116 + 1.6117 +2007-04-03 David Turner <david@freetype.org> 1.6118 + 1.6119 + * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos, 1.6120 + if one of the resolution values is 0, treat it as if it were the 1.6121 + same as the other value. 1.6122 + 1.6123 +2007-04-02 David Turner <david@freetype.org> 1.6124 + 1.6125 + Add special code to detect `extra-light' fonts and do not snap their 1.6126 + stem widths too much to avoid bizarre hinting effects. 1.6127 + 1.6128 + * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and 1.6129 + `extra_light' members. 1.6130 + 1.6131 + * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize 1.6132 + them. 1.6133 + (af_latin_metrics_scale_dim): Set `extra_light'. 1.6134 + (af_latin_compute_stem_width): Use `extra_light'. 1.6135 + 1.6136 +2007-03-28 David Turner <david@freetype.org> 1.6137 + 1.6138 + * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the 1.6139 + padding. 1.6140 + 1.6141 +2007-03-28 Werner Lemberg <wl@gnu.org> 1.6142 + 1.6143 + * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128 1.6144 + gracefully. 1.6145 + (_bdf_set_default_spacing): Increase `name' buffer size to 256 and 1.6146 + issue an error for longer names. This fixes CVE-2007-1351. 1.6147 + (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the 1.6148 + number of code points in Unicode. 1.6149 + 1.6150 + * builds/win32/visualc/index.html, 1.6151 + builds/win32/visualc/freetype.dsp, 1.6152 + builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/, 1.6153 + s/232/233/. 1.6154 + 1.6155 + * docs/CHANGES: Mention ftdiff. 1.6156 + 1.6157 +2007-03-26 David Turner <david@freetype.org> 1.6158 + 1.6159 + * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and 1.6160 + corresponding code. 1.6161 + (Ins_MD): Last regression fix. 1.6162 + 1.6163 + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues 1.6164 + computations in order to ignore single-point contours. These are 1.6165 + never rasterized and correspond in certain fonts to mark-attach 1.6166 + points that are very far from the glyph's real outline, ruining the 1.6167 + computation. 1.6168 + 1.6169 + * src/autofit/afloader.c (af_loader_load_g): In the case of 1.6170 + monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0. 1.6171 + Otherwise code that uses them will most certainly ruin the fixed 1.6172 + advance property. 1.6173 + 1.6174 + * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update 1.6175 + documentation and bump version number to 2.3.3. 1.6176 + 1.6177 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. 1.6178 + 1.6179 + * builds/unix/configure.raw (version_info): Set to 9:14:3. 1.6180 + 1.6181 +2007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6182 + 1.6183 + * builds/unix/ftconfig.in: Disable Carbon framework dependency on 1.6184 + 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride. 1.6185 + * builds/vms/ftconfig.h: Ditto. 1.6186 + * include/freetype/config/ftconfig.h: Ditto. 1.6187 + 1.6188 +2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6189 + 1.6190 + * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent 1.6191 + 32bit unsigned long overflow by 64bit filesize on LP64 platform, as 1.6192 + proposed by Sean McBride: 1.6193 + http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html 1.6194 + 1.6195 +2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6196 + 1.6197 + * builds/unix/ftconfig.in: Suppress SGI compiler's warning against 1.6198 + setjmp, proposed by Sean McBride: 1.6199 + http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html 1.6200 + 1.6201 +2007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6202 + 1.6203 + * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of 1.6204 + conftest.c, to avoid unexpected shell evaluation. Possibly it is a 1.6205 + bug or undocumented behaviour of autoconf. 1.6206 + 1.6207 +2007-03-18 David Turner <david@freetype.org> 1.6208 + 1.6209 + * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression 1.6210 + fix; testing still needed. 1.6211 + 1.6212 + * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix. 1.6213 + 1.6214 +2007-03-17 David Turner <david@freetype.org> 1.6215 + 1.6216 + * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the 1.6217 + (undocumented) twilight zone special case. 1.6218 + 1.6219 +2007-03-09 Werner Lemberg <wl@gnu.org> 1.6220 + 1.6221 + 1.6222 + * Version 2.3.2 released. 1.6223 + ========================= 1.6224 + 1.6225 + 1.6226 + Tag sources with `VER-2-3-2'. 1.6227 + 1.6228 + * builds/win32/visualc/index.html, 1.6229 + builds/win32/visualc/freetype.dsp, 1.6230 + builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/, 1.6231 + s/231/232/. 1.6232 + 1.6233 +2007-03-08 David Turner <david@freetype.org> 1.6234 + 1.6235 + * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release. 1.6236 + 1.6237 + * builds/unix/configure.raw (version_info): Set to 9:13:3. 1.6238 + 1.6239 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. 1.6240 + 1.6241 + * README, Jamfile (RefDoc): s/2.3.1/2.3.2/. 1.6242 + 1.6243 + * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the 1.6244 + function to work properly, over-writing user-provided buffers in 1.6245 + some cases. Reported by James Cloos <cloos@jhcloos.com>. 1.6246 + 1.6247 + 1.6248 +2007-03-05 Werner Lemberg <wl@gnu.org> 1.6249 + 1.6250 + * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper 1.6251 + macro for `strstr'. 1.6252 + 1.6253 + * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning 1.6254 + `trick_names', as suggested by Ivan Nincic. 1.6255 + 1.6256 +2007-03-05 David Turner <david@freetype.org> 1.6257 + 1.6258 + * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in 1.6259 + case FT_Init_FreeType fails for some reason. Problem reported by 1.6260 + Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>. 1.6261 + 1.6262 + * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem' 1.6263 + and `y_ppem' fields of the `TT_Size.metrics' structure, not those of 1.6264 + `TT_Size.root.metrics'. Problem reported by Daniel Glöckner 1.6265 + <daniel-gl@gmx.net>. 1.6266 + 1.6267 + * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit 1.6268 + signed values, not unsigned ones. Problem reported by Johannes 1.6269 + Walther <joh_walt@yahoo.de>. 1.6270 + 1.6271 +2007-02-21 David Turner <david@freetype.org> 1.6272 + 1.6273 + * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting 1.6274 + of small and ghost stems in the Postscript interpreter. 1.6275 + 1.6276 +2007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6277 + 1.6278 + * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory 1.6279 + leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>. 1.6280 + * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto. 1.6281 + 1.6282 +2007-02-16 Werner Lemberg <wl@gnu.org> 1.6283 + 1.6284 + * src/truetype/ttinterp.c (Ins_MD): Remove unused variable. 1.6285 + * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto. 1.6286 + 1.6287 +2007-02-14 David Turner <david@freetype.org> 1.6288 + 1.6289 + It seems that the following changes fix most of the known 1.6290 + interpreter problems with my fonts, but more testing is needed, 1.6291 + though. 1.6292 + 1.6293 + * src/truetype/ttinterp.c (FIX_BYTECODE): Activate. 1.6294 + (TT_MulFix14): Rewrite. 1.6295 + (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated. 1.6296 + (Ins_MIRP): Ditto. 1.6297 + 1.6298 +2007-02-12 Werner Lemberg <wl@gnu.org> 1.6299 + 1.6300 + * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler 1.6301 + warnings. 1.6302 + 1.6303 + * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c 1.6304 + (bdf_interpret_style): Ditto. 1.6305 + 1.6306 +2007-02-12 David Turner <david@freetype.org> 1.6307 + 1.6308 + Simplify projection and dual-projection code interface. 1.6309 + 1.6310 + * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not 1.6311 + FT_Vector' as argument type. 1.6312 + * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj): 1.6313 + Updated. 1.6314 + (CUR_fast_project, CUR_fast_dualproj): New macros. 1.6315 + (Project, Dual_Project, Project_x, Project_y): Updated. 1.6316 + (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast' 1.6317 + macros. 1.6318 + 1.6319 + 1.6320 + * src/autofit/afloader.c (af_loader_load_g): Improve spacing 1.6321 + adjustments for the non-light auto-hinted modes. Gets rid of 1.6322 + `inter-letter spacing is too wide' problems. 1.6323 + 1.6324 + * src/autofit/aflatin.c (af_latin_hints_link_segments, 1.6325 + af_latin_hints_compute_edges): Slight optimization of the segment 1.6326 + linker and better handling of serif segments to get rid of broken 1.6327 + `9' in Arial at 9pt (96dpi). 1.6328 + 1.6329 + 1.6330 + Introduce new string functions and the corresponding macros to get 1.6331 + rid of various uses of strcpy and other `evil' functions, as well as 1.6332 + to simplify a few things. 1.6333 + 1.6334 + * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup, 1.6335 + ft_mem_strcpyn): New declarations. 1.6336 + (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New 1.6337 + macros. 1.6338 + * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New 1.6339 + functions. 1.6340 + 1.6341 + * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init), 1.6342 + src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c 1.6343 + (pcf_get_properties, pcf_interpret_style, pcf_load_font), 1.6344 + src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c 1.6345 + (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy), 1.6346 + src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c 1.6347 + (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name, 1.6348 + t42_get_name_index): Use new functions and simplify code. 1.6349 + 1.6350 + * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN. 1.6351 + 1.6352 +2007-02-11 Werner Lemberg <wl@gnu.org> 1.6353 + 1.6354 + * src/autofit/afloader.c (af_loader_load_g): Don't change width for 1.6355 + non-spacing glyphs. 1.6356 + 1.6357 +2007-02-07 Tom Parker <palfrey@tevp.net> 1.6358 + 1.6359 + * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL 1.6360 + pointer. 1.6361 + 1.6362 +2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6363 + 1.6364 + * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE): 1.6365 + Introduce __attribute((deprecated))__ to warn functions 1.6366 + which use non-ANSI data types in its interfaces. 1.6367 + (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec. 1.6368 + (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec. 1.6369 + (FT_New_Face_From_FSSpec): Deprecated, using FSSpec. 1.6370 + (FT_New_Face_From_FSRef): Deprecated, using FSRef. 1.6371 + 1.6372 + * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void 1.6373 + to avoid warning in building FreeType. 1.6374 + * builds/mac/ftmac.c: Ditto. 1.6375 + 1.6376 +2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6377 + 1.6378 + * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured 1.6379 + `--with-fsspec' etc. Replace #include "ftmac.c" with 1.6380 + #include <ftmac.c>. 1.6381 + 1.6382 +2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6383 + 1.6384 + * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name): 1.6385 + Introduced as replacement of FT_GetFile_From_Mac_ATS_Name. 1.6386 + * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto. 1.6387 + (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of 1.6388 + FT_GetFilePath_From_Mac_ATS_Name. 1.6389 + * builds/mac/ftmac.c: Ditto. 1.6390 + 1.6391 +2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6392 + 1.6393 + * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of 1.6394 + FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are 1.6395 + for passing to FT_New_Face_From_FSSpec. 1.6396 + 1.6397 +2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6398 + 1.6399 + * builds/unix/configure.raw: Check whether Mac OS X system headers 1.6400 + can be built under ANSI C mode. 1.6401 + 1.6402 + * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version 1.6403 + compatible to ANSI C in case system headers are ANSI C incompatible. 1.6404 + * builds/mac/ftmac.c (OS_INLINE): Ditto. 1.6405 + 1.6406 +2007-02-01 Werner Lemberg <wl@gnu.org> 1.6407 + 1.6408 + * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN): 1.6409 + Explain why applications shouldn't use it. Found by Alexei. 1.6410 + 1.6411 +2007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com> 1.6412 + 1.6413 + * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning 1.6414 + message. 1.6415 + 1.6416 + * src/gxvalid/gxvmort1.c 1.6417 + (gxv_mort_subtable_type1_substTable_validate): Fix debugging 1.6418 + message. 1.6419 + 1.6420 +2007-01-31 Werner Lemberg <wl@gnu.org> 1.6421 + 1.6422 + 1.6423 + * Version 2.3.1 released. 1.6424 + ========================= 1.6425 + 1.6426 + 1.6427 + Tag sources with `VER-2-3-1-FINAL'. 1.6428 + 1.6429 + * builds/win32/visualc/freetype.dsp, 1.6430 + builds/win32/visualc/freetype.vcproj: s/230/231/. 1.6431 + * builds/win32/visualc/index.html: s/221/231/. 1.6432 + 1.6433 + * vms_make.com: Add `ftgasp'. 1.6434 + 1.6435 +2007-01-30 David Turner <david@freetype.org> 1.6436 + 1.6437 + Tag sources with VER-2-3-1 to prepare release. 1.6438 + 1.6439 + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. 1.6440 + 1.6441 + * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc): 1.6442 + s/2.3.0/2.3.1/. 1.6443 + 1.6444 + * builds/unix/configure.raw (version_info): Set to 9:12:3. 1.6445 + 1.6446 + 1.6447 + * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c 1.6448 + (af_loader_load_g): Disable the warper (i.e., the light hinting 1.6449 + improvements) to make a 2.3.1 bugfix release before introducing a 1.6450 + new feature. This should give us more time to tune and improve the 1.6451 + warper for the next release. 1.6452 + 1.6453 + * docs/CHANGES: Update accordingly. 1.6454 + 1.6455 +2007-01-25 David Turner <david@freetype.org> 1.6456 + 1.6457 + For light auto-hinting, improve glyph advance widths and resurrect 1.6458 + normal/full hinting to its normal quality. 1.6459 + 1.6460 + * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta' 1.6461 + and `xmax_delta'. 1.6462 + * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta' 1.6463 + and `xmax_delta'. 1.6464 + 1.6465 + * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace 1.6466 + preprocessor conditional with if-clause, handling both light and 1.6467 + normal mode. 1.6468 + 1.6469 + * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again. 1.6470 + (af_warper_compute): Handle `xmin_delta' and `xmax_delta'. 1.6471 + 1.6472 +2007-01-25 Werner Lemberg <wl@gnu.org> 1.6473 + 1.6474 + * docs/release: Updated -- Savannah uses a new uploading scheme. 1.6475 + 1.6476 +2007-01-25 David Turner <david@freetype.org> 1.6477 + 1.6478 + * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix. 1.6479 + 1.6480 + * src/cff/cffgload.c (cff_decoder_parse_charstrings) 1.6481 + <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty 1.6482 + functions. 1.6483 + 1.6484 + * docs/CHANGES: Document light auto-hinting improvement. 1.6485 + 1.6486 +2007-01-25 Werner Lemberg <wl@gnu.org> 1.6487 + 1.6488 + * src/cff/cffload.c (cff_index_get_pointers): Handle last entry 1.6489 + correctly in a sanity check. Since this function is only used to 1.6490 + load local and global functions, any charstring that called the last 1.6491 + local/global function would fail otherwise. This fixes Savannah bug 1.6492 + #18867. 1.6493 + 1.6494 + * docs/CHANGES: Document it. 1.6495 + 1.6496 +2007-01-23 David Turner <david@freetype.org> 1.6497 + 1.6498 + * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that 1.6499 + prevented compilation when disabling both the unpatented and the 1.6500 + bytecode interpreter in the TrueType font driver. 1.6501 + 1.6502 + 1.6503 + Fix and enable the warper to improve `light' hinting mode. This is 1.6504 + not necessarily a final version, but it seems to work well. 1.6505 + 1.6506 + * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]: 1.6507 + Disable code. 1.6508 + (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT. 1.6509 + * src/autofit/aftypes.h: Activate AF_USE_WARPER. 1.6510 + 1.6511 + * src/autofit/afwarp.c (AF_WarpScore): Tune table. 1.6512 + (af_warper_compute_line_best): Fix array size of `scores'. 1.6513 + (af_warper_compute): Better handling of border cases. 1.6514 + * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1' 1.6515 + and `X2'. 1.6516 + 1.6517 +2007-01-21 Werner Lemberg <wl@gnu.org> 1.6518 + 1.6519 + * ChangeLog: Split off older entries into... 1.6520 + * ChangeLog.22: This new file. 1.6521 + 1.6522 +2007-01-21 Werner Lemberg <wl@gnu.org> 1.6523 + 1.6524 + * docs/CHANGES: Document SHZ fix. 1.6525 + 1.6526 +2007-01-21 George Williams <gww@silcom.com> 1.6527 + 1.6528 + * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom 1.6529 + points. 1.6530 + 1.6531 +2007-01-21 Werner Lemberg <wl@gnu.org> 1.6532 + 1.6533 + * src/sfnt/ttmtx.c (tt_face_get_metrics) 1.6534 + [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check. 1.6535 + 1.6536 +2007-01-17 Werner Lemberg <wl@gnu.org> 1.6537 + 1.6538 + 1.6539 + * Version 2.3.0 released. 1.6540 + ========================= 1.6541 + 1.6542 + 1.6543 + Tag sources with `VER-2-3-0-FINAL'. 1.6544 + 1.6545 +2007-01-17 Werner Lemberg <wl@gnu.org> 1.6546 + 1.6547 + * docs/release: Updated. 1.6548 + 1.6549 +2007-01-16 David Turner <david@freetype.org> 1.6550 + 1.6551 + * src/autofit/aflatin.c (af_latin_hints_compute_segments), 1.6552 + src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c 1.6553 + (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler 1.6554 + warnings. 1.6555 + 1.6556 +2007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de> 1.6557 + 1.6558 + * builds/amiga/makefile, builds/amiga/makefile.os4, 1.6559 + builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'. 1.6560 + 1.6561 + * builds/amiga/include/freetype/config/ftconfig.h: Synchronize. 1.6562 + 1.6563 +2007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de> 1.6564 + 1.6565 + Fix various compiler warnings. 1.6566 + 1.6567 + * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h, 1.6568 + src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h: 1.6569 + s/index/strike_index/. 1.6570 + * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/. 1.6571 + 1.6572 + * src/gxvalid/gxvmorx5.c 1.6573 + (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/. 1.6574 + 1.6575 + * src/truetype/ttinterp.c (Compute_Point_Displacement), 1.6576 + src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly 1.6577 + uninitialized variables. 1.6578 + 1.6579 +2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6580 + 1.6581 + * docs/CHANGES, docs/INSTALL.MAC: Improvements. 1.6582 + 1.6583 +2007-01-13 Werner Lemberg <wl@gnu.org> 1.6584 + 1.6585 + * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM 1.6586 + versions up to 0x3FF without complaining. 1.6587 + 1.6588 +2007-01-13 Derek Clegg <dclegg@apple.com> 1.6589 + 1.6590 + Add FT_Get_PS_Font_Info interface to CFF driver. 1.6591 + 1.6592 + * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H. 1.6593 + (CFF_FontRec): Add `font_info' field. 1.6594 + 1.6595 + * src/cff/cffload.c: Include FT_TYPE1_TABLES_H. 1.6596 + (cff_font_done): Free font->font_info if necessary. 1.6597 + 1.6598 + * src/cff/cffdrvr.c (cff_ps_get_font_info): New function. 1.6599 + (cff_service_ps_info): Register cff_ps_get_font_info. 1.6600 + 1.6601 +2007-01-13 Werner Lemberg <wl@gnu.org> 1.6602 + 1.6603 + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation 1.6604 + with C++ compiler. 1.6605 + 1.6606 + * src/autofit/afhints.c (af_glyph_hints_dump_segments, 1.6607 + af_glyph_hints_dump_edges): Ditto. 1.6608 + 1.6609 + * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in 1.6610 + `modules.cfg'). 1.6611 + 1.6612 + * src/sfnt/ttsbit0.h: Remove. 1.6613 + 1.6614 + * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c. 1.6615 + 1.6616 +2007-01-12 David Turner <david@freetype.org> 1.6617 + 1.6618 + * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping 1.6619 + bug in the bitmap emboldener if the pitch of the source bitmap is 1.6620 + much larger than its width. 1.6621 + 1.6622 + * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related 1.6623 + compilation warning. 1.6624 + 1.6625 +2007-01-12 Werner Lemberg <wl@gnu.org> 1.6626 + 1.6627 + * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from 1.6628 + `automake' CVS module from sources.redhat.com. 1.6629 + 1.6630 +2007-01-11 Werner Lemberg <wl@gnu.org> 1.6631 + 1.6632 + * src/type1/t1load.c (is_space): Removed. 1.6633 + (parse_encoding, parse_charstrings): Use IS_PS_DELIM. 1.6634 + (parse_charstrings): Use IS_PS_TOKEN. 1.6635 + 1.6636 + 1.6637 + * autogen.sh: Avoid bash specific syntax. 1.6638 + 1.6639 +2007-01-11 David Turner <david@freetype.org> 1.6640 + 1.6641 + * docs/CHANGES: Small update. 1.6642 + 1.6643 + * builds/unix/configure.raw (version_info): Set to 9:11:3. 1.6644 + 1.6645 + * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a 1.6646 + crash with some Mac OS X .dfont files. Submitted by Masatake 1.6647 + Yamato. 1.6648 + 1.6649 + * autogen.sh: Small fix to get it working on Mac OS X properly: 1.6650 + The issue is that GNU libtool is called `glibtool' on this platform, 1.6651 + and we must call `glibtoolize', since `libtoolize' doesn't exist. 1.6652 + 1.6653 +2007-01-10 David Turner <david@freetype.org> 1.6654 + 1.6655 + * all-sources: Tag all sources with VER-2-3-0-RC1 and 1.6656 + VER-2-3-0. 1.6657 + 1.6658 + * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp, 1.6659 + builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update 1.6660 + version number to 2.3.0. 1.6661 + 1.6662 + * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3. 1.6663 + (FREETYPE_PATCH): Set to 0. 1.6664 + 1.6665 + * include/freetype/ftchapters.h, include/freetype/ftgasp.h, 1.6666 + include/freetype/ftlcdfil.h: Update reference documentation with 1.6667 + GASP support and LCD filtering sections. 1.6668 + 1.6669 + * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo 1.6670 + which created an endless loop with some malformed font files. 1.6671 + 1.6672 +2007-01-10 Derek Clegg <dclegg@apple.com> 1.6673 + 1.6674 + * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed-point 1.6675 + values. 1.6676 + 1.6677 +2007-01-08 David Turner <david@freetype.org> 1.6678 + 1.6679 + * docs/CHANGES: Updated. 1.6680 + 1.6681 + * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add 1.6682 + a new API `FT_Get_Gasp' to return entries of the `gasp' table 1.6683 + corresponding to a given character pixel size. 1.6684 + 1.6685 + * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the 1.6686 + `gasp' table, in order to avoid potential problems with later 1.6687 + versions. 1.6688 + 1.6689 + * include/freetype/config/ftheader.h (FT_GASP_H): New macro for 1.6690 + <freetype/ftgasp.h>. 1.6691 + 1.6692 + * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources), 1.6693 + modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp, 1.6694 + builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the 1.6695 + default build. 1.6696 + 1.6697 +2007-01-07 Werner Lemberg <wl@gnu.org> 1.6698 + 1.6699 + * src/cid/cidparse.c (cid_parser_new): Improve error message for 1.6700 + Type 11 fonts. 1.6701 + Scan for `/sfnts' token. 1.6702 + 1.6703 +2007-01-07 Werner Lemberg <wl@gnu.org> 1.6704 + 1.6705 + * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts. 1.6706 + 1.6707 +2007-01-06 Werner Lemberg <wl@gnu.org> 1.6708 + 1.6709 + * src/cff/cffload.c (cff_index_init): Remove unused variable. 1.6710 + (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing. 1.6711 + 1.6712 +2007-01-04 David Turner <david@freetype.org> 1.6713 + 1.6714 + * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts 1.6715 + correctly. This fixes Savannah bug #17876. 1.6716 + 1.6717 + 1.6718 + Do not allocate interpreter-specific tables in memory if we are not 1.6719 + going to load glyphs with the bytecode interpreter anyway. 1.6720 + 1.6721 + * src/truetype/ttgload.c (tt_loader_init): Load execution context 1.6722 + only if glyph is hinted. 1.6723 + Updated. 1.6724 + * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready' 1.6725 + and `cvs_ready'. 1.6726 + Add `tt_size_ready_bytecode' declaration. 1.6727 + * src/truetype/ttobjs.c (tt_size_done_bytecode, 1.6728 + tt_size_init_bytecode, tt_size_ready_bytecode): New functions. 1.6729 + (tt_size_init): Move most code into `tt_size_init_bytecode'. 1.6730 + (tt_size_done): Move most code into `tt_size_done_bytecode'. 1.6731 + (tt_size_reset): Move some code to `tt_size_ready_bytecode'. 1.6732 + 1.6733 + 1.6734 + Don't extract the metrics table from the SFNT font file. Instead, 1.6735 + reparse it on each glyph load. The runtime difference is not 1.6736 + noticeable, and it can save a lot of heap memory when memory-mapped 1.6737 + files are not used. 1.6738 + 1.6739 + * include/freetype/internal/tttypes.h (TT_FaceRec): Add members 1.6740 + `horz_metrics_offset' and `vert_metrics_ofset'. 1.6741 + * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): 1.6742 + Updated. 1.6743 + 1.6744 + 1.6745 + * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization. 1.6746 + 1.6747 + 1.6748 + Do not load the CFF index offsets into memory, since this wastes a 1.6749 + *lot* of heap memory with large Asian CFF fonts. There is no 1.6750 + significant performance loss. 1.6751 + 1.6752 + * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration. 1.6753 + * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and 1.6754 + `data_size'. 1.6755 + (CFF_CharsetRec): Add field `num_glyphs'. 1.6756 + 1.6757 + * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets, 1.6758 + cff_charset_cid_to_gindex): New functions. 1.6759 + (cff_new_index): Renamed to... 1.6760 + (cff_index_init): This. Update all callers. 1.6761 + Updated -- some code has been moved to `cff_index_load_offsets'. 1.6762 + (cff_done_index): Renamed to... 1.6763 + (cff_index_done): This. Update all callers. 1.6764 + (cff_index_get_pointers, cff_index_access_element): Updated to use 1.6765 + stream offsets. 1.6766 + (cff_charset_compute_cids): Set `num_glyphs' field. 1.6767 + (cff_encoding_load): Updated. 1.6768 + 1.6769 + * src/cff/cffgload.c (cff_slot_load): Updated. 1.6770 + 1.6771 +2007-01-04 David Turner <david@freetype.org> 1.6772 + 1.6773 + * docs/INSTALL.UNIX: Simplify some parts, add reference to 1.6774 + autogen.sh and pointer to README.CVS. 1.6775 + 1.6776 + * README.CVS: Add common problem description and solution 1.6777 + when running autogen.sh. 1.6778 + 1.6779 + * docs/INSTALL: Add reference to MacOS X. 1.6780 + 1.6781 + * docs/MAKEPP, docs/INSTALL.MAC: New documentation files. 1.6782 + 1.6783 + * docs/TODO: Remove obsolete items. 1.6784 + 1.6785 + * src/raster/ftraster.c: (TRaster_Instance): Replace it with... 1.6786 + (TWorker): This. 1.6787 + Remove `count_table' and `memory'. 1.6788 + Make `grays' a pointer. 1.6789 + (TRaster): New structure. 1.6790 + (count_table): New static array. 1.6791 + (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras, 1.6792 + Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done, 1.6793 + ft_black_set_mode, ft_black_render): Updated. 1.6794 + (ft_black_init): Don't initialize `count_table'. 1.6795 + (ft_black_reset): Use the render pool. This saves about 6KB of 1.6796 + heap space for each FT_Library instance. 1.6797 + 1.6798 + * src/smooth/ftgrays.c (TRaster): Replaced with... 1.6799 + (TWorker): This. 1.6800 + Remove `memory'. 1.6801 + (TRaster): New structure. 1.6802 + 1.6803 + (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line, 1.6804 + gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to, 1.6805 + gray_render_span, gray_raster_render): Updated. 1.6806 + (gray_raster_reset): Use the render pool. This saves about 6KB of 1.6807 + heap space for each FT_Library instance. 1.6808 + 1.6809 + * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h, 1.6810 + src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, 1.6811 + src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove 1.6812 + FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since 1.6813 + the optimization is no longer experimental. 1.6814 + 1.6815 + * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points): 1.6816 + Remove a typo that results in no hinting and a memory leak with some 1.6817 + large Asian CFF fonts. 1.6818 + 1.6819 + * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak 1.6820 + which happens when FT_Done_Library is called with still opened 1.6821 + CFF_Faces in it. We need to close all faces before destroying the 1.6822 + modules, or else some bad things (memory leaks) may happen. 1.6823 + 1.6824 +2007-01-02 Werner Lemberg <wl@gnu.org> 1.6825 + 1.6826 + * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): 1.6827 + Remove compiler warning. 1.6828 + 1.6829 +2007-01-02 David Turner <david@freetype.org> 1.6830 + 1.6831 + * src/sfnt/sfobjs.c: Add documentation comment. 1.6832 + 1.6833 +2006-12-31 Masatake YAMATO <jet@gyve.org> 1.6834 + 1.6835 + * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New 1.6836 + function. 1.6837 + Check uniqueness of the gid pairs. 1.6838 + (gxv_kern_subtable_fmt0_validate): Move some code to 1.6839 + `gxv_kern_subtable_fmt0_pairs_validate'. 1.6840 + 1.6841 +2006-12-22 David Turner <david@freetype.org> 1.6842 + 1.6843 + * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler 1.6844 + warnings. 1.6845 + 1.6846 + * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE 1.6847 + to avoid deprecation warnings with Visual C++ 8. 1.6848 + 1.6849 +2006-12-16 Anders Kaseorg <anders@kaseorg.com> 1.6850 + 1.6851 + * src/base/ftlcdfil.c (FT_Library_SetLcdFilter) 1.6852 + [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo. 1.6853 + 1.6854 +2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6855 + 1.6856 + * include/freetype/internal/services/svotval.h: Add `volatile' to 1.6857 + sync with the modification by Jens Claudius on 2006-08-22; cf. 1.6858 + http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5 1.6859 + 1.6860 +2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6861 + 1.6862 + * src/base/ftmac.c: Specialized for Mac OS X only. 1.6863 + * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework. 1.6864 + * builds/unix/configure.raw: Ditto. When explicit switches for 1.6865 + FSSpec/FSRef/QuickDraw/ATS availability are given to configure, 1.6866 + builds/mac/ftmac.c is used instead of default src/base/ftmac.c. 1.6867 + 1.6868 +2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6869 + 1.6870 + * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system. 1.6871 + * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c 1.6872 + instead of src/base/ftmac.c 1.6873 + * builds/mac/FreeType.ppc_carbon.make.txt: Ditto. 1.6874 + * builds/mac/FreeType.ppc_classic.make.txt: Ditto. 1.6875 + * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c 1.6876 + that cannot be built at present. 1.6877 + 1.6878 +2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.6879 + 1.6880 + * src/base/ftobjs.c: Improvement of resource fork handler for 1.6881 + POSIX, cf. 1.6882 + http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html 1.6883 + (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font 1.6884 + format or .dfont, to simulate the face index number counted by ftmac.c. 1.6885 + (IsMacResource): Return the number of scalable faces correctly. 1.6886 + 1.6887 +2006-12-10 Werner Lemberg <wl@gnu.org> 1.6888 + 1.6889 + * builds/toplevel.mk (version): Protect against `distclean' target. 1.6890 + 1.6891 +2006-12-09 Werner Lemberg <wl@gnu.org> 1.6892 + 1.6893 + * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat' 1.6894 + or `type'. 1.6895 + 1.6896 + * builds/freetype.mk (version): Extracted from freetype.h, using 1.6897 + GNU make's built-in string functions. 1.6898 + (refdoc): Use $(version) instead of static version number. 1.6899 + 1.6900 +2006-12-08 Werner Lemberg <wl@gnu.org> 1.6901 + 1.6902 + * builds/toplevel.mk (dist): Extract version number from freetype.h. 1.6903 + 1.6904 +2006-12-08 Vladimir Volovich <vvv@vsu.ru> 1.6905 + 1.6906 + * src/tools/apinames.c (State): Remove final comma in structure -- 1.6907 + xlc v5 under AIX 4.3 doesn't like this. 1.6908 + 1.6909 +2006-12-07 David Turner <david@freetype.org> 1.6910 + 1.6911 + * src/autofit/afloader.c (af_loader_load_g): Small adjustment 1.6912 + to the spacing of auto-fitted glyphs. This only impacts rare 1.6913 + cases (e.g., Arial Bold at rather small character sizes). 1.6914 + 1.6915 +2006-12-03 Werner Lemberg <wl@gnu.org> 1.6916 + 1.6917 + * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. 1.6918 + 1.6919 +2006-12-01 Werner Lemberg <wl@gnu.org> 1.6920 + 1.6921 + * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are 1.6922 + encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>. 1.6923 + (tt_name_entry_ascii_from_ucs4): Removed. 1.6924 + 1.6925 + 1.6926 + * include/freetype/ftxf86.h: Fix and extend comment so that it 1.6927 + appears in the documentation. 1.6928 + 1.6929 + * include/freetype/ftchapters.h: Add `font_format' section. 1.6930 + 1.6931 + 1.6932 + * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link 1.6933 + to TOC in index page. 1.6934 + 1.6935 +2006-11-28 David Turner <david@freetype.org> 1.6936 + 1.6937 + * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are 1.6938 + trying to render into a zero-width/height bitmap, not an error code. 1.6939 + 1.6940 + * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch. 1.6941 + 1.6942 + * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType 1.6943 + ones instead. 1.6944 + 1.6945 + * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused 1.6946 + variable. 1.6947 + 1.6948 +2006-11-26 Pierre Hanser <hanser@club-internet.fr> 1.6949 + 1.6950 + * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer. 1.6951 + 1.6952 +2006-11-25 David Turner <david@freetype.org> 1.6953 + 1.6954 + * src/autofit/afhints.c (af_glyph_hints_dump_points, 1.6955 + af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]: 1.6956 + Add stubs to link the `ftgrid' test program when debugging is 1.6957 + disabled in the auto-hinter. 1.6958 + 1.6959 +2006-11-23 David Turner <david@freetype.org> 1.6960 + 1.6961 + * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, 1.6962 + src/autofit/aftypes.h: Miscellaneous auto-hinter improvements. 1.6963 + 1.6964 + * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]: 1.6965 + Emit more sensible information. 1.6966 + 1.6967 + * src/autofit/afhints.h (AF_SegmentRec): Add `height' member. 1.6968 + 1.6969 + * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve 1.6970 + rounding of blue values. 1.6971 + (af_latin_hints_compute_segments): Hint segment heights. 1.6972 + (af_latin_hints_link_segments): Reduce `len_score' value. 1.6973 + (af_latin_hints_compute_edges): Increase `segment_length_threshold' 1.6974 + value and use `height' member for comparisons. 1.6975 + (af_latin_hint_edges): Extend logging message. 1.6976 + Improve handling of remaining edges. 1.6977 + 1.6978 +2006-11-22 Werner Lemberg <wl@gnu.org> 1.6979 + 1.6980 + Fix Savannah bug #15553. 1.6981 + 1.6982 + * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT 1.6983 + program after a change from mono to grayscaling (and vice versa). 1.6984 + Use correct constant for comparison to get `exec->grayscale'. 1.6985 + 1.6986 +2006-11-18 Werner Lemberg <wl@gnu.org> 1.6987 + 1.6988 + Because FT_Load_Glyph expects CID values for CID-keyed fonts, the 1.6989 + test for a valid glyph index must be deferred to the font drivers. 1.6990 + This patch fixes Savannah bug #18301. 1.6991 + 1.6992 + * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'. 1.6993 + * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c 1.6994 + (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), 1.6995 + src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c 1.6996 + (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph), 1.6997 + src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c 1.6998 + (FNT_Load_Glyph): Check validity of `glyph_index'. 1.6999 + 1.7000 +2006-11-13 David Turner <david@freetype.org> 1.7001 + 1.7002 + * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter 1.7003 + `enhancements' are still too buggy for general use. 1.7004 + 1.7005 + * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and 1.7006 + FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros 1.7007 + when building the library to change the default LCD filter to be 1.7008 + used. This is only useful for experimentation. 1.7009 + 1.7010 + * include/freetype/ftlcdfil.h: Update documentation. 1.7011 + 1.7012 +2006-11-10 David Turner <david@freetype.org> 1.7013 + 1.7014 + * src/smooth/ftsmooth.c: API change for the LCD 1.7015 + filter. The FT_LcdFilter value is an enumeration describing which 1.7016 + filter to apply, with new values FT_LCD_FILTER_LIGHT and 1.7017 + FT_LCD_FILTER_LEGACY (the latter implements the LibXft original 1.7018 + algorithm which produces strong color fringes for everything 1.7019 + except very-well hinted text). 1.7020 + 1.7021 + * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change 1.7022 + second parameter to an enum type. 1.7023 + 1.7024 + * src/base/ftlcdfil.c (USE_LEGACY): Define. 1.7025 + (_ft_lcd_filter): Rename to... 1.7026 + (_ft_lcd_filter_fir): This. 1.7027 + Update parameters. 1.7028 + (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function. 1.7029 + (FT_Library_Set_LcdFilter): Update parameters. 1.7030 + Handle new filter modes. 1.7031 + 1.7032 + * include/internal/ftobjs.h: Include FT_LCD_FILTER_H. 1.7033 + (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'. 1.7034 + (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering 1.7035 + callback and update other fields. 1.7036 + 1.7037 + * src/smooth/ftsmooth.c (ft_smooth_render_generic) 1.7038 + [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update. 1.7039 + Other minor improvements. 1.7040 + 1.7041 + * src/autofit/aflatin.c: Various tiny improvements that drastically 1.7042 + improve the handling of serif fonts and of LCD/LCD_V hinting modes. 1.7043 + (af_latin_hints_compute_edges): Fix typo. 1.7044 + (af_latin_compute_stem_width): Take better care of diagonal stems. 1.7045 + 1.7046 +2006-11-09 David Turner <david@freetype.org> 1.7047 + 1.7048 + * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix 1.7049 + typo which created a variable-used-before-initialized bug. 1.7050 + 1.7051 +2006-11-07 Zhe Su <james.su@gmail.com> 1.7052 + 1.7053 + * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout 1.7054 + also. 1.7055 + 1.7056 +2006-11-03 Werner Lemberg <wl@gnu.org> 1.7057 + 1.7058 + * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'. 1.7059 + 1.7060 +2006-11-02 David Turner <david@freetype.org> 1.7061 + 1.7062 + Add a few tweaks to better handle serif fonts. 1.7063 + Add more debugging messages. 1.7064 + 1.7065 + * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore 1.7066 + segments that are less than 1.5 pixels high. This gets rid of 1.7067 + *many* corner cases with serifs. 1.7068 + (af_latin_align_linked_edge): Add logging message. 1.7069 + (af_latin_hint_edges): Use AF_HINTS_DO_BLUES. 1.7070 + Add logging messages. 1.7071 + Handle AF_EDGE_FLAG flag specially. 1.7072 + 1.7073 + * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug, 1.7074 + _af_debug_disable_blue_hints, and _af_debug_hints variables. 1.7075 + 1.7076 + * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug. 1.7077 + Update external declarations. 1.7078 + (af_corner_orientation, af_corner_is_flat): Replaced by... 1.7079 + 1.7080 + * include/freetype/internal/ftcalc.h (ft_corner_orientation, 1.7081 + ft_corner_is_flat): These declarations. 1.7082 + 1.7083 + * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat): 1.7084 + Comment out. Replaced by... 1.7085 + 1.7086 + * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat): 1.7087 + These functions. Update all callers. 1.7088 + (FT_Add64) [!FT_LONG64]: Simplify. 1.7089 + 1.7090 + * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H. 1.7091 + (af_direction_compute): Add a missing FT_ABS call. This bug caused 1.7092 + production of garbage by missing lots of segments. 1.7093 + 1.7094 + * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro. 1.7095 + 1.7096 + * src/autofit/afloader.c (af_loader_init, af_loader_done) 1.7097 + [AF_DEBUG]: Set _af_debug_hints. 1.7098 + 1.7099 + 1.7100 + * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H. 1.7101 + (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat 1.7102 + and ft_corner_orientation. 1.7103 + 1.7104 + 1.7105 + * src/gzip/inftrees.c (huft_build): Remove compiler warning. 1.7106 + 1.7107 +2006-10-24 Werner Lemberg <wl@gnu.org> 1.7108 + 1.7109 + * src/cff/cffload.c (cff_encoding_load): Remove unused variable. 1.7110 + 1.7111 + * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE 1.7112 + as argument. 1.7113 + 1.7114 +2006-10-23 Zhe Su <zsu@novell.com> 1.7115 + 1.7116 + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to 1.7117 + better deal with broken Asian fonts with strange glyphs, having 1.7118 + self-intersections and other peculiarities. The used algorithm is 1.7119 + based on the nonzero winding rule. 1.7120 + 1.7121 +2006-10-23 David Turner <david@freetype.org> 1.7122 + 1.7123 + Speed up the CFF font loader. With some large CFF fonts, 1.7124 + FT_Open_Face is now more than three times faster. 1.7125 + 1.7126 + * src/cff/cffload.c (cff_get_offset): Removed. 1.7127 + (cff_new_index): Inline functionality of `cff_get_offset'. 1.7128 + (cff_charset_compute_cids, cff_charset_free_cids): New functions. 1.7129 + (cff_charset_done): Call `cff_charset_free_cids'. 1.7130 + (cff_charset_load): Call `cff_charset_compute_cids'. 1.7131 + (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop. 1.7132 + 1.7133 + * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX 1.7134 + with FT_NEXT_XXX. 1.7135 + 1.7136 + 1.7137 + Speed up the Postscript hinter, with more than 100% speed increase 1.7138 + on my machine. 1.7139 + 1.7140 + * src/pshinter/pshalgo.c (psh_corner_is_flat, 1.7141 + psh_corner_orientation): New functions. 1.7142 + (psh_glyph_compute_inflections): Merge loops for efficiency. 1.7143 + Use `psh_corner_orientation'. 1.7144 + (psh_glyph_init): Use `psh_corner_is_flat'. 1.7145 + (psh_hint_table_find_strong_point): Renamed to... 1.7146 + (psh_hint_table_find_strong_points): This. 1.7147 + Rewrite, adding argument to handle all points at once. 1.7148 + Update all callers. 1.7149 + (PSH_MAX_STRONG_INTERNAL): New macro. 1.7150 + (psh_glyph_interpolate_normal_points): Rewrite for efficiency. 1.7151 + 1.7152 +2006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7153 + 1.7154 + * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable 1.7155 + `error' with FT_Err_Ok. 1.7156 + 1.7157 +2006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7158 + 1.7159 + * docs/INSTALL.CROSS: New document file for cross-building. 1.7160 + 1.7161 + * builds/unix/configure.raw: Preliminary cross-building support. 1.7162 + Find native C compiler and pass it by CC_BUILD, and 1.7163 + find suffix for native executable and pass it by EXEEXT_BUILD. 1.7164 + Also suffix for target executable is passed by EXEEXT. 1.7165 + 1.7166 + * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to 1.7167 + build `apinames' which runs on building system. They are set by 1.7168 + CC_BUILD and EXEEXT_BUILD. 1.7169 + 1.7170 + * builds/exports.mk (APINAMES_EXE): Change the extension for 1.7171 + apinames from the suffix for target (E) to that for building host 1.7172 + (E_BUILD). 1.7173 + 1.7174 +2006-10-12 Werner Lemberg <wl@gnu.org> 1.7175 + 1.7176 + * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to... 1.7177 + * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents 1.7178 + which reference those files. 1.7179 + 1.7180 +2006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7181 + 1.7182 + * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is 1.7183 + embedded in freetype2.pc and freetype-config. Use it to record 1.7184 + Carbon dependency of MacOSX. 1.7185 + 1.7186 + * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS. 1.7187 + 1.7188 + * builds/unix/freetype-config.in: Ditto. 1.7189 + 1.7190 +2006-10-11 Werner Lemberg <wl@gnu.org> 1.7191 + 1.7192 + * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for 1.7193 + development. 1.7194 + 1.7195 +2006-10-03 Jens Claudius <jens.claudius@yahoo.com> 1.7196 + 1.7197 + * include/freetype/config/ftstdlib.h: Cast away volatileness from 1.7198 + argument to ft_setjmp. 1.7199 + 1.7200 + * include/freetype/internal/ftvalid.h: Add comment that 1.7201 + ft_validator_run must not be used. 1.7202 + 1.7203 +2006-10-01 Werner Lemberg <wl@gnu.org> 1.7204 + 1.7205 + * src/base/ftbase.c: Undo change from 2006-09-30. 1.7206 + 1.7207 + * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'. 1.7208 + 1.7209 +2006-09-30 David Turner <david@freetype.org> 1.7210 + 1.7211 + * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): 1.7212 + s/unpatented_hinting/ignore_unpatented_hinter/. 1.7213 + Update all callers. 1.7214 + 1.7215 + * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether 1.7216 + auto-hinting shall be used or not. 1.7217 + 1.7218 + * src/truetype/ttobjs.c (tt_face_init): Ditto. 1.7219 + 1.7220 +2006-09-30 Werner Lemberg <wl@gnu.org> 1.7221 + 1.7222 + * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer 1.7223 + in use). 1.7224 + 1.7225 + * src/base/ftbase.c: Include `ftlcdfil.c'. 1.7226 + 1.7227 +2006-09-29 Werner Lemberg <wl@gnu.org> 1.7228 + 1.7229 + * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for 1.7230 + overlapping segments. Bug reported by Stefan Koch. 1.7231 + 1.7232 +2006-09-28 David Turner <david@freetype.org> 1.7233 + 1.7234 + Fix a bug in the automatic unpatented hinting support which prevents 1.7235 + normal bytecode hinting to work properly. 1.7236 + 1.7237 + * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): 1.7238 + s/force_autohint/unpatented_hinting/. Update all callers. 1.7239 + 1.7240 + * src/base/ftobjs.c (FT_Load_Glyph): Updated code. 1.7241 + 1.7242 + * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces. 1.7243 + 1.7244 +2006-09-27 David Turner <david@freetype.org> 1.7245 + 1.7246 + * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2. 1.7247 + 1.7248 + 1.7249 + Add a new API to support color filtering of subpixel glyph bitmaps. 1.7250 + In a default build, the function `FT_Library_SetLcdFilter' returns 1.7251 + `FT_Err_Unimplemented_Feature'; you need to #define 1.7252 + FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the 1.7253 + real implementation. 1.7254 + 1.7255 + * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files. 1.7256 + 1.7257 + * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New 1.7258 + typedef. 1.7259 + (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members 1.7260 + `lcd_filter_weights' and `lcd_filter'. 1.7261 + 1.7262 + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments 1.7263 + `hmul' and `vmul'. 1.7264 + 1.7265 + Handle subpixel rendering. 1.7266 + Simplify function. 1.7267 + (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'. 1.7268 + (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'. 1.7269 + 1.7270 + * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro, 1.7271 + pointing to <freetype/ftlcdfil.h>. 1.7272 + 1.7273 + * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC), 1.7274 + vms_make.com: Add `ftlcdfil.c' to the list of compiled source files. 1.7275 + 1.7276 + * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c. 1.7277 + 1.7278 +2006-09-26 David Bustin 1.7279 + 1.7280 + * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes 1.7281 + correctly. Reported as Savannah bug #17843. 1.7282 + 1.7283 +2006-09-26 David Turner <david@freetype.org> 1.7284 + 1.7285 + * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL, 1.7286 + AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable 1.7287 + horizontal and vertical hinting for the purpose of debugging the 1.7288 + auto-fitter. 1.7289 + 1.7290 + * src/autofit/afmodule.c (_af_debug_disable_horz_hints, 1.7291 + _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables. 1.7292 + 1.7293 + * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables. 1.7294 + 1.7295 + * include/freetype/config/ftoption.h, devel/ftoption.h 1.7296 + (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether 1.7297 + we want to compile LCD-optimized rendering code (à la ClearType) or 1.7298 + not. The macro *must* be disabled in default builds of the library 1.7299 + for patent reasons. 1.7300 + 1.7301 + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable 1.7302 + LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING 1.7303 + isn't defined at compile time. This only changes the content of the 1.7304 + rendered glyph to match the one of normal gray-level rendering, 1.7305 + hence clients should not need to be modified. 1.7306 + 1.7307 + * docs/CHANGES: Updated. 1.7308 + 1.7309 +2006-09-18 Garrick Meeker <garrick@digitalanarchy.com> 1.7310 + 1.7311 + * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if 1.7312 + LWFN fails and both are available. 1.7313 + 1.7314 +2006-09-11 David Turner <david@freetype.org> 1.7315 + 1.7316 + * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which 1.7317 + report their English names through an Apple Roman 1.7318 + (platform,encoding) pair, with language_id != English. 1.7319 + 1.7320 + If the font uses another name entry with language_id == English, it 1.7321 + will be selected correctly, though. 1.7322 + 1.7323 + * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting 1.7324 + selection for `mingli.ttf'. 1.7325 + 1.7326 +2006-09-05 Werner Lemberg <wl@gnu.org> 1.7327 + 1.7328 + * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size' 1.7329 + values which have the upper two bytes set to 0xFF instead of 0x00 1.7330 + (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and 1.7331 + `HAN NOM B.ttf'). 1.7332 + 1.7333 + * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code. 1.7334 + 1.7335 +2006-09-05 David Turner <david@freetype.org> 1.7336 + 1.7337 + Minor source cleanups and optimizations. 1.7338 + 1.7339 + * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed. 1.7340 + (TRaster): Remove `count_ex' and `count_ey'. 1.7341 + (gray_find_cell): Remove 2nd and 3rd argument. 1.7342 + (gray_alloc_cell): Merged with `gray_find_cell'. 1.7343 + (gray_record_cell): Simplify. 1.7344 + (gray_set_cell): Rewrite. 1.7345 + (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'. 1.7346 + (gray_render_span): Don't use FT_MEM_SET for small values. 1.7347 + (gray_dump_cells) [DEBUG_GRAYS]: New function. 1.7348 + (gray_sweep): Avoid buffer overwrites when to drawing the end of a 1.7349 + bitmap scanline. 1.7350 + (gray_convert_glyph): Fix speed-up. 1.7351 + 1.7352 +2006-09-04 David Turner <david@freetype.org> 1.7353 + 1.7354 + * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with 1.7355 + 64bit processors. 1.7356 + 1.7357 +2006-09-03 Werner Lemberg <wl@gnu.org> 1.7358 + 1.7359 + * devel/ftoption.h: Synchronize with 1.7360 + include/freetype/config/ftoption.h. 1.7361 + 1.7362 + * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing 1.7363 + variable declaration. 1.7364 + (gray_convert_glyph): Fix compiler warnings. 1.7365 + 1.7366 +2006-09-01 David Turner <david@freetype.org> 1.7367 + 1.7368 + * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader 1.7369 + to recognize a few fonts that require the automatic unpatented 1.7370 + loader. 1.7371 + 1.7372 + * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased 1.7373 + rasterizer. The speed improvement is between 15% and 25%, depending 1.7374 + on the font data. 1.7375 + 1.7376 + (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code. 1.7377 + (TCell): Redefine. 1.7378 + (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'. 1.7379 + (gray_init_cells): Updated. 1.7380 + (gray_find_cell, gray_alloc_cell): New functions. 1.7381 + (gray_record_cell): Rewritten to use `gray_find_cell' and 1.7382 + `gray_alloc_cell'. 1.7383 + (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT, 1.7384 + QSORT_THRESHOLD): 1.7385 + Removed. 1.7386 + (gray_shell_sort, gray_quick_sort, gray_check_sort, 1.7387 + gray_dump_cells): Removed. 1.7388 + (gray_sweep): Rewritten. 1.7389 + (gray_convert_glyph): Rewrite code which used one of the sorting 1.7390 + functions. 1.7391 + (gray_raster_render): Updated. 1.7392 + 1.7393 +2006-08-29 Dr. Werner Fink <werner@suse.de> 1.7394 + 1.7395 + * configure: Make it possible to handle configure options which 1.7396 + have strings containing spaces. 1.7397 + 1.7398 +2006-08-27 David Turner <david@freetype.org> 1.7399 + 1.7400 + * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER): 1.7401 + New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER 1.7402 + or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined. 1.7403 + 1.7404 + * include/freetype/internal/ftcalc.h, src/base/ftcalc.c, 1.7405 + src/truetype/truetype.c, src/truetype/ttdriver.c, 1.7406 + src/truetype/ttgload.c, src/truetype/ttgload.h, 1.7407 + src/truetype/ttinterp.c, src/truetype/ttobjs.c, 1.7408 + src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c: 1.7409 + s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/. 1.7410 + 1.7411 + * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New 1.7412 + member `force_autohint'. 1.7413 + 1.7414 + * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'. 1.7415 + 1.7416 + * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing 1.7417 + against a list of font names which need the bytecode interpreter. 1.7418 + 1.7419 +2006-08-27 Jens Claudius <jens.claudius@yahoo.com> 1.7420 + 1.7421 + Fix miscellaneous compiler warnings. 1.7422 + 1.7423 + * include/freetype/internal/ftobjs.h: Close comment with `*/' to 1.7424 + avoid `/* in comment' compiler warning. 1.7425 + 1.7426 + * src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast 1.7427 + `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on 1.7428 + 64-bit platforms void* is larger than FT_UInt32. 1.7429 + 1.7430 + * src/base/ftobjs.c (t_validator_error): Cast away 1.7431 + volatileness of argument to ft_longjmp. Spotted by Werner 1.7432 + `Putzfrau' Lemberg. 1.7433 + 1.7434 + * src/bdf/bdflib.c (bdf_load_font): Initialize local 1.7435 + variable `lineno'. 1.7436 + 1.7437 + * src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable 1.7438 + `error' as volatile. 1.7439 + 1.7440 +2006-08-27 Werner Lemberg <wl@gnu.org> 1.7441 + 1.7442 + * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. 1.7443 + Reported by Jens. 1.7444 + 1.7445 +2006-08-22 Jens Claudius <jens.claudius@yahoo.com> 1.7446 + 1.7447 + Fix for previous commit, which caused many compiler warnings/errors 1.7448 + about addresses of volatile objects passed as function arguments as 1.7449 + non-volatile pointers. 1.7450 + 1.7451 + * include/freetype/internal/ftvalid.h: Make FT_Validator typedef a 1.7452 + pointer to a volatile object. 1.7453 + 1.7454 + * src/gxvalid/gxvmod.c (gxv_load_table): Make function argument 1.7455 + `table' a pointer to a volatile object. 1.7456 + 1.7457 + * src/otvalid/otvmod.c (otv_load_table): Make function argument 1.7458 + `table' a pointer to a volatile object. 1.7459 + 1.7460 +2006-08-18 Jens Claudius <jens.claudius@yahoo.com> 1.7461 + 1.7462 + * src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt' 1.7463 + as volatile since it must keep its value across a call to ft_setjmp. 1.7464 + (gxv_validate): Same for local variables `memory' and `valid'. 1.7465 + (classic_kern_validate): Same for local variables `memory', 1.7466 + `ckern', and `valid'. 1.7467 + 1.7468 + * src/otvalid/otvmod.c (otv_validate): Same for function parameter 1.7469 + `face' and local variables `base', `gdef', `gpos', `gsub', `jstf', 1.7470 + and 'valid'. 1.7471 + 1.7472 + * src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable 1.7473 + `cmap'. 1.7474 + 1.7475 +2006-08-16 David Turner <david@freetype.org> 1.7476 + 1.7477 + * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler 1.7478 + warnings. 1.7479 + 1.7480 + * src/base/ftobjs.c (ft_validator_run): Disable function; it is 1.7481 + buggy by design. Always return -1. 1.7482 + 1.7483 + 1.7484 + Improvements to native TrueType hinting. This is a first try, 1.7485 + controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c. 1.7486 + 1.7487 + * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member 1.7488 + `extra_points2'. 1.7489 + 1.7490 + * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member 1.7491 + `orus'. 1.7492 + 1.7493 + * src/base/ftgloadr.c (FT_GlyphLoader_Reset, 1.7494 + FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra, 1.7495 + FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to 1.7496 + handle `extra_points2'. 1.7497 + 1.7498 + * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'. 1.7499 + Remove compiler warning. 1.7500 + (cur_to_arg): Remove macro. 1.7501 + (TT_Hint_Glyph): Updated. 1.7502 + (TT_Process_Simple_Glyph): Handle `orus'. 1.7503 + 1.7504 + * src/truetype/ttinterp.c (FIX_BYTECODE): New macro. 1.7505 + (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'. 1.7506 + (LOC_Ins_IUP): Renamed to... 1.7507 + (IUP_WorkerRec): This. 1.7508 + Add `orus' member. 1.7509 + (Shift): Renamed to... 1.7510 + (_iup_worker_shift): This. 1.7511 + Updated. 1.7512 + (Interp): Renamed to... 1.7513 + (_iup_worker_interpolate): This. 1.7514 + Updated to handle `orus'. 1.7515 + (Ins_IUP): Updated. 1.7516 + 1.7517 + * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new): 1.7518 + Handle `orus'. 1.7519 + 1.7520 +2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7521 + 1.7522 + * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to 1.7523 + build ftvalid in ft2demos. This has been inadvertedly changed 1.7524 + 2006-08-13. 1.7525 + 1.7526 +2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7527 + 1.7528 + `ft_validator_run' wrapping `setjmp' can cause a crash, as found by 1.7529 + Jens: 1.7530 + http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm. 1.7531 + 1.7532 + * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'. 1.7533 + It reverts the change introduced on 2005-08-20. 1.7534 + 1.7535 + * src/gxvalid/gxvmod.c: Ditto. 1.7536 + 1.7537 +2006-08-13 Jens Claudius <jens.claudius@yahoo.com> 1.7538 + 1.7539 + * finclude/freetype/internal/psaux.h: (T1_TokenType): Add 1.7540 + T1_TOKEN_TYPE_KEY. 1.7541 + (T1_FieldRec): Add `dict'. 1.7542 + (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros. 1.7543 + (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS 1.7544 + keyword is expected as an additional argument. 1.7545 + 1.7546 + * src/cid/cidload.c: (cid_field_records): Adjust invocations of 1.7547 + T1_FIELD_XXX. 1.7548 + 1.7549 + * src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX. 1.7550 + 1.7551 + * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing. 1.7552 + (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY, 1.7553 + not T1_TOKEN_TYPE_ANY. 1.7554 + (ps_parser_load_field): Make sure a token that should be a string or 1.7555 + name is really a string or name. 1.7556 + Avoid memory leak if a keyword has been already encountered and its 1.7557 + value is overwritten. 1.7558 + * src/type1/t1load.c: (t1_keywords): Adjust invocations of 1.7559 + T1_FIELD_XXX. 1.7560 + (parse_dict): Ignore keywords that occur in the wrong dictionary 1.7561 + (e.g., in `Private' instead of `FontDict'). 1.7562 + 1.7563 + * src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX. 1.7564 + 1.7565 + * src/type42/t42parse.c: (t42_keywords): Adjust invocations of 1.7566 + T1_FIELD_XXX. 1.7567 + 1.7568 +2006-07-18 Jens Claudius <jens.claudius@yahoo.com> 1.7569 + 1.7570 + Move creation of field `buildchar' of T1_DecoderRec out of 1.7571 + `t1_decoder_init' and let the caller of `t1_decoder_init' take care 1.7572 + of it. 1.7573 + 1.7574 + Call the finisher for T1_Decoder in `cid_face_compute_max_advance' 1.7575 + and `T1_Compute_Max_Advance'. 1.7576 + 1.7577 + * include/freetype/internal/psaux.h (T1_DecoderRec): Remove field 1.7578 + `face', add `len_buildchar'. 1.7579 + 1.7580 + * include/freetype/internal/t1types.h (T1_FaceRec): Add field 1.7581 + `buildchar'. 1.7582 + 1.7583 + * src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher 1.7584 + for T1_Decoder. 1.7585 + (cid_slot_load_glyph): Do not ignore failure when initializing the 1.7586 + T1_Decoder. 1.7587 + 1.7588 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated. 1.7589 + (t1_decoder_init): Remove initialization of fields `buildchar' and 1.7590 + `len_buildchar'. 1.7591 + (t1_decoder_done): Remove deallocation of field `buildchar'. 1.7592 + 1.7593 + * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize 1.7594 + T1_Decoder's `buildchar' and `len_buildchar'; call finisher for 1.7595 + T1_Decoder. 1.7596 + (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and 1.7597 + `len_buildchar'; make sure to call finisher for T1_Decoder even in 1.7598 + case of error. 1.7599 + 1.7600 + * src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar' 1.7601 + of T1_FaceRec. 1.7602 + 1.7603 + * src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of 1.7604 + T1_FaceRec. 1.7605 + 1.7606 +2006-07-14 Jens Claudius <jens.claudius@yahoo.com> 1.7607 + 1.7608 + * include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE, 1.7609 + IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, 1.7610 + and IS_PS_BASE85 (from src/psaux/psconv.h). 1.7611 + (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER, 1.7612 + T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND. 1.7613 + (T1_DecoderRec): New fields `buildchar' and `face'. 1.7614 + (IS_PS_TOKEN): New macro. 1.7615 + 1.7616 + * include/freetype/internal/t1types.h (T1_FaceRec): New fields 1.7617 + `ndv_idx', `cdv_idx', and `len_buildchar'. 1.7618 + 1.7619 + * include/freetype/t1tables.h (PS_BlendRec): New fields 1.7620 + `default_design_vector' and `num_default_design_vector'. 1.7621 + 1.7622 + * src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE, 1.7623 + IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and 1.7624 + IS_PS_BASE85 to include/freetype/internal/psaux.h. 1.7625 + 1.7626 + * src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token' 1.7627 + argument to be NULL if we want only to count the number of tokens. 1.7628 + (ps_tocoordarray): Allow `coords' argument to be NULL if we just 1.7629 + want to skip the array. 1.7630 + (ps_tofixedarray): Allow `values' argument to be NULL if we just 1.7631 + want to skip the array. 1.7632 + 1.7633 + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support 1.7634 + for (partially commented out) othersubrs 19-25, 27, and 28. 1.7635 + (t1_decoder_init): Initialize new fields `face' and `buildchar'. 1.7636 + (t1_decoder_done): Release new field `buildchar'. 1.7637 + 1.7638 + * src/type1/t1load.c (parse_buildchar, parse_private): New 1.7639 + functions. 1.7640 + (t1_keywords): Register them. 1.7641 + (t1_allocate_blend): Updated. 1.7642 + (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER, 1.7643 + T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND. 1.7644 + (parse_dict): Remove `keyword_flags' argument. 1.7645 + Use new macro IS_PS_TOKEN. 1.7646 + Changed function so that later PostScript definitions override 1.7647 + earlier ones. 1.7648 + (t1_init_loader): Initialize new field `keywords_encountered'. 1.7649 + (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and 1.7650 + `len_buildchar'. 1.7651 + Remove `keywords_flags'. 1.7652 + 1.7653 + * src/type1/t1load.h (T1_LoaderRect): New field 1.7654 + `keywords_encountered'. 1.7655 + (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros. 1.7656 + 1.7657 + * src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New 1.7658 + entries for parsing /NDV, /CDV, and /DesignVector. 1.7659 + 1.7660 +2006-07-07 Werner Lemberg <wl@gnu.org> 1.7661 + 1.7662 + Add many checks to protect against malformed PCF files. 1.7663 + 1.7664 + * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers. 1.7665 + (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors. 1.7666 + 1.7667 + * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table 1.7668 + data and check that tables don't overlap (using a simple 1.7669 + bubblesort). 1.7670 + (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE): 1.7671 + New macros which give the size of data structures in the data 1.7672 + stream. 1.7673 + (pcf_get_properties): Use rough estimates to get array size limits. 1.7674 + Assign `face->nprops' and `face->properties' earlier so that a call 1.7675 + to PCF_Face_Done can do the clean-up in case of error. 1.7676 + Protect against invalid string offsets. 1.7677 + (pcf_get_metrics): Clean up code. 1.7678 + Adjust tracing message levels. 1.7679 + Use rough estimate to get array size limit. 1.7680 + (pcf_get_bitmaps): Clean up code. 1.7681 + Adjust tracing message levels. 1.7682 + Use rough estimates to get offset limits. 1.7683 + (pcf_get_encodings): Adjust tracing message level. 1.7684 + (pcf_get_accel): Clean up code. 1.7685 + 1.7686 +2006-06-26 Werner Lemberg <wl@gnu.org> 1.7687 + 1.7688 + * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which 1.7689 + don't have a POINT_SIZE property. This fixes Savannah bug #16914. 1.7690 + 1.7691 +2006-06-26 Jens Claudius <jens.claudius@yahoo.com> 1.7692 + 1.7693 + * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15. 1.7694 + (t1_decoder_parse_charstrings): Operator with 1.7695 + opcode 15 pops its two arguments. 1.7696 + Handle the case where the pops of an othersubr may be part of a 1.7697 + subroutine. 1.7698 + Handle unknown othersubrs gracefully: count their operands and let 1.7699 + the following pop operators push the operands as the results onto 1.7700 + the Type1 stack. 1.7701 + Improve handling of setcurrentpoint opcode. 1.7702 + 1.7703 +2006-06-25 Jens Claudius <jens.claudius@yahoo.com> 1.7704 + 1.7705 + The Type 1 parser now skips over top-level procedures as required 1.7706 + for a `Simplified Parser'. This makes the parser more robust as it 1.7707 + doesn't poke around in PostScript code. Additionally, it makes the 1.7708 + FontDirectory hackery in src/type1/t1load.c unnecessary. 1.7709 + 1.7710 + * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro. 1.7711 + (skip_literal_string): Add FT_Error as return value. 1.7712 + Handle escapes better. 1.7713 + (skip_string): Add FT_Error as return value. 1.7714 + Don't set `parser->error' but return error code directly. 1.7715 + (skip_procedure): New function. 1.7716 + (ps_parser_skip_PS_token): Handle procedures. 1.7717 + Update code. 1.7718 + (ps_parser_to_token): Update code. 1.7719 + (ps_parser_load_field_table): Handle bbox entries also. 1.7720 + 1.7721 + * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery. 1.7722 + Add commented-out code for synthetic fonts. 1.7723 + 1.7724 +2006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua> 1.7725 + 1.7726 + Fix two hinting bugs as reported in 1.7727 + http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html. 1.7728 + 1.7729 + * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add 1.7730 + `first_point' member. 1.7731 + 1.7732 + * src/truetype/ttgload.c (tt_prepare_zone): Initialize 1.7733 + `first_point'. 1.7734 + (TT_Process_Composite_Glyph): Always untouch points. 1.7735 + 1.7736 + * src/truetype/ttinterp.c (Ins_SHC): Fix computation of 1.7737 + `first_point' and `last_point' in case of composite glyphs. 1.7738 + (Ins_IUP): Fix computation of `end_point'. 1.7739 + 1.7740 +2006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7741 + 1.7742 + Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel 1.7743 + Mac. The original patch was written by David Sachitano and Lawrence 1.7744 + Coopet, and modified by Sean McBride for MPW compatibility. Only 1.7745 + required data are converted; unused data are left in big endian. 1.7746 + 1.7747 + * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non 1.7748 + Mac OS X platforms. 1.7749 + (OS_INLINE): Undefine before definition. 1.7750 + (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of 1.7751 + FontAssociation table in FOND resource. 1.7752 + (count_faces_scalable): Insert EndianS16_BtoN to parse the header 1.7753 + and fontSize at each entry of FontAssociation table in FOND 1.7754 + resource. 1.7755 + (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse 1.7756 + ffStylOff of FamilyRecord header of FOND resource, the header, 1.7757 + fontSize, fontID at each entry of FontAssociation table, and 1.7758 + StyleMapping table. 1.7759 + (count_faces): Call `HUnlock' after all FOND utilization. 1.7760 + 1.7761 +2006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7762 + 1.7763 + Public API of TrueTypeGX, OpenType, and classic kern table validator 1.7764 + should return `FT_Err_Unimplemented_Feature' if validation service 1.7765 + is unavailable (disabled in `modules.cfg'). It is originally 1.7766 + suggested by David Turner, cf. 1.7767 + http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html 1.7768 + 1.7769 + * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return 1.7770 + FT_Err_Unimplemented_Feature if TrueTypeGX validation service is 1.7771 + unavailable. 1.7772 + (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if 1.7773 + classic kern table validation service is unavailable. 1.7774 + 1.7775 + * src/base/ftotval.c (FT_OpenType_Validate): Return 1.7776 + FT_Err_Unimplemented_Feature if OpenType validation service is 1.7777 + unavailable. 1.7778 + 1.7779 +2006-06-08 Werner Lemberg <wl@gnu.org> 1.7780 + 1.7781 + * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of 1.7782 + errors. 1.7783 + 1.7784 +2006-06-07 David Turner <david@freetype.org> 1.7785 + 1.7786 + * src/type1/t1afm.c (KERN_INDEX): Make it more robust. 1.7787 + (T1_Read_Metrics): Fix memory leak which happened when the metrics 1.7788 + file doesn't have kerning pairs. This fixes Savannah bug #16768. 1.7789 + 1.7790 +2006-06-06 David Turner <david@freetype.org> 1.7791 + 1.7792 + Fix memory leak described in Savannah bug #16759. 1.7793 + 1.7794 + We change `ps_unicodes_init' so that it also takes a 1.7795 + `free_glyph_name' callback to release the glyph names returned by 1.7796 + `get_glyph_name' 1.7797 + 1.7798 + * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc): 1.7799 + Renamed to ... 1.7800 + (PS_GetGlyphNameFunc): This. 1.7801 + (PS_FreeGlyphNameFunc): New typedef. 1.7802 + (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc. 1.7803 + 1.7804 + * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first 1.7805 + argument. 1.7806 + (cff_sid_free_glyph_name): New function. 1.7807 + (cff_cmap_unicode_init): Updated. 1.7808 + 1.7809 + * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated. 1.7810 + 1.7811 + * src/psnames/psmodule.c (ps_unicodes_init): Add variable for 1.7812 + PS_FreeGlyphNameFunc and use it. 1.7813 + 1.7814 + 1.7815 +2006-06-04 David Turner <david@freetype.org> 1.7816 + 1.7817 + * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept 1.7818 + `item_size == 0' as well -- though this sounds weird, it can 1.7819 + theoretically happen. This fixes Savannah bug #16669. 1.7820 + 1.7821 + * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation 1.7822 + of `face->num_glyphs' which missed the last glyph, due to 1.7823 + the offset-by-1 computation, since the PFR format doesn't 1.7824 + guarantee that glyph index 0 corresponds to the `missing 1.7825 + glyph. This fixes Savannah bug #16668. 1.7826 + 1.7827 +2006-05-25 Werner Lemberg <wl@gnu.org> 1.7828 + 1.7829 + * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out 1.7830 + `-no-undefined'. Reported by Christian Biesinger. 1.7831 + 1.7832 +2006-05-19 Brian Weed <bw@imaginengine.com> 1.7833 + 1.7834 + * builds/win32/visualc/freetype.dsp: Release libraries no longer 1.7835 + have debug information, and debug libraries use `C7 compatible' 1.7836 + debug info. 1.7837 + 1.7838 +2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7839 + 1.7840 + Apply patch by Derek Clegg to fix two memory leaks in the MacOS 1.7841 + resource fork handler. This fixes Savannah bug #16631. 1.7842 + 1.7843 + * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace 1.7844 + `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. 1.7845 + 1.7846 + * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name): 1.7847 + Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak. 1.7848 + 1.7849 +2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7850 + 1.7851 + * build/unix/configure.raw: Add a fallback to disable Carbon 1.7852 + dependency, if configured with no options on Mac OS X. 1.7853 + 1.7854 +2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> 1.7855 + 1.7856 + * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when 1.7857 + its content cannot be parsed as supported font. This fixes 1.7858 + the second part of Savannah bug #16590. 1.7859 + 1.7860 +2006-05-18 Werner Lemberg <wl@gnu.org> 1.7861 + 1.7862 + * src/truetype/ttgload.c (TT_Load_Composite_Glyph) 1.7863 + [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again. 1.7864 + 1.7865 +2006-05-17 David Turner <david@freetype.org> 1.7866 + 1.7867 + This is a major patch used to drastically improve the performance of 1.7868 + loading glyphs. This both speeds up loading the glyph vectors 1.7869 + themselves and the auto-fitter module. 1.7870 + 1.7871 + We now use inline assembler code with GCC to implement `FT_MulFix', 1.7872 + which is probably the most important function related to the 1.7873 + engine's performance. 1.7874 + 1.7875 + The resulting speed-up is about 25%. 1.7876 + 1.7877 + 1.7878 + * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields 1.7879 + `cursor' and `limit'. 1.7880 + 1.7881 + * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation): 1.7882 + New functions. 1.7883 + (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out. 1.7884 + [TEST]: Remove. 1.7885 + 1.7886 + * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test 1.7887 + code. 1.7888 + 1.7889 + * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call 1.7890 + `FT_ZERO' 1.7891 + (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten. 1.7892 + (af_glyph_hints_reload: Rewrite recognition of weak points. 1.7893 + 1.7894 + * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move 1.7895 + constant values out of the loops. 1.7896 + 1.7897 + * src/autofit/aftypes.h: Updated. 1.7898 + 1.7899 + * src/base/ftcalc.c (FT_MulFix): Use inline assembler code. 1.7900 + 1.7901 + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector 1.7902 + product to get orientation. 1.7903 + 1.7904 + * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function. 1.7905 + (FT_Stream_OpenGzip): Use it to handle small files directly in 1.7906 + memory. 1.7907 + 1.7908 + * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode): 1.7909 + Improve performance. 1.7910 + 1.7911 + * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and 1.7912 + `limit'. 1.7913 + 1.7914 + (TT_Load_Glyph_Header, TT_Load_Simple_Glyph, 1.7915 + TT_Load_Composite_Glyph): Updated. Add threshold to protect against 1.7916 + exceedingly large values of number of contours. Speed up by 1.7917 + reducing the number of loops. 1.7918 + 1.7919 + * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix. 1.7920 + 1.7921 + 1.7922 + * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold 1.7923 + used to detect rogue clients from 4 to 16. This is to prevent some 1.7924 + segmentation faults with fonts like `KozMinProVI-Regular.otf' which 1.7925 + comes from the Japanese Adobe Reader Asian Font pack. 1.7926 + 1.7927 +2007-05-17 Werner Lemberg <wl@gnu.org> 1.7928 + 1.7929 + * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This 1.7930 + fixes the first part of Savannah bug #16590. 1.7931 + 1.7932 +2006-05-16 Werner Lemberg <wl@gnu.org> 1.7933 + 1.7934 + * docs/PROBLEMS: Updated icl issues. 1.7935 + 1.7936 +---------------------------------------------------------------------------- 1.7937 + 1.7938 +Copyright 2006, 2007, 2008, 2009, 2010 by 1.7939 +David Turner, Robert Wilhelm, and Werner Lemberg. 1.7940 + 1.7941 +This file is part of the FreeType project, and may only be used, modified, 1.7942 +and distributed under the terms of the FreeType project license, 1.7943 +LICENSE.TXT. By continuing to use, modify, or distribute this file you 1.7944 +indicate that you have read the license and understand and accept it 1.7945 +fully. 1.7946 + 1.7947 + 1.7948 +Local Variables: 1.7949 +version-control: never 1.7950 +coding: utf-8 1.7951 +End: