src/psnames


Log

Author Commit Date CI Message
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 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 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 b7b163cb 2002-03-31T18:48:24 * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU). * src/sfnt/ttcmap0.c: 16bit fixes. (TT_Build_CMaps): Simplify debug messages. (tt_cmap12_char_next): Fix offset. * src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug messages. (TT_Load_OS2): 16bit fix.
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..
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 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 f373e2d9 2001-10-18T13:20:01 rewrote "glnames.py" to fix a rather nasty bug that made FreeType return incorrect glyph names for certain glyph indices..
David Turner b4b96260 2001-10-08T21:18:11 * src/psnames/pstables.h, src/psnames/psmodule.c, src/tools/glnames.py: fixed a bug in 'glnames.py' that prevented it from generating correct glyph names table. 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).
David Turner 12841de1 2001-10-05T09:42:50 fixing a bug related to decoding glyph names like "uniXXXX" into Unicode character codes
Werner Lemberg 415235df 2001-06-28T17:49:10 finishing function header formatting updating copyrights
Werner Lemberg 52005c30 2001-06-27T23:25:46 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 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 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_.
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.
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.
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 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 e274cfd3 2001-03-04T21:53:08 * src/autohint/ahtypes.h (AH_Hinter): Add elements `disable_horz_edges', `disable_vert_edges'. * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use them (and remove static variables with the same names). * src/pcf/pcfutil.c (BitOrderInvert): Add `const'. * docs/glnames.py: Updated to latest pstables.h changes. * src/psnames/pstables.h: Add more `const'. * src/pcf/pcfutil.c: Ditto. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo (FT_Glyph_Done -> FT_Done_Glyph). * include/freetype/ttnameid.h: Added some new Microsoft language codes and LCIDs as found in Office Xp. * builds/hurd/detect.mk: New file. Added support to detect the GNU Hurd operating system as Unix-like. Fix submitted by Anthony Fok <foka@debian.org>. * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the the Type 1 glyph charstring (used by conversion programs). Submitted by Ha Shao <hashao@chinese.com>. * src/base/ftgrays.c (grays_sweep): The function didn't exit immediately if `num_cells' was 0 as it should. Thanks to Boris for finding this out. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when bitmap rendering fails (thanks to Graham Asher). * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker script to support chapters and section block ordering. Updated the public header files accordingly. * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format were not correctly copied.
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.
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 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 cd1afc4e 2000-11-09T00:47:05 fixed a bug in "docs/glnames.py" which caused he generation of an invalid Mac names table in the file "src/psnames/pstables.h". This caused FT_Get_Glyph_Name to return invalid glyph names for certain TrueType fonts..
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 ddbb8e7b 2000-10-26T10:04:16 Some formatting. Fixed some data types/added header files to remove compiler warnings. Added trivial input data check to FT_Outline_Get_BBox(). Fixed type1z -> type1 file inclusions.
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 8925009f 2000-09-26T13:25:15 Adding missing code for flat compiling mode.
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.
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 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"
Werner Lemberg fbeb41d9 2000-07-02T00:27:53 Formatting. Adding copyright notices. Removing an unnecessary file (smooth.h).
David Turner e0bba322 2000-07-01T19:33:40 fixed the PSNames -> Unicode translation table the Python script "glnames.py" was buggy and lacked quite a few values in the "names_to_unicode" table !!
Werner Lemberg 798e70e4 2000-07-01T14:09:27 Removing.
Werner Lemberg a8bbc267 2000-07-01T14:06:46 Formatting as usual... Adding trivial argument checking to some functions. Added dynamic driver interface to cidriver. Minor `version' fixes for macfont and psnames modules. Removed unnecessary files
Werner Lemberg a929ba9b 2000-06-25T06:47:11 applying formatting again
David Turner aa4c28f9 2000-06-22T00:27:15 added new files
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 9c05268e 2000-06-17T20:15:53 Newly generated.
Werner Lemberg 100d6d47 2000-06-17T20:15:06 Fixing glyph name typos in glnames.py; more formatting.
Werner Lemberg e35cac66 2000-06-11T03:46:57 A complete revision of FreeType 2's GNU makefiles (of the library): Tons of unnecessary stuff have been removed; only the essential rules have been retained. The source files now depend on all header files in include/freetype, include/freetype/config, and include/freetype/internal. This is not optimal, I know, and I'll try to improve this, but it is better than before (namely no dependencies on `internal'). FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know exactly whether this is really useful, but it doesn't harm. There is now more documentation in the makefiles itself. io-frames.html: Use of <th>, <code>, and <var> for better tagging. Reactivating of FT_DEBUG_LEVEL_xxx macros. Added a lot of #include directives to make `multi' builds possible -- note that currently the modules cid, t1, and t1z have clashing structures and functions which means that you can only use one of these three modules for a multi build. Added some missing function declarations to (local) header files. Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot of other functions should be renamed also... Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished yet... Fixed FT_Free() to allow a NULL pointer without an assertion (this has always been a valid assumption in FreeType, at least in FT 1.x). A lot of other, minor fixes (mostly documentation).
Werner Lemberg 4e6dd858 2000-06-05T05:26:15 freetype.h: Adding ft_encoding_xxx values for some CJK encodings. Fixing copyright notice on many files. Changed some tracing levels. A lot of formatting, fixing documentation etc. as usual.
David Turner 1fb6eea7 2000-05-24T00:31:14 EXPORT_DEF renamed to FT_EXPORT_DEF + reformating/spacing
David Turner e49ab25c 2000-05-16T23:44:38 formatting - removed trailing spaces
David Turner c30aea98 2000-05-12T15:01:18 another massive changes in order to completely avoid compiler warnings with GCC + "-ansi -pedantic -Wall -W" and LCC. Also fixed the compilation of "type1z" with Win32-LCC (its pre-processor is broken !!) Updated the BUILD document too
David Turner bfe2f98f 2000-05-12T12:17:15 a new massive grunt work. Redefined the EXPORT_DEF, EXPORT_FUNC, BASE_DEF and BASE_FUNC macros to let them take an argument.. This is needed to compile the library as a DLL on some platforms that have different compiler conventions..
David Turner 2561b245 2000-05-11T18:47:39 I knew the first CVS commit wouldn't be good :o) Here, the build system seems to be cured now.. (I'll need to try it on Unix too though..)
David Turner efce08d6 2000-05-11T18:23:52 major re-organisation of the FreeType 2 directory hierarchy
Werner Lemberg febe3fbe 2000-03-05T01:14:19 A first check of FT2's Make system. Many smaller and larger bugs have been fixed: . Removing unused variables. . detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE). . ansi.mk will now be really used as a fallback if the detect mechanism fails. . ANSIFLAGS will now be really used (fixing a typo). . `make clean' now works (again two typos). . Detection of gcc on Unix has been fixed (using the `-v' option instead of `--version'). . `make devel' now works (on Unix). . Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use of `-L' compiler options. . $(BASE_H) now contains a few more header files. As usual, a lot of formatting (not finished yet).
David Turner ca13392d 2000-03-01T13:24:38 a few changes to really compile font drivers in independent single objects..
David Turner 1ab77fdf 2000-02-10T18:08:17 some updates to make everything compile clean
David Turner 5c9a571a 2000-02-10T13:10:32 new psnames module