src/base/ftobjs.c


Log

Author Commit Date CI Message
Werner Lemberg 7b0cc663 2003-07-05T07:46:49 formatting
Werner Lemberg 6d798993 2003-07-01T07:28:55 A new try to synchronize bitmap font access. include/freetype/freetype.h (FT_Bitmap_Size): `height' is now defined to return the baseline-to-baseline distance. This was already the value returned by the BDF and PCF drivers. The `width' field now gives the average width. I wasn't able to find something better. It should be taken as informative only. New fields `size', `x_ppem', and `y_ppem'. * src/pcf/pcfread.c (pcf_load_font): Updated to properly fill FT_Bitmap_Size. Do proper rounding and conversion from 72.27 to 72 points. * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill FT_Bitmap_Size. Do proper rounding and conversion from 72.27 to 72 points. * src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill FT_Bitmap_Size. * src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill FT_Bitmap_Size. Redesigning the FNT driver to return multiple faces, not multiple strikes. At least one font (app850.fon from WinME) contains different FNT charmaps for its subfonts. Consequently, the previous design of having multiple bitmap strikes in a single font face fails since we have only one charmap per face. * include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed. (FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with `font'. * src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated. * src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal to pixel_height. (fnt_face_done_fonts): Removed. (fnt_face_get_dll_fonts): Renamed to... (fnt_face_get_dll_font): This. Add second function argument to select face index. Updated to load just one subfont. (fnt_font_done, FNT_Face_Done): Updated. (FNT_Face_Init): Handle `face_index'. Updated. (FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the bitmap width is now ignored. (FNT_Load_Glyph): Updated. Fix glyph index computation. (winfnt_driver_class): Updated.
Werner Lemberg 779afe4b 2003-06-22T15:33:53 * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in computation of glyph_index. (FNT_Size_Set_Pixels): To find a strike, first check pixel_height only, then try to find a better hit by comparing pixel_width also. Without this fix it isn't possible to access all strikes. Also compute metrics.max_advance to be in sync with other bitmap drivers. * src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code. (FT_Set_Pixel_Size): Assign value to `metrics' after validation of arguments. Synchronize computation of height and width for bitmap strikes. The `width' field in the FT_Bitmap_Size structure is now only useful to enumerate different strikes. The `max_advance' field of the FT_Size_Metrics structure should be used to get the (maximum) width of a strike. * src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for computing `available_sizes->width' but make it always equal to `available_sizes->height'. * src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for computing `available_sizes->width' but make it always equal to `available_sizes->height'. * src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single argument to function. * src/psnames/psmodule.c (ps_unicode_value): Handle `.' after `uniXXXX' and `uXXXX[X[X]]'. * src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/. * src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c: s/FT_Err_/FTC_Err_/. * src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/. * src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/. * src/psaux/t1cmap.c: Include psauxerr.h. s/FT_Err_/PSaux_Err_/. * src/pshinter/pshnterr.h: New file. * src/pshinter/rules.mk: Updated. * src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h. s/FT_Err_/PSH_Err_/. * src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c: s/FT_Err_/PFR_Err_/. * src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/. * src/truetype/ttgload.c: s/FT_Err_/TT_Err_/. * src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define FT_ERR_PREFIX and FT_ERR_BASE. s/FT_Err_/Gzip_Err_/.
Werner Lemberg 7a024104 2003-06-18T06:59:57 * include/freetype/freetype.h (FT_Open_Flags): Replaced with #defines for the constants. (FT_Open_Args): Change type of `flags' to FT_UInt. (FT_GlyphSlot): Move `flags' to FT_Slot_Internal. * include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag): Replaced with #defines for the constants. * include/freetype/internal/ftobjs.h (FT_Slot_Internal): New field `flags' (from FT_GlyphSlot). Updated all affected source files. (FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h). * include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved to ftobjs.h. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy FT_GlyphSlot_Internal object.
Werner Lemberg 8b884660 2003-06-03T11:51:43 * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a wrapper for ah_hint_edges. (ah_hint_edges): Renamed to... (ah_hinter_hint_edges): This. * src/base/ftobjs.c (FT_Set_Hint_Flags): Removed. Unused. * include/freetype/internal/ftobjs.h (FT_Face_InternalRec), include/freetype/internal/psaux.h (T1_DecoderRec), src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field. Unused. * src/cff/cffgload.c (cff_builder_init): Updated. (cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply with decoder->hint_mode instead of builder->hint_flags. * src/psaux/t1decode.c (t1_decoder_init): Updated. * src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/. * src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which increased root->height by 15% if the line gap was zero. There exist fonts (containing e.g. form drawing characters) which intentionally have a zero line gap value.
Werner Lemberg f35ff801 2003-06-02T21:58:05 * src/cff/cffobjs.c (cff_face_init): Use symbolic names for Adobe specific encoding IDs (there was a wrong EID value for custom encoding). * src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'. * src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_encoding_done): Updated. (cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use 256 as limit for character code.
Werner Lemberg e20ab691 2003-06-02T07:24:33 * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from 2003-03-20.
Werner Lemberg 65ba724b 2003-05-30T09:12:50 Avoid overwriting of numeric font dictionary entries for synthetic fonts. Additionally, some entries were handled as `integer' instead of `number'. * include/freetype/internal/psaux.h (T1_FieldType): Add T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and T1_FIELD_TYPE_FIXED_P. (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros. * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types. * include/freetype/internal/cfftypes.h (CFF_FontRecDict), src/cff/cfftoken.h: Change type of underline_position and underline_thickness to FT_Fixed. * src/cff/cffload.c (cff_subfont_load): Fix default values of underline_position and underline_thickness. * src/cff/cffobjs.c (cff_face_init): Set underline_position and underline_thickness in `root'. * include/freetype/internal/t1types.h (T1_Font): Change point_type and stroke_width to pointers. * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type1/t1objs.c (T1_Face_Done): Updated. (T1_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed'. * src/cid/cidobjs.c (cid_face_done): Updated. (cid_face_init): Updated. Fix assignment of underline_position and underline_thickness. * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type42/t42objs.c (T42_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. (T42_Face_Done): Updated. * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning. * src/pshinter/pshglob.c, src/pshinter/pshglob.h (psh_globals_set_scale): Make it a local function. * test/gview.c: Fix remaming ps3->ps typo. Formatting.
Werner Lemberg 282637f6 2003-05-21T07:39:42 * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro for strcat. * src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/. (parse_font): s/memcpy/ft_memcpy/. (is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/. * src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]: s/strlen/ft_strlen/. s/strcat/ft_strcat/. s/strcpy/ft_strcpy/. * src/gzip/zutil.h: s/memset/ft_memset/. s/memcmp/ft_memcmp/. * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c (PCF_Face_Init): Test for charset registry case-insensitively. * t1load.c (parse_blend_axis_types): Fix compiler warning. * descrip.mms: Removed. Now created by... * vms_make.com: New file.
Werner Lemberg 77c34b82 2003-05-20T22:06:38 * t1load.c (parse_blend_axis_types): Fix compiler warning. * src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta' to prevent infinite loop. * docs/VERSION.DLL: Provide better autoconf snippet to check FreeType version. * src/base/ftobjs.c (open_face): Free `internal' not `face->internal' in case of error to avoid possible segfault. * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we actually have an outline.
Werner Lemberg c98501b0 2003-05-19T20:34:42 Add comment to #ifdef section in #ifndef.
Werner Lemberg 51daa4fe 2003-05-18T22:40:11 * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test. * include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]: New macro. * src/base/ftobjs.c: Use it to control mac font support on non-mac platforms. Implement partial support of Mac fonts on non-Mac platforms. * src/base/ftobjs.c (memory_stream_close, new_memory_stream, open_face_from_buffer, Mac_Read_POST_Resource, Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face) [!FT_MACINTOSH]: New functions. (FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face. * src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by zero since FNT and friends don't define `face->units_per_EM').
Werner Lemberg 2cba64d3 2003-04-28T08:51:07 * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for `glyph_index'.
Werner Lemberg 428c2e4f 2003-04-25T05:35:04 * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first argument. (bdf_get_font_property): Use `const' for third argument. Updated all callers. * src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height similar to the PCF driver. * src/bdf/bdf.h (_hashnode): Use `const' for `key'. Updated. * src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask' is declared twice. It is perhaps better to modify the zlip source files directly instead of this hack. (zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts to make build with g++ successful.
Werner Lemberg 319c00d7 2003-04-23T19:48:24 Fixing bugs reported by Nelson Beebe. * src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused variable `in_path'. * src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of second argument to `FT_Byte*'. * include/freetype/internal/ftobjs.h: Updated. * src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'. (_bdf_parse_glyphs): Remove unused variable `next'. Mark `call_data' as unused. * src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable `plast'. * src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to actually use `error'. (pcf_load_font): Remove unused variable `avgw'. * src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type to `void'. Mark `error' as unused. * src/pfr/pfrobjs.h: Updated. * src/pfr/pfrdrivr.c (pfr_get_kerning): Updated. * src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable `format_tag'. * src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove unused variable `start'. (tt_cmap10_char_next): Remove unused variable `result' * src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused. * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as unused. * src/type1/t1objs.c (T1_Face_Init): Remove unused variable `pshinter'. * src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded' only for FT_CONFIG_OPTION_INCREMENTAL.
Werner Lemberg c8c6bf5c 2003-04-23T05:38:13 Cleanups; adding some copyrights; formatting.
David Turner 5158fbc0 2003-03-27T21:35:44 * README: udpated * README.UNX: removed (now replaced by docs/INSTALL.UNX) * src/pshinter/pshalgo3.c: the hinter now performs as in 2.1.3 and will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is used * src/base/ftobjs.c: changed the default computations to include rounding in all cases, this is required to provide accurate kerning data when native TrueType hinting is enabled. * src/type1/t1load.c: the Type 1 loader now accepts more general names according to the Postscript spec (the previous one was too restrictive)
David Turner 66cbc209 2003-03-20T07:04:40 * docs/*: serious rewriting of the documentation * include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c, src/pcf/pcfdriver.c, src/pfr/pfrsbit.c, src/sfnt/ttsbit.c, src/type42/t42objs.c, src/winfonts/winfnt.c: introduced three new functions to deal with glyph bitmaps within FT_GlyphSlot objects. these are: ft_glyphslot_free_bitmap ft_glyphslot_alloc_bitmap ft_glyphslot_set_bitmap these are much more convenient to use than managing the FT_GLYPH_OWN_BITMAP flag manually. the font drivers have been modified to use them as well. * src/cache/ftlru.c: fixed an invalid assertion check
David Turner ae26c684 2003-02-25T20:37:50 * src/cache/ftccmap.c: the cmap cache now supports UCS-4 charmaps when available in Asian fonts * src/sfnt/ttload.c, src/base/ftobjs.c: changed "asian" to "Asian" in comments * src/truetype/ttdriver.c (Set_Char_Sizes): fixed a rounding bug when computing the scale factors for a given character size in points with resolution.
David Turner ba4511b8 2003-02-18T22:25:22 * src/truetype/ttdriver.c, src/truetype/ttobjs.h, src/truetype/ttobjs.c, src/truetype/ttinterp.c, src/base/ftobjs.c: fixing the slight distortion problem that occured due to the latest auto-hinter changes
David Turner 4bdf4350 2003-01-30T23:24:18 various improvements for 2.1.4. see ChangeLog, I've got problems with copy & paste on my desktop !!
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 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 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
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 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 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 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
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.
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 4d631e44 2002-05-27T13:02:37 Fix comment.
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.
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 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 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
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 e2f4e52a 2002-03-21T15:00:13 * src/base/ftobjs.c (FT_Get_Next_Char): updated to new FT_CMap definitions
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 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..)
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 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.
David Turner f86709a1 2002-01-07T10:04:09 * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c, src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c, src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler warnings (in pedantic compilation modes)
David Turner 7fe38a51 2002-01-04T09:47:30 remove compiler warnings and a typo in builds/unix/ftsystem.c
Werner Lemberg 1a0a9793 2002-01-03T22:06:13 * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler warning.
David Turner 662b344c 2002-01-03T16:56:59 * src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the library when dealing with certain weird fonts (like "Stalingrad", in "sadn.pfb". This font has no full font name entry.. ) * src/base/ftoutln.c, include/freetype/ftoutln.h: added the FT_Outline_Check API to check the consistency of outline data * src/base/ftobjs.c (FT_Load_Glyph): added a call to the new FT_Outline_Check to ensure that loaded glyphs are valid. This allows certain fonts like "tt1095m_.ttf" to be loaded even though it appears they contain really funky glyphs.. there still is a bug there though.. !!
Werner Lemberg f41e71a1 2001-12-20T21:22:02 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning. Formatting.
David Turner c8087481 2001-12-20T13:14:18 * docs/TODO: added "stem3 and counter hints support" to the TODO list for the Postscript hinter * docs/BUGS: closed the AUTOHINT-NO-SBITS bug. * src/pshinter/pshrec.c (t2_hint_stems), src/cff/cffobjs.h, src/cff/cffobjs.c, src/cff/cffload.c, src/cff/cffload.h, src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffdriver.c, include/freetype/internal/cfftypes.h: added Postscript hinter support to the CFF driver * src/base/ftobjs.c (FT_Done_Library): fixed a stupid bug that crashed the library on exit
Werner Lemberg 0d535112 2001-12-19T22:26:12 Formatting. CFF encoding tables moved back from cffload.c to cffload.h.
David Turner 4937a3eb 2001-12-19T21:09:16 * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c (FT_Load_Glyph): "fixed" the bug that prevented embedded bitmaps from begin loaded when the auto-hinter is used.. This actually is a hack but will be enough until the internal re-design scheduled for FreeType 2.1
Werner Lemberg aef3fc81 2001-12-17T16:21:22 * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid glyph header.
David Turner c8ad30a7 2001-12-05T17:24:34 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): re-ordered code for debugging purposes.. * src/smooth/ftsmooth.c (ft_smooth_render): fixed a nasty hidden bug where outline shifting wasn't correctly undone after bitmap rasterization. this created problems with certain glyphs (like '"' of certain fonts..) and the cache system..
Werner Lemberg c3b21608 2001-12-05T01:22:05 Formatting. Cleaning up of ChangeLog. * docs/license.txt: s/X Windows/X Window System/. * src/raster/ftraster.c: Fix definition condition of MEM_Set(). * src/smooth/ftgrays.c (M_Y): Change value to 192. * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter. Remove unused variable. * src/cache/ftcimage.c (ftc_image_node_init, ftc_image_node_compare): Remove unused variables. * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused variable. * src/raster/ftraster.c (MEM_Set): Move definition down to avoid compiler warning. * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to avoid compiler warnings. * src/pcf/pcfread.c (tableNames): Use `const'. (pcf_read_TOC): Change counter name to avoid compiler warning. Use `const'. * src/pshinter/pshrec.c (ps_hints_close): Remove redundant declaration. * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables to avoid shadowing. * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto. * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()' and `T1_Size_Done()'.
David Turner a1471038 2001-10-18T11:23:51 fixing a "bug" that affected the Postscript hinter: growing a memory block though "realloc" didn't clear the new bytes of memory..
David Turner 23bcde19 2001-10-17T13:48:10 implementing a new function named "FT_Get_Postscript_Name" to retrieve a face's "unique" Postscript name
Werner Lemberg 80b8d770 2001-10-10T19:56:42 Fixed a bug in `glnames.py' that prevented it from generating correct glyph names tables. This resulted in the unavailability of certain glyphs like `Cacute', `cacute' and `lslash' in Unicode charmaps, even if these were present in the font (causing problems for Polish users). * src/tools/glnames.py (mac_standard_names): Fixed. (t1_standard_strings): Some fixes and renamed to ... (sid_standard_names): This. (t1_expert_encoding): Fixed. (the_adobe_glyph_list): Renamed to ... (adobe_glyph_names): This. (the_adobe_glyphs): Renamed to ... (adobe_glyph_values): This. (dump_mac_indices, dump_glyph_list, dump_unicode_values, main): Updated. * src/psnames/pstables.h: Regenerated. * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset. Fix return value. Use `sid_standard_table' and `ps_names_to_unicode' instead of `t1_standard_glyphs' and `names_to_unicode'. (PS_Macintosh_Name): Use `ps_glyph_names' instead of `standard_glyph_names'. (PS_Standard_Strings): Use `sid_standard_names' instead of `t1_standard_glyphs'. * doc/BUGS, doc/TODO: New documents. * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented correct LRU behaviour. setjmp() and longjmp() are now used for rollback (i.e. when memory pool overflow occurs). Function names are now all uniformly prefixed with `gray_'. * src/smooth/ftgrays.c: Include <setjmp.h>. (ErrRaster_MemoryOverflow): New macro. (TArea): New type to store area values in each cell (using `int' was too small on 16-bit systems). <limits.h> is included to properly get the needed data type. (TCell, TRaster): Use it. (TRaster): New element `jump_buffer'. (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get `outline' from it. (gray_record_cell): Use longjmp(). (gray_set_cell): Use gray_record_cell() for error handling. (gray_render_line, gray_render_conic, gray_render_cubic): Simplify. (gray_convert_glyph_inner): New function, using setjmp(). (gray_convert_glyph): Use it. Provide a public API to manage multiple size objects for a given FT_Face in the new header file `ftsizes.h'. * include/freetype/ftsizes.h: New header file, * include/freetype/internal/ftobjs.h: Use it. Remove declarations of FT_New_Size and FT_Done_Size (moved to ftsizes.h). * include/freetype/config/ftheader.h (FT_SIZES_H): New macro. * src/base/ftobjs.c (FT_Activate_Size): New function. * src/cache/ftcmanag.c: Include ftsizes.h. (ftc_manager_init_size, ftc_manager_flush_size): Use FT_Activate_Size.
David Turner b3ba40dd 2001-10-07T13:30:26 * include/freetype/ftsizes.h, src/base/ftobjs.c, src/cache/ftcmanag.c: added a new header, named "ftsizes.h" (FT_SIZES_H) to provide a public API to manage multiple size objects for a given FT_Face.
Werner Lemberg 5dea4443 2001-08-13T11:44:29 Updating to OpenType 1.3. * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4, TT_CMap6): Adding field `language'. (TT_CMapTable): Removing field `language'. Type of `length' field changed to FT_ULong. Adding fields for cmaps format 8, 10, and 12. (TT_CMapGroup): New auxiliary structure. (TT_CMap8_12, TT_CMap10): New structures. * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader): Removed last element of `Reserved' array. * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4, TT_NAME_ID_CID_FINDFONT_NAME): New macros. * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language' field to the new structures. Fixed freeing of arrays in case of unsuccessful loads. Added support for loading format 8, 10, and 12 cmaps. (TT_CharMap_Free): Added support for freeing format 8, 10, and 12 cmaps. (code_to_index4): Small improvement. (code_to_index6): Ditto. (code_to_index8_12, code_to_index10): New functions. * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new structure. (TT_Load_CMap): Ditto. * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS Unicode). * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
Tom Kacvinsky ff2714fe 2001-08-08T10:58:08 Added function FT_Get_Name_Index, used to return a glyph index for a given glyph name only if the driver supports glyph names.
Werner Lemberg 415235df 2001-06-28T17:49:10 finishing function header formatting updating copyrights
Werner Lemberg f814d0fa 2001-06-27T16:18:10 First round in converting type foo ( ... ) to type foo ( ... ) Other minor formatting issues.
Werner Lemberg 8eb0353f 2001-06-19T23:03:41 Formatting.
David Turner 8edbcabc 2001-06-19T08:28:24 - updated doc for FT_New_Memory_Face - removed lots of compiler warnings in lint-style warning modes (/W4 with Visual C++)
Werner Lemberg cf24d515 2001-06-18T14:23:45 Minor cleanups to remove compiler warnings. * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use `L' for constant. * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto. * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant. * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable. * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants. * src/base/ftobjs.c (FT_Done_Size): Fix return value. (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove unused `memory' variable. * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant. * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_align_edge_points): Remove unused `before' and `after' variables. (ah_hinter_align_weak_points): Remove unused `edge_limit' variable. (ah_hinter_load): Remove unused `new_advance', `start_contour', and `metrics' variables. * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid compiler warning. * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset' variable. * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused `outline' variable. (cff_compute_bias): Use `U' for constant. * src/cid/cidload.c (cid_decrypt): Ditto. * src/psaux/psobjs.c (T1_Decrypt): Ditto. * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto. * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version' variable. * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top' variable. * src/truetype/ttgload.c (load_truetype_glyph): Remove unused `num_contours' and `ins_offset' variables. (compute_glyph_metrics): Remove unused `Top' and `x_scale' variables. (TT_Load_Glyph): Remove unused `memory' variable. * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
Werner Lemberg 79860707 2001-06-08T21:17:29 Increase `version_info' to 7:0:1. Fixed a bug that returned an invalid linear width for composite TrueType glyphs. * include/internal/tttypes.h (TT_Loader_): Two new elements `linear' and `linear_def'. * src/truetype/ttgload.c (load_truetype_glyph, compute_glyph_metrics): Use it. * include/fttypes.h (FT_ERROR_BASE): New macro. * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it to make source code work with the new error scheme implemented by Werner. * src/base/ftoutln.c (FT_Outline_Render): Ditto.
David Turner 57d4de0e 2001-06-08T13:29:36 fixed a bug that returned an invalid linear width for composite TrueType glyphs fixed source code to work with the new error scheme implemented by Werner
Werner Lemberg 55798126 2001-05-17T06:27:17 formatting
David Turner 61d6b2b9 2001-05-16T17:49:07 * src/truetype/ttgload.c (load_truetype_glyph): fixed a bug in the composite loader spotted by Keith Packard.
David Turner ebe85f59 2001-05-11T14:25:57 * include/freetype/fttrigon.h, src/base/fttrigon.c, src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: adding trigonometric functions to the core API (using Cordic algorithms). * builds/top_level.mk, builds/newline, builds/detect.mk: fixed problems with Make on Windows 2000, as well as problems when "make distclean" is invoked on a non-Unix platform when there is no "config.mk" in the current directory.. * builds/freetype.mk: fixed a problem with object deletions under Dos/Windows/OS/2 systems * src/tools: added new directory to hold tools and test programs moved docmaker.py, glnames.py to it.. * src/tools/docmaker.py: improved the script to add the current date at the footer of each web page (useful to distinguish between versions) * Jamfile: fixed incorrect HDRMACRO argument. * TODO: removed the cubic arc bbox computation note, since it has been fixed recently.. * include/freetype/t1tables.h, include/freetype/config/ftoption.h: formatting
Werner Lemberg 521a2d7a 2001-03-20T22:58:56 * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H. * docs/docmaker.py: Added generation of INDEX link in table of contents. * INSTALL, docs/BUILD: Updated documentation to indicate that the compilation process has changed slightly (no more `src' required in * builds/*/*-def.mk: Changed the objects directory from "obj" to "objs". * include/freetype/config/ftheader.h: Removed obsolete macros like FT_SOURCE_FILE, etc. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each component needs to add its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly. * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove compiler warnings in pedantic modes. * include/config/ft2build.h, include/config/ftheader.h: The file top-level <ft2build.h>. * include/config/ftheader.h: Added new section describing the #include macros. the Type 2 glyph charstring (used by conversion programs). * docs/docmaker.py: Added cross-references generation as well as seac emulation provided by the Type 2 endchar operator. * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, Added support for clipped direct rendering in the smooth renderer. * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
David Turner 8d3a401f 2001-03-20T11:14:24 * builds/*/*-def.mk: changed the objects directory from "obj" to "objs" * include/freetype/config/ftheader.h: removed obsolete macros like FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component needs to added its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly..
Werner Lemberg cc069beb 2000-12-08T16:17:16 cleanups
David Turner 19ed8afe 2000-12-08T02:42:29 - updated all source files to adhere to the new inclusion scheme - the CFF loader now loads the encodings and charset tables though doesn't use them for now