src/truetype


Log

Author Commit Date CI Message
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 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
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 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 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 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"..
Werner Lemberg b5349a9b 2002-02-19T16:30:15 * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first. * src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused to avoid compiler warning. * src/cff/cffload.c (CFF_Get_String): Ditto. * src/cff/cffobjs.c (CFF_StrCopy): Ditto. * src/psaux/psobjs.c (PS_Table_Done): Ditto. * src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto. * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto. (pcf_get_bitmaps): The same for `sizebitmaps'. * src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for `orig_y'. (t1operator_seac): Comment out more dead code. * src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER' conditional. * src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER' conditional.
Werner Lemberg a7d2f5e1 2002-02-19T01:12:23 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused variables. * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead of UNUSED. * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto. * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable swapping code. * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE. * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it. * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto. * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto. * include/freetype/internal/ftobjs.h (UNUSED): Removed.
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.
Werner Lemberg 8880f2c1 2002-01-25T16:05:39 * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix compilation warnings. * src/base/descrip.mms (OBJS): Add `ftmm.obj'. * src/cache/descrip.mms (ftcache.obj): Dependencies added.
Werner Lemberg ac812959 2002-01-06T16:42:44 formatting
David Turner f7f82d77 2002-01-06T10:13:40 the TrueType glyph loader is now much more paranoid, this avoids unpleasant overwrites in the case of invalid glyph data (found in the output of buggy font converters) the computation of auto-hinted stem widths has been modified to avoid certain color fringes in LCD-decimation rendering (a.k.a. "ClearType")
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 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
David Turner c40a7e2d 2001-12-19T19:17:35 * include/freetype/cache/ftcache.h: added comments to indicate that some of the exported functions should only be used by applications that need to implement custom cache types * src/truetype/ttgload.c: fixed a nasty bug that prevent composites from loading correctly. Believe it or not, this was due to an invalid macro definition !!
Werner Lemberg aef3fc81 2001-12-17T16:21:22 * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid glyph header.
Werner Lemberg 5da9dd77 2001-12-16T08:17:33 * src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning. * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is already in ftcmanag.h. * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable `gfam'. * src/cache/ftcmanag.c (ftc_family_table_alloc, * ftc_family_table_free): Use FT_EXPORT_DEF. * include/freetype/cache/ftcmanag.h: Updated. * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF. * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable `cfam'. Remove compiler warning. (FTC_CMapCache_Lookup): Remove compiler warnings. (ftc_cmap_family_init): Ditto. (FTC_CMapCache_Lookup): Ditto. * builds/unix/configure.ac: Increase `version_info' to 8:0:2. * builds/unix/configure: Regenerated. * builds/mac/README: Updated.
David Turner 59c9fea6 2001-12-14T15:14:44 * src/truetype/ttgload.c (load_truetype_glyph): fixing crash when dealing with invalid fonts (i.e. glyph size < 10 bytes)..
David Turner bce2986d 2001-12-14T14:52:58 fixing hinted advance width bug in all font drivers
David Turner c55099de 2001-10-18T11:57:52 changing pixel size computations for better accuracy (experimental)
Werner Lemberg 28df3070 2001-08-22T18:35:06 * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func. Some formatting
Werner Lemberg 2b6248ba 2001-07-07T23:24:02 formatting
David Turner 3b7049fe 2001-07-07T16:12:14 removed pedantic compiler warnings when the bytecode interpreter is compiled in the library
Werner Lemberg 415235df 2001-06-28T17:49:10 finishing function header formatting updating copyrights
Werner Lemberg 4a2305cf 2001-06-28T07:17:51 formatting
David Turner 7ad248a5 2001-06-27T11:08:25 formatting/bug fix
David Turner dee78134 2001-06-27T09:26:46 * include/freetype/ftconfig.h, src/*/*.c: changed the definition and uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
Werner Lemberg 8eb0353f 2001-06-19T23:03:41 Formatting.
David Turner 61f06856 2001-06-19T13:41:59 * include/freetype/fterrors.h: updated some of the error macros to simplify Werner's latest tricks :o)
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 00a2207f 2001-06-18T10:35:00 Make the new error scheme source compatible with older FT versions by introducing another layer. * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New macros. (FT_NOERRORDEF): Removed. * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
David Turner ac6cc419 2001-06-14T12:34:00 modified the TrueType interpreter to let it use the new trigonometric functions provided in "fttrigon.h". This gets rid of some old 64-bit computation routines, as well as many warnings when compiling the library with the "long long" 64-bit integer type.
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 1f7f0e87 2001-06-06T17:30:41 Complete redesign of error codes. Please check ftmoderr.h for more details. * include/freetype/internal/cfferrs.h, include/freetype/internal/tterrors.h, include/freetype/internal/t1errors.h: Removed. Replaced with files local to the module. All extra error codes have been moved to `fterrors.h'. * src/sfnt/ttpost.h: Move error codes to `fterrors.h'. * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h, src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h, src/smooth/ftsmerrs.h, src/truetype/tterrors.h, src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the error names for the module it belongs to. * include/freetype/ftmoderr.h: New file, defining the module error offsets. Its structure is similar to `fterrors.h'. * include/freetype/fterrors.h (FT_NOERRORDEF): New macro. (FT_ERRORDEF): Redefined to use module error offsets. All internal error codes are now public; unused error codes have been removed, some are new. * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New macro. * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro. All other source files have been updated to use the new error codes; some already existing (internal) error codes local to a module have been renamed to give them the same name as in the base module. All make files have been updated to include the local error files. * src/cid/cidtokens.h: Replaced with... * src/cid/cidtoken.h: This file for 8+3 consistency. * src/raster/ftraster.c: Use macros for header file names.
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.
Werner Lemberg cbc9938e 2001-04-06T07:05:50 * builds/os2/*.mk: These files have been forgotten to update to the structure of similar makefiles. * builds/dos/*.mk: Ditto. * builds/ansi/*.mk: Ditto. * builds/win32/win32-def.mk (BUILD): Fix typo. * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT. This is already used in the link_*.mk files. * src/*/Jamfile: Slight changes to make files more cryptic.
Werner Lemberg a1844e09 2001-04-03T21:07:36 * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes to give files identical structure.
Werner Lemberg 1429db6c 2001-04-02T23:54:01 * README: Formatting. * Jamfile: Fix typo. * src/cff/cffparse.c: Move error code #defines to... * include/freetype/internal/cfferrs.h: This file. * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced `FT_Err_*' with `CFF_Err_*'. * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'. * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto. * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with `TT_Err_*'. * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto. * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'. * include/freetype/internal/cfferrs.h: Add `CFF_Err_Unknown_File_Format'. * include/freetype/internal/t1errors.h: Add `T1_Err_Unknown_File_Format'. * include/freetype/internal/tterrors.h: Add `TT_Err_Unknown_File_Format'. * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset' references. * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'. * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use FT_LOCAL_DEF. * src/cid/cidobjs.c (CID_Done_Driver): Ditto. * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size): Ditto. * src/type1/t1objs.c (T1_Done_Driver): Ditto. * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto. * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
David Turner 5bf0a394 2001-03-24T17:10:09 * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to the source tree. see www.freetype.org/jam/index.html for details
David Turner 6ce03efb 2001-03-20T14:50:04 * include/freetype/config/ftheader.h, include/freetype/ftsnames.h: 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
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 914b289f 2001-03-10T17:07:42 * src/*/*.c: Added many casts to make code more 64bit-safe.
Werner Lemberg c3e987e2 2001-01-03T06:47:10 * builds/vms: Support files for VMS architecture added. * descrip.mms, src/*/descrip.mms: VMS makefiles added. * README.VMS: New file. * LICENSE.TXT: Added info about PCF driver license.
Werner Lemberg 63408a12 2000-12-13T23:44:37 include/freetype/internal/internal.h: Fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now. * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/win32/detect.mk: Added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32. * src/base/ftdebug.c: Added dummy symbol to avoid empty file if conditionals are off.
David Turner 170c0d4c 2000-12-13T19:55:11 * include/freetype/config/ft2build.h, include/freetype/internal/internal.h: fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now.. * builds/compiler/intelc.mk, builds/compiler/watcom.mk, builds/win32/detect.mk: added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work !!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32..
Werner Lemberg d5c1b27d 2000-12-12T22:28:12 * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT): Removed. ANSI C doesn't (explicitly) allow macro expansion in arguments using `##'. (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory names directly. Make them configurable. Use `##' to strip leading and trailing spaces from arguments. * builds/unix/ft2unix.h: Adapted. * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream, ft_close_stream): Use FT_CALLBACK_DEF. * builds/unix/ftsystem.c: Use new header scheme. (FT_Done_Memory): Use free() from FT_Memory structure. * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes. * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT, FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
Werner Lemberg 6d5d719d 2000-12-12T06:36:55 * include/freetype/config/build.h (FT2_CONFIG_ROOT, FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant. * builds/unix/detect.mk: Remove unused USE_CFLAGS variable. * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
Werner Lemberg 90d9964e 2000-12-09T00:45:38 * */*.h: Changed body inclusion macro names to start and end with `__' (those which haven't converted yet). Fixed minor conversion issues. * src/winfonts/winfnt.c: Updated to new header inclusion scheme. * */*.[ch]: Changed source files to adhere to the new * src/cff/cff.c, src/cff/rules.mk: Updated. * */*.[ch]: Now using <ft2build.h> as the default build and setup
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
David Turner b1aabf4c 2000-11-30T23:48:22 - added support for the free command-line Borland C++ compiler in the "builds" directory - modified a few files because BCC32 didn't like certain comparisons (UInt compared with a UShort, apparently the UShort is promoted to an Int) - updated the INSTALL file to include IDE compilation, prevent against BSD Make, and clarify the use of "make setup" (instead of "make") for build configuration
Werner Lemberg f1ca2344 2000-11-29T15:18:54 * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only conditionally. * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set `size->strike_index' only conditionally. * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only conditionally. * src/winfonts/winfnt.h: Move all type definitions to... * src/include/freetype/internal/fnttypes.h: New file. * src/winfonts/winfnt.c: Use it. * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT with a direct solution (which also satifies picky compilers).
Werner Lemberg d157fcf0 2000-11-29T04:45:26 * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with disabled interpreter also. * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect parentheses.
Werner Lemberg 90a03301 2000-11-07T17:21:11 All function comments are now removed from source files (and moved to the header files if necessary). Some minor fixes to have `make multi' run successfully (with gcc and g++). Fixing compiler warnings.
Werner Lemberg 4b68007b 2000-11-07T06:30:29 Complementing David's changes with formatting, adding documentation, etc. More `*'-convention formatting, adding the `a' resp. `an' prefix to variables.
David Turner f96594fa 2000-11-06T23:07:51 integrated Yamano-Uchi changes to the base source code. However, I've made a few modifications: - there is no new field named "driver" in "FT_SizeRec" - the new fields in "TT_SizeRec" are: strike_index :: value 0xFFFF means "no sbit strike selected" strike_metrics :: the FT_Size_Metrics structure corresponding to the currently selected strike - the code in "ttload.c" has been somewhat cleaned up too thanks a lot, Y-U !! - David
Werner Lemberg dc72aff4 2000-11-04T08:33:38 Finishing David's latest changes (there were some errors in it).
David Turner 54e75749 2000-11-04T02:52:02 defining new types to hold "internal" fields of public objects: FT_Face_Internal, FT_Size_Internal, FT_Slot_Internal these contain some fields that may change between releases of FreeType, without affecting the size of FT_FaceRec, FT_SizeRec, FT_GlyphSlotRec, etc.., which means that drivers wouldn't need to be recompiled if we only add new fields to an internal structure.. I plan to hack a few things related to the auto-hinter and I need this move to ensure that we will not break binary compatibility between 2.0 and 2.1 :-) - David
David Turner 76a5f623 2000-11-04T01:55:49 major reformatting of the sources: FT_EXPORT_DEF => FT_EXPORT FT_EXPORT_FUNC => FT_EXPORT_DEF BASE_DEF => FT_BASE BASE_FUNC => FT_BASE_DEF LOCAL_DEF => FT_LOCAL LOCAL_FUNC => FT_LOCAL_DEF LOCAL_FUNC_X => FT_CALLBACK_DEF LOCAL_DEF_X => FT_CALLBACK_TABLE FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
Werner Lemberg a13a473d 2000-11-02T15:14:38 More C++ fixes.
Werner Lemberg ab855232 2000-10-31T22:13:54 Fixing include header for a `make multi' build. Finishing formatting of cache stuff. Fixed getDriverClass stuff -- added it to winfnt.c also. Note that this still has to be documented.
Werner Lemberg e4b32a5d 2000-10-31T20:42:18 Removing trailing whitespace.
Werner Lemberg 47a5f41d 2000-10-17T03:38:43 Added copyright messages to all Makefiles. Added documentation to FT_Get_Sfnt_* stuff (in ftnames.[ch]) minor other doc fixes
Werner Lemberg 50dd5858 2000-09-22T03:37:45 Applied a patch from Hidetoshi for embedded bitmap metrics support.
Werner Lemberg 353dfeaf 2000-08-29T18:58:41 More warnings fixed.
Werner Lemberg 9a814fab 2000-08-06T19:48:47 Yamano-uchi added support for SFNT-wrapped CID bitmap font files (with minor modifications from WL).
Werner Lemberg 29a90e26 2000-08-03T00:03:08 Updating unix/ftconfig.in to recent config/ftconfig.h changes. More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in function pointers (there are no local anonymous functions in C++) and FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures which contain function pointers.
Werner Lemberg 3a89c2a4 2000-08-01T17:05:20 Removing FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT. It has never worked. Instead, define BASE_DEF() and BASE_FUNC() similarly to FT_EXPORT_DEF() and FT_EXPORT_FUNC(), respectively, allowing the programmer to define proper types and/or export lists for multiple DLLs if necessary (e.g. ftbase.dll -- standalone, fttype1.dll -- needs ftbase.dll, etc.). The library is finally compiling and linking natively with a C++ compiler!
Werner Lemberg c713d924 2000-08-01T13:17:04 Added #ifdef's for C++ to all header files.
Werner Lemberg e72c9fec 2000-07-31T18:59:02 Simplifying the FIELD_* and FRAME_* macros. Before calling these macros, you should #define FT_STRUCTURE to the structure which will be filled. Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and FT_FIELD_OFFSET to make the code more readable; additionally, it should be more portable because we no longer cast a pointer to an FT_UShort (which e.g. fails with Sun's C++ compiler) but computes the difference between two pointers which is guaranteed to work. Fixing warnings (and C++ errors) while using Sun's latest cc and CC incarnations. Most of them are related to variable shadowing.
David Turner 08d78b62 2000-07-28T01:51:49 removed warning
Werner Lemberg 58b17f96 2000-07-27T23:29:08 Formatting.
David Turner c5cdf8bc 2000-07-27T21:40:22 re-adding a "unix-dev.mk". Debugging libtool output is just too much of a pain for me, I prefer a good old static lib without optimizations :-) "make devel" is back on Unix then..
Werner Lemberg 321cd27d 2000-07-27T11:20:20 Removing compiler warnings about unused portions of code. Now unix.in uses absolute paths also to overcome problems with libtool. To do that in a consistent way I had to modify the rules how to handle $OBJ_DIR (and consequently $LIB_DIR): You should set $OBJ_DIR explicitly on the command line (or environment).
David Turner 5fe4c00e 2000-07-26T19:04:08 - fixed the incorrect SO extension for Visual C++ - disabled the TrueType interpreter by default - disabled the "type1" driver, "type1z" is now used by default (the internal driver name is "type1" now !!)
David Turner e161ee44 2000-07-10T22:03:10 fixed a bug that caused invalid clipping of monochrome bitmaps when they were blitted on the left edge of an 8-bit pixmap..
Werner Lemberg b48a6094 2000-07-09T19:15:30 Formatting. Moving some internal structures and constants from freetype.h to ftobjs.h. Finally removing FT_LOAD_ANTI_ALIAS. Cleaning up all error codes. Only the used ones have survived :-) Removed unused FT_MAX_GLYPH_FORMATS constant. T2 error codes are now in the range 0x500-0x5FF (instead of `TrueDoc'). Some minor improvements of error return values. Finally fixing error code values in ftraster and ftgrays to be compliant with all other FT error codes.
Werner Lemberg 7fa51b55 2000-07-08T19:51:42 Formatting. Adding some trivial error checking. Adding/Fixing tracing levels.
David Turner a90663f5 2000-07-08T00:41:13 vast clean-up of the sources in order to allow flat directory compilation (by defining the FT_FLAT_COMPILE macro at compile time..) moved "freetype2/BUILD" to "freetype2/docs/BUILD"
David Turner 43a2f656 2000-07-05T18:23:38 fixed a few bugs, cleaned up some code
Werner Lemberg bd5ae400 2000-07-05T04:32:02 Run g++ on the FreeType library. This should make the use of code in C++ programs easier: Renamed FT_WordXX to FT_UIntXX. Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType always accesses streams byte-wise, so this makes sense IMHO. Added a lot of #ifdef __cplusplus to header files (and removed a few). Other minor syntax fixes (mostly casts). Replaced the variable `private' with `private_dict' -- `private' is reserved in C++.
David Turner c6a92202 2000-07-04T18:12:13 various clean-ups: - using FT_UNUSED instead of UNUSED - using FT_LONG64 and FT_INT64 instead of LONG64 & INT64 - using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of... - removed the #ifdefs that used SIZEOF_INT, instead we now use FT_Int32 and FT_UInt32 when needed to support 32-bits quantity correctly on 64-bits systems..
Werner Lemberg 5811c7c3 2000-07-02T13:53:16 Formatting. Fixed some errors which prevented compiling.
David Turner f9ca2bb5 2000-06-30T23:12:55 managed to re-design entirely the API in <freetype/ftglyph.h> It is now really the "glyph factory" that Stefan was probably dreaming about.. fixed some recent formatting errors from Werner ;-) cleaned up the demonstration programs from most of the rust that they had, though I'm sure someone is going to re-format them really soon !! "ftstring" now uses the new ftglyph.h API, and is now faster and smaller.. yep..
David Turner 5ae831c1 2000-06-30T01:31:22 changes used to implement the auto-hinting support
Werner Lemberg deb4e983 2000-06-29T03:14:25 Formatting... Preprocessor lines now always start the line. Improved error handling in `base' module. Fixed a out-of-bounds error in ttgload.
David Turner 81bb4ad9 2000-06-28T04:19:49 latest clean-ups.. The code compiles with NO WARNINGS with GCC and Visual C++ (also with LCC minus debugging options)
David Turner 74abee8e 2000-06-27T23:31:53 various cleanups to reduce compiler warnings
Werner Lemberg dcd2e14c 2000-06-25T07:43:15 forgotten fixes.
Werner Lemberg a929ba9b 2000-06-25T06:47:11 applying formatting again
David Turner 994d7747 2000-06-25T04:49:19 various hacks to the TrueType driver that I cannot explain now, but they'll be very useful in the near future :-)
David Turner 2a98b3c4 2000-06-23T13:47:55 reduced some nasty memory leaks
David Turner 90f68b72 2000-06-23T12:26:14 still more updates to the TrueType driver to make it more "extensible"..
David Turner c3128615 2000-06-23T05:02:13 bugfixes in the Type1 drivers
David Turner f0df85ba 2000-06-22T00:17:42 - MAJOR INTERNAL REDESIGN: A lot of internal modifications have been performed lately on the source in order to provide the following enhancements: - more generic module support: The FT_Module type is now defined to represent a handle to a given module. The file <freetype/ftmodule.h> contains the FT_Module_Class definition, as well as the module-loading public API The FT_Driver type is still defined, and still represents a pointer to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc.. - support for generic glyph image types: The FT_Renderer type is a pointer to a module used to perform various operations on glyph image. Each renderer is capable of handling images in a single format (e.g. ft_glyph_format_outline). Its functions are used to: - transform an glyph image - render a glyph image into a bitmap - return the control box (dimensions) of a given glyph image The scan converters "ftraster.c" and "ftgrays.c" have been moved to the new directory "src/renderer", and are used to provide two default renderer modules. One corresponds to the "standard" scan-converter, the other to the "smooth" one. The current renderer can be set through the new function FT_Set_Renderer. The old raster-related function FT_Set_Raster, FT_Get_Raster and FT_Set_Raster_Mode have now disappeared, in favor of the new: FT_Get_Renderer FT_Set_Renderer see the file <freetype/ftrender.h> for more details.. These changes were necessary to properly support different scalable formats in the future, like bi-color glyphs, etc.. - glyph loader object: A new internal object, called a 'glyph loader' has been introduced in the base layer. It is used by all scalable format font drivers to load glyphs and composites. This object has been created to reduce the code size of each driver, as each one of them basically re-implemented its functionality. See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for more information.. - FT_GlyphSlot had new fields: In order to support extended features (see below), the FT_GlyphSlot structure has a few new fields: linearHoriAdvance: this field gives the linearly scaled (i.e. scaled but unhinted) advance width for the glyph, expressed as a 16.16 fixed pixel value. This is useful to perform WYSIWYG text. linearVertAdvance: this field gives the linearly scaled advance height for the glyph (relevant in vertical glyph layouts only). This is useful to perform WYSIWYG text. Note that the two above field replace the removed "metrics2" field in the glyph slot. advance: this field is a vector that gives the transformed advance for the glyph. By default, it corresponds to the advance width, unless FT_LOAD_VERTICAL_LAYOUT was specified when calling FT_Load_Glyph or FT_Load_Char bitmap_left: this field gives the distance in integer pixels from the current pen position to the left-most pixel of a glyph image WHEN IT IS A BITMAP. It is only valid when the "format" field is set to "ft_glyph_format_bitmap", for example, after calling the new function FT_Render_Glyph. bitmap_top: this field gives the distance in integer pixels from the current pen position (located on the baseline) to the top-most pixel of the glyph image WHEN IT IS A BITMAP. Positive values correspond to upwards Y. loader: this is a new private field for the glyph slot. Client applications should not touch it.. - support for transforms and direct rendering in FT_Load_Glyph: Most of the functionality found in <freetype/ftglyph.h> has been moved to the core library. Hence, the following: - a transform can be specified for a face through FT_Set_Transform. this transform is applied by FT_Load_Glyph to scalable glyph images (i.e. NOT TO BITMAPS) before the function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags.. - once a glyph image has been loaded, it can be directly converted to a bitmap by using the new FT_Render_Glyph function. Note that this function takes the glyph image from the glyph slot, and converts it to a bitmap whose properties are returned in "face.glyph.bitmap", "face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original native image might be lost after the conversion. - when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph and FT_Load_Char functions will call FT_Render_Glyph automatically when needed.
Werner Lemberg 9ca2af38 2000-06-21T03:03:28 A new formatting orgy. Added some `#if 0' to completely disable the CID AFM stuff. In case this is not correct please fix.