include


Log

Author Commit Date CI Message
Werner Lemberg 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.
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
Jens Claudius 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.
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
Jens Claudius 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.
Werner Lemberg 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.
Werner Lemberg 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.
Werner Lemberg b97daa28 2006-07-03T12:36:46 more doc fixes
Werner Lemberg 973542bb 2006-07-03T09:40:15 doc improvement
Werner Lemberg 3d2f2c60 2006-07-02T05:50:48 minor doc improvement
Werner Lemberg 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'.
David Turner 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'
David Turner 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%.
Werner Lemberg 22d34421 2006-05-12T14:24:33 Add final newline.
Werner Lemberg e12a471f 2006-05-12T14:20:43 * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset. Convert some files to UTF-8.
Werner Lemberg 2ee71f1f 2006-05-12T13:55:04 More minor fixes. Move `version' section to the end of freetype.h so that the library compiles actually.
Werner Lemberg 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.).
Werner Lemberg 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.
Werner Lemberg 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.
Werner Lemberg a94746ca 2006-05-03T20:39:55 Formatting.
David Turner 679a252c 2006-05-03T09:40:33 * include/freetype/internal/ftmemory.h: allow compilation with C++ compilers
Werner Lemberg 58eed04d 2006-05-02T22:26:09 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
Werner Lemberg 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.
David Turner 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.
David Turner 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.
David Turner 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.
Werner Lemberg 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.
Werner Lemberg 8a8c6022 2006-04-22T12:24:52 Formatting, copyright years, documentation.
David Turner 8e438ead 2006-04-21T08:35:11 * include/freetype/ftincrem.h, include/freetype/ftmodapi.h, include/freetype/freetype.h: Documentation update
David Turner 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
Werner Lemberg 4091786c 2006-04-01T18:49:07 Formatting.
David Turner 0f15e1c1 2006-04-01T16:11:53 * include/freetype/ftcache.h, include/freetype/config/ftheader.h: updating documentation comments
David Turner 9da74d84 2006-04-01T09:14:12 updating cache documentation
Werner Lemberg 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.
Werner Lemberg b6f6d247 2006-03-25T03:08:26 _not filtered_ -> _not_ _filtered_
Werner Lemberg 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.
Werner Lemberg af16820a 2006-03-24T12:46:49 Normalize quotation to `...'.
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
Werner Lemberg d8776b34 2006-03-22T20:33:48 Improve documentation of `FT_LOAD_MONOCHROME'.
Werner Lemberg 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.
David Turner 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).
Werner Lemberg c07ee520 2006-02-27T18:13:12 * include/freetype/cache/ftccache.h [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of ftc_node_done.
Werner Lemberg 7f049f42 2006-02-25T16:52:16 Formatting, copyright years.
David Turner 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
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
Werner Lemberg d7e6b767 2006-02-25T06:24:28 Formatting, copyright years, minor cleanups.
Wu, Chia-I (吳佳一) 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.
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 d4303da0 2006-02-23T21:01:34 formatting, copyright years.
Wu, Chia-I (吳佳一) 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.
Werner Lemberg 0d9be1c3 2006-02-22T14:28:06 Fix comment so that it is included into the HTML documentation.
David Turner cdb610f6 2006-02-22T12:55:04 adding missing file
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 d41aecdb 2006-02-21T08:08:14 formatting, doc improvements
David Turner 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....
Werner Lemberg f145e312 2006-02-19T16:12:18 Formatting, copyright years, minor doc fixes.
David Turner 0880ac33 2006-02-17T17:23:13 * builds/unix/unix-cc.in: don't filter-out exported functions anymore, this is used to ensure that all FT_BASE internal functions are available for dynamic linking * include/freetype/ftcache.h, src/cache/ftcbasic.c, src/cache/ftccmap.c: try to revive old functions of the cache sub-system. We also try to support FTC_ImageCache_Lookup and FTC_ImageCache_SBit with legacy signatures through a gross hack (hope it works)
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.
Wu, Chia-I (吳佳一) 0d565fdc 2006-02-15T07:44:31 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove unused `max_points' and `max_contours'. * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update. * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused `max_components'. * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused `loadSize' and `loadStack'. * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context), src/sfnt/ttload.c (tt_face_load_maxp): Update. * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not defined. * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions. (finally!) For most OpenType tables, `tt_face_load_xxxx' simply loads the table and `face->root' is set later in `sfnt_load_face'. Here, we try to make this work for _all_ tables. * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c, src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and then exit. Error handling or setting face->root is done later in `sfnt_load_face'. Pretty trace messages. * src/sfnt/sfobjs.c (sfnt_load_face): Work harder. Mac bitmap-only fonts are not scalable. Check that `face->header.Units_Per_EM' is not zero. (LOAD_, LOADM_): Pretty trace messages. * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics from `eblc'. * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c (load_format_20, load_format_25, tt_face_get_ps_name): Use face->max_profile.numGlyphs, instead of face->root.num_glyphs.
Werner Lemberg 5225402a 2006-02-15T06:05:52 * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in documentation that negative strength values are possible. Give an example call. * include/freetype/freetype.h (FT_GlyphSlotRec): Improve documentation of `outline' field. * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H. * src/sfnt/sfdriver.c: Include ttmtx.h. * src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
Wu, Chia-I (吳佳一) 35222ff7 2006-02-14T07:25:57 Clean up the SFNT_Interface. In this final pass, `load_hmtx' is splitted from `load_hhea'. * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c, src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'. * src/sfnt/sfobjs.c (sfnt_load_face): Update.
Wu, Chia-I (吳佳一) 65863a57 2006-02-14T07:01:29 Clean up the SFNT_Interface. In this pass, we want to treat the font directory (offset table and table directory) as a normal table like the others. This also means that TTC is no longer recognized there, but in `init_face'. * include/freetype/internal/sfnt.h (SFNT_Interface), src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are combined and renamed to `load_font_dir'. * src/sfnt/ttload.h, src/sfnt/ttload.c: s/sfnt_dir_check/check_table_dir/. `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'. `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined and renamed to `tt_face_load_font_dir'. * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
Wu, Chia-I (吳佳一) f5aa47be 2006-02-14T06:40:10 Clean up the SFNT_Interface. Table loading functions are now named after the tables' tags; `hdmx' is TrueType-specific and thus the code is moved to the truetype module; `get_metrics' is moved here from the truetype module so that the code can be shared with the cff module. This pass involves no real changes. That is, the code is moved verbatim mostly. The only exception is the return value of `tt_face_get_metrics'. * include/freetype/internal/sfnt.h, src/sfnt/rules.mk, src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c, src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface. * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Metrics-related tables' loading and parsing code is moved here. Move `tt_face_get_metrics' here from the truetype module. The return value is changed from `void' to `FT_Error'. * include/freetype/internal/fttrace.h: New trace: ttmtx. * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and parsing code is moved here. New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'. `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist. * src/cff/cffgload.c, src/cff/cffobjs.c: Update. * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
Wu, Chia-I (吳佳一) f9a69132 2006-02-11T12:12:02 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define to enable autofit CJK script support. (#define'd by default) * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure that `edge_distance_threshold' is always set. (af_latin_hints_link_segments): Potential divide by 0 bug. Use latin constant in the scoring formula. * src/autofit/afcjk.c: Minor updates due to the above three changes. * docs/TODO, docs/CHANGES: Updated.
Werner Lemberg 82a0e3cd 2006-02-01T05:22:25 s/index/size_index/ to avoid compiler warnings.
Werner Lemberg 59939244 2006-01-31T20:17:42 Implement new, simplified module selection. With GNU make it is now sufficient to modify a single file, `modules.cfg', to control the inclusion of modules and base extension files. This change also fixes the creation of ftmodule.h; it now depends on `modules.cfg' and thus is rebuilt only if necessary. Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the default location. * modules.cfg: New file. * builds/freetype.mk: Don't include `modules.mk'. Include all `rules.mk' files as specified in `modules.cfg'. (FTOPTION_FLAG, FTOPTION_H): New variables. (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H. Add FTOPTION_FLAG. ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST. (CONFIG_H): Add FTMODULE_H and FTOPTION_H. (INCLUDES): Add DEVEL_DIR. (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ, OBJ_M, OBJ_S): Use `:=', not `='. (remove_ftmodule_h): New phony target to delete `ftmodule.h'. (distclean): Add remove_ftmodule_h. * builds/modules.mk: (MODULE_LIST): Removed. (make_module_list, clean_module_list): Replace targets with... (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New variables. Reason for the change is that it is not possible to have a phony prerequisite which is run only if the target file must be rebuilt (phony prerequisites act like subroutines and are *always* executed). We only want to rebuild `ftmodule.h' if `module.cfg' is changed. Update all callers. ($FTMODULE_H)): Rule to create `ftmodule.h', depending on `modules.cfg'. * builds/toplevel.mk: Rewrite and simplify module handling. (MODULES_CFG, FTMODULE_H): New variables. Include MODULES_CFG. (MODULES): New variable to include all `module.mk' and `rules.mk' files. We no longer use make's `wildcard' function for this. * Makefile (USE_MODULES): Remove. Update all users. (OBJ_DIR): Define it here. * src/*/module.mk: Change make_module_list: foo foo: ... to FTMODULE_H_COMMANDS += FOO define FOO ... endef in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'. * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS. * builds/unix/detect.mk (setup): Always execute `configure' script. (have_mk): Rename to... (have_Makefile): This. Don't use `strip' function. * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is defined. (have_mk): Don't use `strip' function. Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test accordingly). * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'. * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR), builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere. * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR), builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere. * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. Don't define PLATFORM. * configure: Copy `modules.cfg' to builddir if builddir != srcdir. Update snippet taken from autoconf's m4sh.m4 to current CVS version. Be more verbose. * include/freetype/config/ftmodule.h: Add comments -- this file is no longer used if FreeType is built with GNU make. * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY, docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism. Other minor updates. * modules.txt: Removed. Contents included in `modules.cfg'. * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos. * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug, FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Implement.
Wu, Chia-I (吳佳一) 98d802b8 2006-01-31T07:01:24 * include/freetype/internal/t1types.h (AFM_FontInfo), src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox', `Ascender', and `Descender' from an AFM. * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM. * include/freetype/freetype.h (FT_FaceRec): Mention that fields may be changed after file attachment.
Werner Lemberg f6a25503 2006-01-28T10:38:15 * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix whitespace. * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv renderer classes.
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 !!
David Turner ff0e9e6c 2006-01-27T09:15:53 * builds/freetype.mk, Jamfile: define the macro FT2_BUILD_LIBRARY when compiling the library. * include/freetype/config/ftheader.h: remove inclusions of internal headers, except if the macro FT2_BUILD_LIBRARY is defined.
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.
Werner Lemberg 47bf95dd 2006-01-17T16:55:32 Use pscmap service in CFF module. * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed. (cff_sid_to_glyph_name): New function. (cff_cmap_unicode_init, cff_cmap_unicode_done, cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap service. (cff_cmap_unicode_class_rec): Updated. * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed. * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode' return value. * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting to avoid type-punning compiler warnings.
Werner Lemberg ce94c7a9 2006-01-16T22:35:33 Formatting, copyright years.
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 01fa8238 2006-01-14T08:17:52 Many doc fixes. From Chia-Yi.
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 64714a28 2006-01-12T08:49:24 Copyright year, minor formatting.
Werner Lemberg 8ab0979d 2006-01-12T08:12:27 Prepare use of pscmap service within CFF module. * include/freetype/internal/services/svpscmap.h: Include FT_INTERNAL_OBJECTS_H. (PS_Unicode_Index_Func): Removed. Unused. (PS_Macintosh_Name_Func): Renamed to... (PS_Macintosh_NameFunc): This. Update all callers. (PS_Adobe_Std_Strings_Func): Renamed to... (PS_Adobe_Std_StringsFunc): This. Update all callers. (PS_UnicodesRec): This is the former `PS_Unicodes' structure. Add `cmap' member. Update all callers. (PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec. Update all callers. (PS_Glyph_NameFunc): New typedef. (PS_Unicodes_InitFunc): Change arguments to expect a function and generic data pointer which returns a glyph name from a given index. * src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index, ps_unicodes_char_next, pscmaps_interface): Updated. * include/freetype/internal/t1types.h (T1_FaceRec): Updated. * src/psaux/t1cmap.h (T1_CmapStdRec): Updated. (T1_CmapUnicode, T1_CmapUnicodeRec): Removed. * src/psaux/t1cmap.c (t1_get_glyph_name): New callback function. (t1_cmap_unicode_init, t1_cmap_unicode_done, t1_cmap_unicode_char_index, t1_cmap_unicode_char_next, t1_cmap_unicode_class_rec): Updated. * src/type42/t42types.h (T42_FaceRec): Updated.
Suzuki, Toshiya (鈴木俊哉) 356a4d89 2006-01-12T03:33:16 * Add declarations of new MacOS-specific APIs
Werner Lemberg adf828ff 2006-01-11T10:08:49 Fix Savannah bug #15056 and use pscmap service in psaux module. * include/freetype/internal/services/svpscmap.h (PS_UniMap): Use FT_UInt32 for `glyph_index'. (PS_Unicodes_InitFunc): Use FT_String for `glyph_names'. (PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'. (PS_Unicodes_CharNextFunc): Make second argument a pointer to FT_UInt32. * src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros. (ps_unicode_value): Set VARIANT_BIT in return value if glyph is a variant glyph (this is, it has non-leading `.' in its name). (compare_uni_maps): Sort base glyphs before variant glyphs. (ps_unicodes_init): Use FT_String for `glyph_names' argument. Reallocate only if number of used entries is much smaller. Updated to handle variant glyphs. (ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs over variant glyphs. Simplify code. * src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed. (t1_cmap_unicode_init, t1_cmap_unicode_char_index, t1_cmap_unicode_char_next): Use pscmap service. (t1_cmap_unicode_done): Updated. * src/psaux/t1cmap.h (T1_CMapUniPair): Removed. (T1_CMapUnicode): Use PS_Unicodes structure.
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 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
Werner Lemberg b79b5133 2005-12-20T12:01:58 Formatting, improving comments.
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.
David Turner 89a2a4b5 2005-12-14T20:38:15 * include/freetype/config/ftoption.h, include/freetype/config/ftstdlib.h, include/freetype/internal/tttypes.h, src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c, src/sfnt/ttbdf.h, src/sfnt/ttbdf.c, src/sfnt/sfobjs.c: Added support for an embedded 'BDF ' table within SFNT-based bitmap font files. This is used to store atoms & properties from the original BDF fonts that were used to generate the font file. the feature is controled by TT_CONFIG_OPTION_BDF within 'ftoption.h' and is used to implement FT_Get_BDF_Property for these font files. At the moment, this is still experimental, the BDF table format isn't cast into stone yet.
Werner Lemberg 21a7d844 2005-11-30T21:05:32 Minor doc update.
Werner Lemberg c815f33b 2005-11-22T09:37:04 Add some references.
Werner Lemberg 1a293d6c 2005-11-18T08:23:06 * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number of metrics instead of aborting. Patch suggested by Derek Noonburg.