ChangeLog


Log

Author Commit Date CI Message
Oran Agra fb429ec4 2009-04-05T18:08:32 Position Independent Code (PIC) support in sfnt driver. * include/freetype/internal/services/svbdf.h add macros to init instances of FT_Service_BDFRec. * include/freetype/internal/services/svgldict.h add macros to init instances of FT_Service_GlyphDictRec. * include/freetype/internal/services/svpostnm.h add macros to init instances of FT_Service_PsFontNameRec. * include/freetype/internal/services/svsfnt.h add macros to init instances of FT_Service_SFNT_TableRec. * include/freetype/internal/services/svttcmap.h add macros to init instances of FT_Service_TTCMapsRec. * include/freetype/internal/sfnt.h add macros to init instances of SFNT_Interface. * src/sfnt/sfdriver.h declare sfnt_module_class using macros from ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy functions will be declared. * src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined the following structs: sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface, sfnt_module_class, and sfnt_services array will have functions to init or create and destroy them instead of being allocated in the global scope. And macros will be used from sfntpic.h in order to access them from the pic_container. * src/sfnt/ttcmap.h add macros to init instances of TT_CMap_ClassRec. * src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined the following structs: tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec, tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array will have functions to init or create and destroy them instead of being allocated in the global scope. And macros will be used from sfntpic.h in order to access them from the pic_container. The content of tt_cmap_classes is now described in the new file 'ttcmapc.h'. New Files: * src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt driver and macros to access them. * src/sfnt/sfntpic.c implement functions to allocate, destroy and initialize PIC globals for sfnt driver. * src/sfnt/ttcmapc.h describing the content of tt_cmap_classes allocated in ttcmap.c * src/sfnt/sfnt.c add new file to build: sfntpic.c. * src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
Oran Agra 2e7a4e9b 2009-04-05T18:03:02 Position Independent Code (PIC) support in truetype driver. * include/freetype/internal/services/svmm.h add macros to init instances of FT_Service_MultiMastersRec. * include/freetype/internal/services/svttglyf.h add macros to init instances of FT_Service_TTGlyfRec. * src/truetype/ttdriver.h declare tt_driver_class using macros from ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy functions will be declared. * src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined the following structs: tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class and tt_services array, will have functions to init or create and destroy them instead of being allocated in the global scope. And macros will be used from ttpic.h in order to access them from the pic_container. * src/truetype/ttobjs.c change trick_names array to be PIC-compatible by being a two dimentional array rather than array of pointers. New Files: * src/truetype/ttpic.h declare struct to hold PIC globals for truetype driver and macros to access them. * src/truetype/ttpic.c implement functions to allocate, destroy and initialize PIC globals for truetype driver. * src/truetype/truetype.c add new file to build: ttpic.c. * src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
Oran Agra 636c294b 2009-04-05T17:59:26 Position Independent Code (PIC) support and infrastructure in base. * include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC * include/freetype/internal/ftobjs.h Add pic_container member to FT_LibraryRec. Add macros to declare and init instances of FT_CMap_ClassRec. Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs. Add macros to declare, allocate and initialize modules (FT_Module_Class). Add macros to declare, allocate and initialize renderers (FT_Renderer_Class). Add macro to init instances of FT_Glyph_Class. Add macros to declare, allocate and initialize drivers (FT_Driver_ClassRec). * include/freetype/internal/ftpic.h new file to declare the FT_PIC_Container struct and the functions to allocate and detroy it. * include/freetype/internal/ftserv.h add macros to allocate and destory arrays of FT_ServiceDescRec. * include/freetype/internal/internal.h define macro to include ftpic.h. New Files: * src/base/ftpic.c implement functions to allocate and destory the global pic_container. * src/base/basepic.h declare struct to hold PIC globals for base and macros to access them. * src/base/basepic.c implement functions to allocate, destroy and initialize PIC globals for base. * src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement functions that allocate and destroy ft_default_modules according to FT_CONFIG_MODULES_H in the pic_container instead of the global scope and use macro from basepic.h to access it. * src/base/ftobjs.c add calls to the functions that allocate and destroy the global pic_container when the library is created and destroyed. * src/base/jamfile add new files to FT2_MULTI build: ftpic.c and basepic.c. * src/base/ftbase.c add new files to build: ftpic.c and basepic.c. * src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated in the pic_container instead of the global scope and use macros from basepic.h to access them. * src/base/ftbbox.c allocate bbox_interface stract on the stack instead of the global scope when FT_CONFIG_OPTION_PIC is defined. * src/base/ftstroke.c access ft_outline_glyph_class allocated in ftglyph.c via macros from basepic.h
Oran Agra 2589e5fd 2009-04-05T17:34:40 Preparing changes in cff parser later needed for PIC version. * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c, src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to 'CFF_ParserRec' set by `cff_parser_init'. Route library pointer from 'cff_face_init' to 'cff_subfont_load' for `cff_parser_init'. * src/cff/cffparse.c (CFF_Field_Handler): Move it to... * src/cff/cffparse.h: This file, to be used by other C files.
Oran Agra 3da7e68f 2009-04-05T17:30:14 Minor change in ftstroke.c. * src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with `library' needed for PIC version. Update all callers.
Werner Lemberg 314f35ad 2009-04-04T09:20:14 ftnames.c -> ftsnames.c * src/base/ftnames.c: Rename to... * src/base/ftsnames.c: This. * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
Werner Lemberg ca98f8cc 2009-04-04T07:42:38 Add support for cmap type 13. * devel/ftoption.h, include/freetype/config/ftoption.h (TT_CONFIG_CMAP_FORMAT_13): New macro. * src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init, tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next, tt_cmap13_get_info, tt_cmap13_char_map_def_binary, tt_cmap14_class_rec): New functions and structures for cmap 13 support. (tt_cmap_classes): Register tt_cmap13_class_rec. * docs/CHANGES: Mention cmap 13 support.
Werner Lemberg fbdf1279 2009-04-01T08:03:37 Ignore empty contours in CFF glyphs. Problem reported by Albert Astals Cid <aacid@kde.org>. * src/cff/cffgload.c (cff_builder_close_contour): Synchronize with t1_builder_close_contour.
Werner Lemberg b3e6df69 2009-03-21T10:45:18 Really fix Ghostscript Coverity issue #3904.
Werner Lemberg 4d1a34ce 2009-03-21T10:42:56 Another redundant header inclusion. * src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
Werner Lemberg 86e041b5 2009-03-21T08:51:44 Remove redundant header inclusions. This covers many Ghostscript Coverity issues. * src/*: Do it.
Werner Lemberg 16bd51c8 2009-03-21T07:48:34 Fix Ghostscript Coverity issue #3904. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against zero value of `runcnt'.
Werner Lemberg 7171ff57 2009-03-20T21:08:29 Fix `make multi' run. * src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
Werner Lemberg 9dbfac22 2009-03-20T09:13:59 Fix Savannah bug #25923. * src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
Werner Lemberg 79972af4 2009-03-20T08:21:37 Protect against too large glyphs. Problem reported by Tavis Ormandy <taviso@google.com>. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow `width' or `pitch' to be larger than 0xFFFF.
Werner Lemberg a18788b1 2009-03-20T08:03:58 Fix validation for various cmap table formats. * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Check `length' correctly. (tt_cmap_14_validate): Check `length' and `numMappings' correctly.
Werner Lemberg 0a05ba25 2009-03-20T07:19:45 Protect against malformed compressed data. Problem reported by Tavis Ormandy <taviso@google.com>. * src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is zero.
Werner Lemberg 0545ec1c 2009-03-20T06:49:10 Protect against invalid SID values in CFFs. Problem reported by Tavis Ormandy <taviso@google.com>. * src/cff/cffload.c (cff_charset_load): Reject SID values larger than 64999.
Vincent Richomme 8b819254 2009-03-19T08:30:49 Update WinCE Visual C project files. * builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension files.
Werner Lemberg a9ba23c8 2009-03-19T08:27:59 Remove unused Win32 code. * builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'. Since Win32 is handled separately this is no longer needed.
Vincent Richomme 91b127f7 2009-03-19T08:17:50 Make `gzip' module compile on WinCE. * src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
Werner Lemberg 80c253f9 2009-03-19T08:05:06 Remove unused WinCE code. * builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'. Since WinCE is handled separately this is no longer needed.
Werner Lemberg 7bb1005d 2009-03-16T20:42:38 docmaker: Don't ignore single-line code blocks. * src/tools/docmaker/content.py (DocBlock::_init__): Fix change from 2009-01-31.
Steve Langasek 2cd5dce8 2009-03-15T00:58:25 Use __asm__ for declaring assembly instead of asm. * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of asm on arm, fixing a build failure on armel with -pedantic.
Werner Lemberg e4661646 2009-03-14T23:32:24 Fix valgrind warning. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read past the end of the frame.
Werner Lemberg f4f5ba2d 2009-03-12T09:56:04 * Version 2.3.9 released. ========================= Tag sources with `VER-2-3-9'.
Werner Lemberg a284ab62 2009-03-12T08:11:12 * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
Werner Lemberg b66efefd 2009-03-12T08:07:49 Fix some FreeType Coverity issues as reported for Ghostscript. * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize `args.stream' (#3874, #3875). (open_face_PS_from_sfnt_stream): Improve error management (#3786). * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice' (#3870). * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead code (#3790). * src/base/ftrfork.c (raccess_guess_apple_generic): Check error value of `FT_Stream_Skip' (#3784). * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing it (#3872) * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing it (#3871). * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of `pcf_get_metric' (#3789, #3782). (pcf_get_properties): Use FT_STREAM_SKIP (#3783). * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of `acache' (#3797) * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff' (#3796). * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795). * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794). * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom' (#3793). (_bdf_parse_start): Add comment (#3792). * src/raster/ftraster.c (Finalize_Profile_Table): Check `ras.fProfile' (#3791). * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785). * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore seek error (#3781).
Werner Lemberg 07e81817 2009-03-11T21:29:54 Extend CID service functions to handle CID-keyed CFFs as CID fonts. * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index): New functions. * include/freetype/internal/services/svcid.h (FT_CID_GetIsInternallyCIDKeyedFunc, FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs. (CID Service): Use them. * src/base/ftcid.c: Include FT_CID_H. (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index): New functions. * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index): New functions. (cff_service_cid_info): Add them. * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids' -- it is needed for access as a CID-keyed font. It gets deleted later on. * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index): New functions. (cid_service_cid_info): Add them. * docs/CHANGES: Updated.
Werner Lemberg 9318df0c 2009-03-11T10:20:51 Fix Savannah bug #25597. * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length to become larger than 9.
Werner Lemberg 911f4319 2009-03-11T07:07:37 Fix Savannah bug #25814. * builds/unix/freetype2.in: As suggested in the bug report, move @LIBZ@ to `Libs.private'.
Werner Lemberg 801e7bae 2009-03-11T06:47:49 Fix Savannah bug #25781. We now simply check for a valid `offset', no longer handling `delta = 1' specially. * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for last segment. (tt_cmap4_set_range, tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): Check offset.
Werner Lemberg 34ca21ed 2009-03-11T05:35:01 * src/base/Jamfile: Fix handling of ftadvanc.c. Reported by Oran Agra <oran@monfort.co.il>.
Werner Lemberg 31f5bbba 2009-03-10T11:54:51 Restructure Win32 and Wince compiler support. * src/builds/win32: Remove files for WinCE. Move VC 2005 support to a separate directory. Add directory for VC 2008 support. * src/builds/wince: New directory hierarchy for WinCE compilers (VC 2005 and VC 2008).
Werner Lemberg 21dab911 2009-03-09T18:06:28 More preparations for 2.3.9 release. * docs/CHANGES: Updated. * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
Werner Lemberg 8312ab75 2009-03-09T13:18:47 * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
Werner Lemberg ee3cc2e4 2009-03-09T13:13:44 Fix handling of EBDT formats 8 and 9 (part 2). This patch fixes the following problems in ttsbit0.c: . Bitmaps for compound glyphs were never allocated. . `SBitDecoder' refused to load metrics if some other metrics have already been loaded. This condition certainly makes no sense for recursive calls, so I've just disabled it. Another possibility would be resetting `decoder->metrics_loaded' to false before loading each composite component. However, we must restore the original metrics after finishing the recursion; otherwise we can get a misaligned glyph. . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos', causing some glyph components to be shifted too far to the right (especially noticeable for small sizes). Note that support for grayscale bitmaps (not necessarily compound) is completely broken in ttsbit0.c. * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics. (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case of `h == height'. (tt_sbit_decoder_load_compound): Reset metrics after loading components. Allocate bitmap.
Werner Lemberg 1a5edf7a 2009-03-09T08:36:18 * builds/unix/configure.raw (version_info): Set to 9:20:3.
Werner Lemberg 42f5c714 2009-03-03T23:34:49 Formatting.
David Turner ab7e52b1 2009-03-03T22:37:13 Fix SFNT kerning table parser against malformed tables. Closes Savannah BUG #25750 * src/sfnt/ttkern.c (tt_face_get_kerning): fix a bug where a malformed table would be succesfully loaded but later crash the engine during parsing.
Werner Lemberg 15b60bb5 2009-03-03T21:35:32 Formatting, copyright years.
David Turner cda6f493 2009-03-03T20:49:32 Update documentation and bump version number to 2.3.9 * include/freetype/freetype.h: bump patch version to 9 * docs/CHANGES: document the ABI break in 2.3.8 * docs/VERSION.DLL: update version numbers table for 2.3.9 * builds/unix/configure.ac: update AC_INIT and version_info numbers.
David Turner 01ca4da2 2009-03-03T13:28:59 Remove ABI-breaking field in public PS_InfoFontRec definition. Instead, we define a new internal PS_FontExtraRec structure to hold the additionnal field, then place it in various internal positions of the corresponding FT_Face derived objects.
Werner Lemberg e5a7cc23 2009-03-02T09:09:12 Fix handling of EBDT formats 8 and 9. The main cycle in `blit_sbit' makes too many iterations: it actually needs the count of lines in the source bitmap rather than in the target image. * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]: Add parameter `source_height' and use it for main loop. (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
Werner Lemberg 14de111f 2009-02-24T21:34:51 Fix Savannah bug #25669. * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo. * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix scaling factor for non-scalable fonts. * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width value to prevent incorrect scaling. * docs/CHANGES: Document it.
Werner Lemberg 1e859924 2009-02-15T07:54:35 Fix Savannah bug #25588. * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for `orr' instruction.
Werner Lemberg 0552a496 2009-02-11T22:59:40 * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'. Reported by David Bevan <dbevan@emtex.com>.
Werner Lemberg c2cabd42 2009-02-09T22:20:27 Fix Savannah bug #25495. * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before setting metrics and bbox values. This ensures that the check for a font with neither a `glyf' table nor bitmap strikes can be performed early enough to set metrics and bbox values too.
Werner Lemberg 67bbcbd7 2009-02-04T07:59:16 Fix Savannah bug #25480. * builds/unix/freetype-config.in: For --ftversion, don't use $prefix but $includedir.
Werner Lemberg 763ae208 2009-01-30T23:45:53 Minor docmaker improvements. * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty code blocks.
Werner Lemberg 1e5e7aa0 2009-01-25T16:27:04 Fix SCANCTRL handling in TTFs. Problem reported by Alexey Kryukov <anagnost@yandex.ru>. * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
Werner Lemberg 5184ed6d 2009-01-22T10:13:59 Move FT_Get_FSType_Flags to a separate file. Problem reported by Mickey Gabel <mickey@monfort.co.il>. * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to... * src/base/ftfstype.c: This new file. * modules.cfg (BASE_EXTENSION): Add ftfstype.c. * docs/INSTALL.ANY: Updated. * builds/mac/*.txt, builds/amiga/*makefile*, builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*: Updated.
Suzuki, Toshiya (鈴木俊哉) a7c5de59 2009-01-22T04:00:32 * builds/unix/ftsystem.c: Fix 2 error messages ending without LINEFEED
Suzuki, Toshiya (鈴木俊哉) 5a00909a 2009-01-22T03:50:37 * Fix a bug in POSIX resource-fork accessor since 2008-10-04
Werner Lemberg c591c17b 2009-01-19T08:55:15 Fix Savannah bug #25355. * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make assembler code work with gcc 2.95.3 (as used by the Haiku project). Add `cc' register to the clobber list.
Werner Lemberg 3739f8b9 2009-01-18T13:13:17 Protect FT_Get_Next_Char. * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to change from 2008-07-22. Patch from Ronen Ghoshal <rghoshal@emtex.com>.
Werner Lemberg 4f7ef401 2009-01-18T10:53:29 Implement FT_Get_Name_Index for SFNT driver. * src/sfnt/sfdriver.c (sfnt_get_name_index): New function. (sfnt_service_glyph_dict): Use it. Problem reported by Truc Truong <tructv@necsv.com>.
Werner Lemberg 59e2c8dd 2009-01-18T06:42:59 Fix documentation of FT_Outline_GetInsideBorder. * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix documentation. Problem reported by Truc Truong <tructv@necsv.com>. * docs/CHANGES: Updated.
Werner Lemberg e22dd0b8 2009-01-14T06:52:18 * Version 2.3.8 released. ========================= Tag sources with `VER-2-3-8'. * docs/VERSION.DLL: Update documentation and bump version number to 2.3.8. * README, Jamfile (RefDoc), builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualce/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. * builds/unix/configure.raw (version_info): Set to 9:19:3. * docs/release: Updated.
Werner Lemberg fb4ddb27 2009-01-14T05:30:56 builds/toplevel.mk (dist): Compress better.
Werner Lemberg 9bf73ec4 2009-01-13T17:42:00 Fix C++ compilation. * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation with C++.
Werner Lemberg 24d72a1b 2009-01-13T17:34:48 Don't use stdlib.h and friends directly. Reported by Mickey Gabel <mickey@monfort.co.il>. * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/. * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h: s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/. * src/autofit/aftypes.h, src/autofit/afhints.c, src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/ * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
Werner Lemberg f47acf2b 2009-01-12T20:11:14 Avoid compiler warnings. * */*: s/do ; while ( 0 )/do { } while ( 0 )/. Reported by Sean McBride <sean@rogue-research.com>.
Werner Lemberg e85baf4f 2009-01-12T20:01:10 Fix stdlib dependencies. Problem reported by Mickey Gabel <mickey@monfort.co.il>. * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused. * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c: s/memcpy/ft_memcpy/. * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
Werner Lemberg 214ca056 2009-01-11T11:45:54 * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve documentation.
Werner Lemberg fc6d12a1 2009-01-11T10:55:45 * docs/formats.txt: Add link to PCF specification.
Suzuki, Toshiya (鈴木俊哉) 759c07d1 2009-01-09T11:11:53 load_flags of FT_Get_Advance(), FT_Get_Advances() and backends are declared as FT_Int32 to match the flags of FT_Load_Glyph()
Suzuki, Toshiya (鈴木俊哉) 68e16e01 2009-01-09T08:01:15 * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong length check, Savannah patch #6682.
Werner Lemberg 9d83d290 2009-01-09T07:58:08 Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2. * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle `count_offset' if it is zero (i.e., unused). Otherwise, the first element of the structure which holds the data is erroneously modified. Problem reported by Chi Nguyen <chint@necsv.com>.
Suzuki, Toshiya (鈴木俊哉) a7c00b79 2009-01-09T07:21:16 load_flags of FT_Get_Advance(), FT_Get_Advances() and backends are declared as FT_UInt32 for 16-bit platforms
Suzuki, Toshiya (鈴木俊哉) 2dc10794 2009-01-09T05:07:15 * src/base/ftobjs.c (FT_Done_Library): Issue an error when FT_Done_Face() is failed and retried
Werner Lemberg a79de11b 2009-01-07T08:27:37 * docs/CHANGES: Document new key `a' in ftdiff.
Werner Lemberg c3263722 2009-01-06T21:00:47 Don't rely on GNU sed. * autogen.sh: Don't use GNUisms while calling sed. Problem reported by Sean McBride.
Werner Lemberg 5758688e 2009-01-06T09:40:22 Typo.
Werner Lemberg a86f1b96 2009-01-06T09:07:22 FT_Bitmap_Convert: Support missing pixel modes. * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen <chint@necsv.com>.
Werner Lemberg c679115f 2009-01-06T07:07:39 Fix AC_CANONICAL_XXX issue. * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and AC_CANONICAL_TARGET and use $host_os only. A nice explanation for this change can be found at http://blog.flameeyes.eu/s/canonical-target. From Savannah patch #6712.
Werner Lemberg f2e33c11 2009-01-06T06:59:36 Minor fixes. * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static. * src/base/ftmac.c: Remove some #undefs.
Werner Lemberg 1ad384d8 2008-12-25T23:52:00 Set `face_index' field in FT_Face for all font formats. * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init), sfnt/sfobjs.c (sfnt_init_face): Do it. * docs/CHANGES: Document it.
Werner Lemberg 66043b1c 2008-12-22T18:09:48 * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files. Patch from Savannah bug #25151.
Werner Lemberg 3c5ad951 2008-12-21T17:51:12 * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c, src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c: s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for errors in the bytecode interpreter only.
Werner Lemberg 478cca14 2008-12-21T17:38:23 * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL arguments. Fix return value for non-PFR fonts. Both problems reported by Chi Nguyen <chint@necsv.com>.
Werner Lemberg ce33a312 2008-12-21T10:29:30 FT_USE_MODULE declares things as: extern const FT_Module_Class (or similar for C++). However, the actual types of the variables being declared are often different, e.g., FT_Driver_ClassRec or FT_Renderer_Class. (Some are, indeed, FT_Module_Class.) This works with most C compilers (since those structs begin with an FT_Module_Class struct), but technically it's undefined behavior. To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7 paragraph 2: All declarations that refer to the same object or function shall have compatible type; otherwise, the behavior is undefined. (And they are not compatible types.) Most C compilers don't reject (or even detect!) code which has this issue, but the GCC LTO development branch compiler does. (It outputs the types of the objects while generating .o files, along with a bunch of other information, then compares them when doing the final link-time code generation pass.) Patch from Savannah bug #25133. * src/base/ftinit.c (FT_USE_MODULE): Include variable type. * builds/amiga/include/freetype/config/ftmodule.h, include/freetype/config/ftmodule.h, */module.mk: Updated to declare pass correct types to FT_USE_MODULE.
Werner Lemberg b6fa8451 2008-12-21T09:46:31 * src/autofit/aflatin.c (af_latin_hint_edges), src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c (af_cjk_hint_edges): Protect against division by zero.
Werner Lemberg 05bf6877 2008-12-18T06:32:10 * docs/CHANGES: Updated. Provide API for accessing embedding and subsetting restriction information. * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING, FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING, FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING, FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New macros. (FT_Get_FSType_Flags): New function declaration. * src/base/ftobjs.c (FT_Get_FSType_Flags): New function. * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c (t42_keywords): Handle `FSType'. * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
Werner Lemberg cfc514ea 2008-12-17T11:03:26 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal macros so that copying the source code into an application works out of the box.
Werner Lemberg c8c4cc83 2008-12-17T10:50:31 * include/freetype/ftsynth.h, src/basae/ftsynth.c: Move FT_GlyphSlot_Own_Bitmap to... * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files. * docs/CHANGES: Document it.
Werner Lemberg b972a2a2 2008-12-11T08:55:48 Generalize the concept of `tricky' fonts by introducing FT_FACE_FLAG_TRICKY to indicate that the font format's hinting engine is necessary for correct rendering. At the same time, slightly modify the behaviour of tricky fonts: FT_LOAD_NO_HINTING is now ignored. To really force raw loading of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used. Finally, tricky TrueType fonts always use the bytecode interpreter even if the patented code is used. * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY): New macros. * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags semantics as described above. * src/truetype/ttobjs.c (tt_check_trickyness): New function, using code of ... (tt_face_init): This function, now simplified and updated to new semantics. * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky fonts. * docs/CHANGES: Document it.
Werner Lemberg 1474f439 2008-12-09T06:51:56 Really fix Savannah bug #25010: An SFNT font with neither outlines nor bitmaps can be considered as containing space `glyphs' only. * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where a `glyf' table is missing. * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no `glyf' table but a non-zero `loca' entry. (tt_loader_init): Handle missing `glyf' table. * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05. * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines nor bitmaps is scalable.
Werner Lemberg e3b083c6 2008-12-05T22:50:40 * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This fixes Savannah bug #21190 which also provides a basic patch.
Werner Lemberg 76fffcd8 2008-12-05T18:37:44 * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value 0x100 instead of 0x10000; the latter value is already occupied by FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos. Handle SFNT with neither outlines nor bitmaps. This fixes Savannah bug #25010. * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither outlines nor bitmaps. * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there is no table with glyphs. * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging message. Other minor cosmetics.
Werner Lemberg afe60160 2008-12-01T12:53:00 GDEF tables need `glyph_count' too for validation. Problem reported by Chi Nguyen <chint@necsv.com>. * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass `glyph_count'.
Werner Lemberg 1a5d561d 2008-11-29T22:50:24 * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c, src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c, src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c, src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c, src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings (Atari PureC).
Werner Lemberg 8f9b7f50 2008-11-29T17:35:58 * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values in the /BlendDesignMap space).
Werner Lemberg b2cb6ce6 2008-11-29T09:32:12 * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*, whereas `design_points' is FT_Long*. Therefore, return blend rather than design points.
Werner Lemberg c7597edb 2008-11-27T21:55:20 * src/cff/cffparse.c (cff_parse_real): Handle more than nine significant digits correctly. This fixes Savannah bug #24953.
Werner Lemberg 0a263a8b 2008-11-25T05:44:41 * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream before the NULL check. From Savannah patch #6681.
Werner Lemberg 52cd0fc8 2008-11-24T08:15:05 Fixes from the gnuwin32 port. * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/. * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H. * src/psaux/psobjs.c (ps_table_add): Check `length'.
Werner Lemberg 105721a5 2008-11-15T10:35:51 * src/truetype/ttinterp.c (tt_default_graphics_state): The default value for `scan_type' is zero, as confirmed by Greg Hitchcock from Microsoft. Problem reported by Michal Nowakowski <miszka@limes.com.pl>.
Werner Lemberg 312043f4 2008-11-12T06:29:41 * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field. This fixes Savannah bug #24819. Document `format' field of TT_CMapInfo.
Werner Lemberg e7aad025 2008-11-08T22:00:55 * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards since OpenType version 1.5 has been released. * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY, TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5. (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE, TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN, TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE, TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI, TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC, TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA, TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING, TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE, TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI, TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS, TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New macros for OpenType 1.5.