Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| dbe330bc | 2011-10-30 12:31:03 | [raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X. * src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not compile on native Mac OS X because it is not used. | ||
| f4ec60fd | 2011-10-25 20:25:32 | [truetype] Fix MD instruction for twilight zone. * src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD instruction applied to original coordinates of twilight points always returns zero. | ||
| 016eba97 | 2011-10-18 13:34:32 | * Version 2.4.7 released. ========================= Tag sources with `VER-2-4-7'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to 2.4.7. * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj, builds/win32/visualce/index.html, 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.4.6/2.4.7/, s/246/247/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. * builds/unix/configure.raw (version_info): Set to 13:2:7. | ||
| 72185cb5 | 2011-10-15 09:33:11 | Fix handling of transformations if no renderer is present. * src/base/ftobjs.c (FT_Load_Glyph): Thinko. | ||
| 298608d1 | 2011-10-15 09:09:59 | Fix conditions for autohinting. * src/base/ftobjs.c (FT_Load_Glyph): Handle FT_LOAD_IGNORE_TRANSFORM. | ||
| faddba44 | 2011-10-08 01:30:49 | [gxvalid] Fix a bug to detect too large offset in morx table. * src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug that too large positive offset cannot be detected. | ||
| 9c98fbf6 | 2011-10-01 09:25:55 | Handle some border cases. * include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro. * src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid value of `target->rows'. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for flex start. * src/raster/ftrend1.c (ft_raster1_render): Check `width' and `height'. * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against invalid values in `localpoints' array. | ||
| 6ae8bde4 | 2011-10-01 08:55:20 | [psnames] Handle zapfdingbats. Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>. * src/tools/glnames.py (adobe_glyph_list): Add data from AGL's `zapfdingbats.txt' file. * src/psnames/pstables.h: Regenerated. | ||
| bfc20c76 | 2011-09-27 17:35:09 | Fix Savannah bug #34189. * src/type1/t1load.c (T1_Open_Face): Initialize `face->len_buildchar'. | ||
| 34d2818a | 2011-09-26 08:59:21 | [cff] Dump SIDs while tracing. * src/cff/cffobjs.c (cff_face_init): Do it. * src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE] <cff_kind_string>: Identify as SID. | ||
| 34eca6ec | 2011-09-17 09:46:46 | Remove unused FT_ALIGNMENT macro. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h: Do it. | ||
| e9e93d1b | 2011-09-17 09:21:25 | [smooth] Slightly optimize conic and cubic flatterners. * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move out some code from the main loop to speed it up. | ||
| 487913d9 | 2011-09-11 09:18:10 | Slightly improve LZW_CLEAR handling. * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>: Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are handled as clear codes. This also re-sets old_code and old_char to predictable values, which is a little better than using `random' ones if the code following LZW_CLEAR is invalid. | ||
| 83cb6c00 | 2011-09-11 09:13:45 | Add explicit LZW decompression stack size limit. Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is constructed correctly. It's even less than that, see e.g. libarchive code comment for a better size upper bound: http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121 This patch adds explicit stack size limit, enforced when stack is realloced. An alternative is to ensure that code < state->prefix[code - 256] when traversing prefix table. Such check is less efficient and should not be required if prefix table is constructed correctly in the first place. * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it. | ||
| 86c3c69c | 2011-09-11 09:08:40 | Protect against loops in the prefix table. LZW decompressor did not sufficiently check codes read from the input LZW stream. A specially-crafted or corrupted input could create a loop in the prefix table, which leads to memory usage spikes, as there's no decompression stack size limit. * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First code in valid LZW stream must be 0..255. <FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent, code > free_ent is invalid. | ||
| 57b6a614 | 2011-09-09 19:05:54 | Better tracing of metrics. * src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with FT_TRACE. | ||
| bb211ce6 | 2011-09-07 15:01:20 | Fix Savannah bug #33816. * src/cff/cfftypes.h (CFF_FontRecDictRec): New member `has_font_matrix'. * src/cff/cffparse.c (cff_parse_font_matrix): Set it. Update tracing output. * src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics can be removed. | ||
| c9a69022 | 2011-08-30 08:09:38 | Typo. | ||
| 51ca771f | 2011-08-30 07:42:19 | Better tracing of metrics. * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Decorate with FT_TRACE. | ||
| 35ab70c1 | 2011-08-25 13:41:16 | [cff] Better tracing of the parsing process. * src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with FT_TRACE. * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox, cff_parse_private_dict, cff_parse_cid_ros): Updated. (CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000, CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD, CFF_FIELD_DELTA): Add argument for ID. (cff_parser_run): Decorate with FT_TRACE. * src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add `id' member. * src/cff/cfftoken.h: Add IDs to all fields. | ||
| aeaa1619 | 2011-08-24 20:50:25 | [cff] Formatting, minor code clean-ups. | ||
| c3fb981e | 2011-08-16 16:04:33 | Fix Savannah bug #34022. * README, docs/INSTALL: Remove references to UPGRADE.UNIX. | ||
| fa5c2e91 | 2011-08-15 17:46:40 | Fix Savannah bug #34018. * doc/UPGRADE.UNIX: Removed. Obsolete. | ||
| 864c426e | 2011-08-15 17:34:01 | Fix Savannah bug #33992. * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case. | ||
| bad0160c | 2011-08-12 19:50:13 | [truetype] Fix degenerate case in S{P,F,DP}VTL opcodes. * src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially. (Ins_SDPVTL): Handle v1 == v2 specially. | ||
| b91e7853 | 2011-08-09 17:48:44 | Fix Savannah bug #33975. * src/cff/cffparse.c (cff_parse_font_matrix): Fix typo. | ||
| 22e44e06 | 2011-08-05 09:57:17 | [truetype] Remove incorrect comments. | ||
| f2573a06 | 2011-08-05 09:07:21 | [truetype] Fix some comments in the bytecode interpreter. Thanks to Greg Hitchcock! | ||
| 29a7965f | 2011-07-29 06:23:27 | * Version 2.4.6 released. ========================= Tag sources with `VER-2-4-6'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to 2.4.6. * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj, builds/win32/visualce/index.html, 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.4.5/2.4.6/, s/245/246/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. * builds/unix/configure.raw (version_info): Set to 13:1:7. | ||
| e7d42366 | 2011-07-29 06:15:20 | [cff] Add some more tracing infos. * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox, cff_parse_cid_ros): Add tracing. | ||
| b03c4a0a | 2011-07-22 05:24:11 | [psaux, type1] Fix null pointer dereferences. Found with font fuzzying. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check `decoder->buildchar'. * src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'. | ||
| 3abf617b | 2011-07-20 06:48:08 | Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT. Useful for embedded systems which don't need file stream support. * src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement it. | ||
| 77f04ceb | 2011-07-20 06:30:20 | * src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo. | ||
| b0962ac3 | 2011-07-16 09:12:42 | [truetype] Fix metrics on size request for scalable fonts. * src/truetype/ttdriver.c (tt_size_request): Fix copying metrics from TT_Size to FT_Size if scalable font. | ||
| 143799d4 | 2011-07-14 07:35:51 | [psaux] Fix potential sign extension problems. When shifting right a signed value, it is not defined by the C standard whether one gets a sign extension or not. Use a macro to do an explicit cast from a signed short (assuming that this is 16bit) to an int. * src/psaux/t1decode.c (Fix2Int): New macro. Use it where appropriate. | ||
| 60f83713 | 2011-07-14 07:34:12 | * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_callothersubr>: Better handling of subroutine index 0. From Matthias Drochner <M.Drochner@fz-juelich.de>. | ||
| 403559b8 | 2011-07-14 07:21:11 | Sort case in switch statement numerically. | ||
| dc33b4a1 | 2011-07-10 07:08:51 | [psaux] Optimize previous commit. * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_callothersubr>: Move error check down to avoid testing twice for good cases. | ||
| c46b1e24 | 2011-07-08 13:46:42 | [psaux] Add better argument check for `callothersubr'. * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_callothersubr>: Reject negative arguments. | ||
| f095744d | 2011-07-07 14:10:39 | [sfnt] Try harder to find non-zero values for ascender and descender. * src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case the `hhea' table's values are zero. | ||
| ecdcad02 | 2011-07-03 15:29:55 | Typos. | ||
| f4b63326 | 2011-07-03 11:24:46 | Fix previous commit. We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap strikes in the font. * src/truetype/ttobjs.c (tt_face_init): Implement it. * docs/CHANGES: Updated. | ||
| b5119996 | 2011-07-03 09:46:32 | Whitespace. | ||
| 07598339 | 2011-07-02 18:41:36 | Fix Savannah bug #33246. * src/truetype/ttobjs.c (tt_check_single_notdef): New function. (tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE. | ||
| 9ae6c7c5 | 2011-07-02 12:15:10 | * docs/CHANGES: Updated. | ||
| aecbfe1b | 2011-07-02 12:09:52 | [ftstroke] Major revision. The main problems ----------------- o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter joins (not bevel joins) were generated. Indeed, the meanings of `miter' and `bevel' were incorrectly reversed (consistently) in both the code and comments. o The way bevel joins were constructed (whether specified explicitly, or created as a result of exceeding the miter limit) did not match what is required for stroked text in PostScript or PDF. The main fixes -------------- o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected. o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been introduced to support PostScript and PDF miter joins. o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an alias for FT_STROKER_LINEJOIN_MITER. Additionally, a variety of stroking errors have been fixed. These would cause various artifacts (including points `at infinity'), especially when stroking poor quality fonts. See http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html for example documents. The FreeType stroker now produces results very similar to that produced by GhostScript and Distiller for these fonts. Other problems -------------- The following problems have been resolved: o Inside corners could be generated incorrectly. Intersecting the inside corner could cause a missing triangular area and other effects. The intersection point can only be used if the join is between two lines and both lines are long enough. The `optimization' condition in `ft_stroker_inside' has been corrected; this requires the line length to be passed into various functions and stored in `FT_StrokerRec'. o Incorrect cubic curves could be generated. The angle calculations in `FT_Stroker_CubicTo' have been corrected to handle the case of the curve crossing the +/-PI direction. o If the border radius was greater than the radius of curvature of a curve, then the negative sector would end up outside (not inside) the border. This situation is now recognized and the negative sector is circumnavigated in the opposite direction. (If round line joins are being used, this code is disabled because the line join will always cover the negative sector.) o When a curve is split, the arcs may not join smoothly (especially if the curve turns sharply back on itself). Changes in direction between adjacent arcs were not handled. A round corner is now added if the deviation from one arc to the next is greater than a suitable threshold. o The current direction wasn't retained if a the outline contained a zero length lineto or a curve that was determined to be `basically a point'. This could cause a spurious join to be added. o Cubics with close control points could be mishandled. All eight cases are now distinguished correctly. Other improvements ------------------ o Borders for cubic curves could be too `flat'. FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent this. o The handling and use of movable points has been simplified a little. o Various values are now computed only if the results are actually needed. o The directions of the outer and inner borders have been swapped, as recommended by Graham Asher. * src/base/ftstroke.c: Revised. * include/freetype/ftstroke.h: Updated. | ||
| ee5d3b59 | 2011-06-30 15:08:15 | * builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'. | ||
| 073986ec | 2011-06-30 06:20:30 | Minor doc fixes. | ||
| 54f187ab | 2011-06-29 10:01:42 | Document last commit. | ||
| 4bf22196 | 2011-06-29 09:45:51 | Improve documentation of FT_Get_Glyph_Name. | ||
| 96ddc679 | 2011-06-29 09:15:54 | Fix Savannah bug #33663. * src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for ENCODING correctly. | ||
| da9dbf89 | 2011-06-25 07:16:22 | * Version 2.4.5 released. ========================= Tag sources with `VER-2-4-5'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to 2.4.5 * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj, builds/win32/visualce/index.html, 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.4.4/2.4.5/, s/244/245/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. * builds/unix/configure.raw (version_info): Set to 13:0:7. | ||
| 3ae2c70d | 2011-06-24 13:18:41 | Minor documentation fixes. | ||
| 39746194 | 2011-06-20 19:20:50 | Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog | ||
| 4696dde2 | 2011-06-20 19:09:02 | * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change from 2011-05-04. | ||
| c7e8028f | 2011-06-19 23:00:11 | [gxvalid] make the `prop' validation tracing verbose. * src/gxvalid/gxvprop.c: Add tracing messages for errors. | ||
| c63c6f72 | 2011-06-19 22:54:40 | [autogen.sh] Reflect environment variable LIBTOOLIZE. | ||
| ea79b846 | 2011-06-18 08:06:57 | Update license documentation. * docs/GPL.TXT: Renamed to... * docs/GPLv2.TXT: This. * docs/LICENSE.TXT: Updated. | ||
| 41aa4125 | 2011-06-15 20:02:49 | Fix wrong indents in src/cache/ftcmru.c. | ||
| e62c876b | 2011-06-15 02:48:33 | Fix g++4.6 compiler warnings in module drivers. The background is same with previous commit. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Init `points'. (TT_Vary_Get_Glyph_Deltas): Init `delta_xy'. (TT_Get_MM_Var): Init `mmvar'. * src/type1/t1load.c (T1_Get_MM_Var): Ditto. * src/cff/cffdrivr.c (cff_ps_get_font_info): Init `font_info'. * src/cff/cffload.c (cff_index_get_pointers): Init `t'. (cff_font_load): Init `sub'. * src/cff/cffobjs.c (cff_size_init): Init `internal'. (cff_face_init): Init `cff'. * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps): Init `snaps'. * src/pcf/pcfread.c (pcf_get_properties): Init `properties'. (pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings): Init `tmpEncoding'. * src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'. * src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'. * src/cache/ftcmru.c (FTC_MruList_New): Init `node'. * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and `zip_buff'. * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'. * src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'. | ||
| dc185ee2 | 2011-06-15 02:36:52 | Fix misleading comment, s/buffer allocator/FT_NEW() families/g | ||
| 65a44988 | 2011-06-15 01:44:24 | [base] Fix g++4.6 compiler warnings in src/base/*.c. Passing uninitialized pointer to the buffer allocator is not problematic theoretically (as far as the returned pointer is checked before writing), but g++4.6 dislikes it and warns by -Wuninitialized. Initialize them by NULL. * src/base/ftobjs.c (FT_Stream_New): Init `stream'. (new_memory_stream): Ditto. (FT_New_GlyphSlot): Init `slot'. (FT_CMap_New): Init `cmap'. (open_face_PS_from_sfnt_stream): Init `sfnt_ps'. (Mac_Read_POST_Resource): Init `pfb_data'. (Mac_Read_sfnt_Resource): Init `sfnt_data'. * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Init `offsets_internal' and `ref'. (raccess_guess_darwin_hfsplus): Init `newpath'. (raccess_guess_darwin_newvfs): Ditto. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Init `buffer'. * src/base/ftstroke.c (FT_Stroker_New): Init `stroker'. | ||
| 75b91a49 | 2011-06-15 01:10:33 | [gxvalid] Cleanup. Some invalid, overrunning, unrecommended non-zero values are cared in paranoid validation mode only. There are many lines looking like: if ( valid->root->level >= FT_VALIDATE_PARANOID ) FT_INVALID_xxx; To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is introduced for more paranoid validation in future. * src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION): New macro to assure valid->root->level is more or equal to FT_VALIDATE_PARANOID. (GXV_SET_ERR_IF_PARANOID): New macro to raise an error if in paranoid validation. * src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID(). * src/gxvalid/gxvfeat.c: Ditto. * src/gxvalid/gxvjust.c: Ditto. * src/gxvalid/gxvkern.c: Ditto. * src/gxvalid/gxvmort.c: Ditto. * src/gxvalid/gxvmort0.c: Ditto. * src/gxvalid/gxvmort1.c: Ditto. * src/gxvalid/gxvmort2.c: Ditto. * src/gxvalid/gxvmorx1.c: Ditto. * src/gxvalid/gxvmorx2.c: Ditto. | ||
| f6f9b667 | 2011-06-14 23:55:23 | [gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c. * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Check different entries pointing same traking value. (gxv_trak_validate): Remove unused variable `table_size'. | ||
| 05fc72c5 | 2011-06-14 23:54:10 | [gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c. * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate): Conditionalize unvalidated variable `subFeatureFlags'. (gxv_morx_chain_validate): Conditionalize unvalidated variable `defaultFlags'. * src/gxvalid/gxmorx0.c (gxv_morx_subtable_type0_entry_validate): Conditionalize unvalidated variables; `markFirst', `dontAdvance', `markLast', `verb'. * src/gxvalid/gxmorx1.c (gxv_morx_subtable_type1_entry_validate): Conditionalize unvalidated variables; `setMark', `dontAdvance'. * src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_ligActionOffset_validate): Conditionalize unvalidated variables; `last', `store'. Checking for overrunning offset is added. (gxv_morx_subtable_type2_entry_validate): Conditionalize unvalidated variables; `setComponent', `dontAdvance', `performAction'. (gxv_morx_subtable_type2_ligatureTable_validate): Check if the GID for ligature does not exceed the max GID in `maxp' table. * src/gxvalid/gxvmort5.c (gxv_morx_subtable_type5_InsertList_validate): Conditionalize unvalidated loading of `insert_glyphID' array. (gxv_morx_subtable_type5_entry_validate): Conditionalize unvalidated variables; `setMark', `dontAdvance', `currentIsKashidaLike', `markedIsKashidaLike', `currentInsertBefore', `markedInsertBefore'. | ||
| 56be3ac9 | 2011-06-14 23:53:12 | [gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c. * src/gxvalid/gxvmort.c (gxv_mort_subtables_validate): Conditionalize unvalidated variable `subFeatureFlags'. (gxv_mort_chain_validate): Conditionalize unvalidated variable `defaultFlags'. * src/gxvalid/gxmort0.c (gxv_mort_subtable_type0_entry_validate): Check the conflict of the marks for the glyphs. * src/gxvalid/gxmort1.c (gxv_mort_subtable_type1_offset_to_subst_validate): Local variables `min_gid', `max_gid' are replaced by variables in the validator. (gxv_mort_subtable_type1_entry_validate): Conditionalize unvalidated variables; `setMark', `dontAdvance'. (gxv_mort_subtable_type1_substTable_validate): Validate the GID by the min/max GIDs in the validator. * src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_ligActionOffset_validate): Conditionalize unvalidated variables; `last', `store'. Checking for overrunning offset is added. (gxv_mort_subtable_type2_entry_validate): Conditionalize unvalidated variables; `setComponent', `dontAdvance'. (gxv_mort_subtable_type2_ligatureTable_validate): Check if the GID for ligature does not exceed the max GID in `maxp' table. * src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_InsertList_validate): Conditionalize unvalidated loading of `insert_glyphID' array. (gxv_mort_subtable_type5_entry_validate): Conditionalize unvalidated variables; `setMark', `dontAdvance', `currentIsKashidaLike', `markedIsKashidaLike', `currentInsertBefore', `markedInsertBefore'. | ||
| 20c126c1 | 2011-06-14 23:50:39 | [gxvalid] Fix gcc4.6 compiler warnings in gxvkern.c. * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): Conditionalize unvalidated variable `kernValue'. (gxv_kern_subtable_fmt1_entry_validate): Conditionalize unvalidated variables; `push', `dontAdvance', `kernAction', `kernValue'. (gxv_kern_coverage_new_apple_validate): Conditionalize trace-only variables; `kernVertical', `kernCrossStream', `kernVariation'. (gxv_kern_coverage_classic_apple_validate): Conditionalize trace-only variables; `horizontal', `cross_stream'. (gxv_kern_coverage_classic_microsoft_validate): Conditionalize trace-only variables; `horizontal', `minimum', `cross_stream', `override'. (gxv_kern_subtable_validate): Conditionalize trace-only variables; `version', `tupleIndex'. | ||
| ce015ec8 | 2011-06-14 23:49:34 | [gxvalid] Fix gcc4.6 compiler warnings in gxvjust.c. * src/gxvalid/gxvjust.c (gxv_just_check_max_gid): New function to unify the checks of too large GID. (gxv_just_wdp_entry_validate): Conditionalize unvalidated variables; `beforeGrowLimit', `beforeShrinkGrowLimit', `afterGrowLimit', `afterShrinkGrowLimit', `growFlags', `shrinkFlags'. Additional check for non-zero values in unused storage `justClass' is added. (gxv_just_actSubrecord_type0_validate): Conditionalize unvalidated variable `order'. GID is checked by gxv_just_check_max_gid(). Additional check for upside-down relationship between `lowerLimit' and `upperLimit' is added. (gxv_just_actSubrecord_type1_validate): GID is checked by gxv_just_check_max_gid(). (gxv_just_actSubrecord_type2_validate): Conditionalize unvalidated variable `substThreshhold'. GID is checked by gxv_just_check_max_gid(). (gxv_just_actSubrecord_type5_validate): GID is checked by gxv_just_check_max_gid(). (gxv_just_classTable_entry_validate): Conditionalize unvalidated variables; `setMark', `dontAdvance', `markClass', `currentClass'. | ||
| 248aa639 | 2011-06-14 23:47:21 | [gxvalid] Preparation to fix gcc4.6 compiler warnings. * src/gxvalid/gxvcommn.h (GXV_LOAD_TRACE_VARS): New macro to conditionalize the variable which is only used for trace messages. Automatically set by FT_DEBUG_LEVEL_TRACE. (GXV_LOAD_UNUSED_VARS): New macro to conditionalize the loading of unvalidated variables. Undefined by default to calm gcc4.6 warning. (GXV_ValidatorRec.{min_gid,max_gid}): New variables to hold defined GID ranges, for the comparison of GID ranges in different subtables. | ||
| f3e2a97d | 2011-06-14 08:32:13 | Fix URLs. | ||
| 58d1a5ee | 2011-06-08 09:32:56 | [autofit] Remove unused structure member. * src/autofit/afhints.h (AF_SegmentRec): Remove `contour'. * src/autofit/aflatin.c (af_latin_hints_compute_segments), src/autofit/aflatin2.c (af_latin2_hints_compute_segments): Updated. | ||
| fe0f16d2 | 2011-06-01 10:36:04 | Fix comments. | ||
| 849bde1f | 2011-05-30 07:29:04 | Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog | ||
| 6b19fd5c | 2011-05-30 07:27:59 | Fix g++ 4.6 compilation. * src/autofit/afhints.c (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Use cast. | ||
| 71cc1a83 | 2011-05-30 07:20:37 | Fix gcc 4.6 compiler warnings. * src/autofit/afcjk.c (af_cjk_metrics_init_blues): Use casts and remove unused variables. * src/autofit/aflatin.c (af_latin_hints_compute_edges): Comment out `up_dir'. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `height_org' and `width_org' conditionalized. | ||
| c32d54c9 | 2011-05-29 01:33:34 | [mac] Conditionalize the inclusion of "AvailabilityMacros.h". The native SDK on earliest Mac OS X (10.0-10.1) did not have "AvailabilityMacros.h". To prevent the inclusion of missing header file, ECANCELED (introduced in 10.2) in POSIX header file <errno.h> is checked to detect the system version. * include/freetype/config/ftconfig.h: Conditionalize the inclusion of "AvailabilityMacros.h". * builds/unix/ftconfig.in: Ditto. * builds/vms/ftconfig.h: Ditto. | ||
| 735e5abb | 2011-05-27 10:22:42 | [autofit] Improve tracing of hinting process. * src/autofit/aflatin.c (af_latin_hint_edges): Add tracing message `ADJUST'. | ||
| 3ad8f355 | 2011-05-24 06:22:32 | Reduce warnings for MS Visual Studio 2010. * src/autofit/afhints.c (af_glyph_hints_get_num_segments, af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide return value. * src/cff/cffgload.c (cff_slot_load): Add cast. * src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper loop variable type. | ||
| 79405d75 | 2011-05-24 06:10:47 | Documentation fix. | ||
| ebd14a59 | 2011-05-16 12:47:25 | Automake component `builds/unix/install-sh' is removed. * builds/unix/install-sh: Removed. It is not needed to include repository, because autogen.sh installs it. * builds/unix/.gitignore: Register install-sh. | ||
| 4e8f9de9 | 2011-05-12 14:30:15 | [autofit] Make trace message for CJK bluezone more verbose. | ||
| 27b20e9a | 2011-05-09 09:48:49 | Formatting, minor doc improvements. | ||
| 084abf04 | 2011-05-08 19:07:13 | [autofit] Add bluezones for CJK Ideographs. To remove extremas of vertical strokes of CJK Ideographs at low resolution and make the top and bottom horizontal stems aligned, bluezones for CJK Ideographs are calculated from sample glyphs. At present, vertical bluezones (bluezones to align vertical stems) are disabled by default. For detail, see http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html http://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html * include/freetype/internal/fttrace.h: New trace component `afcjk'. * src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version for AF_Latin{Blue,Axis,Metric}Rec. (af_cjk_metrics_check_digits): Ditto, shared with Indic module. (af_cjk_metrics_init_widths): Ditto. (af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric. (af_cjk_metrics_scale): Ditto (declaration). (af_cjk_hints_init): Ditto (declaration). (af_cjk_hints_apply): Ditto (declaration). * src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body). (af_cjk_hints_init): Ditto (body). (af_cjk_hints_apply): Ditto (body). (af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths. (af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits. (af_cjk_metrics_init): Call CJK bluezone initializer. (af_cjk_metrics_scale_dim): Add code to scale bluezones. (af_cjk_hints_compute_blue_edges): New function, CJK version of af_latin_hints_compute_blue_edges. (af_cjk_metrics_init_blues): New function, CJK version of af_latin_metrics_init_blues. (af_cjk_hints_edges): Add code to align the edge stems to blue zones. * src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric, and initialize as af_cjk_metrics_init. However bluezones are not initialized. (af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric. (af_indic_hints_init): Ditto. (af_indic_hints_apply): Ditto. * docs/CHANGES: Note about CJK bluezone support. | ||
| d2e82aa0 | 2011-05-06 19:04:30 | [autofit] Remove unused struct member. * src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'. | ||
| a3a0f57a | 2011-05-04 06:14:30 | * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify. | ||
| c3135e43 | 2011-05-02 06:04:15 | [autofit] Fix and add comments. | ||
| 3a0844c8 | 2011-05-01 13:44:44 | [autofit] Add more debugging functions. * src/autofit/afhints.c (af_glyph_hints_get_num_segments, af_glyph_hints_get_segment_offset): New functions. | ||
| 3cf3b9e3 | 2011-05-01 12:30:37 | Minor formatting. | ||
| 7c6da3d7 | 2011-05-01 19:06:24 | Add new option `--disable-mmap' to configure script. * builds/unix/configure.raw: New option `--disable-mmap' is added. It is for the developers to simulate the systems without mmap() (like 4.3BSD, minix etc) on POSIX systems. | ||
| 58cb3593 | 2011-05-01 00:47:43 | [truetype] Recalculate the sfnt table checksum always. * src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate the sfnt table checksum even if non-zero value is writte in the TrueType font header. Some bad PDF generators write wrong values. For detail, see examples and benchmark tests of the latency by recalculation: http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html | ||
| 1e89d15a | 2011-04-30 17:55:57 | [truetype] Register a set of tricky fonts, NEC FA family. * src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Add 8 checksum sets for NEC FA family. For the tricky fonts without some tables (e.g. NEC FA fonts lack cvt table), extra check is added to assure that 0-length table in the registry is not included in the font. | ||
| 10385e37 | 2011-04-30 17:49:45 | Remove unrequired `else' from ttobjs.c::tt_get_sfnt_checksum(). | ||
| 89208861 | 2011-04-30 00:11:07 | [truetype] Fix a bug in the sfnt table checksum getter. * src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the return value of face->goto_table() correctly. | ||
| b9aa1f13 | 2011-04-28 09:09:45 | [autofit] Improve tracing messages. * src/autofit/aflatin.c (af_latin_metrics_init_blues, af_latin_align_linked_edge, af_latin_hint_edges): Do it. | ||
| 86b7b2f6 | 2011-04-26 03:46:12 | [truetype] Revert the reordering of trickyness checking. Trickyness check by the family name is faster than that by the checksum. | ||
| abc47aa1 | 2011-04-25 23:51:04 | [truetype] Always check the checksum to identify tricky fonts. Some PDF generators mangle the family name badly, prioritize the check by the sfnt table checksums than the check by the family name. For sample PDF, see http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html * src/truetype/ttobjs.c (tt_check_trickyness): Exchange the order of tt_check_trickyness_family() and tt_check_trickyness_sfnt_ids(). | ||
| 233f9d5d | 2011-04-22 10:14:07 | [autofit] Add more Indic scripts with hanging baseline. * src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu, Sundanese, Meetei Mayak, Syloti Nagri and Sharada scripts are added. | ||
| a8dbf7db | 2011-04-21 08:25:14 | Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog | ||
| 8c82ec5b | 2011-04-21 08:21:37 | Always ignore global advance. This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant, deprecated, and ignored. The new behavior is what every major user of FreeType has been requesting. Global advance is broken in many CJK fonts. Just ignoring it by default makes most sense. * src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics, tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph), src/truetype/ttgload.h: Implement it. * docs/CHANGES: Updated. | ||
| 94eff482 | 2011-04-21 14:03:39 | Fix mismatched indents in src/autofit/aflatin2.c. |