src/truetype/ttgload.c


Log

Author Commit Date CI Message
Werner Lemberg eed446d0 2002-08-16T12:46:52 Add support for Apple composite glyphs. * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro. * src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET, UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType glyph loading flags. (load_truetype_glyph): Implement it.
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 13217f25 2002-07-18T15:59:23 Added the incremental loading system for the TrueType driver. Tested using my own unit test code.
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 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 26aca024 2002-05-05T07:40:16 formatting
David Turner 8cd89073 2002-05-04T18:02:59 * src/truetype/ttgload.c (TT_Load_Glyph): finally fixing the last bug that prevented FreeType 2.x and FreeType 1.x to produce bit-by-bit identical monochrome glyph bitmaps with native TrueType hinting. The culprit was a single-bit flag that wasn't set correctly by the TrueType glyph loader !! * src/otlayout/otlayout.h, src/otlayout/otlbase.c, src/otlayout/otlbase.h, src/otlayout/otlconf.h, src/otlayout/otlgdef.c, src/otlayout/otlgdef.h, src/otlayout/otlgpos.c, src/otlayout/otlgpos.h, src/otlayout/otlgsub.c, src/otlayout/otlgsub.h, src/otlayout/otljstf.c, src/otlayout/otljstf.h, src/otlayout/otltable.c, src/otlayout/otltable.h, src/otlayout/otltags.h: adding OpenType Layout source files. Module is still incomplete
Werner Lemberg 91db04cb 2002-04-01T14:25:28 * src/truetype/ttgload.c: 16bit fixes. (TT_Load_Simple_Glyph): Improve debug messages. (load_truetype_glyph): Remove dead code. * src/truetype/ttinterp.c: 16bit fixes. * src/truetype/ttobjs.c: Ditto. * include/freetype/ftsnames.h, include/freetype/internal/sfnt.h, src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch], src/sfnt/ttpost.h: s/index/idx/. formatting, copyright updates.
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 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 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
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 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 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 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 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.
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 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 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.
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 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 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
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 e4b32a5d 2000-10-31T20:42:18 Removing trailing whitespace.
Werner Lemberg 353dfeaf 2000-08-29T18:58:41 More warnings fixed.
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 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 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..
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.
David Turner f9b8dec4 2000-06-16T19:34:52 major reformatting of the modules source code in order to get rid of most of the basic types redefinitions (i.e. FT_Int instead of "FT_Int", etc..) The format-specific prefixs like "TT_", "T1_", "T2_" & 'CID_" are now only used in relevant structures.. fixed Werner's fix to t2gload.c :-) other small bug fixes
Werner Lemberg 7a4fda88 2000-06-13T23:21:00 The next round of formatting, checking documentation, etc.
Werner Lemberg 78575dc0 2000-06-12T19:36:41 A lot of formatting. Added more tracing levels. More Makefile fixes. Minor other changes.
Werner Lemberg 1c0d4acb 2000-06-06T20:41:48 Fine-tuned a lot of tracing levels to make them more functional with ftview. Added a lot of \n to tracing messages. Fixed a serious bug in loading SBit offsets (missing parentheses around a xxx ? yyy : zzz construct). Replaced most GET_xxx() functions with calls to READ_Frame() in ttsbit.c
David Turner 04aa800c 2000-06-01T03:27:48 added a CID-keyed font driver in "src/cid" fixed two bugs in the smooth renderer
David Turner 109fcf60 2000-05-17T23:35:37 fixed the sbit loader (src/base/sfnt/ttsbit.c) introduced a new load flag (FT_LOAD_CROP_BITMAP) used to indicate that we want embedded bitmaps to be cropped.. Thanks a lot to Yamano-uchi, Hidetoshi
David Turner 3475e7fb 2000-05-17T20:56:01 removed TT_MAX_SUBGLYPHS macro, there is no static limit on the number of subglyphs in a TrueType font.. changed the default number of gray levels used by the smooth renderer to 256 (instead of 128). Of course, the human eye can't tell a difference ;-)
David Turner e49ab25c 2000-05-16T23:44:38 formatting - removed trailing spaces
David Turner efce08d6 2000-05-11T18:23:52 major re-organisation of the FreeType 2 directory hierarchy
David Turner 48641d60 2000-05-02T11:00:06 added a simple line to set "glyph.control_len" when loading a simple glyph. This is used to compute statistics on font files..
David Turner ed7f62ac 2000-03-28T11:19:28 support for FT_LOAD_NO_RECURSE needed by the auto-hinter
David Turner 7f615aef 2000-03-13T11:49:20 renamed all outlines functions to the FT_Outline_<action> syntax..
David Turner 41dbcbf6 2000-03-09T11:46:25 reformatting, changing the FT_Outline structure: - "flags" have been renamed to "tags" - "outline_flags" have been renamed to "flags" Look for more re-formatting today..
David Turner 0f99ddda 2000-03-06T13:23:32 changed the structure of FT_Outline in order to pack all outline flags in a single integer.. Changed the rest of the library and demo programs accordingly..
David Turner 7bb7fede 2000-02-28T11:23:36 fixed a bug which appeared when loading unscaled composite glyphs
David Turner 08fdac98 2000-02-21T16:01:33 fixed a bug in the glyph loader that caused a memory block to be freed twice. Also performed changes to use the new glyph zone object that has appeared in ftobjs.h
David Turner 861ba624 2000-02-15T12:54:51 small fix (reduce compiler warnings)
David Turner 71ec10ef 2000-02-10T16:09:35 support for the IGNORE_GLOBAL_ADVANCE_WIDTH loading flag