src/base


Log

Author Commit Date CI Message
David Turner 52e0a7e9 2003-01-17T08:40:32 adding missing source file
David Turner 12d09050 2003-01-15T22:48:27 * include/freetype/config/ftheader.h, include/freetype/internal/fnttypes.h, include/freetype/ftwinfnt.h, src/base/winfnt.c, src/winfonts/winfnt.c, src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: added a Windows .FNT specific API (mostly for Wine). Also fixed a nasty bug in the header loader which would cause invalid memory overwrites
Graham Asher be1a8da3 2003-01-14T15:53:33 Added 'const' to the first argument to FT_Matrix_Multiply.
David Turner 6453a819 2003-01-08T09:28:34 * src/base/ftobjs.c (find_unicode_charmap): fixed the error code returned when the font doesn't contain a Unicode charmap. This allows FT2 to load "symbol.ttf" and a few others correctly since the last release
David Turner cce3c80c 2003-01-08T09:10:53 * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: small changes to support the compilation of FreeType 2 as part of larger projects with their own configuration options (only with Jam)
David Turner 20e33158 2003-01-07T22:54:02 * src/base/ftstroker.c: probably the last bug-fixes to the stroker, the API is likely to change however. * src/base/fttrigon.c (FT_Angle_Diff): fixing function, it returned invalid values for large negative angle differences (resulting in incorrect stroker computations, among other things) * src/cache/ftccache.c (ftc_node_unlink): removing incorrect assertion, and changing code to avoid hash table size contraction * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: adding "ftstroker.obj" to default build, as optional component
David Turner c528f6fa 2002-12-18T22:43:07 * src/base/ftobjs.c (find_unicode_charmap): added some comments to better explain what's happening there * src/base/ftobjs.c (open_face): included Graham Asher's fix to prevent faces without Unicode charmaps from loading
David Turner 621e4886 2002-12-16T21:51:24 2002-12-16 David Turner <david@freetype.org> * docs/VERSION.DLL: updating document to better explain the differences between the three version numbers being used on Unix, as well as provide the AutoConf fragment provided by Lars Clausen * src/smooth/ftgrays.c (gray_render_conic): fixed small bug that prevented bezier arcs with negative vertical coordinates to be rendered appropriately 2002-11-27 Vincent Caron <v.caron@zerodeux.net> * builds/unix/unix-def.in, builds/unix/freetype-config.in, builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c: adding support for system zlib installations when available on the target platform (Unix only)
Antoine Leca c96f69df 2002-12-03T00:39:16 * src/base/ftobjs.c: modified the logic to get Unicode charmaps. Now it loads UCS-4 charmaps when there is one. * src/base/ftobjs.c (find_unicode_charmap): new function. * src/base/ftobjs.c (open_face): refer to the above one. * src/base/ftobjs.c (FT_Select_Charmap): idem.
David Turner 60b32e16 2002-11-06T22:32:54 2002-11-05 David Turner <david@freetype.org> * include/freetype/config/ftoption.h, src/gzip/ftgzip.c: added support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify the use of system-wide zlib. Note that this macro, as well as FT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore. This allows the build system to define them depending on the configuration (typically by adding -D flags at compile time). * src/sfnt/ttcmap0.c (tt_face_build_cmaps): removed compiler warnings in optimized mode relative to the "volatile" local variables. This was not a compiler bug after all, but the fact that a pointer to a volatile variable is not the same than a volatile pointer to a variable :-) the fix was to change "volatile FT_Byte* p" into "FT_Byte* volatile p" * src/pfr/pfrload.c, src/pfr/pfrdrivr.c, src/gzip/inftrees.c: removed compiler warnings in optimized modes * src/gzip/*.[hc]: modified our ZLib copy in order to prevent exporting any zlib function names outside of the component. This prevents linking problems on some platforms, when applications want to link FreeType _and_ ZLib together. 2002-11-05 Juliusz <jch@pps.jussieu.fr> * src/psaux/psobjs.c (ps_table_add): modified increment loop in order to implement exponential behaviour
David Turner 3249c625 2002-10-31T08:30:19 * include/freetype/internal/internal.h, include/freetype/ftpfr.h, src/base/ftpfr.c, src/base/Jamfile, src/descrip.mms, src/rules.mk, src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfsobjs.h: added PFR-specific public API. Fixed the kerning retrievel routine (it returned invalid values when the outline and metrics resolution differ) * src/base/ftsynth.c: fixed the synthetic emboldener. at last. * src/base/ftobjs.c: small internal fix to better support bitmap-based font formats
Werner Lemberg eacb9306 2002-10-07T10:12:43 Formatting; adding file headers.
Werner Lemberg c4c373ce 2002-10-07T09:15:20 * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args' (suggested by Graham). * src/base/ftobjs.c (FT_Open_Face): Updated. (ft_input_stream_new): Ditto.
David Turner 80171e06 2002-10-05T14:57:03 * src/pfr/pfrsbit.h, src/pfr/pfrsbit.c, src/pfr/pfrload.c, src/pfr/pfrgload.c, src/pfr/pfrobjs.c, src/pfr/pfrtypes.h, Jamfile, src/base/ftobjs.c: adding support for embedded bitmaps to the PFR driver, and rewriting its kerning loader / handler to use all kerning pairs in a physical font (and not just the first item). * src/tools/docmaker/content.py, src/tools/docmaker/sources.py, src/tools/docmaker/tohtml.py: fixing a few nasty bugs * src/sfnt/ttcmap0.c: the validator for format 4 sub-tables is now capable of dealing with invalid "length" fields at the start of the sub-table. This allows fonts like "mg______.ttf" (i.e. Marriage) to return accurate charmaps.
Werner Lemberg 68e9f927 2002-09-27T11:09:23 * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names, tt_face_get_ps_name): Replace switch statement with if clauses to make it more portable. * src/cff/cffobjs.c (cff_face_init): Ditto. * include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for `module_size'. * include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for `glyph_size'. * src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to `FT_Render_Mode'. (FT_Render_Glyph_Internal): Change third parameter to `FT_Render_Mode'. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter to `FT_Render_Mode'. * src/raster/ftrend1.c (ft_raster1_render): Change third parameter to `FT_Render_Mode'. * src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd, ft_smooth_render_lcd_v): Ditto. (ft_smooth_render_generic): Change third and fifth parameter to `FT_Render_Mode'. * include/freetype/freetype.h, include/freetype/internal/ftobjs.h, include/freetype/ftglyph.h: Updated. * src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c (PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load), src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c (T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change fourth parameter to `FT_Int32'. * src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters and declare them as unused. * src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'. * src/psnames/psnames.h (PS_Unicode_Value_Func): Change return value to FT_UInt32. * src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table): Updated accordingly. * src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'. (cff_get_glyph_name): Use cast for result of ft_strlen. * src/cff/cffparse.c (cff_parse_real): User cast for assigning `exp'. * src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for some local variables. (cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some switch statements. (cff_font_load): Use cast in call to CFF_Load_FD_Select. * src/cff/cffobjs.c (cff_size_init): Use more casts. (cff_face_init): Use FT_Int32 for `flags'. * src/cff/cffgload.c (cff_operator_seac): Use cast for assigning `adx' and `ady'. (cff_decoder_parse_charstrings): Use FT_ULong for third parameter. Use more casts. * src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'. * src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'. * src/cid/cidgload.c (cid_load_glyph): Add missing cast for `cid_get_offset'. * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use cast for `num_points'. (t1_decoder_init): Use cast for assigning `decoder->num_glyphs'. * src/base/ftdebug.c (ft_debug_init): Use FT_Int. * include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use `FT_Int32' for fourth parameter. * src/base/ftobjs.c (open_face): Use cast for calling clazz->init_face. * src/raster/ftraster.c (Set_High_Precision): Use `1' instead of `1L'. (Finalize_Profile_Table, Line_Up, ft_black_init): Use casts. * src/raster/ftrend1.c (ft_raster1_render): Ditto. * src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long constant. * builds/amiga/include/freetype/config/ftmodule.h: Updated.
David Turner d48575ee 2002-09-18T23:18:36 * src/base/ftobjs.c (FT_Library_Version): bugfix
Werner Lemberg 5dfbdf76 2002-09-16T06:15:31 Making ftgrays.c compile stand-alone again. * include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_ isn't defined. * src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset, FT_BEGIN_HEADER, FT_END_HEADER. (FT_MEM_ZERO): Define. (TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte. (gray_render_span, gray_init_gamma): Don't use `FT_UInt'. Don't cast with `FT_Byte'. (grays_init_gamma): Don't use `FT_UInt'. * src/base/ftinit.c (FT_Add_Default_Modules): Improve error message. * src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message. * include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased to 32.
David Turner 00d9f40c 2002-09-08T21:29:11 * src/smooth/ftsmooth.c, src/base/ftobjs.c, include/freetype/config/ftmodule.h: updated to correctly support sub-pixel rendering * include/freetype/cache/ftcimage.h, include/freetype/cache/ftcsbits.h, src/cache/ftcimage.c, src/cache/ftcsbit.c: updated to support sub-pixel rendering correctly. Definition of FTC_ImageTypeRec that replaces the obsolete FTC_ImageDesc, and has slightly different fields. The image type is now determined directly by "load_flags" values. * src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: various enhancements to the automatic and Postscript hinters !! and sub-pixel hinting now works correctly (see demo programs)
Werner Lemberg 6b5c669b 2002-09-05T15:10:54 * src/cid/cidobjs.c (CID_Size_Init): Renamed to... (cid_size_init): This. * src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to... (t1_builder_add_point1): This. Updated all affected code. * src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings. * src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto. Formatting, minor doc fixes.
David Turner b08fe2dc 2002-08-27T20:20:29 * massive re-formatting changes to many, many source files. I don't want to list them all here. The operations performed were all logical transformations of the sources: - trying to convert all enums and constants to CAPITALIZED_STYLE, with #define definitions like #define my_old_constants MY_NEW_CONSTANT - big, big update of the documentation comments * include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c, include/freetype/ftimage.h: adding support for LCD-optimized rendering though the new constants/enums: FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V this is still work in progress, don't expect everything to work correctly though most of the features have been implemented. * adding new FT_LOAD_XXX flags, used to specify both hinting and rendering targets: FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering FT_LOAD_TARGET_MONO :: monochrome bitmaps FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering note that FT_LOAD_TARGET_NORMAL is 0, which means that the default behaviour of the font engine is _unchanged_.
David Turner 5c0d3a4d 2002-08-22T20:35:36 * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c, src/bdf/bdfdrivr.c: removed compiler warnings
David Turner 21f433ce 2002-08-21T22:06:41 * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c, src/autohint/ahglyph.c, include/freetype/freetype.h: fixing typos and removing compiler warnings
David Turner f467e6a9 2002-08-21T21:39:28 * include/freetype/freetype.h, src/base/ftobjs.c: changing the type of the "load_flags" parameter of FT_Load_Glyph and FT_Load_Char from "FT_Int" to "FT_Int32", this in order to support more options. this should only break binary and/or source compatibility on 16-bit platforms (Atari?)
Werner Lemberg f25ce9d0 2002-08-15T23:07:18 * src/cff/cffgload.c (cff_free_glyph_data), src/cff/cffload.c (cff_font_load): Use FT_UNUSED. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'. * src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
Werner Lemberg 3c403e4c 2002-08-06T21:47:40 Some formatting. * src/cff/cffcmap.c: Remove compiler warnings. * src/cache/ftccache.c, src/cache/ftccache.i, src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/. * src/cff/cffload.c: s/select/fdselect/. * src/raster/ftraster.c: s/wait/waiting/.
Graham Asher ce12182c 2002-08-01T15:29:17 Modified incremental loading interface to be closer to David Turner's preferences. The header freetype.h is not now affected, the interface is specified via an FT_Parameter, the pointer to the interface is hidden in an internal part of the face record, and all the definitions are in ftincrem.h.
Werner Lemberg b3d5e9cf 2002-07-28T05:05:24 s/ft_memset/FT_MEM_SET/. s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
Werner Lemberg 7f74a52a 2002-07-26T09:09:10 Fixing ChangeLog entries. Some formatting. * src/truetype/ttgload.c (load_truetype_glyph) [FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/. * src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning. * src/cff/cffload.c (cff_encoding_load): Remove `memory' variable. * src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames' variable. * src/truetype/ttgload.c (load_truetype_glyph): Remove statement without effect. * src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
Graham Asher d53cf1df 2002-07-18T15:04:29 Added incremental loading capability to FT_Open_Face. Not implemented for any drivers yet.
David Turner fed59b7c 2002-07-17T22:51:06 * src/sfnt/ttload.c (TT_Load_SFNT_Header): fixed a recent bug that prevented OpenType fonts to be recognized by FreeType
David Turner 3e19d85d 2002-07-17T21:52:20 * include/freetype/config/ftoption.h, include/freetype/internal/tttypes.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/pcf/pcfdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c, src/type42/t42objs.c, src/winfonts/winfnt.c: code cleanup, FT_CONFIG_OPTION_USE_CMAPS is now the default
David Turner 7acd73fd 2002-07-11T23:41:14 * src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttdriver.c: changing the SFNT loader to check for SFNT-based font files differently. We now ignore the range "helper" fields and check the "head" table's magic number instead.
David Turner 66013875 2002-07-11T16:27:16 updatinf the object sub-system and dynamic hash table implementations
David Turner ee06410b 2002-07-09T16:49:12 * src/pshinter/pshglob.c: fixed a bug that prevented the hinter from using correct standard width and height values. resulting in hinting bugs with certain fonts (e.g. Utopia)
David Turner f0f1b6ae 2002-07-08T23:05:14 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): added code to return succesfully when the function is called with a bitmap glyph (the previous code simply returned with an error)
David Turner 02c3aede 2002-07-08T23:02:32 * docs/DEBUG.TXT: adding debugging support documentation * src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): changed the syntax of the FT2_DEBUG environment variable used to control debugging output (i.e. logging and error messages). It must now look like: any:6 memory:4 io:3 or any:6,memory:4,io:3 or any:6;memory:4;io:3
David Turner 27c322e9 2002-07-08T22:26:11 * include/freetype/freetype.h, src/base/ftobjs.h, freetype/internal/ftobjs.h, freetype/internal/psaux.h, freetype/internal/pshints.h, src/psaux/t1decode.c, src/cff/cffgload.h, src/cff/cffgload.c, src/pshinter/pshalgo1.h, src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h, src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.h, src/pshinter/pshalgo3.c: Adding support for hinter-specific bit flags, and the new FT_Set_Hint_Flags high-level API
David Turner 0c46f70e 2002-07-01T21:53:54 * include/freetype/ftstroker.h, src/base/ftstroker.c, src/base/Jamfile: adding path stroker component (work in progress)
David Turner d36b4a59 2002-07-01T21:52:49 formatting
David Turner ac90c0e8 2002-07-01T21:35:17 * include/freetype/fttrigon.h, src/base/fttrigon.c: adding FT_Vector_From_Polar and FT_Angle_Diff to the trigonometric functions
David Turner 3dff94f5 2002-07-01T21:34:07 * include/freetype/internal/ftobject.h: updating the object sub-system definitions (still experimental)
David Turner 58ad559a 2002-07-01T21:33:48 * include/freetype/ftsynth.h, src/base/ftsynth.c: rewriting the automatic style synthesis functions, now renamed to FT_GlyphSlot_Oblique and FT_GlyphSlot_Embolden
David Turner 0d73b0c4 2002-06-26T23:45:21 * include/freetype/internal/ftobject.h: updating the object sub-system definitions (still experimental) * src/base/fthash.c (ft_hash_remove): fixing a small reallocation bug * include/freetype/fttrigon.h, src/base/fttrigon.c: adding FT_Vector_From_Polar and FT_Angle_Diff to the trigonometric functions * include/freetype/ftstroker.h, src/base/ftstroker.c: adding path stroker component (work in progress)
David Turner b7e18efc 2002-06-26T22:05:05 adding path stroker component (first steps)
David Turner 318f3bef 2002-06-26T20:30:37 * src/truetype/ttgload.c (TT_Load_Composite_Glyph), src/base/ftoutln.c (FT_Vector_Transform): fixed Werner's latest fix. FT_Vector_Transform wasn't buggy, the TrueType composite loader was...
Werner Lemberg 9cbb166d 2002-06-22T13:35:41 Minor fixes. Formatting.
David Turner 0460c1d9 2002-06-22T10:07:24 * include/freetype/internal/t42types.h, src/base/fttype1.c, src/type42/t42objs.h: removed duplicate definition of T42_FaceRec
Werner Lemberg 7e3df82e 2002-06-20T21:03:48 * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H. (t1_face_check_cast): Removed. (FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers also. * src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
Werner Lemberg 87a2bc7b 2002-06-20T10:57:04 * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo (xy <-> yx). * src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with `||' to make code easier to read.
Werner Lemberg fd97d137 2002-06-16T01:14:16 Fix glyph indices to make index zero always the undefined glyph. * src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease cmap->num_encodings. (bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index): Increase result by 1 for normal cases. (BDF_Glyph_Load): Decrease index by 1. * src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next, PCF_Char_Get_Index): Increase result by 1 for normal cases. (PCF_Glyph_Load): Decrease index by 1. * src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for allocating `encoding'. * src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix bounding tests.
David Turner 25a6e3a1 2002-06-10T23:03:35 * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c, src/base/ftobjs.c, src/objs/fttype1.c, src/sfnt/ttcmap0.c, src/smooth/ftgrays.c: changed uses of "setjmp" and "longjmp" to "ft_setjmp" and "ft_lonjmp". Removed direct references to <stdio.h> and <setjmp.h> when appropriate, to eventually replace them with a FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86 Font Server backend based on FT2.
Werner Lemberg 8c90c22d 2002-06-08T06:47:18 * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link) [FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code. Fix debugging messages. * src/type42/t42error.h: New file. * src/type42/t42drivr.c, src/type42/t42objs.c, src/type42/t42parse.c: Use t42 error codes. * src/type42/rules.mk: Updated. * src/base/ftnames.c: Include FT_INTERNAL_STREAM_H. Formatting, adding copyright messages.
David Turner 7504e48e 2002-06-07T07:24:55 * src/base/ftobjs.c (FT_Render_Glyph_Internal): changed definition from FT_EXPORT_DEF to FT_BASE_DEF
Werner Lemberg 5bbb4940 2002-05-30T19:22:14 * src/bdf/descrip.mms, src/type42/descrip.mms: New files. * descrip.mms (all): Updated. * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented compilation. * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
David Turner 2a4fa134 2002-05-28T22:07:49 * include/freetype/ftxf86.h, src/base/ftxf86.c: added a new API named FT_Get_X11_Font_Format to return an X11-compatible string describing the font format of a given face. This was put in a new optional base source file, corresponding to a new public header (named FT_XFREE86_H since this function should only be used within the XFree86 font server IMO). * include/freetype/config/ftheader.h: adding FT_XFREE86_H, though it's not documented yet. * include/freetype/t1tables.h, src/base/fttype1.c: adding two new APIs named "FT_Get_PS_Font_Info" and "FT_Has_PS_Glyph_Names". This required a new optional source in 'src/base' named "fttype1.c" * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: updating build control files for the new files "ftxf86.c" and "fttype1.c" in src/base
Werner Lemberg 877ff678 2002-05-28T06:03:10 * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT but FT_STREAM_READ. Declare `stream' variable.
David Turner 791d83a6 2002-05-27T23:52:01 * include/freetype/internal/tttypes.h, src/sfnt/ttload.c, src/sfnt/sfobjs.c, src/sfnt/sfdriver.c, src/base/ftnames.c: fixing the SFNT name table loader to support various buggy fonts. it now ignores empty name entries, entries with invalid pointer offsets and certain fonts containing tables with broken "storageOffset" fields. name strings are now loaded on demand, which reduces the memory requirements for a given FT_Face tremendously (for example, the name table of Arial.ttf is about 10Kb and contains 70 names !!) finally, this is a _quick_ fix. The whole name table loader and interface will be rewritten in a much more cleanly way shortly, once CSEH have been introduced in the sources.
Werner Lemberg 4d631e44 2002-05-27T13:02:37 Fix comment.
Werner Lemberg 233302a8 2002-05-22T05:41:06 * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed. (FT_BDF_H): New macro for accessing `ftbdf.h'. * src/type42/t42drivr.c (hexval): Fix typo.
David Turner 9e883cf6 2002-05-21T20:50:53 * include/freetype/internal/ftbdf.h, src/base/ftbdf.c, src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk: Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve BDF-specific strings from a face. This is much cleaner than accessing the internal types "BDF_Public_Face" defined in FT_INTERNAL_BDF_TYPES_H
David Turner 10937304 2002-05-01T08:46:56 * include/freetype/internal/fthash.h, src/base/fthash.c: adding a generic implementation of dynamic hash tables using linear algorithm (to get rid of 'stalls' during resizes). This will be used in the future in at least three parts of the library: the cache sub-system, the object sub-system and the memory debugger. * include/freetype/internal/ftcore.h: added this header file to group all new definitions related to exception handling and memory management. It's very likely that this file will disappear or be renamed in the future.. * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h: adding comments to better explain the object sub-system as well as the new memory manager interface.
Werner Lemberg 9ca7a157 2002-04-30T14:26:49 * src/base/ftmac.c (p2c_str): Removed. (file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for OS X. (is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X. Handle `nameLen' <= 6 also. (parse_fond): Remove unused variable `name_table'. Use functionality of old p2c_str directly. Add safety checks. (read_lwfn): Initialize `size_p'. Check for size_p == NULL. (new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1. (FT_New_Face_From_LWFN): Remove unused variable `memory'. Remove some dead code. (FT_New_Face_From_SFNT): Remove unused variable `stream'. (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X. (FT_New_Face_From_FOND): Remove unused variable `error'. (ResourceForkSize): New function. (FT_New_Face): Use it. Handle empty resource forks. Conditionalize some code for OS X. Add code to call normal loader as a fallback. Some more variable renames to avoid troubles on the Mac. * src/raster/ftraster.c: s/Unknown|Ascending|Descending|Flat/\1_State/. * src/smooth/ftgrays.c: s/TScan/TCoord/. Other changes for the Mac. * include/freetype/config/ftconfig.h: Define FT_MACINTOSH for Mac platforms. * src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/. * src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always an even number.
Werner Lemberg 5f0ee94c 2002-04-30T06:37:52 `interface' is reserved on the Mac. * include/freetype/ftoutln.h, include/freetype/internal/sfnt.h, src/base/ftoutln.c: s/interface/func_interface/. * src/base/ftbbox.c (FT_Outline_Get_BBox): s/interface/bbox_interface/. * src/cff/cffdrivr.c: s/interface/module_interface/. * src/cff/cffload.c, src/cff/cffload.h: s/interface/psnames_interface/. * src/cid/cidriver.c: s/interface/cid_interface/. * src/sfnt/sfdriver.c: s/interface/module_interface/. * src/smooth/ftgrays.c: s/interface/func_interface/. * src/truetype/ttdriver.c: s/interface/tt_interface/. * src/type1/t1driver.c: s/interface/t1_interface/.
David Turner e7880499 2002-04-25T21:42:59 adding experimental (alpha) exception support code + system code
David Turner f5749608 2002-04-18T10:07:26 * src/base/ftobjs.c, builds/win32/ftdebug.c, builds/amiga/src/base/ftdebug.c : 2.1.0 couldn't be linked against applications in Win32 and Amiga builds due to changes to "src/base/ftdebug.c" that were not properly propagated to "builds/win32" and "builds/amiga".. this has been fixed. We'll probably make 2.1.1 real soon now.. * include/freetype/internal/ftobject.h, include/freetype/internal/ftexcept.h, include/freetype/ftsysmem.h, include/freetype/ftsysio.h, src/base/ftsysmem.c, src/base/ftsysio.c: adding new experimental files for 2.1.1 (or 2.1.2)
David Turner 88027fdd 2002-04-17T11:32:10 fixing typo preventing compilation in non-debugging modes
David Turner d15bc0d1 2002-04-12T09:31:48 * README.UNX: updated the Unix-specific quick-compilation guide to warn about the GNU Make requirement at compile time.. * include/freetype/config/ftstdlib.h, include/freetype/config/ftconfig.h, include/freetype/config/ftheader.h, include/freetype/internal/ftmemory.h, include/freetype/internal/ftobjs.h, src/autohint/ahoptim.c, src/base/ftdbgmem.c, src/base/ftdebug.c, src/base/ftmac.c, src/base/ftobjs.c, src/base/ftsystem.c, src/cache/ftcimage.c, src/cache/ftcsbits.c, src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c, src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c, src/pcf/pcfdriver.c, src/pcf/pcfread.c, src/psaux/t1cmap.c, src/psaux/t1decode.c, src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c, src/pshinter/pshrec.c, src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, src/smooth/ftgrays.c, src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c: added the new configuration file "ftstdlib.h" used to define aliases for all ISO C library functions used by the engine (e.g. strlen, qsort, setjmp, etc...) this eases the porting of FreeType 2 to exotic environments like XFree86 modules/extensions.. also removed many #include <string.h>, #include <stdlib.h>, etc... from the engine's sources where they're not needed..
Werner Lemberg 04728a8b 2002-04-02T14:50:31 Fixes from the stable branch: * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS): Removed. [FT_CONFIG_OPTION_OLD_CALCS]: Removed. * include/freetype/internal/ftcalc.h, src/base/ftcalc.c [FT_CONFIG_OPTION_OLD_CALCS]: Removed. * src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match output of FreeType 1. * src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small bug that created un-even stem widths when hinting Postscript fonts. formatting, updating copyright
Werner Lemberg f8ba2005 2002-03-30T13:16:35 * include/freetype/t1tables.h (t1_blend_max): Fix typo. * src/base/ftstream.c: Simplify FT_ERROR calls. formatting, copyright update
Werner Lemberg b1e6e597 2002-03-29T07:43:04 * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h files. * builds/unix/ftconfig.in: Add argument to FT_LOCAL and FT_LOCAL_DEF. * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/. * builds/unix/configure.ac: Temporarily deactivate creation of ../../Jamfile. * builds/unix/configure: Updated.
Werner Lemberg 1305f261 2002-03-28T08:07:16 * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix compiler warnings. * include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for some members. * src/base/ftapi.c (FT_New_Memory_Stream): Fix typos. * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add cast. (t1_cmap_{standard,expert,custom,unicode}_class_rec): Use `FT_CALLBACK_TABLE_DEF'. * src/psaux/t1cmap.h: Updated. * src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none' instead of zero. * src/type1/t1objs.c (T1_Face_Init): Use casts.
David Turner 2ded2c1d 2002-03-22T22:37:40 * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c: various fixes to make the FT_CMaps support work correctly (more tests are still needed)
David Turner ed54f28e 2002-03-22T17:09:52 various fixes to the FT_CMaps support
David Turner e459d742 2002-03-22T13:52:37 * include/freetype/internal/ftmemory.h, and a lot of other files !!: changed the names of memory macros. Examples: MEM_Set => FT_MEM_SET MEM_Copy => FT_MEM_COPY MEM_Move => FT_MEM_MOVE ALLOC => FT_ALLOC FREE => FT_FREE REALLOC = >FT_REALLOC FT_NEW was introduced to allocate a new object from a _typed_ pointer.. note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer arguments. This results in _lots_ of sources being changed, but makes the code more generic and less error-prone..
David Turner a890c29c 2002-03-22T12:55:23 * include/freetype/internal/ftstream.h, src/base/ftstream.c, src/cff/cffload.c, src/pcf/pcfread.c, src/sfnt/ttcmap.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c, src/truetype/ttgload.c, src/truetype/ttpload.c, src/winfonts/winfnt.c: changed the definitions of stream macros. Examples: NEXT_Byte => FT_NEXT_BYTE NEXT_Short => FT_NEXT_SHORT NEXT_UShortLE => FT_NEXT_USHORT_LE READ_Short => FT_READ_SHORT GET_Long => FT_GET_LONG etc.. also introduced the FT_PEEK_XXXX functions..
David Turner e2f4e52a 2002-03-21T15:00:13 * src/base/ftobjs.c (FT_Get_Next_Char): updated to new FT_CMap definitions
David Turner a02976d2 2002-03-20T15:37:12 * src/base/ftdbgmem.c (ft_mem_table_destroy): fixed a small bug that caused the library to crash with Electric Fence when memory debugging is used..
David Turner 095a4cc1 2002-03-20T15:35:53 * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): fixed a memory allocation bug that was due to un-careful renaming of the FT_SubGlyph type..
David Turner 7d3a2642 2002-03-20T10:49:31 * renaming stream macros. Examples: FILE_Skip => FT_STREAM_SKIP FILE_Read => FT_STREAM_READ ACCESS_Frame => FT_FRAME_ENTER FORGET_Frame => FT_FRAME_EXIT etc...
David Turner 4bd5d0a3 2002-03-20T09:42:31 formatting
David Turner eba5ad4b 2002-03-14T12:56:35 no message
David Turner b5713c54 2002-03-14T11:26:29 * include/freetype/internal/psglobals.h (removed), include/freetype/internal/pshints.h, src/pshinter/pshglob.h: removing obsolete file * include/freetype/internal/tttypes.h, include/freetype/internal/sfnt.h, src/base/ftnames.c, src/cff/cffdrivr.c, src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type definitions
David Turner b93b0f5f 2002-03-14T09:28:51 * include/freetype/internal/ftobjs.h, src/base/ftapi.c, src/base/ftobjs.c: updated a few face method definitions: FT_PSName_Requester => FT_Face_GetPostscriptNameFunc FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
David Turner ef3c1265 2002-03-14T09:22:48 * include/freetype/internal/ftdriver.h, include/freetype/internal/ftobjs.h, src/base/ftapi.c, src/base/ftobjs.c, src/cff/cffdrivr.c, src/cff/cffdrivr.h, src/cid/cidriver.c, src/cid/cidriver.h, src/pcf/pcfdriver.c, src/pcf/pcfdriver.h, src/truetype/ttdriver.c, src/truetype/ttdriver.h, src/type1/t1driver.c, src/type1/t1driver.h, src/winfonts/winfnt.c, src/winfonts/winfnt.h: updating the type definitions for font font drivers
David Turner 9657ef05 2002-03-14T08:49:59 * include/freetype/internal/autohint.h, src/autohint/ahmodule.c, src/base/ftapi.c, src/base/ftobjs.c: updating the type definitions for the auto-hinter module. (i.e. FT_AutoHinter_Interface => FT_AutoHinter_ServiceRec, FT_AutoHinter_Interface* => FT_AutoHinter_Service, etc..)
Werner Lemberg 4ef4bdf0 2002-03-07T23:22:28 * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset.
Werner Lemberg 0d9165e1 2002-03-07T21:59:59 * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new, ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug, FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings. * src/base/ftcalc.c (FT_MulFix): Ditto. * src/cff/cffdrivr.c (cff_get_name_index): Ditto. * src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init, CFF_GlyphSlot_Init): Ditto. * src/cid/cidobjs.c (CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs): Ditto. * src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init): Ditto. * src/pshinter/pshmod.c (pshinter_interface): Use `static const'. * src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused variables. * include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed to... (T1_Builder_FuncsRec): This. (T1_Builder_Funcs): New typedef. (PSAux_Interface): Remove compiler warnings. * src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h (t1_builder_funcs): Updated. * src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ... (PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines. (PSH_AlignmentRec): Updated. * include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix typo. * include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto. * src/base/ftstream (FT_Get_Char): Rename to... (FT_Stream_Get_Char): This. * src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is a built-in function in gcc, causing warning messages with gcc 3.0. * src/autohint/ahglyph.c (ah_outline_load): Ditto. * src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto. * src/cache/ftcmanag.c (ftc_family_table_alloc, ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache): Ditto. * src/cff/cffload.c (cff_new_index, cff_done_index, cff_explicit_index, CFF_Access_Element, CFF_Forget_Element, CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font, CFF_Done_Font): Ditto. * src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto. * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto. * src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit, ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3, * src/pshinter/pshalgo1.c (psh1_hint_table_record, psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto. * src/pshinter/pshalgo2.c (psh2_hint_table_record, psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto. * src/sfnt/ttpost.c (Load_Format_20, Load_Format_25, TT_Get_PS_Name): Ditto. * src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics, load_truetype_glyph): Ditto. * src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto. * src/type1/t1afm.c (T1_Get_Kerning): Ditto. * include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
David Turner 83b4a4b5 2002-03-06T12:42:34 * include/freetype/freetype.h, include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/base/ftinit.c: adding the new FT_Library_Version API to return the library's current version in dynamic links.
David Turner bc82f1bb 2002-03-01T02:26:22 * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx ) everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated into FT_LOCAL_DEF( xxxxx )
David Turner 041889e7 2002-02-28T19:28:26 * include/freetype/freetype.h: changing version to 2.1.0 to indicate an unstable branch. Added the declarations of FT_Get_First_Char and FT_Get_Next_Char * src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char
David Turner 4e7eeeec 2002-02-28T16:10:29 yet another logical transformation of the internals to make them more consistent and understandable.. mainly, changing things like PS_Table => PS_TableRec + *PS_Table
David Turner 53b3fa1d 2002-02-24T05:26:57 * renaming stream functions to the FT_Subject_Action scheme: FT_Seek_Stream => FT_Stream_Seek FT_Skip_Stream => FT_Stream_Skip FT_Read_Stream => FT_Stream_Read FT_Read_Stream_At => FT_Stream_Read_At FT_Access_Frame => FT_Stream_Enter_Frame FT_Forget_Frame => FT_Stream_Exit_Frame FT_Extract_Frame => FT_Stream_Extract_Frame FT_Release_Frame => FT_Stream_Release_Frame FT_Get_XXXX => FT_Stream_Get_XXXX FT_Read_XXXX => FT_Stream_Read_XXXX note also that: FT_New_Stream( filename, stream ) => FT_Stream_Open( stream, filename ) (the function doesn't create the FT_Stream structure, it simply initializes it for reading) FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) => FT_Stream_Open_Memory( stream, const FT_Byte* base, size ) FT_Done_Stream => FT_Stream_Close note that the name of the stream methods, defined in "include/freetype/ftsystem.h" have also been changed without problems: FT_Stream_IO => FT_Stream_IOFunc FT_Stream_Close => FT_Stream_CloseFunc
David Turner 4d57024d 2002-02-24T02:59:24 * moving all code related to glyph loaders to "internal/ftgloadr.h" and "src/base/ftgloadr.c". Note also that the type "FT_GlyphLoader" is now a pointer to the structure "FT_GlyphLoaderRec"..
David Turner 4a233510 2002-02-24T02:39:08 renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP"
David Turner d248d8d6 2002-02-22T18:29:12 adding API-specific source
David Turner 2c2b3734 2002-02-22T17:58:05 adding glyph loader routines (previously in ftobjs.c)
David Turner c919c7d4 2002-02-22T14:40:12 adding new file
Werner Lemberg af8df850 2002-02-22T00:58:04 * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in enum to avoid compiler warnings.
David Turner 222cec8c 2002-02-21T11:48:48 * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified the debug sub-system initialization. trace levels can now be specified within the "FT2_DEBUG" environment variable. See the comments within "ftdebug.c" for more details * include/freetype/internal/fttrace.h: new file to define the trace levels used for debugging. it is used both to define enums and toggle names for FT2_DEBUG * src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to FT_ASSERT * include/freetype/internal/ftextend.h, src/base/ftextend.c, src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the library, since it is now completely obsolete..
Werner Lemberg 0f7c2f1a 2002-02-04T20:55:58 Adding the function `FT_Get_Next_Char', doing the obvious thing w.r.t. the selected charmap. * include/freetype/freetype.h: Add prototype. * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar' typedef. (FT_Driver_Class): Use it. * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func' typedef. (PSNames_Interface): Use it. * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func' typedef. (TT_CMapTable): Use it. * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing high-level API. * src/cff/cffdrivr.c (cff_get_next_char): New function. (cff_driver_class): Add it. * src/cid/cidriver.c (Cid_Get_Next_Char): New function. (t1cid_driver_class): Add it. * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function. (pcf_driver_class): Add it. * src/psnames/psmodule.c (PS_Next_Unicode): New function. (psnames_interface): Add it. * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4, code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary functions. (TT_CharMap_Load): Use them. * src/truetype/ttdriver.c (Get_Next_Char): New function. (tt_driver_class): Add it. * src/type1/t1driver.c (Get_Next_Char): New function. (t1_driver_class): Add it. * src/winfnt/winfnt.c (FNT_Get_Next_Char): New function. (winfnt_driver_class): Add it. * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for Unicode and Latin 1 encodings.