ChangeLog


Log

Author Commit Date CI Message
suzuki toshiya ad6954a0 2010-02-13T02:25:04 Improve autotool version checking to work with beta releases.
suzuki toshiya 93eaf50a 2010-02-13T01:08:33 Fix overallocating bug in FT_Outline_New_Internal().
Ken Sharp 63e7aac3 2010-02-10T07:13:27 Really fix Savannah bug #28678 (part 2). 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/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.
Ken Sharp 980b76ea 2010-02-10T07:02:43 Really fix Savannah bug #28678 (part 1). 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). * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add `advance_v' field to hold the vertical component of the advance value. * 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.
Werner Lemberg db9a41e8 2010-02-09T15:43:24 * devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define. Other minor documentation fixes.
suzuki toshiya d9145241 2010-02-05T02:58:24 Prevent NULL pointer dereference passed to FT_Module_Requester.
suzuki toshiya c9669a8a 2010-01-30T02:24:25 [sfnt] Fix memory leaks in previous patch.
suzuki toshiya 75852eda 2010-01-29T23:18:34 New parameters for FT_Open_Face() to ignore preferred family names.
Ken Sharp f19e46f3 2010-01-27T10:04:50 Fix Savannah bug #28678. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_load_glyph): Handle vertical metrics correctly. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle vertical metrics correctly. (T1_Load_Glyph): Don't synthesize vertical metrics.
Werner Lemberg 13fa21bd 2010-01-14T21:34:08 Make FT_Set_Transform work if no renderer is available. * src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation if no renderer is compiled into the library.
Werner Lemberg d40cd0b4 2010-01-14T20:32:21 Fix compilation warning.
Werner Lemberg df870f3e 2010-01-11T06:28:56 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.
Ken Sharp 8ea31415 2010-01-08T18:13:02 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.
Werner Lemberg 297dc223 2010-01-05T20:48:57 Another clang fix.
Werner Lemberg fc58155a 2010-01-05T20:00:35 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'.
Ralph Giles e3837295 2010-01-05T19:36:58 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.
Werner Lemberg 2a33275e 2010-01-05T10:27:15 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.
Werner Lemberg 942d92c9 2010-01-05T10:24:25 Minor fixes.
Ken Sharp dbe56223 2010-01-05T09:43:01 Make Type 1 `seac' operator work with incremental interface. * src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names' if incremental interface is used.
Werner Lemberg 3445e4f9 2010-01-04T15:53:27 Make incremental interface work with TrueType fonts. * src/truetype/ttgload.c (load_truetype_glyph): Don't check `glyf_offset' if incremental interface is used.
Lars Abrahamsson 8cf9b74c 2009-12-31T18:26:14 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.
Werner Lemberg 173bdc68 2009-12-22T00:27:29 Minor addition.
Marc Kleine-Budde 978b11dc 2009-12-22T00:25:38 Make freetype-config aware of $SYSROOT. * builds/unix/freetype-config.in: Decorate with ${SYSROOT} where appropriate.
Werner Lemberg f4fe5a4a 2009-12-20T17:56:22 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.
Werner Lemberg 7bdc1d59 2009-12-18T07:13:22 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.
Werner Lemberg 7da7ad94 2009-12-16T18:13:55 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.
Werner Lemberg 0770de9a 2009-12-16T08:36:24 Typos.
suzuki toshiya d818ba59 2009-12-16T13:23:14 Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
Werner Lemberg 481324cd 2009-12-15T08:58:37 Fix compiler warnings. Reported by Sean. * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data type.
Ken Sharp ce412593 2009-12-14T22:32:32 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.
Werner Lemberg 2db97838 2009-12-14T22:17:26 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.
Werner Lemberg 8d14b6f4 2009-12-14T07:55:39 Trace glyph index in CID module. Suggested in Savannah patch #7023. * src/cid/cidgload.c (cid_load_glyph): Add tracing message.
Werner Lemberg 9045f5bd 2009-12-03T05:57:30 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.
John Tytgat 087b7ea6 2009-11-25T23:51:06 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.
Werner Lemberg a5e9dbd5 2009-11-20T09:33:57 Fix Savannah bug #27742. * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by zero, using a threshold for `theta'.
Werner Lemberg 934d054f 2009-11-20T06:26:22 Fix Savannah bug #28036. * src/type1/t1afm.c (t1_get_index): Fix comparison.
Werner Lemberg 01975084 2009-11-16T23:10:53 Fix compiler warnings. Reported by Kevin Blenkinsopp <arqon@promode.org>. * src/sfnt/ttload.c (check_table_dir): Use proper data type.
Werner Lemberg 0aa1de62 2009-11-15T10:53:50 s/casted/cast/
Werner Lemberg 7635ba64 2009-11-15T10:17:44 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.
Werner Lemberg c4b22144 2009-11-15T10:10:00 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.
Werner Lemberg c0aeef45 2009-11-08T07:58:05 Fix compiler warning. Reported by Jeremy Manson <jeremy.manson@gmail.com>. * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
Werner Lemberg c6e4180c 2009-11-04T12:18:48 Remove compiler warning. Reported by Sean McBride <sean@rogue-research.com>. * src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to `int', as specified in the printf(3) man page.
Werner Lemberg 012552f1 2009-11-04T10:06:04 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.
Bram Tassyns 8821cc5d 2009-11-04T07:21:15 Add basic support for Type1 charstrings in CFF. * 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.
Werner Lemberg f186ba68 2009-11-03T15:46:35 Return correct `linearHoriAdvance' value for embedded TT bitmaps too. Reported by Jeremy Manson <jeremy.manson@gmail.com>. 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.
Werner Lemberg 422210be 2009-11-03T08:11:02 Improve code readability. * src/ttgload.c (load_truetype_glyph): Move metrics calculation to... (tt_get_metrics): This new function.
bram tassyns 06ba4597 2009-10-26T22:26:31 Fix Savannah bug #27811. * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix signed/unsigned mismatch.
Werner Lemberg 2d15120c 2009-10-19T21:09:13 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'.
Werner Lemberg d90567b1 2009-10-18T10:47:11 Fix handling of `dup' CFF instruction. Problem and solution reported by Ning Dong <flintning@163.com>. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>: Increase `args' by 2, not 1.
Werner Lemberg d699c299 2009-10-10T20:25:48 * 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.
Werner Lemberg 3c4e6baa 2009-10-10T20:15:49 * docs/CHANGES, docs/release: Updated.
suzuki toshiya 008686a1 2009-10-11T02:07:16 [pcf] Fix a bug in the nprops truncation, Gentoo bug #288357.
Werner Lemberg 19dfcbd2 2009-10-06T12:00:43 * 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.
Werner Lemberg 5c3160ec 2009-10-06T11:12:28 Formatting.
Werner Lemberg ca87cd0b 2009-10-06T11:09:29 Fix `make multi'. * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
suzuki toshiya 82633a24 2009-09-27T16:55:44 [cache] Fix Savannah bug #27441, cleanup Redhat bugzilla #513582.
suzuki toshiya f2647dda 2009-09-26T00:48:37 [cache, psaux, type1] Fix for multi build.
suzuki toshiya 76f1b9d9 2009-09-25T23:57:30 [autofit] Fix for multi build.
suzuki toshiya 4e0c9ee1 2009-09-24T14:30:40 [cache] Check the face filled by FTC_Manager_LookupFace().
Werner Lemberg e2184505 2009-09-23T09:28:48 * docs/CHANGES: Updated.
Werner Lemberg 766b822f 2009-09-12T23:15:17 [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.
suzuki toshiya 812d1bc9 2009-09-13T02:12:44 Improve configure.raw for cross build.
suzuki toshiya 704f4d75 2009-09-13T00:50:14 [BDF] Modify hash API to take size_t value instead of void *.
suzuki toshiya 519a5eaf 2009-09-13T00:00:28 Whitespace.
suzuki toshiya 0729bc9f 2009-09-10T16:09:55 [Win64] Improve the computation of random seed from stack address.
Werner Lemberg 4539b3ee 2009-09-08T07:05:26 Whitespace.
Werner Lemberg 5e240c12 2009-09-03T13:14:24 [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.
Bram Tassyns 4694ea2b 2009-09-02T13:06:33 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.
John Tytgat 03e8b2f7 2009-09-01T08:10:24 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.
Werner Lemberg d77cd8ce 2009-08-27T00:10:56 Fix rendering of horizontally compressed CFFs. Bug reported by Ivan Nincic <inincic@pdftron.com>. * src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of `font_matrix' also. * docs/CHANGES: Updated.
Su Yu efaf5abc 2009-08-03T19:55:58 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.
suzuki toshiya 2b6a3f0b 2009-08-01T00:37:59 sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
suzuki toshiya 9b1aab8d 2009-08-01T00:37:58 sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
suzuki toshiya e6d0c1fb 2009-08-01T00:37:58 psaux: Fix a few casts to FT_Int32 value.
suzuki toshiya b76c3f71 2009-08-01T00:37:57 sfnt: Fix a data type mismatching with its source.
suzuki toshiya 2a2beb47 2009-08-01T00:37:57 sfnt: Extend a few local variables to load 32-bit values.
suzuki toshiya 3783dac0 2009-08-01T00:37:56 pfr: Extend `num_aux' to take 32-bit value.
suzuki toshiya 3bda1f99 2009-08-01T00:37:56 pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
suzuki toshiya 8eb551f1 2009-08-01T00:37:55 gxvalid: Extend a few local variables to reduce the casts.
suzuki toshiya d3659977 2009-08-01T00:37:55 gxvalid: Extend `settingTable' to take 32-bit offset.
suzuki toshiya 6e2375f7 2009-08-01T00:37:54 autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
suzuki toshiya 057bc4c0 2009-08-01T00:35:40 smooth: Exclude 16-bit system in invalid pitch/height check.
suzuki toshiya b16a9426 2009-08-01T00:32:25 cff: Type large constants > 0x7FFF as long for 16-bit systems.
suzuki toshiya 5133c56f 2009-08-01T00:32:25 base: Remove an unused variable.
suzuki toshiya 5d3ff056 2009-08-01T00:32:24 cache: Check higher bits in flags for non ILP32 systems.
suzuki toshiya 61adbe98 2009-08-01T00:32:24 sfnt: Ignore invalid GIDs in glyph name lookup.
suzuki toshiya eec40554 2009-08-01T00:32:24 pcf: Fix a comparison between FT_Long and FT_ULong.
suzuki toshiya eceaffef 2009-08-01T00:32:23 gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
suzuki toshiya cad4f915 2009-08-01T00:32:23 sfnt: Insert explicit cast for LP64 system.
suzuki toshiya 2f07c57f 2009-08-01T00:32:22 gxvalid: Guarantee `just' table size upto 32-bit.
suzuki toshiya 205a2a0c 2009-08-01T00:32:22 gxvalid: Guarantee `trak' table size upto 32-bit.
suzuki toshiya 49740490 2009-08-01T00:32:22 type1: Fix a data type mismatching with its source.
suzuki toshiya 737634e5 2009-08-01T00:32:21 pfr: Fix a data type mismatching with its source.
suzuki toshiya b12b8c3c 2009-08-01T00:32:21 pfr: Fix a data type mismatching with its source.
suzuki toshiya c4420d97 2009-08-01T00:32:21 pfr: Fix a data type mismatching with its source.
suzuki toshiya 471980d9 2009-08-01T00:32:20 smooth: Improve the format in debug message.
suzuki toshiya 01059050 2009-08-01T00:32:20 sfnt: Fix a data type mismatching with its source.
suzuki toshiya ec7bc863 2009-08-01T00:32:19 truetype: Extend TrueType GX packed deltas to FT_Offset.
suzuki toshiya cf31edf5 2009-08-01T00:32:19 psaux: Fix a data type mismatching with its source.
suzuki toshiya 5668181b 2009-08-01T00:32:18 truetype: Extend mmvar_len to hold size_t values.