|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
d4aabda3
|
2014-10-18T10:10:04
|
|
[truetype] Unwrap engine compensation settings.
* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
|
|
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.
|
|
1050aa9d
|
2014-10-18T10:45:09
|
|
Minor.
|
|
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.
|
|
2e529bdb
|
2014-10-16T23:32:42
|
|
Improve documentation of FT_GlyphSlotRec.
Based on a suggestion by Phil Endecott <freetype@chezphil.org>.
|
|
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.
|
|
df3d67e0
|
2014-10-16T07:24:44
|
|
Typos.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
9cc0ad7b
|
2014-10-11T14:09:28
|
|
Formatting.
|
|
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.
|
|
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.
|
|
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.
|
|
c0ce72a6
|
2014-10-02T06:44:43
|
|
Formatting.
|
|
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'.
|
|
74d0aad2
|
2014-10-01T23:27:15
|
|
* src/base/ftcalc.c: Remove miscellaneous type casts.
|
|
418e18f3
|
2014-10-01T22:36:40
|
|
[base] Use more common `FT_MSB' implementation with masks.
* src/base/ftcalc.c (FT_MSB): Updated.
|
|
955aff12
|
2014-09-30T23:09:39
|
|
[base] Clean up.
* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used code.
|
|
f78ca0db
|
2014-09-30T22:53:38
|
|
Remove commented out code.
|
|
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.
|
|
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...
|
|
0753c0c3
|
2014-09-22T22:06:38
|
|
Minor documentation fixes.
|
|
7a615283
|
2014-09-22T08:38:00
|
|
[autofit] Minor.
|
|
387a9fe7
|
2014-09-22T06:42:24
|
|
[autofit] Minor code streamlining.
* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
initialization.
|
|
378266dc
|
2014-09-22T06:33:38
|
|
Formatting.
|
|
5c894842
|
2014-09-19T22:03:15
|
|
* src/base/ftcalc.c: Harmonize code.
|
|
ef070d45
|
2014-09-15T22:06:19
|
|
[base] Tighten the overflow check in `FT_MulDiv'.
* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
|
|
bc12d9e9
|
2014-09-08T21:27:43
|
|
Fix Savannah bug #43153.
* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
overflow in `divider'.
|
|
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.
|
|
3212852c
|
2014-09-03T21:57:42
|
|
[base] Tighten the overflow check in `FT_MulFix'.
* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
|
|
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'.
|
|
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.
|
|
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.
|
|
5bb5750f
|
2014-08-21T23:44:44
|
|
Minor.
|
|
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'.
|
|
70961e57
|
2014-08-20T16:19:32
|
|
Minor.
|
|
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.
|
|
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.
|
|
382f3155
|
2014-08-18T23:16:15
|
|
[base] Remove truncation in `FT_DivFix'.
* src/base/ftcalc.c (FT_DivFix): Updated.
|
|
5ef2023c
|
2014-08-14T23:21:46
|
|
Minor refactoring.
* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
|
|
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.
|
|
87e56b04
|
2014-08-14T22:41:06
|
|
Fix comment and whitespace.
|
|
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.
|
|
d2935e29
|
2014-08-12T00:41:04
|
|
* src/base/fttrigon.c (ft_trig_prenorm): Comment on undefined behavior.
|
|
28018d42
|
2014-08-12T00:26:16
|
|
[base] Handle collapsed outlines to avoid undefined FT_MSB.
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
|
|
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.
|
|
90be4b63
|
2014-08-08T22:27:10
|
|
* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
|
|
e1394d56
|
2014-08-04T07:35:13
|
|
Minor documentation improvement.
|
|
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>.
|
|
4e754133
|
2014-07-17T17:34:49
|
|
Fix Savannah bug #42788.
* src/pfr/pfrobjs.c: Include `ftcalc.h'.
|
|
cbbf26b7
|
2014-07-17T17:27:12
|
|
Whitespace.
|
|
3939c200
|
2014-07-17T17:24:22
|
|
Minor.
|
|
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.
|
|
177982e9
|
2014-07-15T23:54:34
|
|
* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
|
|
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.
|
|
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.
|
|
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.
|
|
e98e2bc1
|
2014-07-12T16:37:39
|
|
* builds/vms/ftconfig.h: Synchronize.
Problem reported by Alexei.
|
|
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.
|
|
2f52df4a
|
2014-07-05T22:29:26
|
|
[base] Improve comment.
|
|
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.
|
|
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>.
|
|
ccf60ad4
|
2014-06-25T08:58:14
|
|
Formatting.
|
|
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.
|
|
cf2347c9
|
2014-06-17T09:01:04
|
|
* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
This simplifies cross-compiling.
|
|
d708658c
|
2014-06-13T15:56:11
|
|
And another warning from Wojciech.
|
|
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.
|
|
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'.
|
|
099489fe
|
2014-06-10T06:51:52
|
|
Update CHANGES file.
|
|
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.
|
|
d7f45943
|
2014-05-13T15:33:11
|
|
[autofit] Fix comment.
|
|
15da66a6
|
2014-05-13T07:33:48
|
|
* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
|
|
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.
|
|
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.
|
|
5f18a0c3
|
2014-05-01T17:26:52
|
|
Formatting.
|
|
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.
|
|
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.
|
|
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.
|
|
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>.
|
|
426f0e04
|
2014-04-24T07:13:31
|
|
Minor.
|
|
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>.
|
|
d9b4470e
|
2014-04-22T07:33:07
|
|
* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
|
|
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.
|
|
8a2b690c
|
2014-04-18T10:17:49
|
|
Minor documentation fix.
|
|
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.
|
|
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.
|
|
c44a4ba4
|
2014-04-16T23:22:56
|
|
Documentation fix.
|
|
181fd071
|
2014-04-15T16:47:05
|
|
[afblue.pl]: Minor improvements.
* src/tools/afblue.pl: Allow whitespace before comments.
Ignore whitespace in strings.
|
|
8b1f2a6c
|
2014-04-14T07:58:19
|
|
[autofit] Improve coverage handling.
* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
appearing in the GPOS table if we are processing the default
coverage.
|
|
7630787a
|
2014-04-13T15:41:13
|
|
[smooth] Fix stand-alone compilation.
* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
|
|
8a94b1ef
|
2014-04-12T20:44:33
|
|
[autofit] Redesign the recognition algorithm of strong points.
In particular, local extrema without horizontal or vertical segments
are better recognized:
+ A + D
\ /
\ /
\ /
\ /
\ + C
\ /
B +/
If the distances AB and CD are large, point B wasn't previously
detected as an extremum since the `ft_corner_is_flat' function
`swallowed' BC regardless of its direction, tagging point B as weak.
The next iteration started at B and made `ft_corner_is_flat' swallow
point C, tagging it as weak also, et voilà.
To improve that, another pass gets now performed before calling
`ft_corner_is_flat' to improve the `topology' of an outline: A
sequence of non-horizontal or non-vertical vectors that point into
the same quadrant are handled as a single, large vector.
Additionally, distances of near points are now accumulated, which
makes the auto-hinter handle them as if they were prepended to the
next non-near vector.
This generally improves the auto-hinter's rendering results.
* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
`AF_FLAG_NEAR'.
|