|
eb22ef26
|
2015-08-04T06:50:04
|
|
Another left-shift bug (#45681).
* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
`dlen'.
|
|
7e6c321a
|
2015-08-03T23:26:13
|
|
[base] Fix `ft_corner_orientation'.
Remove casting from `FT_Long' to `FT_Int' that might change the sign
of the return value and make it faster too.
* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
* src/pshinter/pshalgo.c: Remove old unused code.
|
|
ca6a5cf4
|
2015-08-03T08:51:18
|
|
Fix typo in clang bug from 2015-07-31 (#45678).
* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
|
|
6343ba22
|
2015-08-01T07:53:48
|
|
Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
positive values from header.
Check overflow.
* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
negative values.
* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
_bdf_clear_glyph_modified): Use unsigned long constant.
* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
left-shift values that can be negative.
* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
left-shift values that can be negative.
* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
negative values.
* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
values that can be negative.
* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
compute_glyph_metrics, load_sbit_image): Don't left-shift values
that can be negative.
|
|
2b07a5ae
|
2015-07-28T23:14:30
|
|
* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
|
|
a50a0458
|
2015-07-28T07:37:19
|
|
Minor.
|
|
e8b186ee
|
2015-07-27T23:22:34
|
|
* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
|
|
f9be567f
|
2015-07-09T15:10:31
|
|
Better support of user-supplied C++ namespaces.
See
http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
for a rationale.
* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
header files that contain FT_{BEGIN,END}_HEADER macros by
themselves.
* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
FT_CONFIG_STANDARD_LIBRARY_H earlier.
* src/truetype/ttpic.h: Include FT_INTERNL_PIC_H.
|
|
eb1bba9b
|
2015-06-30T09:46:39
|
|
Fix some clang compiler warnings.
* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
(cf2_interpT2CharString), src/truetype/ttgload.c
(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
|
|
9ef02bd4
|
2015-06-29T22:39:10
|
|
[base] Speed up emboldening.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use `FT_Vector_NormLen'.
|
|
884e4e67
|
2015-06-29T22:32:05
|
|
[base] Implement fast vector normalization.
The function uses Newton's iterations instead of dividing vector
components by its length, which needs a square root. This is,
literally, a bit less accurate but a lot faster.
* src/base/ftcalc.c (FT_Vector_NormLen): New function.
|
|
392cf22f
|
2015-06-25T13:04:57
|
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
|
|
8502c98b
|
2015-06-22T06:35:23
|
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
|
|
31d97df9
|
2015-06-21T19:12:12
|
|
Make Jam support work again.
This is just very basic stuff and just a little bit tested on
GNU/Linux only. I won't delve into this since I'm not a Jam user.
* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
(DEFINES): Replace with...
(CCFLAGS): ... this.
* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
already handled in the top-level Jamfile.
* src/autofit/Jamfile (DEFINES): Replace with...
(CCFLAGS): ... this.
(_sources): Add missing files.
* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
longer contains macro header definitions.
* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
src/truetype/Jamfile (_sources): Add missing files.
|
|
b6c511d9
|
2015-04-24T00:10:40
|
|
* src/base/ftoutln.c: Minor.
|
|
9de55e03
|
2015-04-10T23:45:11
|
|
[base] NULL.
|
|
dac5644c
|
2015-03-21T23:30:16
|
|
[base] Optimize `FT_Angle_Diff'.
Under normal circumstances we are usually close to the desired range
of angle values, so that the remainder is not really necessary.
* src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder.
* src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
|
|
2d7284e9
|
2015-03-20T21:34:19
|
|
* src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring.
|
|
6a171726
|
2015-03-17T22:43:08
|
|
Fix Savannah bug #44412 (part 2).
* src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'.
|
|
a451638e
|
2015-03-11T08:09:13
|
|
Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols.
* include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed
to...
(FT_SERVICE_FONT_FORMAT_H): This.
* include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed
to ...
(FT_FONT_FORMAT_*): This.
src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c,
src/truetype/ttdriver.c, src/type1/t1driver.c,
src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated.
|
|
dd7028c4
|
2015-03-11T07:45:05
|
|
Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'.
* include/config/ftheader.h: Implement it.
* src/base/ftfntfmt.c, docs/CHANGES: Updated.
|
|
f4d1c11f
|
2015-03-11T07:32:58
|
|
Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'.
* include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it.
* docs/CHANGES: Updated.
|
|
0633995b
|
2015-03-11T06:30:23
|
|
Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'.
CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4,
builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
builds/mac/FreeType.m68k_far.make.txt,
builds/mac/FreeType.ppc_carbon.make.txt,
builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf,
builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2008-ce/freetype.vcproj,
builds/windows/vc2005/freetype.vcproj,
builds/windows/vc2008/freetype.vcproj,
builds/windows/vc2010/freetype.vcxproj,
builds/windows/vc2010/freetype.vcxproj.filters,
builds/windows/visualc/freetype.dsp,
builds/windows/visualc/freetype.vcproj,
builds/windows/visualce/freetype.dsp,
builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY,
include/config/ftheader.h, include/ftfntfmt.h, modules.cfg,
src/base/ftfntfmt.c, vms_make.com: Updated.
|
|
6b832c87
|
2015-03-10T23:25:49
|
|
Fix Savannah bug #44412 (part 1).
* src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns.
|
|
eee7d8ba
|
2015-03-10T11:15:15
|
|
[base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'.
* include/ftbitmap.h, src/base/ftbitmap.c: Implement it.
Update all callers.
* docs/CHANGES: Updated.
|
|
dd7498d2
|
2015-03-05T22:51:36
|
|
* src/base/ftstroke.c: Simplify.
|
|
d3240c56
|
2015-02-17T20:30:36
|
|
[base] Fix Savannah bug #44284.
* src/base/ftcalc.c (FT_MulFix): Typos.
|
|
76abc75c
|
2015-02-16T22:00:27
|
|
[base] Finish compiler warning fixes for signedness issues.
* src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c:
Apply.
|
|
2e814fc0
|
2015-02-16T20:05:08
|
|
More minor signedness warning fixes.
* src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c,
src/base/ftutil.c: Apply.
|
|
82235d04
|
2015-02-16T19:35:16
|
|
Next round of minor compiler warning fixes.
* include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member
type to `FT_Long'.
(CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword.
* include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'.
* src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c:
Signedess fixes.
|
|
3cfa4d12
|
2015-02-16T17:59:06
|
|
Various minor signedness fixes.
* include/ftadvanc.h, include/internal/ftobjs.h,
src/base/ftgloadr.c, src/base/ftobjs.c: Apply.
|
|
1f377f0d
|
2015-02-16T08:37:09
|
|
* src/base/ftsystem.c: Use casts in standard C function wrappers.
(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
|
|
48186b81
|
2015-02-16T06:37:36
|
|
[base] Clean up signedness issues in `ftdbgmem.c'.
Also fix other minor issues.
* src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types
with FT_Long for consistency.
(ft_mem_primes): Change type to `FT_Int'.
(ft_mem_closest_prime, ft_mem_table_set): Updated.
(ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free,
ft_mem_debug_realloc): Use `static' keyword and fix signedness
warnings where necessary.
(ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy,
ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types
and add or remove casts to avoid signedness warnings.
|
|
6d7d636b
|
2015-02-15T12:30:42
|
|
[base] Clean up signedness in arithmetic functions.
This makes the code more readable and reduces compiler warnings.
* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix,
FT_DivFix): Convert input parameters to unsigned, do the
computation, then convert the result back to signed.
(ft_corner_orientation): Fix casts.
|
|
79a5ac60
|
2015-01-18T07:30:04
|
|
* src/base/ftobjs.c (FT_New_Library): Fix compiler warning.
|
|
f57fc59e
|
2015-01-17T20:41:43
|
|
Run `src/tools/update-copyright'.
|
|
f796cf6c
|
2015-01-17T20:11:10
|
|
Normalize copyright notice format.
|
|
603292d7
|
2015-01-14T18:35:56
|
|
[base] Don't initialize unused `driver->glyph_loader'.
* src/base/ftobjs.c (Destroy_Driver): Don't call
`FT_GlyphLoader_Done'.
(FT_Add_Module): Don't call `FT_GlyphLoader_New'.
|
|
51634253
|
2015-01-14T18:30:59
|
|
[base] Don't allocate `library->raster_pool' anymore.
It's unused after the following commits:
[raster] Allocate render pool for mono rasterizer on the stack.
[raster] Remove 5-level gray AA mode from monochrome rasterizer.
The value of FT_RENDER_POOL_SIZE still serves the purpose it used to
serve, which is, to adjust the pool size. But the pool is now
allocated on the stack on demand.
* src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement.
|
|
6dfdaf4d
|
2015-01-14T18:21:13
|
|
[base] Do not reorder library->renderers upon use.
Instead of keeping `library->renderers' in a MRU order, just leave
it as-is. The MRU machinery wasn't thread-safe.
With this patch, rasterizing glyphs from different faces from
different threads doesn't fail choosing rasterizer
(FT_Err_Cannot_Render_Glyph).
Easiest to see that crash was to add a `printf' (or otherwise let
thread yield in FT_Throw with debugging enabled).
* src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c
(FT_Outline_Render): Don't call `FT_Set_Renderer'.
|
|
36d03c9f
|
2015-01-12T11:26:30
|
|
Fix Savannah bug #43976.
Assure that FreeType's internal include directories are found before
`CPPFLAGS' (which might be set by the user in the environment), and
`CPPFLAGS' before `CFLAGS'.
* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
(FT_COMPILE): Make this a special variable for compiling only the
files handled in `freetype.mk'.
(.c.$O): Removed, unused.
* src/*/rules.mk (*_COMPILE): Fix order of include directories.
|
|
70241553
|
2014-12-24T12:11:46
|
|
[base] Formatting and nanooptimizations.
* src/base/ftcalc.c,
* src/base/fttrigon.c: Revise sign restoration.
|
|
c9ca6ffc
|
2014-12-11T13:39:39
|
|
* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
Problem reported by Dennis Felsing <dennis@felsin9.de>.
|
|
0098d550
|
2014-12-07T11:03:57
|
|
Uppercase all hex digits for orthogonality.
|
|
9870d6da
|
2014-12-07T09:40:47
|
|
*/*: Decorate hex constants with `U' and `L' where appropriate.
|
|
ed6a9df0
|
2014-12-06T23:28:58
|
|
Whitespace.
|
|
16188ebf
|
2014-12-03T10:18:34
|
|
FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
All public FreeType enumeration and flag values are uppercase...
* include/tttables.h (FT_Sfnt_Tag): Implement it. For backwards
compatilibity, retain the old values as macros.
* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
(get_sfnt_table): Updated.
|
|
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.
|