|
3d167cbe
|
2014-11-27T05:19:41
|
|
* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
Introdruced in previous change. Reported by Alexei.
|
|
f34f1925
|
2014-11-26T21:59:21
|
|
* src/*: Add checks for parameters of API functions where missing.
`API functions' are functions tagged with `FT_EXPORT_DEF'.
Besides trivial fixes, the following changes are included, too.
* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
error code if no service is available.
* src/base/ftinit.c (FT_Done_FreeType): Change return value for
invalid `library' parameter to `Invalid_Library_Handle'.
* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
`asize' parameter to `Invalid_Argument'.
* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
invalid `source' and `target' parameters to `Invalid_Outline'.
(FT_Outline_Done_Internal): Change return value for invalid
`outline' parameter to `Invalid_Outline'.
|
|
cd4a5a26
|
2014-11-27T00:20:48
|
|
* src/base/ftobj.c (Mac_Read_POST_Resource): Additional
overflow check in the summation of POST fragment lengths,
suggested by Mateusz Jurczyk <mjurczyk@google.com>.
|
|
1720e81e
|
2014-11-26T16:39:00
|
|
* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
and fold too long tracing messages.
|
|
18a8f0d9
|
2014-11-26T16:11:38
|
|
Fix Savannah bug #43540.
* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
caused by a font including too many (> 63) strings to store
names[] table.
|
|
45331679
|
2014-11-26T16:02:17
|
|
* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
variables to read the lengths in POST fragments. Suggested by
Mateusz Jurczyk <mjurczyk@google.com>.
|
|
35252ae9
|
2014-11-26T15:52:23
|
|
Fix Savannah bug #43539.
* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
by a broken POST table in resource-fork.
|
|
240c94a1
|
2014-11-26T15:43:29
|
|
Fix Savannah bug #43538.
* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
by a broken POST table in resource-fork.
|
|
5aff8530
|
2014-11-26T14:36:12
|
|
* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
by a broken POST table in resource-fork. Return after freeing
the buffered POST table when it is found to be broken.
|
|
02b8e7e8
|
2014-11-25T11:31:51
|
|
*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
|
|
0d4aa23e
|
2014-11-25T11:26:14
|
|
*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
|
|
f4f9e688
|
2014-11-25T11:11:55
|
|
*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
|
|
04c2aa18
|
2014-11-25T10:22:12
|
|
*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
|
|
04edbbda
|
2014-11-25T10:21:13
|
|
*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
|
|
6689a009
|
2014-11-25T08:53:09
|
|
[Savannah bug #43682] Properly handle missing return errors.
The functions in this patch *do* return non-trivial errors that must
be taken care of.
* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
(load_truetype_glyph <subglyph loop>, tt_loader_init,
TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
|
|
b24e8ba2
|
2014-11-25T08:30:49
|
|
[Savannah bug #43682] Add/remove `void' casts to some functions.
We use a cast to indicate that we intentionally ignore a function's
return value. However, this doesn't apply to API functions where
errors can only happen for trivially invalid input.
* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
(t42_parse_encoding): Do it.
|
|
6889f7b7
|
2014-11-24T17:16:08
|
|
Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
This is no longer used.
* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
src/sfnt/ttcmap.c: Do it.
|
|
23c093fc
|
2014-11-21T08:41:39
|
|
Minor.
|
|
9154dab8
|
2014-11-21T08:03:51
|
|
[ftlcdfil] Obey flow direction.
* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
Handle `up' flow.
|
|
644d6fab
|
2014-11-21T07:28:50
|
|
* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
This commit completes argument checks and adds support for different
flow directions.
|
|
6de76174
|
2014-11-21T06:05:49
|
|
* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
This commit adds argument checks and support for different flow
directions.
|
|
1e6e1b83
|
2014-11-20T21:07:56
|
|
* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
|
|
b3500af7
|
2014-11-19T21:28:21
|
|
Change some fields in `FT_Bitmap' to unsigned type.
This doesn't break ABI.
* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
`pixel_mode', and `palette_mode' unsigned types.
* src/base/ftbitmap.c: Updated.
(FT_Bitmap_Copy): Fix casts.
* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
Updated.
|
|
df485774
|
2014-11-19T21:21:23
|
|
Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
for the pitch while copying data.
Correctly set pitch sign in target bitmap.
|
|
d6061212
|
2014-11-19T21:13:23
|
|
Minor code improvement in `FT_Bitmap_Embolden'.
* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
Fix thinko.
|
|
8d05486e
|
2014-11-19T21:07:59
|
|
Minor documentation improvements and whitespace.
|
|
237c0abf
|
2014-11-19T22:10:29
|
|
Trailing space.
|
|
f841ad3e
|
2014-11-19T21:19:06
|
|
* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
|
|
2e73a1b4
|
2014-11-09T23:22:43
|
|
[base] CORDIC improvements.
The scaling between the hypotenuse and its CORDIC approximation is
based on regression analysis. The smaller padding for `theta' is
justifed by its maximum error of less than 6.
* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
./ftcalc.c (ft_multo64), change linear intercept.
(ft_trig_pseudo_polarize): Decrease `theta' padding.
|
|
0e73d218
|
2014-11-09T01:27:38
|
|
* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
One more place to check whether `radius' is zero.
Problem reported by Marco Wertz <marco.wertz@gmx.de>.
|
|
d8632a84
|
2014-10-25T06:28:18
|
|
Improve comments, remove dead code.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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'.
|
|
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.
|
|
d5159925
|
2014-03-22T06:20:54
|
|
Another revert for the change from 2014-03-18.
Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
gets always exported.
|
|
87628724
|
2014-03-18T08:39:35
|
|
Fix clang warnings.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
some variables.
* src/base/ftcalc.c (FT_MulFix): Only use code if
`FT_MULFIX_INLINED' is not defined.
* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
(ftc_basic_image_family_class, ftc_basic_image_cache_class,
ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
function static.
* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
code.
|
|
7be2a94a
|
2014-02-08T13:55:38
|
|
Fix clang static analyzer and compiler warnings.
* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
code.
* src/autofit/afmodule.c (af_property_get_face_globals,
af_property_set, af_property_get), src/base/ftbitmap.c
(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
* src/base/ftobjs.c (ft_remove_renderer): Protect against
library == NULL.
(ft_property_do): Make function static.
* src/base/ftrfork.c: Include `ftbase.h'.
* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
(T1_Compute_Max_Advance): Avoid compiler warning.
* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
variable.
|
|
aae0f1af
|
2014-01-19T18:27:18
|
|
Minor.
|
|
00a7b51f
|
2013-12-27T19:18:49
|
|
Minor.
|
|
e2d2b154
|
2013-12-27T16:44:24
|
|
[ftrfork] Fix the face order difference between POSIX and Carbon.
The fragmented resources in Suitcase and .dfont should be reordered
when post resource for Type1 is being restored, but reordering of
sfnt resources induces the different face order. Now the ordering
is restricted to post resource only, to prevent the different order
issue (e.g. the face index in the fontconfig cache generated with
Carbon framework is incompatible with that by FreeType2 without
Carbon framework.) Found by Khaled Hosny and Hin-Tak Leung.
http://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
http://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
`sort_by_res_id' to control the fragmented resource ordering.
* include/internal/ftrfork.h: Daclare new switch.
* src/base/ftobjs.c (IsMacResource): Enable the soring for post
resource, and disable the sorting for sfnt resource.
|
|
bd413862
|
2013-12-21T08:14:25
|
|
Fix PIC linking.
* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
generated function name.
* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
to ...
(FT_Init_Table_ft_raccess_guess_table): ... this so that the
function name correctly corresponds to what the macro framework
expects.
* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
that PIC functions are compiled also.
|
|
c4e968ed
|
2013-12-21T07:23:08
|
|
[base] Add missing dependencies to Makefile.
* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
(BASE_H): Add `basepic.h'.
|
|
a44b784b
|
2013-12-02T09:52:38
|
|
Formatting.
|
|
28626869
|
2013-11-20T21:06:18
|
|
[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
http://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
for details.
* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
tables also for setting `autohint'.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
`TT_Process_Composite_Glyph' for handling unreliable values of
`maxSizeOfInstructions'.
|
|
fae38207
|
2013-11-13T08:55:46
|
|
Simplify header file hierarchy.
This large patch changes the header file directory layout from
`include/freetype/...' to `include/...', effectively removing one
level. Since the file `ft2build.h' is also located in `include'
(and it stays there even after installation), all FreeType header
files are now in a single directory.
Applications that use (a) `freetype-config' or FreeType's
`pkg-config' file to get the include directory for the compiler, and
(b) the documented way for header inclusion like
#include <ft2build.h>
#include FT_FREETYPE_H
...
don't need any change to the source code.
* include/freetype/*: Move up to...
* include/*: ... this directory.
* builds/amiga/include/freetype/*: Move up to...
* builds/amiga/include/*: ... this directory.
*/*: Essentially do `s@/freetype/@/@' where appropriate.
* CMakeList.txt: Simplify.
* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
`--cflags', return a single directory.
* builds/unix/install.mk (install): No longer try to remove `cache'
and `internal' subdirectories; instead, remove the `freetype'
subdirectory.
|
|
604838d5
|
2013-10-22T01:10:10
|
|
* src/base/md5.c, src/base/md5.h: Updated to recent version.
* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
|
|
31e726d9
|
2013-09-20T07:20:53
|
|
Fix vertical size of emboldened glyphs.
Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
also.
|
|
d689d1cf
|
2013-08-29T17:53:40
|
|
Implement support for WOFF containers.
We simply synthesize a SFNT from the WOFF, create a memory stream
for the new data, and load the SFNT as usual.
Does NOT add any API to access WOFF metadata or private blocks.
* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
WOFF_TableRec): New structures.
* include/freetype/tttags.h (TTAG_wOFF): New macro.
* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
`open_face'.
* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
`FT_GZIP_H'.
(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
writing to a stream.
(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
(sfnt_open_font): Handle `TTAG_wOFF'.
(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
`sfnt->init_face'.
* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
argument so that a changed stream survives.
Update callers.
|
|
bd3849e7
|
2013-08-27T21:43:38
|
|
FT_Open_Face: Improve external stream handling.
If the font's `clazz->init_face' function wants to swap to new
stream, handling of whether original stream was external could
result to either memory leak or double free. Mark externality into
face flags before calling `init_face' such that the clazz can handle
external streams properly.
* src/base/ftobjs.c (FT_Open_Face): Move code to set
FT_FACE_FLAG_EXTERNAL_STREAM to...
(open_face): This function.
|
|
bcd8c0b0
|
2013-08-27T21:36:03
|
|
Remove `FT_SqrtFixed' function.
It's no longer used.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
|
|
71c0ad65
|
2013-08-27T21:30:09
|
|
Whitespace.
|
|
fc32e1c8
|
2013-08-19T22:57:05
|
|
[base] Enable new algorithm for BBox_Cubic_Check.
* src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove the
old one. Improve comments.
|
|
32a7d870
|
2013-08-17T22:19:21
|
|
[base] Clean up BBox_Conic_Check.
* src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
extremum at the segment ends, which are already within the bbox.
Slightly modify calculations.
|
|
1a9c3d14
|
2013-08-15T22:51:42
|
|
[base] Finish experimental (disabled) BBox_Cubic_Check implementation.
* src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
accuracy and avoid overflows.
|
|
61a65510
|
2013-08-13T22:28:57
|
|
[base] Refactor experimental (disabled) BBox_Cubic_Check.
* src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
as the mirror image of the maximum search.
|
|
ba9cf52d
|
2013-08-05T07:00:59
|
|
Comment typo.
|
|
fb09a51f
|
2013-08-04T18:24:02
|
|
Add comments to `ft_corner_is_flat'.
|
|
e8ed2d62
|
2013-08-01T12:20:20
|
|
Another round of cppcheck nitpicks.
The call was (from the top-level of the FreeType tree):
cppcheck --force \
--enable=all \
-I /usr/include \
-I /usr/local/include \
-I /usr/lib/gcc/i586-suse-linux/4.7/include \
-I include \
-I include/freetype \
-I include/freetype/config \
-I include/freetype/internal \
-DFT2_BUILD_LIBRARY \
. &> cppcheck.log
using cppcheck git commit f7e93f99.
Note that cppcheck still can't handle `#include FOO' (with `FOO' a
macro).
*/* Improve variable scopes.
*/* Remove redundant initializations which get overwritten.
* src/gxvalid/*: Comment out redundant code or guard it with
FT_DEBUG_LEVEL_TRACE.
|
|
cc34efca
|
2013-07-31T22:55:50
|
|
Minor.
|
|
f2e7f1e1
|
2013-07-30T13:32:57
|
|
2013-07-30 Behdad Esfahbod <behdad@google.com>
Prevent division by zero by a transparent color.
* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
Return 0 immediately, when alpha channel is zero.
|
|
25b7da53
|
2013-06-19T10:23:36
|
|
* Version 2.5.0 released.
=========================
Tag sources with `VER-2-5-0'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.5.0.
* README, Jamfile (RefDoc),
builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj,
builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
builds/win32/visualce/freetype.vcproj,
builds/win32/visualce/index.html,
builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/freetype.vcproj,
builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.raw (version_info): Set to 16:2:10.
* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
|
|
f56691a8
|
2013-06-18T10:17:48
|
|
Fix Savannah bug #39269.
* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
case of reacollocation failures.
|
|
67cf7a88
|
2013-06-18T09:35:34
|
|
Fix Savannah bug #39266.
If memory allocations fail at certain points while opening a font,
FreeType can either crash due to a NULL dereference or leak memory.
* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
FT_LibraryRec): Make `refcount' a signed integer. If, for example,
FT_Open_Face() fails in a memory allocation before the face's
reference count is set to 1, a subsequent `FT_Done_Library' call
would otherwise loop over `FT_Done_Face' 2^32 times before freeing
the face.
* src/base/ftobjs.c (open_face): Initialize `stream' and friends
earlier.
(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
|
|
c06889eb
|
2013-06-12T10:58:06
|
|
More compiler warning fixes.
*/*: Use cast to `FT_Bool' (or `Bool') where appropriate.
|