|
442bfb89
|
2007-02-12T21:44:10
|
|
Formatting, copyright years, s/memcpy/ft_memcpy/.
|
|
c0f9c4aa
|
2007-02-12T14:55:03
|
|
introduce ft_mem_dup, ft_mem_strdup and ft_mem_strcpyn, and the corresponding
macros to use them (e.g. FT_STRDUP, FT_DUP and FT_STRCPYN)
modify the code to use them instead of raw mallocs/strcpy
|
|
be6fe774
|
2007-02-11T13:15:25
|
|
Some more info on Unicode cmaps.
|
|
dcbb708e
|
2007-02-08T08:54:09
|
|
formatting, copyright years
|
|
f223df6e
|
2007-02-05T04:07:46
|
|
* Add __attribute__((deprecated)) to functions whose interface using non ANSI data types
|
|
4827e9bd
|
2007-02-05T03:28:29
|
|
* Add FT_GetFilePath_From_Mac_ATS_Name as replacement for FT_GetFile_From_Mac_ATS_Name
|
|
da5ada5d
|
2007-02-05T02:46:27
|
|
* Fixed wrong comment in ftmac.h
|
|
313d7776
|
2007-02-01T08:10:45
|
|
* include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
Explain why applications shouldn't use it. Found by Alexei.
|
|
689dd66b
|
2007-01-30T23:08:50
|
|
More typo fixes from Alexei.
|
|
3eaef6c1
|
2007-01-30T10:40:23
|
|
updating version numbers to 2.3.1
|
|
a4875bdc
|
2007-01-29T14:49:59
|
|
Spelling fixes from Alexei.
|
|
93a5c73c
|
2007-01-23T06:29:23
|
|
Typo. From Han-Wen.
|
|
9b774e28
|
2007-01-16T06:11:27
|
|
Remove trailing whitespace. From Alexei.
|
|
17432b5e
|
2007-01-12T09:28:44
|
|
* src/type1/t1load.c (is_space): Removed.
(parse_encoding, parse_charstrings): Use IS_PS_DELIM.
(parse_charstrings): Use IS_PS_TOKEN.
* autogen.sh: Avoid bash specific syntax.
|
|
d5ca7472
|
2007-01-10T14:18:15
|
|
* Jamfile, README, builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL,
include/freetype/freetype.h, include/freetype/t1tables.h,
include/freetype/internal/tttypes.h: updating version
number to 2.3.0 !!
* include/freetype/ftchapters.h, include/freetype/ftgasp.h,
include/freetype/ftlcdfil.h: updating reference documentation
with GASP support and LCD filtering sections
|
|
cc7f12a4
|
2007-01-09T10:37:36
|
|
formatting, copyright years and messages, doc polishing
|
|
f48b60ed
|
2007-01-08T15:15:32
|
|
* include/freetype/ftgasp.h, src/base/ftgasp.c: adding a
new API FT_Get_Gasp to return entries of the GASP table
corresponding to a given character pixel size.
* src/sfnt/ttload.c: add version check for the GASP table,
in order to be better future-proof
* include/freetype/config/ftheader.h: add definition of
FT_GASP_H, corresponding to <freetype/ftgasp.h>
* src/base/rules.mk, src/base/Jamfile, modules.cfg,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj: Adding src/base/ftgasp.c
to the default build
|
|
4a89bb9a
|
2007-01-05T14:48:27
|
|
- reset FT_CONFIG_OPTION_OLD_INTERNALS which *disables* the previous optimization
(duhhh)
|
|
91a3402d
|
2007-01-05T14:47:08
|
|
- don't load metrics table in memory, reduces heap usage
- forgot to commit the changes in cffload.c that are already documented
|
|
4ea0a7f0
|
2007-01-05T09:03:31
|
|
formatting, minor doc fixes, copyright years
|
|
8a6c44e6
|
2007-01-04T17:03:11
|
|
Getting rid of the FT_OPTIMIZE_MEMORY macro, since the optimization
is no longer experimental
|
|
0fd08bdc
|
2006-12-16T02:57:46
|
|
formatting
|
|
431282fc
|
2006-12-15T15:39:04
|
|
* Add volatile to sync svotval.h with otvmod.c
|
|
4e1d6c0c
|
2006-12-09T08:20:37
|
|
* builds/toplevel.mk (dist): Extract version number from freetype.h.
|
|
601cb889
|
2006-12-08T15:55:39
|
|
typo
|
|
66c7ece8
|
2006-12-08T15:51:51
|
|
Improve documentation of FT_New_Memory_Face.
|
|
960ba59a
|
2006-12-01T08:20:47
|
|
* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
(tt_name_entry_ascii_from_ucs4): Removed.
* include/freetype/ftxf86.h: Fix and extend comment so that it
appears in the documentation.
* include/freetype/ftchapters.h: Add `font_format' section.
* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
to TOC in index page.
Formatting.
|
|
0d0d78da
|
2006-11-14T10:37:10
|
|
formatting
|
|
a95e5c62
|
2006-11-13T13:24:30
|
|
updating documentation
|
|
8765c71b
|
2006-11-10T16:49:42
|
|
* include/freetype/ftlcdfil.h, include/internal/ftobjs.h,
src/base/ftlcdfilt.c, src/smooth/ftsmooth.c: API change for
the LCD filter, the FT_LcdFilter value is a enum describing
which filter to apply, new values FT_LCD_FILTER_LIGHT and
FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
algorithm which produces incredible color fringes for everything
except very-well hinted text)
* src/autofit/aflatin.c: various tiny improvements that drastically
improve the handling of serif fonts and of LCD/LCD_V hinting modes.
|
|
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
|
|
336d229f
|
2006-10-03T08:53:37
|
|
2006-10-03 Jens Claudius <jens.claudius@yahoo.com>
* include/freetype/config/ftstdlib.h: Cast away volatileness from
argument to ft_setjmp.
* include/freetype/internal/ftvalid.h: Add comment that
ft_validator_run must not be used.
|
|
046bf8b0
|
2006-10-03T08:43:42
|
|
formatting
|
|
df430e1a
|
2006-10-01T00:09:35
|
|
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
src/truetype/ttobjs.c: fixes related to the unpatented hinter
|
|
2c002e13
|
2006-09-29T21:31:53
|
|
formatting, improving documentation
|
|
ad830716
|
2006-09-27T16:20:59
|
|
* include/freetype/internal/ftobjs.h, src/truetype/ttobjs.c,
src/base/ftobjs.c: fixed a bug in the automatic unpatented
hinting support which prevented normal bytecode hinting to
work properly
* src/autofit/aftypes.h: undefining AF_DEBUG to get rid of
traces
|
|
826935a3
|
2006-09-27T09:12:43
|
|
another missing file
|
|
8a317cf7
|
2006-09-27T07:52:48
|
|
* include/freetype/freetype.h: bumping FT_FREETYPE_PATCH to 2
for an upcoming 2.2.2 release
* include/freetype/ftlcdfil.h, src/freetype/ftlcdfil.c:
added a new API to support color filtering of subpixel glyph
bitmaps. In default build, the function FT_Library_SetLcdFilter
returns FT_Err_Unimplemented_Feature; you need to #define
FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile
the real implementation
* src/smooth/ftsmooth.c: adding support for sub-pixel color
filtering; simplifying a few function calls
* include/freetype/config/ftheader.h: adding FT_LCD_FILTER_H
macro that points to <freetype/ftlcdfil.h>
|
|
110246c6
|
2006-09-26T21:55:44
|
|
formatting
|
|
e3d6e948
|
2006-09-26T16:58:21
|
|
CHANGES BETWEEN 2.2.1 and 2.2.2
I. IMPORTANT BUG FIXES
- Various integer overflows have been fixed.
- PFB fonts with MacOS resource fork weren't handled correctly on
non-MacOS platforms.
- The PCF font loarder has been seriously hardened against malformed
font files.
II. IMPORTANT CHANGES
- the unpatented hinter is now part of the default build of the
library, and we added code to automatically support "tricky"
fonts that need it.
what this means is that FreeType should "just work" with certain
Asian fonts, like MingLiu, which cannot properly load without a
bytecode interpreter, but fortunately do not use any of the
patented bytecode opcodes.
Note that the API didn't change, so you can still force
unpatented hinting with a special parameter to FT_Open_Face
as well.
if you're an embedded systems developer, you might want to
*disable* the feature to save code space by undefining
TT_CONFIG_OPTION_UNPATENTED_HINTING in ftoption.h.
- LCD-optimized rendering is now disabled in all default builds
of the library, mainly due to patent reasons. For more information
see:
http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html
a new configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING has
been introduced in ftoption.h; manually define it in this file
if you want to re-enable the feature.
the change only affects the implementation, not the FreeType API.
This means that clients don't need to be modified, because the
library still generates LCD decimated bitmaps, but with the added
constraint that R=G=B on each triplet.
- Some computation bugs in the TrueType bytecode interpreter were found,
which allow us to get rid of very subtle and rare differences we had
with the Windows renderer.
III. MISCELLANEOUS
- TrueType glyph loading is now about 25% faster.
- the anti-aliased rasterizer has been optimized and is now 15% to 25%
percent faster than the previous one, depending on content
- the Type 1 loader has been improved; as an example, it now skips
over top-level dictionaries properly
======================================================================
|
|
2d8629b3
|
2006-09-03T06:18:45
|
|
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
variable declaration.
(gray_convert_glyph): Fix compiler warnings.
Formatting, copyright years.
|
|
a787f455
|
2006-08-27T11:26:18
|
|
2006-08-27 Jens Claudius <jens.claudius@yahoo.com>
Fix miscellaneous compiler warnings.
* freetype2/include/freetype/internal/ftobjs.h: close
comment with `*/' to avoid `/* in comment' compiler warning.
* freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn
cast `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)'
since on 64-bit platforms void* is larger than FT_UInt32.
* freetype2/src/base/ftobjs.c (t_validator_error): cast
away volatileness of argument to ft_longjmp. Spotted by
Werner `Putzfrau' Lemberg.
* freetype2/src/bdf/bdflib.c (bdf_load_font): initialize
local variable `lineno'.
* freetype2/src/gxvalid/gxvmod.c (classic_kern_validate):
mark local variable `error' volatile.
|
|
6aa260ce
|
2006-08-25T22:45:13
|
|
support for "automatic unpatented hinting" added
we still need to determine the list of "trick" CJK fonts
that are going to toggle the bytecode interpreter instead
of the auto-hinter
|
|
088e44e8
|
2006-08-22T14:24:30
|
|
2006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Fix for previous commit, which caused many compiler warnings/errors
about addresses of volatile objects passed as function arguments
as non-volatile pointers.
* freetype2/include/freetype/internal/ftvalid.h: Make
FT_Validator typedef a pointer to a volatile object.
* freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
argument `table' a pointer to a volatile object.
* freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
argument `table' a pointer to a volatile object.
|
|
33f5f249
|
2006-08-16T16:50:55
|
|
* include/freetype/internal/ftgloadr.h,
include/freetype/internal/tttypes.h, src/base/ftgloadr.c,
src/base/ftobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c,
src/truetype/ttobjs.c: improvements to native TrueType hinting,
this is a first try, controlled by the FIX_BYTECODE macro in
src/truetype/ttinterp.c
|
|
9950adcc
|
2006-08-13T12:14:36
|
|
* freetype2/include/freetype/internal/psaux.h: (enum T1_TokenType_):
add T1_TOKEN_TYPE_KEY. (struct T1_FieldRec_) add `dict'. Add macros
T1_FIELD_DICT_FONTDICT and T1_FIELD_DICT_PRIVATE. Change T1_NEW_XXX and
T1_FIELD_XXX macros to take the dictionary where the PS keywords is
expected as an additional argument.
* freetype2/src/cid/cidload.c: (T1_FieldRec): Adjust invocations
of T1_FIELD_XXX.
* freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
* freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY
instead as T1_TOKEN_TYPE_ANY. (ps_parser_load_field): Make sure a token
that should be a string or name is a string or name indeed. Avoid
memory leak if a keyword has been already encountered and its value
is overwritten.
* freetype2/src/type1/t1load.c: (T1_FieldRec): Adjust invocations of
T1_FIELD_XXX. (parse_dict): Ignore keywords that occur in the wrong
dictionary (e.g., in Private instead of FontDict).
* freetype2/src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
|
|
a4d6a1c8
|
2006-07-19T09:54:56
|
|
Move creation of field `buildchar' of T1_DecoderRec out of
`t1_decoder_init' and let the caller of `t1_decoder_init' take care
of it.
Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
and `T1_Compute_Max_Advance'.
* freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
Remove field `face', add `len_buildchar'.
* freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
field `buildchar'.
* freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
finisher for T1_Decoder.
(cid_slot_load_glyph): Do not ignore failure when initializing the
T1_Decoder.
* freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
Updated.
(t1_decoder_init): Remove initialization of fields `buildchar' and
`len_buildchar'.
(t1_decoder_done): Remove deallocation of field `buildchar'.
* freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
T1_Decoder.
(T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
`len_buildchar'; make sure to call finisher for T1_Decoder even in
case of error.
* freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
`buildchar' of T1_FaceRec.
* freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
`buildchar' of T1_FaceRec.
|
|
1a380e02
|
2006-07-14T18:28:08
|
|
* freetype2/include/freetype/internal/psaux.h: New macros
IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
(T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
(T1_DecoderRec): New fields `buildchar' and `face'.
(IS_PS_TOKEN): New macro.
* freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
fields `ndv_idx', `cdv_idx', and `len_buildchar'.
* freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
`default_design_vector' and `num_default_design_vector'.
* freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
* freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
`token' argument to be NULL if we want only to count the number of
tokens.
(ps_tocoordarray): Allow `coords' argument to be NULL if we just
want to skip the array.
(ps_tofixedarray): Allow `values' argument to be NULL if we just
want to skip the array.
* freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
support for (partially commented out) othersubrs 19-25, 27, and 28.
(t1_decoder_init): Initialize new fields `face' and `buildchar'.
(t1_decoder_done): Release new field `buildchar'.
* freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
functions.
(t1_keywords): Register them.
(t1_allocate_blend): Updated.
(t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
(parse_dict): Remove `keyword_flags' argument.
Use new macro IS_PS_TOKEN.
Changed function so that later PostScript definitions override
earlier ones.
(t1_init_loader): Initialize new field `keywords_encountered'.
(T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
`len_buildchar'.
Remove `keywords_flags'.
* freetype2/src/type1/t1load.h (T1_LoaderRect): New field
`keywords_encountered'.
(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
* freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
New entries for parsing /NDV, /CDV, and /DesignVector.
|
|
b97daa28
|
2006-07-03T12:36:46
|
|
more doc fixes
|
|
973542bb
|
2006-07-03T09:40:15
|
|
doc improvement
|
|
3d2f2c60
|
2006-07-02T05:50:48
|
|
minor doc improvement
|
|
a2da05c2
|
2006-06-25T06:27:27
|
|
Fix two hinting bugs as reported in
http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
`first_point' member.
* src/truetype/ttgload.c (tt_prepare_zone): Initialize
`first_point'.
(TT_Process_Composite_Glyph): Always untouch points.
* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
`first_point' and `last_point' in case of composite glyphs.
(Ins_IUP): Fix computation of `end_point'.
|
|
457b4a81
|
2006-06-06T08:14:14
|
|
* include/freetype/internal/services/svpscmap.h, src/cff/cffcmap.c,
src/psaux/t1cmap.c, src/psnames/psmodule.c: Fix for the memory
leak described in bug #16759.
We change 'ps_unicodes_init' so that it also takes a 'free_glyph_name'
callback to release the glyph names returned by 'get_glyph_name'
|
|
281679de
|
2006-05-17T13:34:21
|
|
* include/freetype/internal/tttypes.h, src/autofit/afangles.c,
src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c,
src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c,
src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c,
src/type1/t1gload.c:
this is a major patch used to drastically improve the performance
of loading glyphs. This both speeds up loading the glypn vector
themselves and the auto-fitter.
note that we've started using inline assembler with GCC to
implement FT_MulFix, given that this function is so damn
important for the engine's performance.
the resulting speed-up is about 25%.
|
|
22d34421
|
2006-05-12T14:24:33
|
|
Add final newline.
|
|
e12a471f
|
2006-05-12T14:20:43
|
|
* src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
Convert some files to UTF-8.
|
|
2ee71f1f
|
2006-05-12T13:55:04
|
|
More minor fixes. Move `version' section to the end of freetype.h so that
the library compiles actually.
|
|
6756dc15
|
2006-05-12T08:00:13
|
|
* src/tools/docmaker/sources.py (re_source_keywords): Add word
boundary markers.
* src/tools/docmaker/content.py (re_field): Allow `.' in field names
(but not at the beginning or end).
* include/freetype/*: Many minor documentation improvements (adding
links, spelling errors, etc.).
|
|
fd74ec68
|
2006-05-12T04:00:44
|
|
* README: Minor updates.
* include/freetype/*: s/scale/scaling value/ where appropriate.
Many other minor documentation improvements.
* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
trailing punctuation.
* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
warning message for undefined cross references.
Update handling of re_italic and re_bold.
|
|
1639c794
|
2006-05-06T16:44:58
|
|
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.ac (version_info): Set to 9:10:3.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
Minor updates.
* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
Updated.
* builds/unix/install-sh: Updated from `texinfo' CVS module at
savannah.gnu.org.
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
|
|
a94746ca
|
2006-05-03T20:39:55
|
|
Formatting.
|
|
679a252c
|
2006-05-03T09:40:33
|
|
* include/freetype/internal/ftmemory.h: allow compilation with
C++ compilers
|
|
58eed04d
|
2006-05-02T22:26:09
|
|
* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
|
|
c6afa122
|
2006-05-02T22:22:16
|
|
* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
(FT_ALLOC): Remove redundant redefinition.
* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
`-Wstrict-prototypes'.
* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
Formatting, copyright years.
|
|
9482ba50
|
2006-05-02T10:21:28
|
|
* include/freetype/ftstream.h, src/base/ftstream.c: modifying
various frame-related functions to report the place where the
frames were entered/extracted/exited/released in the memory debugger.
|
|
9ca78256
|
2006-05-02T09:00:29
|
|
* include/freetype/internal/ftmemory.h, src/base/ftbitmap.c,
src/base/ftmac.c, src/base/ftrfork.c, src/lzw/ftzopen.c,
src/raster/ftrend1.c, src/sfnt/ttpost.c, src/truetype/ttgxvar.c,
src/type42/t42parse.c, src/winfonts/winfnt.c: hardening the code
against out-of-bounds conditions when allocating arrays. This is
for the cases where FT_NEW_ARRAY and FT_RENEW_ARRAY are not used
already. Introducing the new FT_ALLOC_MULT and FT_REALLOC_MULT
macros.
|
|
264f307e
|
2006-05-02T06:34:27
|
|
* include/freetype/fterrdef.h, include/freetype/config/ftconfig.h,
include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c,
src/base/ftutil.c: udpating the memory management functions and
macros to safely deal with array size buffer overflows, this
corresponds to attemps to allocate arrays that are too large. For
an example, consider the following code:
count = read_uint32_from_file();
array = malloc( sizeof(Item) * count );
for ( nn = 0; nn < count; nn++ )
array[nn] = read_item_from_file();
if 'count' is larger than FT_UINT_MAX/sizeof(Item), the multiplication
will overflow and the array allocated will be smaller than the data
read from the file. In this case, the heap will be trashed, and this
can be used as a denial-of-service, or make the engine crash later.
the FT_ARRAY_NEW and FT_ARRAY_RENEW macro now check that the new
count is no more than FT_INT_MAX/item_size, otherwise, a new error,
named 'FT_Err_Array_Too_Large' will be returned.
note that the memory debugger now works again when FT_DEBUG_MEMORY
is defined, and FT_STRICT_ALIASING has disappeared, the corresponding
code being now the default.
|
|
8fe65390
|
2006-04-29T07:31:16
|
|
Further C library abstraction. Based on a patch from
msn2@bidyut.com.
* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
C library functions. Update all users accordingly (and catch some
other places where the C library function was used instead of the
wrapper functions).
* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
include malloc.h.
|
|
8a8c6022
|
2006-04-22T12:24:52
|
|
Formatting, copyright years, documentation.
|
|
8e438ead
|
2006-04-21T08:35:11
|
|
* include/freetype/ftincrem.h, include/freetype/ftmodapi.h,
include/freetype/freetype.h: Documentation update
|
|
7dc7f215
|
2006-04-13T16:31:02
|
|
doc updates
- fixing FT_Stroker_New to use a FT_Library instead of a FT_Memory
i know, i know, the ChangeLog will be updated later
|
|
4091786c
|
2006-04-01T18:49:07
|
|
Formatting.
|
|
0f15e1c1
|
2006-04-01T16:11:53
|
|
* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
updating documentation comments
|
|
9da74d84
|
2006-04-01T09:14:12
|
|
updating cache documentation
|
|
26170df0
|
2006-03-26T07:19:07
|
|
* src/bdf/bdflib.c (ERRMSG4): New macro.
(_bdf_parse_glyphs): Handle invalid BBX values.
* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
macro.
|
|
b6f6d247
|
2006-03-25T03:08:26
|
|
_not filtered_ -> _not_ _filtered_
|
|
d6e2498f
|
2006-03-24T18:31:47
|
|
* src/tools/docmaker/tohtml.py (make_html_para): Convert `...' quotations
into real left and right single quotes.
Use `para_header' and `para_footer'.
* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'" also.
|
|
af16820a
|
2006-03-24T12:46:49
|
|
Normalize quotation to `...'.
|
|
4db32ecb
|
2006-03-24T11:54:53
|
|
* docs/CHANGES: Updated.
* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
padding between table elements.
Formatting, copyright years.
|
|
2ce92037
|
2006-03-23T20:58:20
|
|
- added FT_Get_SubGlyph_Info API to freetype.h
- small fix to lsb/rsb delta computations
- cleaning up Jamfile
|
|
d8776b34
|
2006-03-22T20:33:48
|
|
Improve documentation of `FT_LOAD_MONOCHROME'.
|
|
5a73d8d2
|
2006-03-20T16:55:32
|
|
* builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
(FREETYPE_H): Updated.
* src/cache/rules.mk (CACHE_H_DIR): Remove.
(CACHE_DRV_H): Updated.
Formatting, copyright years.
|
|
256de4b1
|
2006-03-20T12:10:24
|
|
* include/freetype/cache/ftccache.h,
include/freetype/cache/ftccmap.h,
include/freetype/cache/ftcglyph.h
include/freetype/cache/ftcimage.h
include/freetype/cache/ftcmanag.h
include/freetype/cache/ftcmru.h
include/freetype/cache/ftcsbits.h:
removing these header files from the public include directory.
* include/freetype/config/ftheader.h:
changing the definition of FT_CACHE_INTERNAL_XXX_H macros to
redirect to FT_CACHE_H instead
* src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccache.h,
src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcglyph.c,
src/cache/ftcglyph.h, src/cache/ftcimage.c, src/cache/ftcimage.h,
src/cache/ftcmanag.c, src/cache/ftcmanag.h, src/cache/ftcmru.c,
src/cache/ftcmru.h, src/cache/ftcsbits.c, src/cache/ftcsbits.h:
modifications to prevent using the FT_CACHE_INTERNAL_XXX_H macros,
and grab the headers in 'src/cache' instead (see below).
|
|
c07ee520
|
2006-02-27T18:13:12
|
|
* include/freetype/cache/ftccache.h
[FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
ftc_node_done.
|
|
7f049f42
|
2006-02-25T16:52:16
|
|
Formatting, copyright years.
|
|
de271ab8
|
2006-02-25T14:53:02
|
|
* builds/unix/ftsystem.c, include/freetype/config/ftheader.h,
include/freetype/internal/services/svotval.h,
include/freetype/internal/services/svpfr.h,
src/base/ftsystem.c, src/bdf/bdfdrivr.c, src/cache/ftcbasic.c,
src/cff/cffcmap.c, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
src/lzw/ftlzw2.c, src/psaux/t1cmap.c, src/sfnt/ttbdf.c,
src/smooth/ftgrays.c:
solved -Wmissing-prototypes warnings with GCC
|
|
6c71c6b9
|
2006-02-25T12:49:40
|
|
* include/freetype/config/ftoption.h, src/autofit/afcjk.c,
src/base/ftobjs.c, src/base/ftutil.c, src/cff/cffobjs.c,
src/psaux/afmparse.c, src/sfnt/ttbdf.c, src/tools/apinames.c,
src/truetype/ttdriver.c:
solved compiler warnings as well as C++ compilation problems
|
|
d7e6b767
|
2006-02-25T06:24:28
|
|
Formatting, copyright years, minor cleanups.
|
|
03264613
|
2006-02-24T11:18:40
|
|
* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
documentation.
* include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
sure a glyph slot owns its bitmap. It is also marked experimental and
due to change.
(FT_GlyphSlot_Embolden): Undo the last change. It turns out rendering
the outline confuses some applications.
|
|
a8e7a019
|
2006-02-24T06:11:30
|
|
* include/freetype/freetype.h (FT_Size_RequestRec): Change the type of
`width' and `height' to `FT_Long'.
(enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
directly.
|
|
d4303da0
|
2006-02-23T21:01:34
|
|
formatting, copyright years.
|
|
890f807a
|
2006-02-22T20:47:39
|
|
* include/freetype/ftoutln.h (enum FT_Orientation): New value
`FT_ORIENTATION_NONE'.
* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
ft_contour_enclosed, ft_outline_get_orientation): Another version of
`FT_Outline_Get_Orientation'. This version differs from the public
one in that each part (contour not enclosed in another contour) of the
outline is checked for orientation.
(FT_Outline_Embolden): Use `ft_outline_get_orientation'.
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
use bitmap's embolden routine when the outline one failed.
|
|
0d9be1c3
|
2006-02-22T14:28:06
|
|
Fix comment so that it is included into the HTML documentation.
|
|
cdb610f6
|
2006-02-22T12:55:04
|
|
adding missing file
|
|
5edafed1
|
2006-02-22T08:23:35
|
|
Clean-ups, copyright years, formatting.
|
|
0b5dc4df
|
2006-02-21T22:36:23
|
|
* include/freetype/ftmodapi.h, include/internal/ftserv.h,
include/internal/services/svtteng.h, src/base/ftobjs.c,
src/truetype/ttdriver.c:
adding a new API named FT_Get_TrueType_Engine_Type to determine
wether we have a patented, unpatented or unimplemented TrueType
bytecode interpreter.
the FT_Get_Module_Flags API was removed consequently.
|
|
d41aecdb
|
2006-02-21T08:08:14
|
|
formatting, doc improvements
|
|
dd0f3609
|
2006-02-20T23:50:21
|
|
* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
src/sfnt/ttsbit.h, src/sfnt/ttsbit.c: moving the definition
of 'set_sbit_strike' and 'load_sbit_metrics' to their 2.1.8
location. This is used to support binary compatibility with
the X.Org server's libXfont library.
note that this disables memory optimizations for the embedded
bitmap loader.Sigh....
|
|
f145e312
|
2006-02-19T16:12:18
|
|
Formatting, copyright years, minor doc fixes.
|