Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 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. | ||
| 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. | ||
| 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. | ||
| 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. | ||
| 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. | ||
| a345c0e1 | 2011-04-21 10:58:33 | [autofit] Blur CJK stems if too many to preserve their gaps | ||
| d503b1bc | 2011-04-18 19:05:28 | Integrate autofitter debugging stuff. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_DEBUG_AUTOFIT): New macro. * include/freetype/internal/fttrace.h: Add trace components for autofitter. * src/autofit/aftypes.h (AF_LOG): Removed. (_af_debug): Removed. * src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/. s/AF_LOG/FT_TRACE5/. Define FT_COMPONENT where necessary. | ||
| de2de6b1 | 2011-04-18 16:11:18 | Remove dead debugging code. | ||
| 9b008750 | 2011-04-13 13:37:37 | Fix Savannah bug #33047. Patch submitted by anonymous reporter. * src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer difference. | ||
| 21b1a0de | 2011-04-12 09:26:43 | Fix reading of signed integers from files on 64bit platforms. Previously, signed integers were converted to unsigned integers, but this can fail because of sign extension. For example, 0xa344a1eb becomes 0xffffffffa344a1eb. We now do the reverse which is always correct because the integer size is the same during the cast from unsigned to signed. * include/freetype/internal/ftstream.h, src/base/ftstream.c (FT_Stream_Get*): Replace with... (FT_Stream_GetU*): Functions which read unsigned integers. Update all macros accordingly. * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated. | ||
| 7f03a246 | 2011-04-07 07:20:38 | Update Unicode ranges for CJK autofitter; in particular, add Hangul. * src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0. | ||
| 948a8fb6 | 2011-04-04 13:02:08 | Fix formatting of autofit debug dumps. * src/autofit/afhints.c (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust column widths. | ||
| 9f5ed811 | 2011-04-02 07:23:00 | Cosmetics. | ||
| 544adf73 | 2011-04-02 07:15:33 | Whitespace, typo. | ||
| ef115518 | 2011-03-30 09:29:05 | * src/autofit/aftypes.h (AF_OutlineRec): Removed, unused. | ||
| 90f0487f | 2011-03-28 15:41:49 | Cosmetics. | ||
| f3c57917 | 2011-03-26 09:03:32 | Copyright. | ||
| 360646c9 | 2011-03-24 09:29:23 | * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256. This limit is given on p. 37 of Adobe Tech Note #5014. | ||
| 01caf4a7 | 2011-03-23 05:19:59 | * src/truetype/ttpload.c(tt_face_load_loca): Fix mismatch warning. | ||
| 6e3fee0b | 2011-03-21 09:28:52 | Typo. | ||
| af7b8b1a | 2011-03-20 07:51:57 | * src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts. | ||
| 8bd77f90 | 2011-03-19 15:27:04 | More C++ compilation fixes. * src/autofit/afhints.c (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, af_glyph_hints_dump_edges) [__cplusplus]: Protect with `extern "C"'. | ||
| c7f26a19 | 2011-03-19 02:28:21 | C++ compilation fixes. * src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c (af_cjk_hints_apply): Use cast for `dim'. | ||
| 8fb88414 | 2011-03-17 20:24:57 | A better fix for Savannah bug #32671. * src/smooth/ftgrays.c (gray_render_conic): Clean up code and replace WHILE loop with a more natural DO-WHILE construct. | ||
| 437fb8eb | 2011-03-16 08:54:02 | * src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field. Suggested by Graham Asher. | ||
| cecd9127 | 2011-03-09 06:18:28 | Make FT_Sfnt_Table_Info return the number of SFNT tables. * src/sfnt/sfdriver.c (sfnt_table_info): Implement it. * include/freetype/tttables.h: Update documentation. * docs/CHANGES: Updated. | ||
| 3fd158d0 | 2011-03-07 09:33:53 | Fix Savannah bug #27988. * src/cff/cffobjs.c (remove_style): New function. (cff_face_init): Use it to strip off the style part of the family name. | ||
| 6c045535 | 2011-03-07 05:40:42 | Quick fix for Savannah bug #32671. This isn't the optimal solution yet, but it restores the previous rendering quality (more or less). * src/smooth/ftgrays.c (gray_render_conic): Do more splitting. | ||
| c9bdfa7e | 2011-03-06 18:35:37 | Fix autohinting fallback. * src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs, ignoring CFF-based OTFs. | ||
| 4d0586f0 | 2011-03-06 18:22:08 | Whitespace. | ||
| 576fc2c0 | 2011-03-02 03:52:36 | Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper. * devel/ftoption.h, include/freetype/config/ftoption.h (AF_CONFIG_OPTION_USE_WARPER): New macro. * src/autofit/aftypes.h (AF_USE_WARPER): Remove. * src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/. * src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy variable assignment with a typedef. | ||
| e547a656 | 2011-02-26 18:39:10 | [autofit] More comments, formatting, whitespace. | ||
| b7fc0c74 | 2011-02-26 18:36:21 | [autofit] Slight simplifications. * src/autofit/aflatin.c (af_latin_hints_link_segments): Remove test which always returns false. (af_latin_hints_compute_blue_edges): Remove redundant assignment. | ||
| 6cfbb23c | 2011-02-26 17:32:38 | [autofit] Some comments. Whitespace. | ||
| 6c286896 | 2011-02-24 05:52:14 | [autofit] Comment out unused code. * src/autofit/aflatin.c, src/autofit/aflatin2.c (af_latin_hints_compute_edges): Do it. | ||
| f42cc539 | 2011-02-24 05:18:46 | * src/autofit/afhints.h (AF_GlyphHints): Remove unused field. | ||
| 6af02423 | 2011-02-22 10:29:30 | [autofit] Add ASCII drawing for better explanation. | ||
| ae6d1d7b | 2011-02-20 19:13:25 | [cache] Fix an off-by-one bug in FTC_Manager_RemoveFaceID(). Found by <ychen1392001@yahoo.com.cn>, see detail in http://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html * src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node buckets[cache->p + cache->mask] too. | ||
| 7ad15d59 | 2011-02-20 07:30:46 | [autofit] Document warper. | ||
| ff809507 | 2011-02-19 23:09:26 | Fall back to autohinting if a TTF/OTF doesn't contain any bytecode. This is Savannah patch #7471. * src/base/ftobjs.c (FT_Load_Glyph): Implement it. | ||
| 18fffa45 | 2011-02-19 07:11:17 | [cff] Fix subset prefix removal. * src/cff/cffobjs.c (remove_subset_prefix): Update length after subset prefix removal. | ||
| c5bda503 | 2011-02-16 21:59:44 | [autofit] Add a lot of comments and do some minor formatting. | ||
| 713faece | 2011-02-03 19:47:13 | * src/autofit/afdummy.c: Include `aferrors.h'. Problem reported by Chris Liddel <chris.liddell@artifex.com>. | ||
| 75df7060 | 2011-02-01 07:36:27 | [cff] Ignore unknown operators in charstrings. Patch suggested by Miles.Lau <sunliang_liu@foxitsoftware.com>. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing message for unknown operators and continue instead of exiting with a syntax error. | ||
| 18931a5a | 2011-02-01 07:08:43 | [truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also. * src/truetype/ttgload.c (tt_loader_init): Handle `FT_LOAD_PEDANTIC'. * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep, tt_size_init_bytecode, tt_size_ready_bytecode): New argument to handle pedantic mode. * src/truetype/ttobjs.h: Updated. | ||
| f1a981b5 | 2011-01-31 22:26:53 | [truetype] Protect jump instructions against endless loops. * src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error if offset is zero. | ||
| d6a213f8 | 2011-01-31 18:51:07 | [truetype] Improve handling of invalid references. * src/truetype/interp.c: Set even more TT_Err_Invalid_Reference error codes only if pedantic hinting is active. At the same time, try to provide sane values which hopefully allow useful continuation. Exception to this is CALL and LOOPCALL – due to possible stack corruption it is necessary to bail out. | ||
| 96f04564 | 2011-01-31 10:24:32 | [truetype] Improve handling of stack underflow. * src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP, Ins_DELTAC): Exit with error only if `pedantic_hinting' is set. Otherwise, try to do something sane. | ||
| 91a97164 | 2011-01-30 20:12:54 | Whitespace. | ||
| 0682251e | 2011-01-30 16:38:09 | * src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message. | ||
| c61b3596 | 2011-01-30 16:29:45 | [truetype]: Fix behaviour of MIAP for invalid arguments. * src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in case of error. | ||
| 332da87d | 2011-01-23 12:42:23 | [autofit] Some formatting and clean-ups. | ||
| dcdb3167 | 2011-01-18 07:35:26 | [truetype] Fix handling of MIRP instruction. Thanks to Greg Hitchcock who explained the issue. * src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with `>' since the description in the specification is incorrect. This fixes, for example, glyph `two' in font `Helvetica Neue LT Com 65 medium' at 15ppem. | ||
| 21bdca79 | 2011-01-15 09:46:13 | [raster] Make bbox handling the same as with Microsoft's rasterizer. Right before B/W rasterizing, the bbox gets simply rounded to integers. This fixes, for example, glyph `three' in font `Helvetica Neue LT Com 65 Medium' at 11ppem. Thanks to Greg Hitchcock who explained this behaviour. * src/raster/ftrend1.c (ft_raster1_render): Implement it. | ||
| 0039d012 | 2011-01-14 19:44:29 | [raster] Add undocumented drop-out rule to the other bbox side also. * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement it. | ||
| c02485cb | 2011-01-13 21:55:08 | [raster] Reduce jitter value. This catches a rendering problem with glyph `x' from Tahoma at 10ppem. It seems that the increase of the precision in the change from 2009-06-11 makes a larger jitter value unnecessary. * src/raster/ftraster.c (Set_High_Precision): Implement it. | ||
| 29bc3105 | 2011-01-13 12:22:55 | [raster] Handle drop-outs at glyph borders according to Microsoft. If a drop-out rule would switch on a pixel outside of the glyph's bounding box, use the right (or top) pixel instead. This is an undocumented feature, but some fonts like `Helvetica Neue LT Com 65 Medium' heavily rely on it. Thanks to Greg Hitchcock who explained this behaviour. * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement it. | ||
| 3757b1e1 | 2011-01-13 10:33:04 | Cleanup/formatting. | ||
| 5e7ad208 | 2011-01-09 23:09:36 | [cache] Fix Savannah bug #31923, patch drafted by Harsha. When a node comparator changes the cached nodes during the search of a node matching with queried properties, the pointers obtained before the functon should be updated to prevent the dereference to freed or reallocated nodes. To minimize the rescan of the linked list, the update is executed when the comparator notifies the change of cached nodes. This change depends previous change: 38b272ffbbdaae276d636aec4ef84af407d16181 * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the top node if the cached nodes are changed. * src/cache/ftccache.c (FTC_Cache_Lookup): Ditto. | ||
| 38b272ff | 2011-01-09 22:49:07 | [cache] Notice if a cache query induced the node list change. Some node comparators (comparing the cache node content and the properties specified by the query) can flush the cache node to prevent the cache inflation. The change may invalidate the pointers to the node obtained before the node comparison, so the change should be noticed to the caller. The problem caused by the cache node changing is reported by Harsha, see Savannah bug #31923. * src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument `FT_Bool* list_changed' to indicate the change of the cached nodes to the caller. (FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by `_list_changed'. (FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed' and update it when FTC_Manager_FlushN() flushes any nodes. * src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new FTC_Node_CompareFunc type. (ftc_gnode_compare): Ditto. * src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_basic_gnode_compare_faceid): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. * src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. (ftc_cmap_node_remove_faceid): Ditto. * src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to FTC_CACHE_TRYLOOP_END(), because the result is not needed. (FTC_Cache_Lookup): Watch the change of the cache nodes by `list_changed'. (FTC_Cache_RemoveFaceID): Ditto. * src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_gnode_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. (FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be passed to ftc_gnode_compare(). * src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto. * src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway. It is updated by FTC_CACHE_TRYLOOP(). (FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be passed to ftc_snode_compare(). * src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto. | ||
| 62d116f8 | 2011-01-09 22:38:10 | [cache] Fit FTC_GNode_Compare() to FTC_Node_CompareFunc. * src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd argument `FTC_Cache cache' to fit FTC_Node_CompareFunc prototype. * src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway, `cache' is not used by its child ftc_gnode_compare(). | ||
| 9a2e255b | 2011-01-09 21:09:58 | [cache] Deduplicate the code to get the top node by a hash. There are several duplicated codes getting the top node from a cache by a given hash, like: idx = hash & cache->mask; if ( idx < cache->p ) idx = hash & ( cache->mask * 2 + 1 ); pnode = cache->buckets + idx; To deduplicate them, a cpp-macro to do same work FTC_NODE__TOP_FOR_HASH( cache, hash ) is introduced. For non-inlined config, non-ftc_get_top_node_for_hash() is also introduced. * src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare and implement inlined version. (FTC_CACHE_LOOKUP_CMP): Use FTC_NODE__TOP_FOR_HASH(). * src/cache/ftccache.c (ftc_get_top_node_for_hash): Non- inlined version. (ftc_node_hash_unlink): Use FTC_NODE__TOP_FOR_HASH(). (ftc_node_hash_link): Ditto. (FTC_Cache_Lookup): Ditto. | ||
| 52a1e47a | 2011-01-09 20:47:37 | [cache] inline-specific functions are conditionalized. * src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for inlined config. This function is a thin wrapper of ftc_gnode_compare() for inlined FTC_CACHE_LOOKUP_CMP() (see `nodecmp' argument). Under non-inlined config, ftc_gnode_compare() is invoked by FTC_Cache_Lookup(), via FTC_Cache->clazz.node_compare(). * src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto. * src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for ftc_snode_compare(). * src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto. | ||
| 0de5b376 | 2011-01-09 20:31:22 | [cache] Correct a type mismatch under non-inlined config. * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): FTC_GCache_Lookup() takes the node via a pointer `FTC_Node*', differently from cpp-macro FTC_CACHE_LOOKUP_CMP(). | ||
| f3ce2370 | 2011-01-03 07:11:54 | */rules.mk: Handle `*pic.c' files. | ||
| fa1e6b35 | 2011-01-03 06:50:36 | Formatting. | ||
| 91843dfc | 2010-12-31 19:30:53 | * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64. Problem reported by Tom Bishop <wenlin@wenlin.com>. | ||
| fe42a653 | 2010-12-31 17:47:09 | Improve bzip2 support. * include/freetype/ftmoderr.h: Add bzip2. * docs/INSTALL.ANY, docs/CHANGES: Updated. * src/pcf/README: Updated. * include/freetype/internal/pcftypes.h: Obsolete, removed. | ||
| ed913c21 | 2010-12-31 16:59:33 | Add bzip2 compression support to handle *.pcf.bz2 files. * builds/unix/configure.raw: Test for libbz2 library. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_BZIP2): Define. * include/freetype/config/ftheader.h (FT_BZIP2_H): Define. * include/freetype/ftbzip2.h: New file. * src/bzip2/*: New files. * src/pcf/pcf.h: s/gzip_/comp_/. * src/pcf/pcfdrvr.c: Include FT_BZIP2_H. s/gzip_/comp_/. (PCF_Face_Init): Handle bzip2 compressed files. * docs/formats.txt, modules.cfg: Updated. | ||
| 7774ac67 | 2010-12-25 16:34:56 | Apply Savannah patch #7422. If we encouter a space in a string then the sbit buffer is NULL, height and width are 0s. So the check in ftc_snode_compare will always pass for spaces (comparision with 255). Here the comments above the condition are proper but the implementation is not. When we create an snode I think it is the proper way to initialize the width to 255 and then put a check for being equal to 255 in snode compare function. * src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with value 255. (ftc_snode_compare): Fix condition. | ||
| 312d26a4 | 2010-12-13 20:17:26 | Fix parameter handling of `FT_Set_Renderer'. Reported by Kirill Tishin <siege@bk.ru>. * src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'. | ||
| 396b11b8 | 2010-12-09 23:16:18 | [cff] Allow `hlineto' and `vlineto' without arguments. We simply ignore such instructions. This is invalid, but it doesn't harm; and indeed, there exist such subsetted fonts in PDFs. Reported by Albert Astals Cid <aacid@kde.org>. * src/cff/cffgload.c (cff_decoder_parse_charstrings) [cff_op_hlineto]: Ignore instruction if there aren't any arguments on the stack. | ||
| 7c4ac3cb | 2010-11-28 08:23:40 | [ftsmooth]: Minor code simplification. * src/smooth/ftgrays (gray_render_cubic): Do only one comparison instead of two. | ||
| 9073e7ce | 2010-11-26 11:58:08 | [truetype] Better multi-threading support. * src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone references. | ||
| ed7d1a59 | 2010-11-23 19:30:38 | * src/psaux/t1decode.c (t1_decoder_parse_charstring): Expand start_point, check_points, add_point, add_point1, close_contour macros. Remove add_contour macro. Return error code from t1_builder_start_point and t1_builder_check_points when there was one (instead of returning 0). | ||
| 9871b849 | 2010-11-22 19:30:41 | Some formatting and improvements of comments. | ||
| 9f5dd61b | 2010-11-23 02:47:10 | [truetype] Identify the tricky fonts by cvt/fpgm/prep checksums. Some Latin TrueType fonts are still expected to be unhinted. Fix Savannah bug #31645. * src/truetype/ttobjs.c (tt_check_trickyness): Divided to... (tt_check_trickyness_family): this checking family name, and (tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep. (tt_get_sfnt_checksum): Function to retrieve the sfnt checksum for specified subtable even if cleared by lazy PDF generators. (tt_synth_sfnt_checksum): Function to calculate the checksum. | ||
| ec4372f5 | 2010-11-18 20:34:22 | [truetype] Fix `loca' handling for inconsistent number of glyphs. Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>. * src/truetype/ttpload.c (tt_face_load_loca): While sanitizing, handle case where `loca' is the last table in the font. | ||
| fa764cf8 | 2010-11-18 13:08:52 | [sfnt] Ignore all errors while loading `OS/2' table. Suggested by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>. * src/sfnt/sfobjs.c (sfnt_load_face): Do it. | ||
| b70d8a0e | 2010-11-18 10:36:59 | [type1] Fix matrix normalization. * src/type1/t1load.c (parse_font_matrix): Handle sign of scaling factor. | ||
| f689bf7d | 2010-11-18 10:28:16 | [type1]: Improve guard against malformed data. Based on a patch submitted by Johnson Y. Yan <yinsen_yan@foxitsoftware.com> * src/type1/t1load.c (read_binary_data): Check `size'. |