src/base/ftobjs.c


Log

Author Commit Date CI Message
Werner Lemberg 9bf73ec4 2009-01-13T17:42:00 Fix C++ compilation. * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation with C++.
Werner Lemberg 9b1da084 2009-01-09T06:21:04 tab -> space
Suzuki, Toshiya (鈴木俊哉) 2dc10794 2009-01-09T05:07:15 * src/base/ftobjs.c (FT_Done_Library): Issue an error when FT_Done_Face() is failed and retried
Werner Lemberg 3c5ad951 2008-12-21T17:51:12 * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c, src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c: s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for errors in the bytecode interpreter only.
Werner Lemberg 05bf6877 2008-12-18T06:32:10 * docs/CHANGES: Updated. Provide API for accessing embedding and subsetting restriction information. * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING, FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING, FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING, FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New macros. (FT_Get_FSType_Flags): New function declaration. * src/base/ftobjs.c (FT_Get_FSType_Flags): New function. * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c (t42_keywords): Handle `FSType'. * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
Werner Lemberg b972a2a2 2008-12-11T08:55:48 Generalize the concept of `tricky' fonts by introducing FT_FACE_FLAG_TRICKY to indicate that the font format's hinting engine is necessary for correct rendering. At the same time, slightly modify the behaviour of tricky fonts: FT_LOAD_NO_HINTING is now ignored. To really force raw loading of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used. Finally, tricky TrueType fonts always use the bytecode interpreter even if the patented code is used. * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY): New macros. * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags semantics as described above. * src/truetype/ttobjs.c (tt_check_trickyness): New function, using code of ... (tt_face_init): This function, now simplified and updated to new semantics. * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky fonts. * docs/CHANGES: Document it.
Werner Lemberg 1474f439 2008-12-09T06:51:56 Really fix Savannah bug #25010: An SFNT font with neither outlines nor bitmaps can be considered as containing space `glyphs' only. * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where a `glyf' table is missing. * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no `glyf' table but a non-zero `loca' entry. (tt_loader_init): Handle missing `glyf' table. * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05. * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines nor bitmaps is scalable.
Werner Lemberg 76fffcd8 2008-12-05T18:37:44 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value 0x100 instead of 0x10000; the latter value is already occupied by FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos. Handle SFNT with neither outlines nor bitmaps. This fixes Savannah bug #25010. * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither outlines nor bitmaps. * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there is no table with glyphs. * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging message. Other minor cosmetics.
Werner Lemberg 02197280 2008-11-29T09:31:44 Formatting.
Werner Lemberg b6192827 2008-11-08T07:28:39 * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against slot->internal == NULL. Reported by Graham Asher.
Werner Lemberg 570b1fdb 2008-10-05T06:08:40 formatting
Suzuki, Toshiya (鈴木俊哉) af48cb0b 2008-10-05T02:53:06 src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H
Suzuki, Toshiya (鈴木俊哉) 2d3e0af9 2008-10-05T02:38:57 * `FT_Open_Face' tries `open_face_PS_from_sfnt_stream' when a sfnt container is found but not OpenType.
Suzuki, Toshiya (鈴木俊哉) 21bd5165 2008-10-04T18:10:28 Introduce macros for some MacOS-specific resource tags
Suzuki, Toshiya (鈴木俊哉) 72eb270a 2008-10-04T17:49:58 * Remove wrong initialization in `ft_lookup_PS_in_sfnt_stream'
Werner Lemberg 45489589 2008-10-04T11:39:03 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler warnings. Formatting.
Suzuki, Toshiya (鈴木俊哉) 1137d04f 2008-10-04T07:11:58 * New function `open_face_PS_from_sfnt_stream' to check and open a Type1 PS or CID-keyed font in an sfnt stream.
Suzuki, Toshiya (鈴木俊哉) bc2c4984 2008-10-03T12:28:52 * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to FALSE when no PS resource is found
Suzuki, Toshiya (鈴木俊哉) 9e2b9900 2008-10-03T11:52:22 * Remove duplicated functions from builds/mac/ftmac.c. Now MPW builds builds/mac/ftmac.c as a part of ftbase.c
Werner Lemberg cff15b07 2008-10-02T05:38:29 Formatting.
Suzuki, Toshiya (鈴木俊哉) f414702e 2008-10-02T01:43:18 * Merge the duplicated functions in ftmac.c with ftobjs.c
Suzuki, Toshiya (鈴木俊哉) c6bdee5f 2008-09-30T00:59:55 * Fix the conditions for multi build on MacOS
Werner Lemberg 22e970a2 2008-09-20T12:20:21 Formatting, minor code fixes.
Werner Lemberg 6874d85b 2008-09-20T11:50:47 * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H. (FT_Outline_Decompose): Decorate with tracing messages. * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with FT_DEBUG_LEVEL_TRACE. [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and stdarg.h. (FT_TRACE) [_STANDALONE_]: Remove. (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function. (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros. (FT_ERROR) [_STANDALONE_]: Updated. (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition. Use FT_TRACE7. (gray_dump_cells): Make it `static void'. (graay_convert_glyph): Use FT_TRACE7. (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in ftoutln.c. * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use FT_ERROR_BASE. Other minor modifications.
Suzuki, Toshiya (鈴木俊哉) dec8e7b9 2008-09-19T16:47:01 * src/base/ftobjs.c: Fix double free bug in sfnt-wrapped Type1/CID font support
Suzuki, Toshiya (鈴木俊哉) 9ae5eaf8 2008-09-19T06:48:35 * src/base/ftobjs.c: Add initial support for sfnt-wrapped CID-keyed fonts
Suzuki, Toshiya (鈴木俊哉) 4c60bd91 2008-08-19T15:35:44 * Fix FT_Stream_New() to initialize stream always
Werner Lemberg f3200faa 2008-06-10T04:57:57 Typo.
Werner Lemberg 102bb83a 2008-06-10T04:57:19 * src/base/ftobjs.c (open_face): Check `clazz->init_face' and `clazz->done_face'. Update documentation of FT_Driver_ClassRec.
Werner Lemberg 6d29f0f1 2008-05-03T15:54:15 * src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without transformation since it recursively calls FT_Load_Glyph. This fixes Savannah bug #23143.
Werner Lemberg c32e83f2 2008-04-01T06:07:37 Fix compilation with g++ 4.1 (with both `single' and `multi' targets). * src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block which is crossed by a `goto'. * src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
Suzuki, Toshiya (鈴木俊哉) 86c0f904 2007-11-20T14:00:17 * src/base/{ftobjs.c, ftrfork.c}: recovery of Carbon-free legacy MacOS font support in freetype-2.3.4
David Turner cf432dbf 2007-10-19T12:36:40 * 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.
Werner Lemberg 9a966b7d 2007-10-15T17:21:32 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.
Werner Lemberg 74597ccd 2007-10-01T07:08:56 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4 charmap fails, do the loop again while searching a UCS-2 charmap. This favours MS charmaps over Apple ones.
Werner Lemberg 39c91ad4 2007-07-28T05:40:40 * src/raster/ftraster.c (count_table): Make it conditional. * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with a preprocessor statement.
Werner Lemberg 1e1b6dff 2007-07-07T07:30:40 * 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.
Werner Lemberg 3d507fef 2007-06-03T16:54:55 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for face == NULL. Suggested by Graham Asher.
Werner Lemberg ce280a22 2007-06-03T05:58:30 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
Werner Lemberg b9933f4b 2007-06-01T21:27:12 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c (FTC_CMapCache_Lookup): Remove unused code.
Werner Lemberg b826fa75 2007-05-19T07:18:48 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.
Werner Lemberg 607dec79 2007-05-15T06:49:37 * 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.
Werner Lemberg 8d463a53 2007-05-13T16:01:55 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
Werner Lemberg 106eaf1d 2007-05-03T07:07:47 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code. * include/freetype/freetype.h (FT_Set_Char_Size): Update documentation.
Werner Lemberg 7478197e 2007-04-03T19:39:28 formatting
David Turner 7338ec2b 2007-04-03T14:30:34 make FT_Set_Char_Size deal with 0-valued resolution parameter like the other one
Werner Lemberg 1e259ded 2007-03-08T15:39:21 Fix ChangeLog; fix source code comment.
Werner Lemberg 6e87ed9f 2007-01-26T22:18:56 Spelling fixes from Alexei.
Werner Lemberg 8c4120d0 2007-01-15T06:42:40 Fix various compiler warnings. * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h: s/index/strike_index/. * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/. * src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/. * src/truetype/ttinterp.c (Compute_Point_Displacement), src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly uninitialized variables.
Werner Lemberg 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.
David Turner 7a3c564e 2007-01-11T15:09:01 * src/base/ftobjs.c (IsMacResource): fixed a small bug that caused a crash with some Mac OS X .dfont files. Submitted by Masatake Yamoto.
Werner Lemberg 4ea0a7f0 2007-01-05T09:03:31 formatting, minor doc fixes, copyright years
David Turner a8cf42bb 2007-01-04T16:46:46 * src/pshinter/pshalgo.c: remove a stupid typo that results in no hinting and a memory leak with some large Asian CFF fonts * src/base/ftobjs.c (FT_Done_Library): remove a subtle memory leak which happens when FT_Done_Library is called with opened CFF_Faces in it. We need to close all faces before destroying the modules, or else some bad things (memory leaks) may happen.
Werner Lemberg 0fd08bdc 2006-12-16T02:57:46 formatting
Suzuki, Toshiya (鈴木俊哉) 7a7d403d 2006-12-15T14:47:42 * Improve resource fork handler for POSIX
Werner Lemberg 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'.
Werner Lemberg e88c5261 2006-10-24T05:46:26 * src/cff/cffload.c (cff_encoding_load): Remove unused variable. * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE as argument.
Werner Lemberg 046bf8b0 2006-10-03T08:43:42 formatting
David Turner 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
David Turner 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
Jens Claudius 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.
David Turner 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
Werner Lemberg 12342996 2006-08-19T11:18:09 formatting
David Turner 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
David Turner 2b21a932 2006-08-16T09:24:32 * src/base/ftobjs.c (ft_validator_run): disabling function, it is buggy by design, so it will always return -1
Suzuki, Toshiya (鈴木俊哉) de0a96c5 2006-05-19T23:16:12 * fix 2 memory leaks in MacOS resource fork handler, Savannah bug #16631
Suzuki, Toshiya (鈴木俊哉) a2295402 2006-04-30T04:46:17 fix bug in Mac_Read_POST_Resource()
Werner Lemberg 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.
David Turner 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
David Turner da95af6c 2006-03-20T13:32:33 * builds/win32/visualc/freetype.dsp: updating the project file, adding missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: removing compiler warnings when building with Visual C++ 6 and /W4
Wu, Chia-I (吳佳一) a87b08a7 2006-02-28T09:53:23 * src/base/ftobjs.c (FT_Done_Library): Modules are removed in the reversed order so that type42 module is removed before truetype module. This avoids double free in some occasions.
Wu, Chia-I (吳佳一) cffa8b65 2006-02-27T11:11:40 * src/base/ftobjs.c (FT_Set_Char_Size): Ahh.. forgot to check the case width or height is 0.
Wu, Chia-I (吳佳一) 2e48a1a1 2006-02-27T09:18:07 * src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph): Re-enable glyph metrics grid-fitting. It is now done in the base layer. (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and height are not too small or too large, just like we were doing in 2.1.10. * src/autofit/afloader.c (af_loader_load_g): The vertical metrics are not scaled.
David Turner b463665f 2006-02-26T07:57:45 * src/base/ftobjs.c (ft_recompute_scaled_metrics): re-enable conservative rounding of metrics to avoid breaking clients like Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852)
David Turner 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
Wu, Chia-I (吳佳一) 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.
Werner Lemberg 5edafed1 2006-02-22T08:23:35 Clean-ups, copyright years, formatting.
David Turner 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.
Werner Lemberg 8e6f8c4d 2006-02-17T08:07:09 Formatting, copyright years, documentation improvements.
David Turner cda2d957 2006-02-16T22:45:31 * builds/amiga/src/base/ftsystem.c, devel/ftoption.h include/freetype/ftcache.h, include/freetype/ftoutln.h, include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h, include/freetype/config/ftoption.h, include/freetype/internal/ftcalc.h, include/freetype/internal/ftdriver.h, include/freetype/internal/ftmemory.h, include/freetype/internal/ftobjs.h, include/freetype/internal/ftrfork.h, include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h, include/freetype/internal/t1types.h, include/freetype/internal/tttypes.h, src/base/ftcalc.c, src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftsystem.c, src/base/ftutil.c, src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c, src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c, src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c: massive changes to the internals to respect the internal object layouts and exported functions of FreeType 2.1.7. Note that the cache sub-system cannot be fully retrofitted, unfortunately.
Werner Lemberg be3c9814 2006-01-27T14:16:16 Formatting, copyright years.
David Turner 6a681fa8 2006-01-27T12:11:22 * src/autofit/afwarp.c: simple #ifdef to prevent compilation when the warp hinter isn't active (it shouldn't, still experimental) * Jamfile, include/freetype/config/ftmodule.h: removed "gxvalid" and "otvalid" from the list of modules that are linked statically to a given FreeType library. Functionality has been moved to the "ftvalid" CVS module. note also that current Make-based build system still compiles the modules though... * include/freetype/config/ftoption.h: added FT_STRICT_ALIASING, which controls the definitions of the memory management functions to avoid warnings with recent versions of GCC. this macro is only here to be disabled, in case we detect problems with the new scheme. NOTE: disable macro to use the memory debugger. this will be fixed later !!
Werner Lemberg 9cc4aed8 2006-01-26T21:03:58 Formatting.
Wu, Chia-I (吳佳一) bcc438b1 2006-01-23T14:12:40 * include/freetype/freetype.h (FT_Select_Size): Rename the second argument from `idx' to `strike_index'. (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of this enum. * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH, FT_REQUEST_HEIGHT): New macros to get the width and height of a request, in fractional pixels. * include/freetype/internal/ftobjs.h (FT_Select_Metrics, FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): New base functions to set the font metrics. They were part of FT_Select_Size/FT_Request_Size and are made independent functions so that metrics are not set again and again. * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set only when driver's size_select/size_request is NULL. That is, drivers should set the metrics themselves. (FT_Match_Size): Round before matching. This was what we did and it does cause some problems without rounding. * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c (tt_size_select): Set the font metrics. s/index/strike_index/. The scaled metrics are always preferred over strikes' metrics, even when some strike is selected. This is done because the strikes' metrics are not reliable, e.g., the sign of the descender is wrong for some fonts. * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c (tt_size_request): Set the font metrics. Call cff_size_select/tt_size_select when some strike is matched. * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c: Set the font metrics. s/index/strike_index/. * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these files were committed. Just a catch-up. (PS_Conv_ToFixed): Remove the `goto'. (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little. * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes, tt_face_load_strike_metrics), src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The advertised metrics in `available_sizes' are different from those actually used.
Wu, Chia-I (吳佳一) 108fdbbb 2006-01-16T15:35:56 * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which implement an AFM parser. It is used to parse an AFM file. * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide conversion functions (e.g, PS real number => FT_Fixed) for the PS_Parser and AFM_Parser. Some of the functions are taken, with some modifications, from the psobjs.c * src/psaux/psobjs.c: Use functions from psconv.c. * include/freetype/internal/psaux.h, src/psaux/psauxmod.c:: Add `AFM_Parser' to the `psaux' service. * src/psaux/psaux.c, src/psaux/rules.mk: Include those new files. * src/tools/test_afm.c: A test program for AFM parser. * include/freetype/internal/services/svkern.h, include/freetype/internal/ftserv.h: New service `Kerning'. It is currently only used to get the track kerning information. * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c, src/type1/t1afm.h: Update to use the AFM parser. Provide the `Kerning' service. * include/freetype/freetype.h, src/base/ftobjs.c: New API `FT_Get_Track_Kerning'.
Wu, Chia-I (吳佳一) ea1e8d3a 2006-01-15T15:01:45 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c: s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/. * docs/CHANGES: Mention that vertical metrics are synthesized for fonts not having this info.
Werner Lemberg 1723dcc2 2006-01-15T07:30:32 Formatting, minor clean-ups.
Wu, Chia-I (吳佳一) 212aee0d 2006-01-15T06:24:53 * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics), src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake the vertical metrics. * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c: Fake the vertical metrics. The fake metrics is monotone. * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and formattings in vertical metrics faking. There are still rooms for improvements (and so do the CFF module).
Wu, Chia-I (吳佳一) e5ff059f 2006-01-15T06:00:49 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set the linear advance fields as they are only for the outline glyphs. * include/freetype/freetype.h: Documentation updates/clarificatoins. The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real change need be made to the code. * src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and decide whether to use the auto-hinter according to documentation. There should to be no real difference. Some checks (e.g., is text height positve?) after the glyph is loaded. (FT_Select_Size, FT_Request_Size): Scales are set to wrong values. Be careful that scales won't be negative.
Werner Lemberg 3d8eeb8e 2006-01-14T07:10:45 Formatting, comment fixes.
Wu, Chia-I (吳佳一) e33dc2eb 2006-01-14T05:09:30 * docs/CHANGES: Mention the size selection change. * src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select), src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select), src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size matching for request of type NOMINAL and REAL_DIM. * src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when `pixel_height' is used for nominal height. * src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the face is bitmap only and driver doesn't provide `request_size'. This is added merely for completion as no driver satisfies the conditions.
Werner Lemberg f1c2b91e 2006-01-13T14:53:28 Formatting, copyright year updates. Decorate long constants with `L' and `UL' where appropriate.
Wu, Chia-I (吳佳一) fa7d6ab2 2006-01-13T12:21:31 * include/freetype/internal/sfnt.h (SFNT_Interface): New method `load_strike_metrics' used to load the strike's metrics. * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'. * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly. * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for nominal size unless it is obviously incorrect. * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on FNT driver. Introduce new size selection interface. * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec_): Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and `select_size'. * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type, FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): API additions to export the new size selection interface. * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use `FT_Request_Size'. * include/freetype/internal/ftobjs.h (FT_Match_Size), src/base/ftobjs.c (FT_Match_Size): New function to match a size request against `available_sizes'. Drivers supporting bitmap strikes can use this function to implement `request_size'. * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c, src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c: Update to new size selection interface. * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c, src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size selection interface. Make `strike_index' FT_ULong and always defined. Use `load_strike_metrics' provided by SFNT interface.
Werner Lemberg 6cdab92b 2006-01-08T22:34:01 * docs/CHANGES: Updated. * include/freetype/ftmodapi.h (FT_Module_Get_Flags): New declaration. * src/base/ftobjs.c (FT_Module_Get_Flags): New function.
Werner Lemberg 748b171d 2005-12-25T09:15:09 Doc typos. From Huw Davies.
Werner Lemberg 083ba0b7 2005-12-23T15:10:54 Formatting, documentation improvements.
David Turner e6bb9533 2005-12-23T13:32:06 * Jamfile, docs/reference/README: fix it so that "jam refdoc" works correctly to generate the API reference in 'docs/reference' * src/tools/docmaker/tohtml.py: update to output nicer fields lists in the API reference * src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now forces auto-hinting * freetype/freetype.h: updating the documentation for FT_LOAD_TARGET_XXX and FT_Render_Mode values
Wu, Chia-I (吳佳一) dcb8b710 2005-12-16T14:27:14 * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics), src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed. * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics), src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics. * doc/CHANGES: Mention the changes.
Werner Lemberg 3b8db669 2005-12-06T10:47:44 Fix ChangeLog and source code comment.
Werner Lemberg b2d02530 2005-11-04T06:58:49 * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak. Make compiling instructions in docs/CUSTOMIZE work again. * builds/unix/unix-cc.in (CPPFLAGS): New variable. (CFLAGS): Don't include @CPPFLAGS@. * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.