Log

Author Commit Date CI Message
Werner Lemberg fe15152c 2014-10-25T05:56:59 [cff] Test valid darkening parameter macros in `ftoption.h'. We no longer need an otherwise unused typedef that can cause a gcc warning. Problem reported by Alexei. * src/cff/cffobjs.c (cff_driver_init): Use `CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly. (SET_DARKENING_PARAMETERS): Removed. Compile time tests are now ... * devel/ftoption.h, include/config/ftoption.h: ... here.
Alexei Podtelezhnikov aba0f498 2014-10-24T23:50:57 Improve flat corner definition. * include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean distance with the alpha max plus beta min algorithm. * src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab metric.
Werner Lemberg d0422b23 2014-10-25T05:20:08 Whitespace.
David Weiß dd8de1a0 2014-10-23T20:01:48 [build] Improve property file for vc2010. User-defined properties should be empty by default to prevent linker failures. * builds/windows/vc2010/freetype.user.props, builds/windows/vc2010/freetype.vcxproj: s/OptionsDirectory/UserOptionDirectory/. Comment out all user options.
Werner Lemberg dd570e99 2014-10-23T19:57:37 [cff] Work around bug in preprocessor of MSVC 2010. We have been hit by https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr * devel/ftoption.h, include/config/ftoption.h: Replace `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'. * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed. We no longer need double expansion. (SET_DARKENING_PARAMETERS_0): Renamed to ... (SET_DARKENING_PARAMETERS): ... this. Update call.
Werner Lemberg cc7bb80b 2014-10-20T08:35:50 [sbit] Minor fixes. * src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]: Accept overlay format also, but emit warning message in that case. (tt_sbit_decoder_load_metrics): Add missing newline to error message. (tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS 7.1) to the list of unsupported formats.
Alexei Podtelezhnikov 118e651b 2014-10-19T23:31:08 [truetype] Clean up bytecode rounding. Zero distance does not have to be treated specially if you follow specifications and check the sign as the very last step of rounding. * src/truetype/ttinterp.c (Round_None, Round_To_Grid, Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use macros when available, do not check for non-zero distance. (Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase if sign changed.
David Weiß fede19ec 2014-10-18T14:59:20 [build] Add property file to vc2010 project. This simplifies custom build configurations, especially for automated build environments. * builds/windows/vc2010/freetype.user.props: New configuration file. * builds/windows/vc2010/freetype.vcxproj: Include `freetype.user.props' and use its data fields. * builds/windows/vc2010/index.html: Updated.
Alexei Podtelezhnikov d4aabda3 2014-10-18T10:10:04 [truetype] Unwrap engine compensation settings. * src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
Werner Lemberg c9c33f20 2014-10-18T11:01:14 [autofit] Add blue-zone support for Telugu. This essentially moves the Telugu script from the `Indic' hinter to the `Latin' hinter. Note that this is a first shot and quite certainly needs refinements. * src/autofit/afblue.dat: Add blue zone data for Telugu. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Telugu standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Telugu data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Telugu data; in particular, use AF_WRITING_SYSTEM_LATIN.
Werner Lemberg 1050aa9d 2014-10-18T10:45:09 Minor.
Werner Lemberg 54306f5a 2014-10-18T10:42:28 [cmake] Add iOS build support. * builds/cmake/iOS.cmake: New file. Universal binaries are built with both 32 and 64 bit arm architectures. * CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS toolchain. Possible values are `OS' to build on iOS, or `SIMULATOR' to build on APPLE.
Werner Lemberg 2e529bdb 2014-10-16T23:32:42 Improve documentation of FT_GlyphSlotRec. Based on a suggestion by Phil Endecott <freetype@chezphil.org>.
Werner Lemberg 1a1750fb 2014-10-16T22:54:01 [cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro. * devel/ftoption.h, include/config/ftoption.h (CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro. * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS, SET_DARKENING_PARAMETERS_0): New macros. (cff_driver_init): Use new macros.
Werner Lemberg df3d67e0 2014-10-16T07:24:44 Typos.
Werner Lemberg 03987bfd 2014-10-16T07:19:46 A better fix for Savannah bug #43392. Suggested by Doug Felt <dougfelt@gmail.com>. * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set `vertAdvance' to zero... * src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default value for `vertAdvance' based on `linearVertAdvance' in case `vertAdvance' is zero. Note that the previous computed ad-hoc value for `linearVertAdvance' was apparently not tested in a real-life situation.
Alexei Podtelezhnikov 7e83f068 2014-10-14T23:03:56 [truetype] Limit delta shift range. The legal range for delta shift is zero through six. Negative values are illegal according to https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift * src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned. * src/truetype/ttinterp.h (DO_SDS): Throw an error if delta_shift out of range. (Ins_DELTAP, Ins_DELTAC): Optimize for legal delta_shift.
David Weiß 3889cb2f 2014-10-14T11:35:16 [build] Better optimization settings for vc2010 solution file. * builds/windows/vc2010/freetype.sln, builds/windows/vc2010/freetype.vcxproj: Updated.
Werner Lemberg 8f17809b 2014-10-14T08:28:09 [autofit] Adjust Devenagari character range. * src/autofit/afranges.c (af_deva_uniranges): Omit characters that are common to all other Indic scripts.
Werner Lemberg 1ca5fa15 2014-10-12T08:31:32 [sfnt] Fix Savannah bug #43392. * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let vertical metrics uninitialized.
Alexei Podtelezhnikov 673a28ef 2014-10-11T14:40:51 [base] Small bbox correction. * src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox instead of initial point that could be `off' in conic outlines.
Alexei Podtelezhnikov 9cc0ad7b 2014-10-11T14:09:28 Formatting.
Alexei Podtelezhnikov 40dac113 2014-10-09T00:58:14 [base] Fix Savannah bug #43356. * src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case of implicit `to'. (BBox_Line_To): New emitter that does not update bbox.
Alexei Podtelezhnikov 2ffcf17e 2014-10-08T22:01:08 [base] Introduce and use new macro `FT_UPDATE_BBOX' * src/base/ftbbox.c (FT_UPDATE_BBOX): New macro. (FT_Outline_Get_BBox): Use it here.
Alexei Podtelezhnikov 7abdb8cc 2014-10-02T23:13:33 [base] Significant optimization of `ft_div64by32' We shift as many bits as we can into the high register, perform 32-bit division with modulo there, then work through the remaining bits with long division. This optimization is especially noticeable for smaller dividends that barely use the high register. * src/base/ftcalc.c (ft_div64by32): Updated.
Werner Lemberg c0ce72a6 2014-10-02T06:44:43 Formatting.
Dave Arnold 537c55d3 2014-10-02T06:32:32 [cff] Fix Savannah bug #43271. * src/cff/cf2font.c (cf2_computeDarkening): Change overflow detection to use logarithms and clamp `scaledStem'.
Alexei Podtelezhnikov 74d0aad2 2014-10-01T23:27:15 * src/base/ftcalc.c: Remove miscellaneous type casts.
Alexei Podtelezhnikov 418e18f3 2014-10-01T22:36:40 [base] Use more common `FT_MSB' implementation with masks. * src/base/ftcalc.c (FT_MSB): Updated.
Alexei Podtelezhnikov 955aff12 2014-09-30T23:09:39 [base] Clean up. * src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used code.
Alexei Podtelezhnikov f78ca0db 2014-09-30T22:53:38 Remove commented out code.
Alexei Podtelezhnikov 7f49111f 2014-09-25T22:54:38 [base] Avoid unnecessary long division. This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or lack thereof are predicted accurately. * src/base/ftcalc.c (ft_div64by32): Improve readability. (FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division when multiplication stayed within 32 bits.
Werner Lemberg 5b68e4fb 2014-09-24T19:06:13 [autofit] Minor clean-ups. * src/autofit/afhints.c (AF_FLAGS): Remove obsolete values. * src/autofit/afhints.c (af_glyph_hints_dump_points, af_glyph_hints_align_strong_points): Updated. * src/autofit/aflatin.c (af_latin_hints_link_segments, af_latin_hints_compute_segments), src/autofit/afcjk.c (af_cjk_hints_link_segments), src/autofit/aflatin2.c (af_latin2_hints_link_segments, af_latin2_hints_compute_segments): There are no longer fake segments since more than 10 years...
Alexei Podtelezhnikov 0753c0c3 2014-09-22T22:06:38 Minor documentation fixes.
Werner Lemberg 7a615283 2014-09-22T08:38:00 [autofit] Minor.
Werner Lemberg 387a9fe7 2014-09-22T06:42:24 [autofit] Minor code streamlining. * src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant initialization.
Werner Lemberg 378266dc 2014-09-22T06:33:38 Formatting.
Alexei Podtelezhnikov 5c894842 2014-09-19T22:03:15 * src/base/ftcalc.c: Harmonize code.
Alexei Podtelezhnikov ef070d45 2014-09-15T22:06:19 [base] Tighten the overflow check in `FT_MulDiv'. * src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
Alexei Podtelezhnikov bc12d9e9 2014-09-08T21:27:43 Fix Savannah bug #43153. * src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against overflow in `divider'.
Alexei Podtelezhnikov 336735d8 2014-09-03T22:55:26 [base] Tighten the overflow check in `FT_DivFix'. This fixes a 13-year old bug. The original overflow check should have been updated when rounding was introduced into this function (c2cd00443b). * src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated. * include/freetype.h (FT_DivFix): Updated documentation.
Alexei Podtelezhnikov 3212852c 2014-09-03T21:57:42 [base] Tighten the overflow check in `FT_MulFix'. * src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
Alexei Podtelezhnikov 125c3ca8 2014-09-02T22:38:59 [truetype] Shortcut ppem calculations for square pixels. * src/truetype/ttinterp.h (TT_ExecContextRec): New field `cur_ppem_func' with a function pointer. * src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func' depending on the pixel geometry to either... (Current_Ppem_Stretched): ... this for stretched pixels. (Current_Ppem): ... or this for square pixels. (DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
Behdad Esfahbod 1ec98b29 2014-08-31T08:47:11 Don't use `register' keyword. Fixes compiler warnings. * src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it. * src/gzip/inftrees.c (huft_build): Ditto. * src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
Alexei Podtelezhnikov a8bc49e1 2014-08-24T22:14:01 [truetype] Optimize DELTAP and DELTAC. * src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem calculations outside of the loop.
Alexei Podtelezhnikov 5bb5750f 2014-08-21T23:44:44 Minor.
Alexei Podtelezhnikov 98688596 2014-08-21T23:28:52 Fix Savannah bug #43033. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when 64-bit type is `long'.
Werner Lemberg 70961e57 2014-08-20T16:19:32 Minor.
Alexei Podtelezhnikov 8fd87d4e 2014-08-20T00:57:22 [base] Small optimization of `FT_MulFix'. * src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct 32-bit calculations.
Alexei Podtelezhnikov f09326a1 2014-08-20T00:08:38 [base] Use unsigned calculation in `FT_MulDiv'. * src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
Alexei Podtelezhnikov 382f3155 2014-08-18T23:16:15 [base] Remove truncation in `FT_DivFix'. * src/base/ftcalc.c (FT_DivFix): Updated.
Alexei Podtelezhnikov 5ef2023c 2014-08-14T23:21:46 Minor refactoring. * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
Alexei Podtelezhnikov c7022467 2014-08-14T23:01:01 Turn FT_MSB into a macro when using gcc builtins. * src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
Alexei Podtelezhnikov 87e56b04 2014-08-14T22:41:06 Fix comment and whitespace.
Alexei Podtelezhnikov f8efbcfb 2014-08-12T23:22:17 [base] Avoid undefined FT_MSB in `BBox_Cubic_Check'. * src/base/ftbbox.c (BBox_Cubic_Check): Update. (update_cubic_max): Repalce with... (cubic_peak): ... this, which now handles upscaling.
Alexei Podtelezhnikov d2935e29 2014-08-12T00:41:04 * src/base/fttrigon.c (ft_trig_prenorm): Comment on undefined behavior.
Alexei Podtelezhnikov 28018d42 2014-08-12T00:26:16 [base] Handle collapsed outlines to avoid undefined FT_MSB. * src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
Alexei Podtelezhnikov 4728993f 2014-08-11T23:39:34 [base] Restore FT_MulFix inlining. * include/freetype.h (FT_MulFix): Unconditionally defined. * src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here... * include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here, which conditionally replaces the function with an inline version through the macro.
Alexei Podtelezhnikov 90be4b63 2014-08-08T22:27:10 * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
Werner Lemberg e1394d56 2014-08-04T07:35:13 Minor documentation improvement.
Werner Lemberg d17cabf5 2014-07-26T09:53:50 [cff] Fix typo. * src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct offsets in third quadrant. Reported by maks <maksqwe1@ukr.net>.
Werner Lemberg 4e754133 2014-07-17T17:34:49 Fix Savannah bug #42788. * src/pfr/pfrobjs.c: Include `ftcalc.h'.
Werner Lemberg cbbf26b7 2014-07-17T17:27:12 Whitespace.
Werner Lemberg 3939c200 2014-07-17T17:24:22 Minor.
Alexei Podtelezhnikov c0a6f20a 2014-07-16T22:05:56 Replace `ft_highpow2' function. * src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of `ft_highpow2'. * src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove it.
Alexei Podtelezhnikov 177982e9 2014-07-15T23:54:34 * src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
Alexei Podtelezhnikov 71330ceb 2014-07-15T23:30:45 [base] Move assembler code back in the source file. FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here... * src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
Alexei Podtelezhnikov 1183cd4e 2014-07-14T22:30:55 [base] Further clean up color bitmap conversion. * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
Werner Lemberg 441b3f38 2014-07-13T02:28:14 [truetype] Improve handling of buggy `prep' tables. In case of an error in the `prep' table, no longer try to execute it again and again. This makes FreeType handle endless loops in buggy fonts much faster. * src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready' and `cvt_ready' are now negative if not initialized yet, otherwise they indicate the error code of the last run. * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep, tt_size_done_bytecode, tt_size_init_bytecode, tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset): Updated. * src/truetype/ttgload.c (tt_loader_init): Updated. * src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm' and `prep' only if we are in the `glyf' table.
Werner Lemberg e98e2bc1 2014-07-12T16:37:39 * builds/vms/ftconfig.h: Synchronize. Problem reported by Alexei.
Alexei Podtelezhnikov 35576bf0 2014-07-11T22:40:34 [base] Clean up bitmap conversion. * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use appropriate FT_DivFix and remove superfluous upscaling.
Alexei Podtelezhnikov 2f52df4a 2014-07-05T22:29:26 [base] Improve comment.
Alexei Podtelezhnikov ceab95a6 2014-07-04T23:01:32 [base] Small optimization of the ancient code. * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the condition for direct 32-bit calculations.
Werner Lemberg 3897556a 2014-06-27T06:55:56 Fix Apple standard glyph names. * src/sfnt/ttpost.c (tt_post_default_names): Synchronize with `tools/glnames.py' Problem reported by Adam Twardoch <adam@fontlab.com>.
Werner Lemberg ccf60ad4 2014-06-25T08:58:14 Formatting.
Werner Lemberg 231171fc 2014-06-17T09:14:32 Partially revert commit from 2014-06-13. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Move declaration of `p_first' and `p_last' out of the loop.
Werner Lemberg cf2347c9 2014-06-17T09:01:04 * builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/. This simplifies cross-compiling.
Werner Lemberg d708658c 2014-06-13T15:56:11 And another warning from Wojciech.
Werner Lemberg e5c0fff5 2014-06-13T14:01:20 Fix more compiler warnings. Reported by Wojciech Mamrak <wmamrak@gmail.com>. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Make integer constant unsigned. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) <TT_SBIT_TABLE_TYPE_SBIX>: Fix types. (tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper casts.
Werner Lemberg 6497b9c5 2014-06-13T09:28:00 Fix compiler warnings. Reported by Wojciech Mamrak <wmamrak@gmail.com>. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage), src/autofit/afmodule.c (af_property_set): Fix `signed' vs. `unsigned' issues. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler happy. * src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements for `fir'. Fix `signed' vs. `unsigned' issues. * src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused. (WRITE_USHORT, WRITE_ULONG): Add proper casts. * src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts. * src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1' and `B2'.
Werner Lemberg 099489fe 2014-06-10T06:51:52 Update CHANGES file.
Alexey Petruchik 02f21704 2014-05-16T08:09:43 [cmake] Add option to build OS X framework. * CMakeLists.txt: Update accordingly. * builds/mac/freetype-Info.plist: New file.
Werner Lemberg d7f45943 2014-05-13T15:33:11 [autofit] Fix comment.
Pavel Koshevoy 15da66a6 2014-05-13T07:33:48 * CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
Werner Lemberg faa21472 2014-05-11T12:44:00 [autofit] Fix variable initializations. * src/autofit/afhints.c (af_glyph_hints_reload): Assign default values to `in_dir' and `out_dir' for all points.
Werner Lemberg 07e7b8af 2014-05-11T08:00:25 [autofit] Fix crash with font `CabinSketch-Bold.ttf'. Problem reported by Ralf S. Engelschall <rse@engelschall.com>. * src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for finding first non-near point. Properly initialize non-near point deltas.
Werner Lemberg 5f18a0c3 2014-05-01T17:26:52 Formatting.
Werner Lemberg c576bb0d 2014-05-01T17:24:19 [autofit] Add blue-zone support for Devanagari. This essentially moves the Devanagari script from the `Indic' hinter to the `Latin' hinter. Thanks to Girish Dalvi <girish.dalvi@gmail.com> for guidance with blue zone characters! * src/autofit/afblue.dat: Add blue zone data for Devanagari. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Devanagari standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Devanagari data out of AF_CONFIG_OPTION_INDIC block. Move U+20B9, (new) Rupee sign, from Latin to Devanagari. * src/autofit/afstyles.h: Update Devanagari data; in particular, use AF_WRITING_SYSTEM_LATIN.
Werner Lemberg 63bef9a5 2014-05-01T07:16:05 [autofit] Fix handling of neutral blue zones in stems. * src/autofit/afhints.h (AF_Edge_Flags): New value `AF_EDGE_NEUTRAL'. * src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace neutral blue zones with AF_EDGE_NEUTRAL. (af_latin_hint_edges): Skip neutral blue zones if necessary.
Werner Lemberg ccfc4b4c 2014-04-28T21:13:14 [autofit] Introduce neutral blue zones to the latin module. Such blue zones match either the top or the bottom of a contour. We need them for scripts where accent-like elements directly touch the base character (for example, some vowel signs in Devanagari, cf. U+0913 or U+0914). * src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New property. * src/autofit/afblue.h: Regenerated. * src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro. (AF_LATIN_BLUE_NEUTRAL): New enumeration value. * src/autofit/aflatin.c (af_latin_metrics_init_blues, af_latin_hints_compute_blue_edges): Handle neutral blue zones.
Werner Lemberg abb3fcac 2014-04-25T22:13:32 * src/autofit/hbshim.c: Partially revert commit from 2014-04-17. Using input glyph coverage data is simply wrong. Problem reported by Nikolaus Waxweiler <madigens@gmail.com> and Mantas Mikulėnas <grawity@gmail.com>.
Werner Lemberg 426f0e04 2014-04-24T07:13:31 Minor.
Werner Lemberg f193637f 2014-04-23T08:22:33 * src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode. This spot has been missed while introducing support for various drop-out modes years ago (including no drop-out mode, which this commit fixes). Problem reported by Patrick Thomas <pthomas505@gmail.com>.
Werner Lemberg d9b4470e 2014-04-22T07:33:07 * src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
Werner Lemberg 98e510ee 2014-04-20T22:11:27 [autofit] Fix Savannah bug #42148. The adaptation of the cjk auto-hinter module to blue stringsets in 2013-08-25 had three severe bugs. Mea culpa. 1. Contrary to the latin auto-hinter, characters for reference and overshoot values of a blue zone are specified separately. Due to the screwed-up change it didn't work at all. 2. A boolean comparison was erroneously replaced with a cast, causing invalid results with the `^' operator later on. The visual artifact caused by this problem is the topic of the bug report. 3. Two flag values were inverted, causing incorrect assignment of reference and overshoot values. * src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new syntax to have both reference and overshoot characters in a single string. This is error #1. Add extensive comments. * src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no longer used. (AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values. This is error #3. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1. Use character `|' to separate characters for reference and overshoot values. Improve tracing messages, synchronizing them with the latin auto-hinter. (af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'. This is error #2. (af_cjk_align_linked_edge): Add tracing message. * src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer used.
Werner Lemberg 8a2b690c 2014-04-18T10:17:49 Minor documentation fix.
Werner Lemberg 8c7fb78b 2014-04-17T15:53:25 [autofit] More coverage fixes for complex scripts. * src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage of GSUB lookups into output coverage. Otherwise, ligatures are not handled properly. Don't check blue zone characters for default coverage.
Werner Lemberg bbd8313b 2014-04-17T01:24:36 Make `FT_Get_SubGlyph_Info' actually work. * src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok if there is no error.
Werner Lemberg c44a4ba4 2014-04-16T23:22:56 Documentation fix.
Werner Lemberg 181fd071 2014-04-15T16:47:05 [afblue.pl]: Minor improvements. * src/tools/afblue.pl: Allow whitespace before comments. Ignore whitespace in strings.