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. | ||
| 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. | ||
| 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. | ||
| 575078d2 | 2011-04-18 15:33:17 | Formatting nits. | ||
| 149f5438 | 2011-04-18 15:09:38 | Synchronize config files. * builds/unix/ftconfig.in: Copy missing assembler routines from include/freetype/config/ftconfig.h. | ||
| 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. | ||
| b9baff23 | 2011-04-13 00:29:41 | Document BBox and CBox computation problems for tricky fonts. | ||
| 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. | ||
| da08e697 | 2011-03-20 18:28:31 | Ignore *.o and *.a files. | ||
| 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. | ||
| d87389e9 | 2011-03-08 05:01:21 | Whitespace. | ||
| 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. | ||
| 9c111b01 | 2011-03-07 06:07:53 | * docs/CHANGES: Updated. | ||
| 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. | ||
| e7d1fb31 | 2011-02-24 20:01:00 | * docs/PROBLEMS: Mention rendering differences on different platforms. Suggested and worded by Jason Owen <jason.a.owen@gmail.com>. | ||
| 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. | ||
| dd6c38fa | 2011-02-14 08:37:30 | Convert to CRLF. | ||
| 70f7db11 | 2011-02-12 12:51:36 | Add inline assembly version of FT_MulFix for MSVC. * include/freetype/config/ftconfig.h: Ported the FT_MulFix_i386 function from GNU inline assembly syntax (see #ifdef __GNUC__ block above) to MASM syntax for Microsoft Visual C++. | ||
| d2731e10 | 2011-02-12 12:41:50 | Add project and solution files in Visual Studio 2010 format. * builds/win32/.gitignore: Ignore user-specific cache files. * builds/win32/vc2010/: Add VS2010 project & solution files, created by upgrading builds/win32/vc2008/freetype.vcproj. * objs/.gitignore: Ignore Visual Studio output files. | ||
| 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. | ||
| 17f54bc6 | 2011-01-15 21:53:32 | Fix ARM assembly code in include/freetype/config/ftconfig.h. * include/freetype/config/ftconfig.h (FT_MulFix_arm): Copy the maintained code from builds/unix/ftconfig.in. Old GNU binutils could not accept the reduced syntax `orr %0, %2, lsl #16'. Un-omitted syntax like RVCT, `orr %0, %0, %2, lsl #16' is better. Reported by Johnson Y. Yan. The bug report by Qt developers is considered too. http://bugreports.qt.nokia.com/browse/QTBUG-6521 | ||
| 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. | ||
| a2ef6647 | 2011-01-15 13:33:28 | Copy -mcpu=* & -march=* options from CFLAGS to LDFLAGS. * builds/unix/configure.raw: Consider recent gcc-standard flags to specify architecture in CFLAGS & LDFLAGS harmonization. Requested by Savannah bug #32114, to support multilib feature of BuildRoot SDK correctly. | ||
| c68a82d8 | 2011-01-15 13:21:32 | Fix off-by-one bug in CFLAGS & LDFLAGS harmonizer. * builds/unix/configure.raw: Some important options that included in CFLAGS but not in LDFLAGS are copied to LDFLAGS, but the last option in CFLAGS was not checked. | ||
| 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. | ||
| 6b3bef2b | 2011-01-09 23:11:18 | Correct wrong years about recent commits in ChangeLog. | ||
| 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. |