kc3-lang/freetype/src

Branch :


Log

Author Commit Date CI Message
93eaf50a 2010-02-13 01:08:33 Fix overallocating bug in FT_Outline_New_Internal().
63e7aac3 2010-02-10 07: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.
980b76ea 2010-02-10 07: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.
d9145241 2010-02-05 02:58:24 Prevent NULL pointer dereference passed to FT_Module_Requester.
c9669a8a 2010-01-30 02:24:25 [sfnt] Fix memory leaks in previous patch.
75852eda 2010-01-29 23:18:34 New parameters for FT_Open_Face() to ignore preferred family names.
f19e46f3 2010-01-27 10: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.
f0760ca6 2010-01-23 16:19:33 We no longer use CVS.
13fa21bd 2010-01-14 21: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.
d40cd0b4 2010-01-14 20:32:21 Fix compilation warning.
2ad91580 2010-01-09 08:22:38 Whitespace.
1ac5e0ec 2010-01-09 08:14:26 Documentation typo.
8ea31415 2010-01-08 18: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.
297dc223 2010-01-05 20:48:57 Another clang fix.
fc58155a 2010-01-05 20: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'.
1fc440b2 2010-01-05 13:39:37 Typo.
2a33275e 2010-01-05 10: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.
fe6da50d 2010-01-05 10:10:15 Thinkos.
dbe56223 2010-01-05 09: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.
3445e4f9 2010-01-04 15: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.
8cf9b74c 2009-12-31 18: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.
64ed3038 2009-12-20 18:12:57 Whitespace.
f4fe5a4a 2009-12-20 17: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.
7bdc1d59 2009-12-18 07: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.
7da7ad94 2009-12-16 18: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.
481324cd 2009-12-15 08:58:37 Fix compiler warnings. Reported by Sean. * src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data type.
ce412593 2009-12-14 22: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.
2db97838 2009-12-14 22: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.
8d14b6f4 2009-12-14 07:55:39 Trace glyph index in CID module. Suggested in Savannah patch #7023. * src/cid/cidgload.c (cid_load_glyph): Add tracing message.
9045f5bd 2009-12-03 05: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.
087b7ea6 2009-11-25 23: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.
a5e9dbd5 2009-11-20 09:33:57 Fix Savannah bug #27742. * src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by zero, using a threshold for `theta'.
934d054f 2009-11-20 06:26:22 Fix Savannah bug #28036. * src/type1/t1afm.c (t1_get_index): Fix comparison.
01975084 2009-11-16 23:10:53 Fix compiler warnings. Reported by Kevin Blenkinsopp <arqon@promode.org>. * src/sfnt/ttload.c (check_table_dir): Use proper data type.
7635ba64 2009-11-15 10: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.
c4b22144 2009-11-15 10: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.
c0aeef45 2009-11-08 07:58:05 Fix compiler warning. Reported by Jeremy Manson <jeremy.manson@gmail.com>. * src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
c6e4180c 2009-11-04 12: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.
012552f1 2009-11-04 10: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.
8821cc5d 2009-11-04 07: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.
f186ba68 2009-11-03 15: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.
422210be 2009-11-03 08:11:02 Improve code readability. * src/ttgload.c (load_truetype_glyph): Move metrics calculation to... (tt_get_metrics): This new function.
ac0d52d8 2009-11-02 08:35:24 Whitespace.
06ba4597 2009-10-26 22:26:31 Fix Savannah bug #27811. * src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix signed/unsigned mismatch.
38449dce 2009-10-26 07:26:25 Whitespace.
2d15120c 2009-10-19 21: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'.
d90567b1 2009-10-18 10: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.
008686a1 2009-10-11 02:07:16 [pcf] Fix a bug in the nprops truncation, Gentoo bug #288357.
ca87cd0b 2009-10-06 11: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.
6167357e 2009-09-29 03:19:47 [cache] Fold too long lines.
82633a24 2009-09-27 16:55:44 [cache] Fix Savannah bug #27441, cleanup Redhat bugzilla #513582.
f2647dda 2009-09-26 00:48:37 [cache, psaux, type1] Fix for multi build.
76f1b9d9 2009-09-25 23:57:30 [autofit] Fix for multi build.
4e0c9ee1 2009-09-24 14:30:40 [cache] Check the face filled by FTC_Manager_LookupFace().
766b822f 2009-09-12 23: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.
704f4d75 2009-09-13 00:50:14 [BDF] Modify hash API to take size_t value instead of void *.
0729bc9f 2009-09-10 16:09:55 [Win64] Improve the computation of random seed from stack address.
d30062d2 2009-09-08 07:06:54 Whitespace.
5e240c12 2009-09-03 13: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.
4694ea2b 2009-09-02 13: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.
03e8b2f7 2009-09-01 08: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.
d77cd8ce 2009-08-27 00: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.
efaf5abc 2009-08-03 19: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.
2b6a3f0b 2009-08-01 00:37:59 sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
9b1aab8d 2009-08-01 00:37:58 sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
e6d0c1fb 2009-08-01 00:37:58 psaux: Fix a few casts to FT_Int32 value.
b76c3f71 2009-08-01 00:37:57 sfnt: Fix a data type mismatching with its source.
2a2beb47 2009-08-01 00:37:57 sfnt: Extend a few local variables to load 32-bit values.
3783dac0 2009-08-01 00:37:56 pfr: Extend `num_aux' to take 32-bit value.
3bda1f99 2009-08-01 00:37:56 pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
8eb551f1 2009-08-01 00:37:55 gxvalid: Extend a few local variables to reduce the casts.
d3659977 2009-08-01 00:37:55 gxvalid: Extend `settingTable' to take 32-bit offset.
6e2375f7 2009-08-01 00:37:54 autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
057bc4c0 2009-08-01 00:35:40 smooth: Exclude 16-bit system in invalid pitch/height check.
b16a9426 2009-08-01 00:32:25 cff: Type large constants > 0x7FFF as long for 16-bit systems.
5133c56f 2009-08-01 00:32:25 base: Remove an unused variable.
5d3ff056 2009-08-01 00:32:24 cache: Check higher bits in flags for non ILP32 systems.
61adbe98 2009-08-01 00:32:24 sfnt: Ignore invalid GIDs in glyph name lookup.
eec40554 2009-08-01 00:32:24 pcf: Fix a comparison between FT_Long and FT_ULong.
eceaffef 2009-08-01 00:32:23 gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
cad4f915 2009-08-01 00:32:23 sfnt: Insert explicit cast for LP64 system.
2f07c57f 2009-08-01 00:32:22 gxvalid: Guarantee `just' table size upto 32-bit.
205a2a0c 2009-08-01 00:32:22 gxvalid: Guarantee `trak' table size upto 32-bit.
737634e5 2009-08-01 00:32:21 pfr: Fix a data type mismatching with its source.
b12b8c3c 2009-08-01 00:32:21 pfr: Fix a data type mismatching with its source.
c4420d97 2009-08-01 00:32:21 pfr: Fix a data type mismatching with its source.
471980d9 2009-08-01 00:32:20 smooth: Improve the format in debug message.
01059050 2009-08-01 00:32:20 sfnt: Fix a data type mismatching with its source.
ec7bc863 2009-08-01 00:32:19 truetype: Extend TrueType GX packed deltas to FT_Offset.
5668181b 2009-08-01 00:32:18 truetype: Extend mmvar_len to hold size_t values.
a1151420 2009-08-01 00:32:18 truetype: Check invalid function number in IDEF instruction.
d1c23082 2009-08-01 00:32:17 truetype: Check invalid function number in FDEF instruction.
9206eba2 2009-08-01 00:32:17 truetype: Truncate the deltas of composite glyph at 16-bit values.
1b6f1d20 2009-08-01 00:32:16 truetype: Truncate the instructions upto 16-bit per a glyph.
6dc27526 2009-08-01 00:32:15 truetype: Cast the numerical operands to 32-bit for LP64 systems.
3b56c4d3 2009-08-01 00:32:15 truetype: Cast the project vector to 32-bit for LP64 system.
9fc40943 2009-08-01 00:32:14 truetype: Cast the scaling params to 32-bit for LP64 system.
c9c64388 2009-08-01 00:32:14 sfnt: Cast a character code to FT_UInt32 for LP64 system.
3f0182af 2009-08-01 00:32:13 sfnt: Cast a character code to FT_UInt32 for LP64 system.
9c1aac00 2009-08-01 00:32:13 sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.