|
65f85237
|
2023-01-17T09:18:25
|
|
Update all copyright notices.
|
|
bec4ef41
|
2022-07-01T12:04:28
|
|
[base] Round values in `FT_MulAdd_Fix`.
This avoids regressing Blink layout tests and makes `FT_MulAdd_Fix` delta
retrieval implementation consistent with the previous implementation, which
used `FT_fixedToInt` and included rounding.
* src/base/ftcalc.c (FT_MulAdd_Fix): Implement it.
Also fix remaining `temp` initialization compilation issue.
Fixes #1169.
|
|
0607e0e9
|
2022-06-30T10:55:50
|
|
Fix initialisation of temp variable in new FT_MulAddFix
src/truetype/ttgxvar.c (FT_MulAddFix): Initialise `temp`.
|
|
15fef219
|
2022-06-29T11:48:10
|
|
New function `FT_MulAddFix` to compute the sum of fixed-point products.
This function, based on the code of `FT_MulFix`, uses 64-bit precision
internally for intermediate computations.
* include/freetype/internal/ftcalc.h, base/ftcalc.c (FT_MulAddFix):
Implement it.
|
|
d0cfb4e1
|
2022-01-11T10:54:10
|
|
Update all copyright notices.
|
|
85703839
|
2021-08-18T23:05:51
|
|
Use FT_INT64 instead of FT_LONG64.
* include/freetype/config/integer-types.h: Remove synonymous FT_LONG64.
* include/freetype/internal/ftcalc.h: s/FT_LONG64/FT_INT64/.
* src/base/ftcalc.c: Ditto.
* src/base/fttrigon.c: Ditto.
* src/smooth/ftgrays.c: Ditto.
|
|
08f66322
|
2021-06-08T18:23:16
|
|
More various documentation improvements and fixes.
|
|
b6e8a712
|
2021-01-17T07:18:48
|
|
Update all copyright notices.
|
|
16586859
|
2020-06-13T21:15:45
|
|
Remove redundant inclusion of `ft2build.h'.
* */*: Remove `#include <ft2build.h>' where possible.
* include/freetype/freetype.h: Remove cpp error about missing
inclusion of `ft2build.h'.
|
|
e1339133
|
2020-06-08T13:31:55
|
|
Make macros for header file names optional.
We no longer have to take care of the 8.3 file name limit; this
allows us (a) to introduce longer, meaningful file names, and (b) to
avoid macro names in `#include' lines altogether since some
compilers (most notably Visual C++) doesn't support this properly.
*/*: Replace
#include FOO_H
with
#include <freetype/foo.h>
or something similar. Also update the documentation.
|
|
e5038be7
|
2020-01-19T17:05:19
|
|
Update all copyright notices.
|
|
75859970
|
2019-02-23T10:07:09
|
|
Update all copyright notices.
|
|
f686ad46
|
2019-01-22T20:31:44
|
|
Update copyright years.
|
|
77f0814a
|
2018-08-23T17:53:54
|
|
Add macros for handling over-/underflowing `FT_Int64' values.
* include/freetype/internal/ftcalc.h (ADD_INT64, SUB_INT64,
MUL_INT64, DIV_INT64) [FT_LONG64]: New macros.
* src/base/ftcalc.c (ft_corner_orientation) [FT_LONG64]: Use
`SUB_INT64' and `MUL_INT64'.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10028
|
|
a0dd16fb
|
2018-08-15T18:13:17
|
|
Don't use `trace_' prefix for FT_COMPONENT arguments.
* include/freetype/internal/ftdebug.h (FT_TRACE_COMP,
FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix.
(FT_TRACE): Use `FT_TRACE_COMP'.
*/* (FT_COMPONENT): Updated.
|
|
5b904409
|
2018-08-11T06:41:35
|
|
* src/base/ftcalc.c (FT_Matrix_Check): Fix integer overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9811
|
|
cc333390
|
2018-06-24T06:22:48
|
|
New base function `FT_Matrix_Check' (#54019).
* src/base/ftcalc.c (FT_Matrix_Check): New base function to properly
reject degenerate font matrices.
* include/freetype/internal/ftcalc.h: Updated.
* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
(cid_parse_font_matrix), src/type1/t1load.c (t1_parse_font_matrix),
src/type42/t42parse.c (t42_parse_font_matrix): Use
`FT_Matrix_Check'.
|
|
9ac9060d
|
2018-06-03T09:01:17
|
|
[GSoC] src/*.*: Convert block comments to `light' style.
This monster commit was created by applying Nikhil's scripts
`docconverter.py' and `markify.py' to all C header and source files,
followed up by minor manual clean-up.
No change in functionality, of course.
I used commit f7419907bc6044b9b7057f9789866426c804ba82 from
https://github.com/nikramakrishnan/freetype-docs.git.
|
|
0a0c2256
|
2018-01-02T09:33:57
|
|
Update copyright year.
|
|
39ce3ac4
|
2017-09-16T19:08:17
|
|
* Version 2.8.1 released.
=========================
Tag sources with `VER-2-8-1'.
* docs/VERSION.TXT: Add entry for version 2.8.1.
* docs/CHANGES: Updated.
* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
builds/windows/vc2005/index.html,
builds/windows/vc2008/freetype.vcproj,
builds/windows/vc2008/index.html,
builds/windows/vc2010/freetype.vcxproj,
builds/windows/vc2010/index.html,
builds/windows/visualc/freetype.dsp,
builds/windows/visualc/freetype.vcproj,
builds/windows/visualc/index.html,
builds/windows/visualce/freetype.dsp,
builds/windows/visualce/freetype.vcproj,
builds/windows/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.8/2.8.1/, s/28/281/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.raw (version_info): Set to 21:0:15.
* CMakeLists.txt (VERSION_PATCH): Set to 1.
|
|
7819aeb6
|
2017-06-28T22:57:41
|
|
Avoid Microsoft compiler warnings (#51331).
While clang's sanitizer recommends a cast to unsigned for safe
negation (to handle -INT_MIN), both MSVC and Visualc emit warning
C4146 if an unsigned value gets negated.
* include/freetype/internal/ftcalc.h (NEG_LONG, NEG_INT32),
src/base/ftcalc.c (FT_MOVE_SIGN): Replace negation with a
subtraction.
|
|
dde8f5ab
|
2017-06-27T06:16:04
|
|
[truetype] Integer overflows.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2384
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2391
* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix): Use
NEG_LONG.
* src/truetype/ttinterp.c (Ins_SxVTL): Use NEG_LONG.
|
|
2c4fba9c
|
2017-06-10T11:03:41
|
|
* src/base/ftcalc.c (FT_DivFix): Fix embarrassing typo.
Bug introduced 2017-05-28.
|
|
dcd8de27
|
2017-06-09T11:21:58
|
|
*/*: Remove `OVERFLOW_' prefix.
This increases readability.
|
|
fbe2fe4c
|
2017-05-29T13:29:28
|
|
Handle some integer overflow run-time errors (#46149, #48979).
This commit (mainly for 32bit CPUs) is the first of a series of
similar commits to handle known integer overflows. Basically, all
of them are harmless, since they affect rendering of glyphs only,
not posing security threats. It is expected that fuzzying will show
up more overflows, to be fixed in due course.
The idea is to mark places where overflows can occur, using macros
that simply cast to unsigned integers, because overflow arithmetic
is well defined in this case. Doing so suppresses run-time errors
of sanitizers without adding computational overhead.
* include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT,
OVERFLOW_SUB_INT, OVERFLOW_MUL_INT, OVERFLOW_ADD_LONG,
OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG): New macros.
* src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_Matrix_Multiply,
FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled,
ft_corner_orientation): Use new macros.
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use new macros.
|
|
93572190
|
2017-05-28T07:20:09
|
|
Fix negation of INT_MIN and LONG_MIN (#46149).
* src/base/ftcalc.c (FT_MOVE_SIGN): Add argument to pass unsigned
value, to be used as the result.
(FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix, FT_MulFix,
FT_Vector_NormLen): Updated.
|
|
563ae780
|
2017-01-04T20:16:34
|
|
Update copyright year.
|
|
37c72f66
|
2016-12-25T22:55:25
|
|
Minor formatting.
|
|
fc11af1e
|
2016-01-19T19:15:54
|
|
Various minor clang fixes.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
`ch'.
* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast.
* src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast.
* src/base/fthash.c (hash_num_lookup): Add cast.
* src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast.
* src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out
redundant code.
* src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add
cast.
* src/type1/t1load.c (parse_subrs): Fix type of `count'.
|
|
9adeab64
|
2016-01-13T11:54:10
|
|
Update copyright year.
|
|
3ea0d2c6
|
2015-09-13T23:19:34
|
|
* src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve.
|
|
09948e42
|
2015-09-09T21:30:15
|
|
* src/base/ftcalc.c (FT_RoundFix): Improve.
|
|
822acb02
|
2015-09-09T07:59:10
|
|
* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
This commit makes the functions behave as expected, this is,
rounding towards plus or minus infinity.
|
|
00d89950
|
2015-08-16T22:57:34
|
|
[base] Reoptimize aritmetic.
* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
special cases that slow down the general use.
|
|
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.
|
|
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.
|
|
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.
|
|
d3240c56
|
2015-02-17T20:30:36
|
|
[base] Fix Savannah bug #44284.
* src/base/ftcalc.c (FT_MulFix): Typos.
|
|
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.
|
|
f57fc59e
|
2015-01-17T20:41:43
|
|
Run `src/tools/update-copyright'.
|
|
70241553
|
2014-12-24T12:11:46
|
|
[base] Formatting and nanooptimizations.
* src/base/ftcalc.c,
* src/base/fttrigon.c: Revise sign restoration.
|
|
9870d6da
|
2014-12-07T09:40:47
|
|
*/*: Decorate hex constants with `U' and `L' where appropriate.
|
|
237c0abf
|
2014-11-19T22:10:29
|
|
Trailing space.
|
|
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.
|
|
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.
|
|
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.
|
|
cbbf26b7
|
2014-07-17T17:27:12
|
|
Whitespace.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
ba9cf52d
|
2013-08-05T07:00:59
|
|
Comment typo.
|
|
fb09a51f
|
2013-08-04T18:24:02
|
|
Add comments to `ft_corner_is_flat'.
|
|
b112fa41
|
2013-05-12T07:29:04
|
|
Fix Savannah bug #38967.
* src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
|
|
f6aa089f
|
2013-05-10T07:58:47
|
|
*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
|
|
d135e27c
|
2013-05-05T10:44:21
|
|
Fix 64bit compilation issues.
* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
`FT_Int64' here.
* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
(FT_DivFix): Fix cast.
* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
|
|
94152819
|
2013-05-04T16:40:12
|
|
More fixes for clang's `sanitize' feature.
* src/base/ftcalc.c (FT_DivFix): Use unsigned values for
computations which use the left shift operator and convert to signed
as the last step.
* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate,
FT_Vector_Length, FT_Vector_Polarize): Ditto.
* src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify.
* src/cff/cffload.c (cff_subfont_load): Fix constant.
* src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed,
cff_parse_fixed_dynamic): Use unsigned values for computations which
use the left shift operator and convert to signed as the last step.
* src/cid/cidload.c (cid_get_offset): Ditto.
* src/psaux/psconv.c (PS_Conv_ToFixed): Ditto.
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
* src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto.
|
|
059bc335
|
2013-03-14T10:27:35
|
|
*/*: Use `FT_THROW'.
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
|
|
30f1e6ca
|
2013-02-01T14:50:08
|
|
Fix Savannah bug #38221.
This complements commit 83c0ebab.
* src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with
`TT_USE_BYTECODE_INTERPRETER'.
|
|
e9f330ad
|
2013-01-24T09:12:56
|
|
[base] Make `FT_Hypot' really internal.
* include/freetype/fttrigon.h (FT_Hypot): Move to...
* include/freetype/internal/ftcalc.h: This file.
* src/base/fttrigon.c (FT_Hypot): Move to...
* src/base/ftcalc.c: This file.
Include FT_TRIGONOMETRY_H.
* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
|
|
869fb8c4
|
2013-01-23T19:43:28
|
|
[base] Split out MSB function.
* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
* src/base/ftcalc.c (FT_MSB): Define here.
|
|
ba67957d
|
2012-03-03T12:27:18
|
|
Fix Savannah bug #35660.
For some divisions, we use casts to 32bit entities. Always guard
against division by zero with these casts also.
* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
(FT_DivFix): Add 32bit cast (this omission triggered the bug).
|
|
1749d8bc
|
2012-01-17T02:00:24
|
|
Remove trailing spaces.
|
|
e866cf3f
|
2009-08-01T00:32:06
|
|
Improve bitmap size or pixel variables for 16-bit systems.
|
|
0d226c31
|
2009-08-01T00:30:24
|
|
base: Prevent some overflows on LP64 systems.
|
|
b211651a
|
2008-09-12T16:27:48
|
|
* autogen.sh, builds/unix/configure.raw,
include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
beautifying.
* include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
include/freetype/ftlcdfil.h: Protect against FreeType 1.
Some other minor fixes.
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
Formatting, documentation improvements.
|
|
f47d263f
|
2008-09-02T02:21:58
|
|
* include/freetype/ftoption.h, include/freetype/ftconfig.h,
builds/unix/ftconfig.in, include/freetype/freetype.h,
src/base/ftcalc.c:
Make FT_MulFix an inlined function. Also provide an assembler
implementation for ARM architectures. this is done to speedup
FreeType a little (on x86 3% when loading+hinting, 10% when
rendering, ARM savings are more important though).
Disable this by undefining FT_CONFIG_OPTION_INLINE_MULFIX in
ftconfig.h
|
|
50997cd7
|
2008-07-16T21:03:40
|
|
* src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
* src/base/ftcalc.c (FT_MulFix): Fix portability issue.
* src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
Fix compiler warning.
|
|
4e7d984d
|
2008-06-27T22:26:11
|
|
* src/ftlyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
* src/ftcalc.c: Here. This fixes Savannah bug #23729.
|
|
ad83e05b
|
2008-06-15T11:06:12
|
|
* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
from clobbering. Patch from Savannah bug report #23556.
* docs/CHANGES: Document it.
|
|
e6e6eade
|
2008-05-14T23:05:38
|
|
Finish fix of scaling bug of CID-keyed CFF subfonts.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
functions.
* src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
provide global hinting data for both the top-font and all subfonts
(with proper scaling).
* src/cff/cffobjs.c (cff_make_private_dict): New function, using
code from `cff_size_init'.
(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
Use CFF_Internal and handle subfonts.
(cff_face_init): Handle top-dict and subfont matrices correctly;
apply some heuristic in case of unlikely matrix concatenation
results. This has been discussed with people from Adobe (thanks
goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
and not correct.
* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
* src/cff/cffgload.c (cff_builder_init): Updated.
(cff_decoder_prepare): Handle hints globals for subfonts.
Update all callers.
(cff_slot_load): Handling scaling of subfonts properly.
* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
(cff_parse_font_matrix): Use it.
* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
FT_ULong.
* docs/CHANGES: Document it.
|
|
8271e5e4
|
2008-04-13T21:59:29
|
|
whitespace
|
|
b792017f
|
2007-06-11T05:37:35
|
|
experimental changes for the Latin auto-hinter.
note that the new code is disabled by default.
|
|
913a3650
|
2006-11-19T09:19:17
|
|
Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
test for a valid glyph index must be deferred to the font drivers.
This patch fixes Savannah bug #18301.
* src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
(pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
(FNT_Load_Glyph): Check validity of `glyph_index'.
|
|
111b5aef
|
2006-11-03T09:40:12
|
|
* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
Formatting
|
|
effd15de
|
2006-11-02T17:21:02
|
|
- merging af_corner_XXX and psh_corner_XXX functions into ft_corner_XXX versions in ftcalc.c
- more auto-fitter debugging support
|