Werner Lemberg
7cb9ec0f1c
* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
...
`private_len' unsigned.
* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
it as such.
(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
for sane value.
Fix typo.
* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
`last_point'.
* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
`maxTwilightPoints'.
2008-06-09 20:49:29 +00:00
Werner Lemberg
2b0b4221ab
Cosmetic code changes.
2008-05-28 22:17:28 +00:00
Werner Lemberg
fc29393998
* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
...
tt_cmap14_find_variant): Return correct value.
(tt_cmap14_variant_chars): Fix check for `di'.
2008-03-03 08:08:12 +00:00
Werner Lemberg
a10d2b7cf5
* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
...
concatenate error codes.
* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
2007-12-04 22:05:54 +00:00
Werner Lemberg
d503fc57f2
* src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
...
fixes Savannah bug #21485 .
2007-11-01 09:19:44 +00:00
Werner Lemberg
7d9c189ac2
* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
...
support for bit 8 in the `OS/2' table. MS is already using this;
hopefully, this becomes part of OpenType 1.5.
Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
(WWS_SUBFAMILY).
2007-10-21 08:12:30 +00:00
Werner Lemberg
7f2425fb4f
Formatting, improving documentation.
2007-10-20 16:15:07 +00:00
David Turner
cf432dbf22
* include/freetype/freetype.h, src/base/ftobjs.c: renamed
...
cmap14-related new APIs to the FT_Object_ActionName scheme.
update the documentation for these APIs
* src/sfnt/ttcmap.c: stronger cmap 14 validation, make the
code a little more consistent with FreeType coding conventions
and modify the cmap14 functions that returned a newly allocated
array to use a persistent vector from the TT_CMap14 object
instead.
2007-10-19 12:36:40 +00:00
Werner Lemberg
9a966b7d1b
Add support for cmap type 14.
...
* devel/ftoption.h, include/freetype/config/ftoption.h
(TT_CONFIG_CMAP_FORMAT_14): New macro.
* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
support function prototypes.
(FT_CMap_ClassRec): Add them.
Update all users.
* include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
macro.
* include/freetype/freetype.h (FT_Get_Char_Variant_Index,
FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
functions.
* src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
function.
(FT_Set_Charmap): Disallow cmaps of type 14.
(FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
FT_Get_Chars_Of_Variant): New API functions.
* src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
(TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
tt_cmap14_find_variant, tt_cmap14_char_var_index,
tt_cmap14_char_var_isdefault, tt_cmap14_variants,
tt_cmap14_char_variants, tt_cmap14_def_char_count,
tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
structures for cmap 14 support.
(tt_cmap_classes): Register tt_cmap14_class_rec.
(tt_face_build_cmaps): One more error message.
* docs/CHANGES: Mention cmap 14 support.
2007-10-15 17:21:32 +00:00
Werner Lemberg
1e1b6dff54
* src/pfr/pfrcmap.c: Include pfrerror.h.
...
* src/autofit/afindic.c: Add some external declarations to pacify
`make multi' compilation.
* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
src/autofit/aflatin.c (af_latin_hints_compute_edges),
src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
(tt_face_get_metrics), src/base/ftobjs.c (open_face)
[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
* docs/release: Mention test compilation targets.
2007-07-07 07:30:40 +00:00
Werner Lemberg
33db39e292
* src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
...
Fonts without a cmap must be handled correctly by FreeType (anything
else would be a bug).
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
[FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
2007-06-08 06:30:29 +00:00
Werner Lemberg
88ab638e0f
* src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
...
tt_sbit_decoder_load_image): Protect against integer overflows.
* src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
for `x_control' and `y_control'.
2007-06-07 05:01:56 +00:00
Werner Lemberg
0f2b7bda6e
* src/sfnt/ttmtx.c (tt_face_get_metrics)
...
[!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
2007-05-19 15:15:47 +00:00
Werner Lemberg
b826fa7589
Savannah patch #5929 .
...
* include/freetype/tttables.h, src/base/ftobjcs.c
(FT_Get_CMap_Format): New function.
* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
`format' member.
* src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
cmap_info->format.
2007-05-19 07:18:48 +00:00
Werner Lemberg
95bc9d3a07
* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
...
src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
tt_face_get_metrics): Fix type-punning issues.
2007-05-16 15:19:42 +00:00
Werner Lemberg
607dec79bb
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
...
variable.
* src/autofit/afloader.c (af_loader_load_g): Ditto.
* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
(open_face_from_buffer): Initialize `stream'.
(FT_Request_Metrics): Remove unused variable.
Remove redundant `break' statements.
(FT_Get_Track_Kerning): Remove unused variable.
* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
afm_parse_kern_data): Remove redundant
`break' statements.
(afm_parser_parse): Ditto.
Don't use uninitialized variables.
* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
Use `|' operator instead of `^' to set it.
Update all users.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
comparison.
(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
(TT_Load_Glyph): Remove unused variable.
2007-05-15 06:49:37 +00:00
Werner Lemberg
1b5267dad1
* src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
...
`cmap'.
2007-04-28 21:06:15 +00:00
Werner Lemberg
fcc1f472c3
* src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
...
Ignore `hhea' table. This fixes Savannah bug #19261 .
2007-04-10 11:51:50 +00:00
Werner Lemberg
442bfb8913
Formatting, copyright years, s/memcpy/ft_memcpy/.
2007-02-12 21:44:10 +00:00
David Turner
c0f9c4aadd
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
2007-02-12 14:55:03 +00:00
Werner Lemberg
6e87ed9f04
Spelling fixes from Alexei.
2007-01-26 22:18:56 +00:00
Werner Lemberg
011d111218
* src/sfnt/ttmtx.c (tt_face_get_metrics)
...
[!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
2007-01-21 09:36:00 +00:00
Werner Lemberg
9b774e2822
Remove trailing whitespace. From Alexei.
2007-01-16 06:11:27 +00:00
Werner Lemberg
23df31adcc
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
...
with C++ compiler.
* src/autofit/afhints.c (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Ditto.
* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
`modules.cfg').
* src/sfnt/ttsbit0.h: Remove.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
2007-01-13 08:45:00 +00:00
Werner Lemberg
cc7f12a429
formatting, copyright years and messages, doc polishing
2007-01-09 10:37:36 +00:00
David Turner
f48b60ed59
* 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
2007-01-08 15:15:32 +00:00
Werner Lemberg
f629439905
formatting, copyright years
2007-01-06 07:47:45 +00:00
David Turner
d88a0c9e64
fixing typo
2007-01-05 17:59:18 +00:00
David Turner
91a3402d78
- don't load metrics table in memory, reduces heap usage
...
- forgot to commit the changes in cffload.c that are already documented
2007-01-05 14:47:08 +00:00
David Turner
a3a3c5d711
small optimization in the CMAP 4 validator
2007-01-05 13:15:29 +00:00
Werner Lemberg
4ea0a7f0b6
formatting, minor doc fixes, copyright years
2007-01-05 09:03:31 +00:00
David Turner
8a6c44e673
Getting rid of the FT_OPTIMIZE_MEMORY macro, since the optimization
...
is no longer experimental
2007-01-04 17:03:11 +00:00
Werner Lemberg
6b87e6f0ff
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
...
Remove compiler warning.
Formatting.
2007-01-02 19:20:08 +00:00
David Turner
9207e00198
adding documentation comment
2007-01-02 16:58:13 +00:00
Werner Lemberg
e2e18e035c
comment fixes
2006-12-03 09:46:32 +00:00
Werner Lemberg
1117131c03
* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
2006-12-03 09:43:40 +00:00
Werner Lemberg
3bcd7d7fa5
Formatting.
2006-12-03 09:38:16 +00:00
Werner Lemberg
960ba59ad9
* 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.
2006-12-01 08:20:47 +00:00
Werner Lemberg
715e96ecf4
formatting, improving ChangeLog entries
2006-10-24 05:28:45 +00:00
David Turner
29873a0ccd
* src/sfnt/ttmtx.c, src/cff/cffload.c: speeding up the CFF font
...
loader, with some large CFF fonts, FT_Open_Face is now 350% faster !
2006-10-23 10:23:17 +00:00
Werner Lemberg
9b15ea341c
* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
...
overlapping segments. Bug reported by Stefan Koch.
2006-09-29 18:22:11 +00:00
Werner Lemberg
f9644559a8
formatting
2006-09-12 13:48:10 +00:00
David Turner
f3050059dd
* src/sfnt/sfobjs.c (tt_face_get_name): support some function
...
which report their English names through an Apple Roman
(platform,encoding) pair, with language_id != English
if the font uses another name entry with language_id == English,
it will be selected correctly though.
* src/truetype/ttobjs.c: add unpatent-hinting selection for
"mingli.ttf"
2006-09-11 12:00:32 +00:00
Jens Claudius
2652bd5412
2006-08-18 Jens Claudius <jens.claudius@yahoo.com>
...
* freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
variable `_sfnt' as volatile since it must keep its value across
a call to ft_setjmp.
(gxv_validate): Same for local variables `memory' and `valid'.
(classic_kern_validate): Same for local variables `memory',
`ckern', and `valid'.
* freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
parameter `face' and local variables `base', `gdef', `gpos', `gsub',
`jstf', and 'valid'.
* freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
local variable `cmap'.
2006-08-18 17:20:37 +00:00
David Turner
9ca782569c
* 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.
2006-05-02 09:00:29 +00:00
David Turner
7aa2010216
* src/sfnt/ttcmap.c: removed compiler warnings (gcc-4.0.2)
2006-04-21 08:38:35 +00:00
Werner Lemberg
fa3651e7d8
formatting, copyright year
2006-03-28 05:06:50 +00:00
David Turner
42137bc614
* src/sfnt/ttkern.c (tt_face_get_kerning): fixed a serious bug
...
that caused some programs to go into an infinite loop when dealing
with fonts that don't have a properly sorted kerning sub-table
2006-03-27 20:10:26 +00:00
Werner Lemberg
95f206b1ea
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
...
correctly.
2006-03-21 20:47:28 +00:00
Werner Lemberg
5a73d8d20f
* 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.
2006-03-20 16:55:32 +00:00