Author: korli Date: 2010-08-07 00:28:02 +0200 (Sat, 07 Aug 2010) New Revision: 37945 Changeset: http://dev.haiku-os.org/changeset/37945 Added: haiku/vendor/freetype2/current/ChangeLog.23 Removed: haiku/vendor/freetype2/current/docs/PATENTS haiku/vendor/freetype2/current/docs/TRUETYPE Modified: haiku/vendor/freetype2/current/ChangeLog haiku/vendor/freetype2/current/Jamfile haiku/vendor/freetype2/current/README haiku/vendor/freetype2/current/README.git haiku/vendor/freetype2/current/builds/toplevel.mk haiku/vendor/freetype2/current/builds/unix/config.guess haiku/vendor/freetype2/current/builds/unix/config.sub haiku/vendor/freetype2/current/builds/unix/configure haiku/vendor/freetype2/current/builds/unix/configure.ac haiku/vendor/freetype2/current/builds/unix/configure.raw haiku/vendor/freetype2/current/builds/unix/ftconfig.in haiku/vendor/freetype2/current/builds/win32/vc2005/freetype.vcproj haiku/vendor/freetype2/current/builds/win32/vc2005/index.html haiku/vendor/freetype2/current/builds/win32/vc2008/freetype.vcproj haiku/vendor/freetype2/current/builds/win32/vc2008/index.html haiku/vendor/freetype2/current/builds/win32/visualc/freetype.dsp haiku/vendor/freetype2/current/builds/win32/visualc/freetype.vcproj haiku/vendor/freetype2/current/builds/win32/visualc/index.html haiku/vendor/freetype2/current/builds/win32/visualce/freetype.dsp haiku/vendor/freetype2/current/builds/win32/visualce/freetype.vcproj haiku/vendor/freetype2/current/builds/win32/visualce/index.html haiku/vendor/freetype2/current/builds/wince/vc2005-ce/freetype.vcproj haiku/vendor/freetype2/current/builds/wince/vc2005-ce/index.html haiku/vendor/freetype2/current/builds/wince/vc2008-ce/freetype.vcproj haiku/vendor/freetype2/current/builds/wince/vc2008-ce/index.html haiku/vendor/freetype2/current/devel/ftoption.h haiku/vendor/freetype2/current/docs/CHANGES haiku/vendor/freetype2/current/docs/INSTALL haiku/vendor/freetype2/current/docs/VERSION.DLL haiku/vendor/freetype2/current/docs/formats.txt haiku/vendor/freetype2/current/docs/reference/ft2-base_interface.html haiku/vendor/freetype2/current/docs/reference/ft2-basic_types.html haiku/vendor/freetype2/current/docs/reference/ft2-bdf_fonts.html haiku/vendor/freetype2/current/docs/reference/ft2-bitmap_handling.html haiku/vendor/freetype2/current/docs/reference/ft2-cache_subsystem.html haiku/vendor/freetype2/current/docs/reference/ft2-cid_fonts.html haiku/vendor/freetype2/current/docs/reference/ft2-computations.html haiku/vendor/freetype2/current/docs/reference/ft2-font_formats.html haiku/vendor/freetype2/current/docs/reference/ft2-gasp_table.html haiku/vendor/freetype2/current/docs/reference/ft2-glyph_management.html haiku/vendor/freetype2/current/docs/reference/ft2-glyph_stroker.html haiku/vendor/freetype2/current/docs/reference/ft2-glyph_variants.html haiku/vendor/freetype2/current/docs/reference/ft2-gx_validation.html haiku/vendor/freetype2/current/docs/reference/ft2-gzip.html haiku/vendor/freetype2/current/docs/reference/ft2-header_file_macros.html haiku/vendor/freetype2/current/docs/reference/ft2-incremental.html haiku/vendor/freetype2/current/docs/reference/ft2-index.html haiku/vendor/freetype2/current/docs/reference/ft2-lcd_filtering.html haiku/vendor/freetype2/current/docs/reference/ft2-list_processing.html haiku/vendor/freetype2/current/docs/reference/ft2-lzw.html haiku/vendor/freetype2/current/docs/reference/ft2-mac_specific.html haiku/vendor/freetype2/current/docs/reference/ft2-module_management.html haiku/vendor/freetype2/current/docs/reference/ft2-multiple_masters.html haiku/vendor/freetype2/current/docs/reference/ft2-ot_validation.html haiku/vendor/freetype2/current/docs/reference/ft2-outline_processing.html haiku/vendor/freetype2/current/docs/reference/ft2-pfr_fonts.html haiku/vendor/freetype2/current/docs/reference/ft2-quick_advance.html haiku/vendor/freetype2/current/docs/reference/ft2-raster.html haiku/vendor/freetype2/current/docs/reference/ft2-sfnt_names.html haiku/vendor/freetype2/current/docs/reference/ft2-sizes_management.html haiku/vendor/freetype2/current/docs/reference/ft2-system_interface.html haiku/vendor/freetype2/current/docs/reference/ft2-toc.html haiku/vendor/freetype2/current/docs/reference/ft2-truetype_engine.html haiku/vendor/freetype2/current/docs/reference/ft2-truetype_tables.html haiku/vendor/freetype2/current/docs/reference/ft2-type1_tables.html haiku/vendor/freetype2/current/docs/reference/ft2-user_allocation.html haiku/vendor/freetype2/current/docs/reference/ft2-version.html haiku/vendor/freetype2/current/docs/reference/ft2-winfnt_fonts.html haiku/vendor/freetype2/current/include/freetype/config/ftconfig.h haiku/vendor/freetype2/current/include/freetype/config/ftoption.h haiku/vendor/freetype2/current/include/freetype/freetype.h haiku/vendor/freetype2/current/include/freetype/ftcache.h haiku/vendor/freetype2/current/include/freetype/fterrdef.h haiku/vendor/freetype2/current/include/freetype/ftlcdfil.h haiku/vendor/freetype2/current/include/freetype/ftlist.h haiku/vendor/freetype2/current/include/freetype/ftmodapi.h haiku/vendor/freetype2/current/include/freetype/ftrender.h haiku/vendor/freetype2/current/include/freetype/ftsystem.h haiku/vendor/freetype2/current/include/freetype/internal/ftmemory.h haiku/vendor/freetype2/current/include/freetype/internal/ftobjs.h haiku/vendor/freetype2/current/include/freetype/ttnameid.h haiku/vendor/freetype2/current/include/freetype/tttables.h haiku/vendor/freetype2/current/src/autofit/afcjk.c haiku/vendor/freetype2/current/src/autofit/afglobal.c haiku/vendor/freetype2/current/src/autofit/afhints.c haiku/vendor/freetype2/current/src/autofit/afhints.h haiku/vendor/freetype2/current/src/autofit/aflatin.c haiku/vendor/freetype2/current/src/autofit/aflatin2.c haiku/vendor/freetype2/current/src/autofit/afpic.c haiku/vendor/freetype2/current/src/base/ftgloadr.c haiku/vendor/freetype2/current/src/base/ftglyph.c haiku/vendor/freetype2/current/src/base/ftgxval.c haiku/vendor/freetype2/current/src/base/ftinit.c haiku/vendor/freetype2/current/src/base/ftlcdfil.c haiku/vendor/freetype2/current/src/base/ftobjs.c haiku/vendor/freetype2/current/src/base/ftotval.c haiku/vendor/freetype2/current/src/base/ftoutln.c haiku/vendor/freetype2/current/src/base/ftpfr.c haiku/vendor/freetype2/current/src/base/ftrfork.c haiku/vendor/freetype2/current/src/base/ftstream.c [... truncated: 67 changed files follow ...] Log: update to 2.4.2 Modified: haiku/vendor/freetype2/current/ChangeLog =================================================================== --- haiku/vendor/freetype2/current/ChangeLog 2010-08-06 18:24:48 UTC (rev 37944) +++ haiku/vendor/freetype2/current/ChangeLog 2010-08-06 22:28:02 UTC (rev 37945) @@ -1,15 +1,15 @@ -2010-02-13 Werner Lemberg <wl@xxxxxxx> +2010-08-06 Werner Lemberg <wl@xxxxxxx> - * Version 2.3.12 released. - ========================== + * Version 2.4.2 released. + ========================= - Tag sources with `VER-2-3-12'. + Tag sources with `VER-2-4-2'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to - 2.3.12. + 2.4.2 * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, @@ -22,7917 +22,893 @@ builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, - builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/. + builds/wince/vc2008-ce/index.html: s/2.4.1/2.4.2/, s/241/242/. - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. - * builds/unix/configure.raw (version_info): Set to 10:0:4. + * builds/unix/configure.raw (version_info): Set to 12:0:6. -2010-02-12 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> +2010-08-06 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - Improve autotool version checking to work with beta releases. + Fix Savannah bug #30648. - * autogen.sh (check_tool_version): Improve the extraction of version - number from "tool --version" output. Some beta releases of - autotools have extra strings before version number. + * src/base/ftobjs.c (FT_Done_Library): Specify the order of font + drivers during the face closing process. Type42 faces should be + closed before TrueType faces, because a Type42 face refers to + another internal TrueType face which is created from sfnt[] array on + the memory. -2010-02-12 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> +2010-08-06 Yuriy Kaminskiy <yumkam@xxxxxxx> - Fix overallocating bug in FT_Outline_New_Internal(). + [raster] Fix valgrind warning. - * src/base/ftoutln.c (FT_Outline_New_Internal): The length of - FT_Outline->points[] should be numPoints, not 2 * numPoints. - Found by Paul Messmer, see - http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html + * src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0] + only if we don't hit `limit'. -2010-02-10 Ken Sharp <ken.sharp@xxxxxxxxxxx> +2010-08-06 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - Really fix Savannah bug #28678 (part 2). + Fix Savannah bug #30658. - Since we consider `sbw' for the horizontal direction only, we still have - to synthesize vertical metrics if the user wants to use the vertical - writing direction. + * src/base/ftobjs.c (Mac_Read_POST_Resource): Check that the total + length of collected POST segments does not overrun the allocated + buffer. - * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c - (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): - Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is - set. +2010-08-06 Yuriy Kaminskiy <yumkam@xxxxxxx> -2010-02-10 Ken Sharp <ken.sharp@xxxxxxxxxxx> + Fix conditional usage of FT_MulFix_i386. + With -ansi flag, gcc does not define `i386', only `__i386__'. - Really fix Savannah bug #28678 (part 1). + * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: + s/i386/__i386__/. - After long discussion, we now consider the character width vector - (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* - direction only. For example, if you are using the horizontal - writing direction, you get the horizontal and vertical components of - the advance width for this direction. Note that OpenType and CFF fonts - don't have such a vertical component; instead, the GPOS table can be - used to generate two-dimensional advance widths (but this isn't - handled by FreeType). +2010-08-05 Werner Lemberg <wl@xxxxxxx> - * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add - `advance_v' field to hold the vertical component of the advance - value. + Fix Savannah bug #30657. - * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c - (cff_slot_load), src/type1/t1gload.c - (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c - (cid_load_glyph): Use it. + * src/truetype/ttinterp.c (BOUNDSL): New macro. + Change `BOUNDS' to `BOUNDSL' where appropriate. -2010-02-08 Werner Lemberg <wl@xxxxxxx> + * src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of + `cvtSize'. - * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. +2010-08-05 Werner Lemberg <wl@xxxxxxx> -2010-02-04 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> + Fix Savannah bug #30656. - Prevent NULL pointer dereference passed to FT_Module_Requester. + * src/type42/t42parse.c (t42_parse_sfnts): Protect against negative + string_size. + Fix comparison. - * src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'. - * src/psnames/psmodule.c (psnames_get_interface): Ditto. +2010-08-05 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - * src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'. - * src/truetype/ttdriver.c (tt_get_interface): Ditto. + [cff] Don't use any values in decoder after parsing error. -2010-01-29 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> + * src/cff/cffgload.c (cff_slot_load): Skip the evaluations + of the values in decoder, if cff_decoder_parse_charstrings() + returns any error. - Fix memory leaks in previous patch. +2010-08-04 Werner Lemberg <wl@xxxxxxx> - * src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings - allocated for face->root.family_name and style_name. + Fix Savannah bug #30644. -2010-01-29 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> + * src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison. - New parameters for FT_Open_Face() to ignore preferred family names. +2010-08-04 Werner Lemberg <wl@xxxxxxx> - Preferred family names should be used for legacy systems that - can hold only a few faces (<= 4) for a family name. Suggested by - Andreas Heinrich. - http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html + `make devel' fails if FT_CONFIG_OPTION_OLD_INTERNALS is set. - * include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, - FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define. + * devel/ftoption.h: Synchronize with + include/freetype/config/ftoption.h. - * src/sfnt/sfobjs.h (sfnt_load_face): Check the arguments and - ignore preferred family and subfamily names if requested. +2010-08-04 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> -2010-01-27 Ken Sharp <ken.sharp@xxxxxxxxxxx> + [cff] Improve stack overflow test. - Fix Savannah bug #28678. + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack + after execution of operations too. - * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c - (cid_load_glyph): Handle vertical metrics correctly. +2010-07-18 Werner Lemberg <wl@xxxxxxx> - * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle - vertical metrics correctly. - (T1_Load_Glyph): Don't synthesize vertical metrics. + Add reference counters and to FT_Library and FT_Face objects. -2010-01-14 Werner Lemberg <wl@xxxxxxx> + * include/freetype/freetype.h (FT_Reference_Face): New function. + * include/freetype/ftmodapi.h (FT_Rererence_Library): New function. - Make FT_Set_Transform work if no renderer is available. + * include/freetype/internal/ftobjs.h (FT_Face_InternalRec, + FT_LibraryRec): New field `refcount'. - * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation - if no renderer is compiled into the library. + * src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle + `refcount'. + (FT_Reference_Face, FT_Reference_Library): Implement new functions. + (FT_Done_Face, FT_Done_Library): Handle `refcount'. -2010-01-14 Werner Lemberg <wl@xxxxxxx> - - Fix compilation warning. - - * src/base/ftbase.h: s/LOCAL_DEF/LOCAL/. - * src/base/ftobjc.s: Include ftbase.h conditionally. - -2010-01-11 Kwang Yul Seo <skyul@xxxxxxxxxxxxxx> - - Provide inline assembly code for RVCT compiler. - This is Savannah patch #7059. - - * include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER, - FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define. - -2010-01-08 Ken Sharp <ken.sharp@xxxxxxxxxxx> - - Fix Savannah bug #28521. - - Issue #28226 involved a work-around for a font which used the - `setcurrentpoint' operator in an invalid way; this operator is only - supposed to be used with the result of OtherSubrs, and the font used - it directly. The supplied patch removed the block of code which - checked this usage entirely. - - This turns out to be a Bad Thing. If `setcurrentpoint' is being - used correctly it should reset the flex flag in the decoder. If we - don't do this then the flag never gets reset and we omit any further - contours from the glyph (at least until we close the path or - similar). - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings) - <op_setcurrentpoint>: Handle `flex_state' correctly. - -2010-01-05 Werner Lemberg <wl@xxxxxxx> - - Apply reports from clang static analyzer. - - * src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c - (FT_Stroker_ParseOutline), src/base/ftsynth.c - (FT_GlyphSlot_Embolden): Remove dead code. - - * src/base/ftpatent.c (_tt_check_patents_in_table): Initialize - `offset_i' and `length_i'. - -2010-01-05 Ralph Giles <giles@xxxxxxxxxxxxxxx> - - Enable the incremental font interface by default. - - Ghostscript requires the incremental font interface for handling - some Postscript documents. It is moving to using FreeType as its - primary renderer; supporting this in the default build makes it - Ghostscript to be linked against the system FreeType when one is - available. - - * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL): - Uncomment. - -2010-01-05 Werner Lemberg <wl@xxxxxxx> - - Fix Savannah bug #28395. - - * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c - (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface - is used. - -2010-01-05 Ken Sharp <ken.sharp@xxxxxxxxxxx> - - Make Type 1 `seac' operator work with incremental interface. - This fixes Savannah bug #28480. - - * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names' - if incremental interface is used. - -2010-01-04 Ken Sharp <ken.sharp@xxxxxxxxxxx> - - Make incremental interface work with TrueType fonts. - This fixes Savannah bug #28478. - - * src/truetype/ttgload.c (load_truetype_glyph): Don't check - `glyf_offset' if incremental interface is used. - -2009-12-31 Lars Abrahamsson <wonko@xxxxxxxxx> - - Make compilation with FT_CONFIG_OPTION_PIC work again. - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]: - Declare `library' for FT_BITMAP_GLYPH_CLASS_GET. - - * src/base/ftinit.c (ft_destroy_default_module_classes, - ft_create_default_module_classes): Use proper casts (needed for C++ - compilation). - - * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP. - -2009-12-22 Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> - - Make freetype-config aware of $SYSROOT. - This is Savannah patch #7040. - - * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where - appropriate. - -2009-12-20 Werner Lemberg <wl@xxxxxxx> - - Fix compiler warning. - Reported by Sean. - - * src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty - source files; however, some compilers warn about an unused variable - declaration. This is now replaced with a typedef. - -2009-12-18 Werner Lemberg <wl@xxxxxxx> - - Fix Savannah bug #28320. - - There exist corrupt, subsetted fonts (embedded in PDF files) which - contain a private dict that ends with an unterminated floating point - number (no operator following). We now ignore this error (as - acrobat does). - - * src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for - unterminated floating point numbers. - -2009-12-16 Werner Lemberg <wl@xxxxxxx> - - Really fix compiler warnings. - Reported by Sean. - - * src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS, - GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros. - -2009-12-16 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - Improve configure.raw to copy some options from CFLAGS to LDFLAGS. - The linker of Mac OS X 10.6 is sensitive to the architecture. If - the architectures are specified explicitly for the C compiler, the - linker requires the architecture specifications too. - - * builds/unix/configure.raw: Replace `-isysroot' option parser by - more generic argument parser. - -2009-12-15 Werner Lemberg <wl@xxxxxxx> - - Fix compiler warnings. - Reported by Sean. - - * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data - type. - -2009-12-14 Ken Sharp <ken.sharp@xxxxxxxxxxx> - - Ignore invalid `setcurrentpoint' operations in Type 1 fonts. - This fixes Savannah bug #28226. - - At least two wild PostScript files of unknown provenance contain - Type 1 fonts, apparently converted from TrueType fonts in earlier - PDF versions of the files, which use the `setcurrentpoint' operator - inappropriately. - - FreeType currently throws an error in this case, but Ghostscript and - Adobe Distiller both accept the fonts and ignore the problem. This - commit #ifdefs out the check so PostScript interpreters using - FreeType can render these files. - - The specification says `setcurrentpoint' should only be used to set - the point after a `Subr' call, but these fonts use it to set the - initial point to (0,0). Unnecessarily so, as they correctly use an - `hsbw' operation which implicitly sets the initial point. - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings) - <op_setcurrentpoint>: Comment out code. - -2009-12-14 Bram Tassyns <bramt@xxxxxxxxxx> - - Fix parsing of /CIDFontVersion. - This fixes Savannah bug #28287. - - * src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in - t1tables.h) is of type FT_Fixed. - -2009-12-14 Werner Lemberg <wl@xxxxxxx> - - Trace glyph index in CID module. - Suggested in Savannah patch #7023. - - * src/cid/cidgload.c (cid_load_glyph): Add tracing message. - -2009-12-03 Werner Lemberg <wl@xxxxxxx> - - Fix compiler warnings. - - * src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the - proper preprocessor conditional. - * src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc. - -2009-11-25 John Tytgat <John.Tytgat@xxxxxxxx> - - Better handling of start of `eexec' section. - This fixes Savannah bug #28090. - - * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace - characters before start of `eexec' section. - -2009-11-20 Werner Lemberg <wl@xxxxxxx> - - Fix Savannah bug #27742. - - * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by - zero, using a threshold for `theta'. - -2009-11-20 Werner Lemberg <wl@xxxxxxx> - - Fix Savannah bug #28036. - - * src/type1/t1afm.c (t1_get_index): Fix comparison. - -2009-11-16 Werner Lemberg <wl@xxxxxxx> - - Fix compiler warnings. - Reported by Kevin Blenkinsopp <arqon@xxxxxxxxxxx>. - - * src/sfnt/ttload.c (check_table_dir): Use proper data type. - -2009-11-15 Werner Lemberg <wl@xxxxxxx> - - Really fix FreeDesktop bug #21197. - This also fixes Savannah bug #28021. - - * src/autofit/aflatin.c (af_latin_metrics_check_digits), - src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop. - -2009-11-15 Werner Lemberg <wl@xxxxxxx> - - Add tracing messages for advance values. - - * src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c - (TT_Get_HMetrics, TT_Get_VMetrics): Do it. - -2009-11-08 Werner Lemberg <wl@xxxxxxx> - - Fix compiler warning. - Reported by Jeremy Manson <jeremy.manson@xxxxxxxxx>. - - * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'. - -2009-11-04 Werner Lemberg <wl@xxxxxxx> - - Remove compiler warning. - Reported by Sean McBride <sean@xxxxxxxxxxxxxxxxxx>. - - * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to - `int', as specified in the printf(3) man page. - -2009-11-04 Werner Lemberg <wl@xxxxxxx> - - Fix Savannah bug #27921. - - * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c - (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics), - src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant - values for rounding if the argument can be negative. - -2009-11-03 Bram Tassyns <bramt@xxxxxxxxxx> - - Add basic support for Type1 charstrings in CFF. - This fixes Savannah bug #27922. - - * src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle - `seac', `sbw', and `setcurrentpoint' opcodes. - (cff_compute_bias): Add parameter to indicate the charstring type. - Update all callers. - (cff_operator_seac): Add parameter for side bearing. - (cff_decoder_parse_charstrings): Updated for more Type1 support. - -2009-11-03 Werner Lemberg <wl@xxxxxxx> - - Return correct `linearHoriAdvance' value for embedded TT bitmaps too. - Reported by Jeremy Manson <jeremy.manson@xxxxxxxxx>. - - src/truetype/ttgload.c (load_truetype_glyph): Add parameter to - quickly load the glyph header only. - Update all callers. - (tt_loader_init): Add parameter to quickly load the `glyf' table - only. - Update all callers. - (TT_Load_Glyph): Compute linear advance values for embedded bitmap - glyphs too. - -2009-11-03 Werner Lemberg <wl@xxxxxxx> - - Improve code readability. - - * src/ttgload.c (load_truetype_glyph): Move metrics calculation - to... - (tt_get_metrics): This new function. - -2009-10-26 Bram Tassyns <bramt@xxxxxxxxxx> - - Fix Savannah bug #27811. - - * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix - signed/unsigned mismatch. - -2009-10-19 Ning Dong <flintning@xxxxxxx> - - Fix handling of `get' and `put' CFF instructions. - - * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get, - cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of - elements for the `get' and `put' operators to 32. - * src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define. - (CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'. - -2009-10-18 Werner Lemberg <wl@xxxxxxx> - - Fix handling of `dup' CFF instruction. - Problem and solution reported by Ning Dong <flintning@xxxxxxx>. - - * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>: - Increase `args' by 2, not 1. - -2009-10-10 Werner Lemberg <wl@xxxxxxx> - - * Version 2.3.11 released. - ========================== - - - Tag sources with `VER-2-3-11'. - - * docs/VERSION.DLL: Update documentation and bump version number to - 2.3.11. - - * README, Jamfile (RefDoc), builds/win32/visualc/index.html, - builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype.vcproj, - builds/win32/visualce/index.html, - builds/win32/visualce/freetype.dsp, - builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/. - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 11. - - * builds/unix/configure.raw (version_info): Set to 9:22:3. - -2009-10-10 Werner Lemberg <wl@xxxxxxx> - - * docs/CHANGES, docs/release: Updated. - -2009-10-10 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - * src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops - truncation. Reported by Martin von Gagern and Peter Volkov. - https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256 - -2009-10-06 Werner Lemberg <wl@xxxxxxx> - - * Version 2.3.10 released. - ========================== - - - Tag sources with `VER-2-3-10'. - - * builds/toplevel.mk (major, minor, patch): Fix regexp to allow more - than a single digit. - (dist): We now use git. - - * docs/VERSION.DLL: Update documentation and bump version number to - 2.3.10. - - * README, Jamfile (RefDoc), builds/win32/visualc/index.html, - builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype.vcproj, - builds/win32/visualce/index.html, - builds/win32/visualce/freetype.dsp, - builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/. - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. - - * builds/unix/configure.raw (version_info): Set to 9:21:3. - -2009-10-06 Werner Lemberg <wl@xxxxxxx> - - Fix `make multi'. - - * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. - - * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H. - -2009-09-27 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582. - Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed. - Now these functions should be called with FTC_Node or FTC_MruNode - variable, and the caller should cast them to appropriate pointers to - concrete data. These tricky casts can GCC-4.4 optimizer (-O2) - confused and the crashing binaries are generated. - - * src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast. - Now the 4th argument `node' of this function should be typed as - FTC_MruNode. - - * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline - implementation, new temporal variable FTC_MruNode `_mrunode' to take - the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline - implementation, tricky cast is dropped. - - * src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting - to FTC_SizeNode. - (FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode - `mrunode', and FTC_SIZE_NODE() is inserted. - (FTC_FACE_NODE): New macro casting to FTC_FaceNode. - (FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode - `mrunode', and FTC_FACE_NODE() is inserted. - - * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of - `node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE() - is dropped. - (FTC_ImageCache_LookupScaler): Ditto. - (FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to - FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE() - is inserted. - (FTC_SBitCache_LookupScaler): Ditto. - - * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of - `node' from FTC_CMapNode to FTC_Node. Extra casting macro - FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted. - -2009-09-25 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [cache, psaux, type1] Fix for multi build. - In multi build, some cpp functions are left as unresolved symbols. - - * src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1(). - - * src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for - FIXED_TO_INT(). - * src/type1/t1gload.c: Ditto. - * src/type1/t1objs.c: Ditto. - -2009-09-25 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [autofit] Fix for multi build. - - * src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use - FT_DECLARE_MODULE() macro in multi build. - - * src/autofit/aflatin.c: Include <ft2build.h> to handle - FT_ADVANCES_H correctly in multi build. - -2009-09-24 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [cache] Check the face filled by FTC_Manager_LookupFace(). - - * src/cache/ftcbasic.c (ftc_basic_family_get_count): Return - immediately if FTC_Manager_LookupFace() fills face by NULL. Such - case can occur when the code is optimized by GCC-4.2.x. - -2009-09-23 Werner Lemberg <wl@xxxxxxx> - * docs/CHANGES: Updated. -2009-09-12 Werner Lemberg <wl@xxxxxxx> +2010-07-18 Werner Lemberg <wl@xxxxxxx> - [raster] Fix 5-levels grayscale output. - This was broken since version 2.3.0. - - * src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which - were then computed dynamically). - (Vertical_Gray_Sweep_Step): Updated. - - (ft_black_render): Initialize `worker->gray_lines' (problem found by - valgrind). - - (FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just - comment out. - -2009-09-12 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - Improve configure.raw for cross build. - - * builds/unix/configure.raw: Remove temporal files created by the - suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when - cross compiler is GCC. AC_PROG_CC checks whether the cross compiler - is GCC, its result is stored in GCC. - -2009-09-12 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [BDF] Modify hash API to take size_t value instead of void *. - - The hash API in BDF driver is designed to be generic, it takes - void * typed data. But BDF driver always gives an unsigned long - integer (the index to a property). To reduce non-essential - casts from unsigned long to void* and from void* to unsigned - long, the hash API is changed to take size_t integer. - The issue of incompatible cast between unsigned long and void* - on LLP64 platform is reported by NightStrike from MinGW-Win64 - project. See - http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html - - * src/bdf/bdf.h: The type of hashnode->data is changed from - void* to size_t. - - * src/bdf/bdflib.c (hash_insert): Get size_t data, instead of - void* data. - (bdf_create_property): Get the name length of new property by - size_t variable, with a cut-off at FT_ULONG_MAX. - (_bdf_set_default_spacing): Get the name length of the face by - size_t variable, with a cut-off at 256. - (bdf_get_property): Get the property id by size_t variable to - reduce the casts between 32-bit prop ID & hashnode->data during - simple copying. - (_bdf_add_property): Ditto. - (_bdf_parse_start): Calculate the index to the property array - by size_t variable. - (bdf_get_font_property): Drop a cast to unsigned long. - -2009-09-10 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - [Win64] Improve the computation of random seed from stack address. - - On LLP64 platform, the conversion from pointer to FT_Fixed need - to drop higher 32-bit. Explict casts are required. Reported by - NightStrike from MinGW-w64 project. See - http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html - - * src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly. - - * src/psaux/t1decode.c: Ditto. - - -2009-09-03 Werner Lemberg <wl@xxxxxxx> - - [raster] Improvements for stand-alone mode. - - * src/raster/rules.mk: Don't handle ftmisc.h. It is needed for - stand-alone mode only. - - * src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func, - FT_Realloc_Func): Copy declarations from ftsystem.h. - -2009-09-02 Bram Tassyns <bramt@xxxxxxxxxx> - - Improve vertical metrics calculation (Savannah bug #27364). - - The calculation of `vertBearingX' is not defined in the OTF font - spec so FreeType does a `best effort' attempt. However, this value - is defined in the PDF and PostScript specs, and that algorithm is - better than the one FreeType currently uses: - - FreeType: Use the middle of the bounding box as the X coordinate - of the vertical origin. - - Adobe PDF spec: Use the middle of the horizontal advance vector as - the X coordinate of the vertical origin. - - FreeType's algorithm goes wrong if you have a really small glyph - (like the full-width, circle-like dot at the end of the sentence, as - used in CJK scripts) with large bearings. With the FreeType - algorithm this dot gets centered on the baseline; with the PDF - algorithm it gets the correct location (in the top right). Note - that this is a serious issue, it's like printing the dot at the end - of a Roman sentence at the center of the textline instead of on the - baseline like it should. So i believe the PDF spec's algorithm - should be used in FreeType as well. - - The `vertBearingY' value for such small glyphs is also very strange - if no `vmtx' information is present, since the height of the bbox is - not representable for the height of the glyph visually (the - whitespace up to the baseline is part of the glyph). The fix also - includes some code for a better estimate of `vertBearingY'. - - * src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX' - is now calculated as described by the Adobe PDF Spec. Estimate for - `vertBearingY' now works better for small glyphs completely above or - below the baseline into account. - - * src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now - calculated as described by the Adobe PDF Spec. Vertical metrics - information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS - was not defined. - - * src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is - now calculated as described by the Adobe PDF Spec. - -2009-09-01 John Tytgat <John.Tytgat@xxxxxxxx> - - Fix custom cmap for empty Type 1 font (Savannah bug #27294). - - * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update - comment to reflect revised code_last meaning. - * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c - (T42_Open_Face): Assign max_char as highest character code + 1 and - use this for T1_EncodingRecRec_::code_last. - * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised - T1_EncodingRecRec_::code_last meaning. - -2009-08-25 Werner Lemberg <wl@xxxxxxx> - - Fix rendering of horizontally compressed CFFs. - Bug reported by Ivan Nincic <inincic@xxxxxxxxxxx>. - - * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of - `font_matrix' also. - - * docs/CHANGES: Updated. - -2009-08-03 suyu0925@xxxxxxxxx - - Don't call `ft_fseek' every time when executing `ft_fread'. - - * src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c - (ft_ansi_stream_io): Implement it. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Cast a charcode to 32-bit in cmap format 14 parser. - - * src/sfnt/ttcmap.c (tt_cmap14_char_var_index, - tt_cmap14_char_var_isdefault, tt_cmap14_char_variants, - tt_cmap14_variant_chars): Correct mismatches from - FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments - are replaced by FT_UInt32 arguments. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Cast a charcode to 32-bit in cmap format 12 parser. - - * src/sfnt/ttcmap.c (tt_cmap12_char_next): - Insert explicit cast from FT_UFast to FT_UInt32 - for return value. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - psaux: Fix a few casts to FT_Int32 value. - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings): - Fix a few casts setting `value' from FT_Long to FT_Int32, - because `value' is typed as FT_Int32 since 2009-06-22. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Fix a data type mismatching with its source. - - * src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the - type of `gindex' from FT_ULong to FT_UInt because - it is set by FT_UInt tt_cmap13_char_map_binary() or - TT_CMap13->cur_gindex. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Extend a few local variables to load 32-bit values. - - * src/sfnt/ttkern.c (tt_face_load_kern): Extend `count' - and `kern' to load 32-bit values. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - pfr: Extend `num_aux' to take 32-bit value. - - * src/pfr/pfrload.c (pfr_phy_font_load): Extend - `num_aux' to load 32-bit value. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops. - - * src/pcf/pcfread.c (pcf_get_properties): Load `nprops' - as FT_ULong value from PCF file, but truncate it as - int to fit PCF_Face->nprops. The number of truncated - properties is shown in the trace message. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - gxvalid: Extend a few local variables to reduce the casts. - - * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): - Extend `type' and `rest' to take FT_ULong values. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - gxvalid: Extend `settingTable' to take 32-bit offset. - - * src/gxvalid/gxvfeat.c (gxv_feat_name_validate): - Extend `settingTable' to take 32-bit offset. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - autofit: Cast FT_Long glyph_count to compare with FT_UInt GID. - - * src/autofit/afglobal.c (af_face_globals_is_digit, - af_face_globals_compute_script_coverage): Cast FT_Long - globals->glyph_count to FT_ULong, to compare with FT_UInt - gindex. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - smooth: Exclude 16-bit system in invalid pitch/height check. - - * src/smooth/ftsmooth.c (ft_smooth_render_generic): - pitch and height are typed as FT_UInt but checked to fit - 16-bit range, to avoid the overflows. On 16-bit system, - this checking inserts a conditional that never occurs. - -2009-07-03 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - cff: Type large constants > 0x7FFF as long for 16-bit systems. - - * src/cff/cffload.c (cff_charset_load): Type large - constants > 0x7FFF as long, because normal constants - are typed signed integer that is less than 0x8000 on - 16-bit systems. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - base: Remove an unused variable. - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an - unused variable `library'. glyph->library is used. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - cache: Check higher bits in flags for non ILP32 systems. - - 4 public functions ought to take FT_ULong flags, but take - FT_UInt flags. To keep binary compatibility, we drop higher - bits on non ILP32 platforms, - ILP64 systems: No drop occurs. - LP64 systems: Higher bits are not used. - 16-bit systems: Drop can occur. - See - http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html - These functions will be refined to take FT_ULong flags in - next bump with incompatible API change. - - * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): - Check `flags' in `type', the 2nd argument. - (FTC_SBitCache_Lookup): Ditto. - (FTC_ImageCache_LookupScaler): Check `load_flags', - the 3rd argument. - (FTC_SBitCache_LookupScaler): Ditto. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Ignore invalid GIDs in glyph name lookup. - - * include/freetype/internal/fttrace.h: - New trace module for sfdriver.c is added. - - * src/sfnt/sfdriver.c (sfnt_get_name_index): - Restrict glyph name lookup to FT_UInt GID. - Genuine TrueType can hold 16-bit glyphs. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - pcf: Fix a comparison between FT_Long and FT_ULong. - - * src/pcf/pcfread.c (pcf_get_bitmaps): Return an error - if PCF_Face->nemetrics is negative. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - gxvalid: Guarantee `nFeatureFlags' size up to 32-bit. - - * src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate): - Extend the 3rd argument `nFeatureFlags' to FT_ULong. - * src/gxvalid/gxvmort.h: Ditto. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - sfnt: Insert explicit cast for LP64 system. - - * src/sfnt/ttkern.c (tt_face_load_kern): Insert - cast from unsigned long to FT_UInt32. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - gxvalid: Guarantee `just' table size upto 32-bit. - - * src/gxvalid/gxvjust.c (gxv_just_validate): - The type of `offset' is changed from FT_UInt to - FT_Offset, for 16-bit platforms. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - gxvalid: Guarantee `trak' table size upto 32-bit. - - * src/gxvalid/gxvtrak.c (gxv_trak_validate): - The type of `offset' is changed from FT_UInt to - FT_Offset, for 16-bit platforms. - -2009-07-31 suzuki toshiya <mpsuzuki@xxxxxxxxxxxxxxxxx> - - type1: Fix a data type mismatching with its source. - - * include/freetype/internal/t1types.h: The type of - T1_Face->buildchar is matched with T1_Decorder->top. - [... truncated: 36546 lines follow ...]