Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 01af71d4 | 2013-10-02 22:04:07 | * src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'. | ||
| 85a7fdf3 | 2013-08-29 21:03:05 | [sfnt] Fix frame access while reading WOFF table directory. * src/sfnt/sfobjs.c (woff_open_font): Using single memory frame while reading the directory entries for the whole loop. | ||
| d689d1cf | 2013-08-29 17:53:40 | Implement support for WOFF containers. We simply synthesize a SFNT from the WOFF, create a memory stream for the new data, and load the SFNT as usual. Does NOT add any API to access WOFF metadata or private blocks. * include/freetype/internal/tttypes.h (WOFF_HeaderRec, WOFF_TableRec): New structures. * include/freetype/tttags.h (TTAG_wOFF): New macro. * src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling `open_face'. * src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include `FT_GZIP_H'. (WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for writing to a stream. (sfnt_stream_close, compare_offsets, woff_open_font): New functions. (sfnt_open_font): Handle `TTAG_wOFF'. (sfnt_init_face): Set `stream' after calling `sfnt_open_font'. * src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling `sfnt->init_face'. * src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an argument so that a changed stream survives. Update callers. | ||
| c799dd67 | 2013-08-27 21:46:03 | * src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos. | ||
| 74a9b670 | 2013-08-02 14:53:32 | [sfnt] Fix compilation with g++. * src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use cast. (Load_SBit_Png): Pacify compiler. | ||
| e8ed2d62 | 2013-08-01 12:20:20 | Another round of cppcheck nitpicks. The call was (from the top-level of the FreeType tree): cppcheck --force \ --enable=all \ -I /usr/include \ -I /usr/local/include \ -I /usr/lib/gcc/i586-suse-linux/4.7/include \ -I include \ -I include/freetype \ -I include/freetype/config \ -I include/freetype/internal \ -DFT2_BUILD_LIBRARY \ . &> cppcheck.log using cppcheck git commit f7e93f99. Note that cppcheck still can't handle `#include FOO' (with `FOO' a macro). */* Improve variable scopes. */* Remove redundant initializations which get overwritten. * src/gxvalid/*: Comment out redundant code or guard it with FT_DEBUG_LEVEL_TRACE. | ||
| 21c32b08 | 2013-07-25 21:53:18 | Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR. Also disambiguate Google's color bitmap tables. * include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR): New macros. * include/freetype/internal/tttypes.h (TT_SbitTableType): Add TT_SBIT_TABLE_TYPE_CBLC. * src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR. * src/sfnt/ttsbit.c (tt_face_load_sbit, tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle TT_SBIT_TABLE_TYPE_CBLC. | ||
| b4725cb7 | 2013-07-24 14:25:39 | [sfnt] Fix for `make multi' target. * src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF(). | ||
| ff269528 | 2013-07-20 08:02:39 | [sfnt] Fix `sbix' table version handling. * src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]: USHORT version numbers are to be considered as `minor'. | ||
| 778a7e6a | 2013-07-19 14:28:28 | [sfnt] `sbix' fix-ups. * src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps are rendered scaled and then the `glyf' outline rendered on top. We don't support that yet, so just ignore the `glyf' outline and advertise it as a bitmap-only font. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) [TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units. (tt_face_load_sbix_image): Typo. | ||
| 01705395 | 2013-07-18 13:13:12 | [sfnt] Add support for Apple's `sbix' color bitmap table. * include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen fields to FT_Short and FT_UShort, respectively. (TT_SBitTableType): New enumeration. (TT_FaceRec): Add `sbit_table_type' field. * include/freetype/tttags.h (TTAG_sbix): New macro. * src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic FT_GlyphSlot argument instead FT_Bitmap. Add flag to control map and metrics handling. Update all users. * src/sfnt/ttsbit.c: Include `ttmtx.h'. (tt_face_load_eblc): Renamed to... (tt_face_load_sbit): This. Handlic `sbix' bitmaps. (tt_face_free_eblc): Renamed to... (tt_face_load_sbit): This. Updated. (tt_face_load_strike_metrics): Handle `sbix' bitmaps. (tt_face_load_sbix_image): New function. (tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image, tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png, tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass and handle load flags. (tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better handle formats 17-19. Move color to grayscale conversion to... (tt_face_load_sbit_image): Here. Handle `sbix' bitmaps. * src/sfnt/pngshim.h: Updated. * src/sfnt/ttsbit.h: Updated. * src/sfnt/sfdriver.c: Updated. | ||
| 274207eb | 2013-07-18 12:38:57 | [sfnt] Ignore invalid magic number in `head' or `bhed'. Other font engines seem to ignore it also. Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>. * src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if we have an invalid magic number. | ||
| aa0ac323 | 2013-07-02 10:36:26 | [sfnt] Fix documentation of `tt_face_get_metrics'. Problem reported in Savannah bug #39383. | ||
| a25ecfdd | 2013-06-10 12:57:16 | [sfnt] Improve embedded bitmap tracing. * src/base/ftobjs.c (FT_Request_Size): Move trace message regarding bitmap strike match to... (FT_Match_Size): This function. * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics, tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png, tt_sbit_decoder_load_image): Decorate with tracing messages. | ||
| 45392b77 | 2013-06-05 13:43:20 | Fix compiler warnings. * include/freetype/internal/ftmemory.h: Decorate memory allocation macros with `FT_Long' where appropriate. Remove duplicate of FT_MEM_QRENEW_ARRAY definition. * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use cast. * src/base/ftobjs.c: Add warning disabling pragma for MSVC while including `md5.c'. * src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add cast. * src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts. (tt_sbit_decoder_load_bitmap): Beautification. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize variables (earlier). * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants where appropriate. * src/type1/t1load.c (T1_Get_MM_Var): Ditto. | ||
| 760d342d | 2013-05-29 11:36:18 | Add support for color embedded bitmaps (eg. color emoji). A new load flag, FT_LOAD_COLOR, makes FreeType load color embedded-bitmaps, following this draft specification https://color-emoji.googlecode.com/git/specification/v1.html which defines two new SFNT tables, `CBDT' and `CBLC' (named and modeled after `EBDT' and `EBLC', respectively). The color bitmaps are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA pre-multiplied sRGB images. If PNG support is available, PNG color images as defined in the same proposed specification are supported also. Note that color bitmaps are converted to grayscale if client didn't ask for color. * builds/unix/configure.raw: Search for libpng. Add `--without-png' option. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_PNG): New macro. * include/freetype/freetype.h (FT_LOAD_COLOR): New load flag. * include/freetype/ftimage.h (FT_Pixel_Mode): Add `FT_PIXEL_MODE_BGRA'. * include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags. * src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated. (ft_gray_for_premultiplied_srgb_bgra): New function. (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA. * src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files. * src/sfnt/sfnt.c: Include `pngshim.c'. * src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h' (tt_face_load_eblc): Load `CBLC'. (tt_sbit_decoder_init): Load `CBDT'. (tt_sbit_decoder_alloc_bitmap): Pass load flags to select between color and grayscale bitmaps. Set `num_grays'. This is used by `ftview' to choose the blending algorithm. (tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound, tt_sbit_decoder_load_image): Pass load flag. s/write/pwrite/. Don't call `tt_sbit_decoder_alloc_bitmap'. Updated. (tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function. (tt_sbit_decoder_load_bitmap): Pass load flag. Handle new glyph formats 17, 18, and 19. Call `tt_sbit_decoder_alloc_bitmap'. Flatten color bitmaps if necessary. (tt_face_load_sbit_image): Updated. * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'. * docs/CHANGES: Updated. | ||
| ea2b4756 | 2013-05-10 08:04:33 | [sfnt] Clean up bitmap code. * src/sfnt/ttsbit.c: Deleted. * src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'. * rules.mk (SFNT_DRV_H): Updated. | ||
| f6aa089f | 2013-05-10 07:58:47 | */* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code. | ||
| 5ea06ce0 | 2013-03-17 08:14:46 | Whitespace. | ||
| 89f50647 | 2013-03-14 17:50:49 | */*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate. FT_Err_XXX and friends are no longer directly used in the source code. | ||
| e3c93015 | 2013-03-14 11:21:17 | */*: Use FT_Err_Ok only. This is a purely mechanical conversion. | ||
| 059bc335 | 2013-03-14 10:27:35 | */*: Use `FT_THROW'. This is essentially a mechanical conversion, adding inclusion of `FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for stand-alone compiling modes of the rasterizer modules. To convert the remaining occurrences of FT_Err_XXX and friends it is necessary to rewrite the code. Note, however, that it doesn't harm if some cases are not handled since FT_THROW is a no-op. | ||
| dbc6e3f1 | 2013-03-12 11:42:20 | Remove `FT_KEEP_ERR_PREFIX'. The idea is to always have FT_ERR_PREFIX available internally. * include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard undefinition of FT_ERR_PREFIX * src/gxvalid/gxverror.h, src/otvalid/otverror.h, src/sfnt/sferrors.h: Updated. | ||
| ba931be2 | 2013-01-25 00:57:09 | [sfnt] Fix broken pointer overflow checks. Many compilers such as gcc and clang optimize away pointer overflow checks `p + n < p', because pointer overflow is undefined behavior. Use a safe form `n > p_limit - p' instead. Also avoid possible integer overflow issues, for example, using `num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2' given a large `num_glyphs'. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it. | ||
| 71900980 | 2013-01-16 20:08:35 | Minor. | ||
| cd3f871e | 2013-01-16 19:56:08 | [sfnt] Fix optimized sbit loader. It was not taking bit_depth into consideration when blitting! * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned, * tt_sbit_decoder_load_bit_aligned): Handle bit depth. | ||
| 309b8b31 | 2012-12-16 19:08:36 | [sfnt] Fix Savannah bug #37936. * src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak. | ||
| 1e168834 | 2012-10-20 11:42:22 | [sfnt] Load pure CFF fonts wrapped in SFNT container. Such fonts only have a `cmap' and a `CFF' table. * src/sfnt/ttload.c (tt_face_load_font_dir): Don't call `check_table_dir' if font signature is `OTTO'. | ||
| 328aa3b2 | 2012-08-27 11:23:41 | [FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings. * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER), include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER, FT_DEFINE_MODULE), include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2, FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4, FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6), src/autofit/afpic.c (autofit_module_class_pic_init), src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c (ft_create_default_module_classes), src/cff/cffparse.c (FT_Create_Class_cff_field_handlers), src/cff/cffpic.c (cff_driver_class_pic_init), src/pshinter/pshpic.c (pshinter_module_class_pic_init), src/psnames/pspic.c (psnames_module_class_pic_init), src/raster/rastpic.c (ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c (sfnt_module_class_pic_init), src/sfnt/ttcmap.c (FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c (tt_driver_class_pic_init): Initialize allocation variable. | ||
| 0c633e3f | 2012-08-27 07:43:28 | [sfnt, truetype] More renamings for orthogonality. * src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c, src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/, s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/. | ||
| d77b1ea0 | 2012-08-27 05:48:23 | [sfnt] Formatting. | ||
| 6edaef3b | 2012-08-24 13:41:24 | [sfnt] More formatting. | ||
| 665c65bf | 2012-08-24 13:10:08 | [sfnt] Formatting. | ||
| 26472b4f | 2012-07-09 09:55:50 | Fix compilation with MSVC 5.0. Problem reported by Peter Breitenlohner and Akira Kakuto. * include/freetype/config/ftstdlib.h (ft_setjmp): Updated. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast. | ||
| ad05bac6 | 2012-03-14 18:34:36 | [sfnt] Make arrays static like all others. * src/sfnt/ttload.c (tt_face_load_maxp, tt_face_load_os2), src/sfnt/ttmtx.c (tt_face_load_hhea): Add `static' keyword to frame fields. | ||
| 3650f801 | 2012-03-14 18:29:57 | [sfnt] A refinement of the previous commit. * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16, tt_name_entry_ascii_from_other): Stop at null byte. | ||
| bf06b62a | 2012-03-14 14:44:46 | [sfnt] Add `name' table compatibility to MS Windows. * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16, tt_name_entry_ascii_from_other): Don't replace `\0' with question marks when converting strings. | ||
| cbe90292 | 2012-03-13 08:52:31 | Comment typo. | ||
| 26dfeb6d | 2012-03-08 06:04:03 | Prepare source code for amalgamation. * src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c, src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h, src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c, src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h, src\psaux\psauxerr.h, src\pshinter\pshnterr.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\type42\t42error.h, src\winfonts\fnterrs.h: Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX. | ||
| 1749d8bc | 2012-01-17 02:00:24 | Remove trailing spaces. | ||
| c24f77ac | 2012-01-16 21:13:05 | Formatting PIC related sources. * src/autofit/afpic.c: Harmonize to FT2 coding conventions. * src/base/basepic.c: Ditto. * src/base/ftpic.c: Ditto. * src/cff/cffpic.c: Ditto. * src/pshinter/pshpic.c: Ditto. * src/psnames/pspic.c: Ditto. * src/raster/rastpic.c: Ditto. * src/sfnt/sfntpic.c: Ditto. * src/smooth/ftspic.c: Ditto. * src/truetype/ttpic.c: Ditto. | ||
| 3c966818 | 2012-01-15 23:35:31 | Fix redundant declaration warning in PIC mode. Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were designed to declare xxx_pic_{free,init} by themselves. Because these macros are used at the end of the module interface (e.g. ttdriver.c) and the wrapper source to build a module as a single object (e.g. truetype.c) includes the PIC file (e.g. ttpic.c) before the module interface, these macros are expanded AFTER xxx_pic_{free,init} body when the modules are built as single object. The declaration after the implementation causes the redundant declaration warnings, so the declarations are moved to module PIC headers (e.g. ttpic.h). Separating to other header files are needed for multi build. * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER): Remove class_##_pic_free and class_##_pic_init declarations. * include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER, FT_DEFINE_MODULE): Ditto. * src/base/basepic.h: Insert a comment and fix coding style. * src/autofit/afpic.h: Declare autofit_module_class_pic_{free, init}. * src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}. * src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free, init}. * src/psnames/pspic.h: Declare psnames_module_class_pic_{free, init}. * src/raster/rastpic.h: Declare ft_raster{1,5}_renderer_class_pic_{free,init} * src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}. * src/smooth/ftspic.h: Declare ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}. * src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}. | ||
| 226f3619 | 2012-01-14 06:40:03 | Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6. Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET take no arguments but derefer the variable named `library' internally. * src/cff/cffdrivr.c (cff_get_interface): Declare `library' and set it if non-NULL driver is passed. * src/truetype/ttdriver.c (tt_get_interface): Ditto. * src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library' under PIC configuration, and set it if non-NULL module is given. * src/psnames/psmodule.c (psnames_get_interface): Ditto. | ||
| 4b733517 | 2012-01-14 06:32:50 | Make PIC files to include module error headers, to use the error codes with per-module prefix. * src/autofit/afpic.c: Include `aferrors.h'. * src/cff/cffpic.c: Include `cfferrs.h'. * src/pshinter/pshpic.c: Include `pshnterr.h'. * src/raster/rastpic.c: Include `rasterrs.h'. * src/sfnt/sfntpic.c: Include `sferrors.h'. * src/smooth/ftspic.c: Include `ftsmerrs.h'. * src/truetype/ttpic.c: Include `tterrors.h'. | ||
| c52f44d4 | 2011-11-30 10:46:53 | Whitespace. | ||
| 70cf8c5e | 2011-11-26 20:09:39 | Improve tracing. * src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c (PCF_Face_Done): Remove tracing message. * src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c (tt_face_init), src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add `greeting' message. * src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c (T42_Open_Face): Improve tracing. | ||
| 930e9bf8 | 2011-11-26 13:38:26 | Add new error code FT_Err_Missing_Module. Previously, FreeType misleadingly returned FT_Err_Unknown_File_Format if a module was missing (or a test was missing completely). * include/freetype/fterrdef.h (FT_Err_Missing_Module): Define. * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c (cid_face_init), src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c (tt_face_init), src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated. * src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now redundant test for `psaux'. | ||
| f095744d | 2011-07-07 14:10:39 | [sfnt] Try harder to find non-zero values for ascender and descender. * src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case the `hhea' table's values are zero. | ||
| b5119996 | 2011-07-03 09:46:32 | Whitespace. | ||
| e62c876b | 2011-06-15 02:48:33 | Fix g++4.6 compiler warnings in module drivers. The background is same with previous commit. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Init `points'. (TT_Vary_Get_Glyph_Deltas): Init `delta_xy'. (TT_Get_MM_Var): Init `mmvar'. * src/type1/t1load.c (T1_Get_MM_Var): Ditto. * src/cff/cffdrivr.c (cff_ps_get_font_info): Init `font_info'. * src/cff/cffload.c (cff_index_get_pointers): Init `t'. (cff_font_load): Init `sub'. * src/cff/cffobjs.c (cff_size_init): Init `internal'. (cff_face_init): Init `cff'. * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps): Init `snaps'. * src/pcf/pcfread.c (pcf_get_properties): Init `properties'. (pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings): Init `tmpEncoding'. * src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'. * src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'. * src/cache/ftcmru.c (FTC_MruList_New): Init `node'. * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and `zip_buff'. * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'. * src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'. | ||
| af7b8b1a | 2011-03-20 07:51:57 | * src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts. | ||
| cecd9127 | 2011-03-09 06:18:28 | Make FT_Sfnt_Table_Info return the number of SFNT tables. * src/sfnt/sfdriver.c (sfnt_table_info): Implement it. * include/freetype/tttables.h: Update documentation. * docs/CHANGES: Updated. | ||
| 0682251e | 2011-01-30 16:38:09 | * src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message. | ||
| f3ce2370 | 2011-01-03 07:11:54 | */rules.mk: Handle `*pic.c' files. | ||
| fa764cf8 | 2010-11-18 13:08:52 | [sfnt] Ignore all errors while loading `OS/2' table. Suggested by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>. * src/sfnt/sfobjs.c (sfnt_load_face): Do it. | ||
| 05012ad9 | 2010-11-17 11:47:53 | [sfnt] While tracing, output table checksums also. * src/sfnt/ttload.c (tt_face_load_font_dir): Do it. | ||
| bc4ed48e | 2010-10-08 18:40:18 | Fix Savannah bug #31275. * src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H. | ||
| 3987b15e | 2010-10-02 11:46:19 | Fix Savannah bug #31088 (sort of). * src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64 function entries. | ||
| d2b8b8db | 2010-09-20 19:06:23 | [sfnt] Make error message filling NULL names less verbose. * src/sfnt/ttpost.c (load_format_20): Showing 1 summary message when we fill `post' names by NULL, instead of per-entry message. | ||
| d38ba0c9 | 2010-09-19 20:51:19 | Minor fixes. * src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]' is `FT_UShort'. (cff_index_access_element): Don't use additions in comparison. * src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type `FT_Long'. Don't use additions in comparison. Improve tracing messages. (load_format_25, load_post_names): Make `post_limit' of type `FT_Long'. | ||
| 900e7e0c | 2010-09-20 01:03:36 | [sfnt] Prevent overrunning in `post' table parser. * src/sfnt/ttpost.c (load_post_names): Get the length of `post' table and pass the limit of `post' table to load_format_20() and load_format_25(). (load_format_20): Stop the parsing when we reached at the limit of `post' table. If more glyph names are required, they are filled by NULL names. See Savannah bug #31040. | ||
| c8f5b98b | 2010-07-12 21:13:22 | Remove C++ warnings. */*: Initialize pointers where necessary to make g++ happy. | ||
| 1e2a446d | 2010-07-09 12:25:59 | Capitalize ISO. | ||
| 0ae32718 | 2010-07-04 20:14:18 | Restrict the number of the charmaps in a rogue-compatible mode. Fix for Savannah bug #30059. * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the minimum character code passed by a legacy rogue client by... * include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE): This. It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is undefined (thus the rogue client compatibility is not required). * src/cff/cffobjs.c (cff_face_init): Abort the automatic selection or synthesis of Unicode cmap subtable when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE. * src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one. (find_variant_selector_charmap): When UVS charmap is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one. (FT_Select_Charmap): When a charmap matching with requested encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search earlier one. (FT_Set_Charmap): When a charmap matching with requested charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search earlier one. (FT_Get_Charmap_Index): When a requested charmap is found after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap index. | ||
| 0ae6cf21 | 2010-06-30 10:26:48 | Minor optimizations by avoiding divisions. * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Replace divisions with multiplication in comparisons. | ||
| 7d911736 | 2010-06-26 09:29:51 | Fix Savannah bug #30262. * src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth' arbitrarily to 100 to avoid stack exhaustion. | ||
| f765e440 | 2010-06-24 10:34:29 | */*: Use module specific error names where appropriate. | ||
| 8b1c34da | 2010-06-24 08:48:10 | Fix Savannah bug #30236. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer to `cmap_table'. | ||
| 370aea80 | 2010-06-08 08:37:11 | Formatting. | ||
| d9145241 | 2010-02-05 02:58:24 | Prevent NULL pointer dereference passed to FT_Module_Requester. | ||
| c9669a8a | 2010-01-30 02:24:25 | [sfnt] Fix memory leaks in previous patch. | ||
| 75852eda | 2010-01-29 23:18:34 | New parameters for FT_Open_Face() to ignore preferred family names. | ||
| 8cf9b74c | 2009-12-31 18:26:14 | Make compilation with FT_CONFIG_OPTION_PIC work again. * src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]: Declare `library' for FT_BITMAP_GLYPH_CLASS_GET. * src/base/ftinit.c (ft_destroy_default_module_classes, ft_create_default_module_classes): Use proper casts (needed for C++ compilation). * src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP. | ||
| 01975084 | 2009-11-16 23:10:53 | Fix compiler warnings. Reported by Kevin Blenkinsopp <arqon@promode.org>. * src/sfnt/ttload.c (check_table_dir): Use proper data type. | ||
| ca87cd0b | 2009-10-06 11:09:29 | Fix `make multi'. * src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define. * src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H. | ||
| 2b6a3f0b | 2009-08-01 00:37:59 | sfnt: Cast a charcode to 32-bit in cmap format 14 parser. | ||
| 9b1aab8d | 2009-08-01 00:37:58 | sfnt: Cast a charcode to 32-bit in cmap format 12 parser. | ||
| b76c3f71 | 2009-08-01 00:37:57 | sfnt: Fix a data type mismatching with its source. | ||
| 2a2beb47 | 2009-08-01 00:37:57 | sfnt: Extend a few local variables to load 32-bit values. | ||
| 61adbe98 | 2009-08-01 00:32:24 | sfnt: Ignore invalid GIDs in glyph name lookup. | ||
| cad4f915 | 2009-08-01 00:32:23 | sfnt: Insert explicit cast for LP64 system. | ||
| 01059050 | 2009-08-01 00:32:20 | sfnt: Fix a data type mismatching with its source. | ||
| c9c64388 | 2009-08-01 00:32:14 | sfnt: Cast a character code to FT_UInt32 for LP64 system. | ||
| 3f0182af | 2009-08-01 00:32:13 | sfnt: Cast a character code to FT_UInt32 for LP64 system. | ||
| 9c1aac00 | 2009-08-01 00:32:13 | sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF. | ||
| 3f0f2e46 | 2009-08-01 00:32:09 | XXX_cmap_encoding_char_next() return FT_UInt32 values. | ||
| 763b3949 | 2009-08-01 00:30:14 | sfnt: Count the size of the memory object by ptrdiff_t. | ||
| ad289d13 | 2009-06-29 03:09:17 | ftpatent: Fix a bug by wrong usage of service->table_info(). | ||
| 858abbed | 2009-06-26 06:15:41 | For warning messages, replace FT_ERROR with FT_TRACE0. FT_ERROR is now used only if a function produces a non-zero `error' value. Formatting, improving and harmonizing debug strings. | ||
| fb429ec4 | 2009-04-05 18: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. | ||
| ca98f8cc | 2009-04-04 07: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. | ||
| 86e041b5 | 2009-03-21 08:51:44 | Remove redundant header inclusions. This covers many Ghostscript Coverity issues. * src/*: Do it. | ||
| a18788b1 | 2009-03-20 08: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. | ||
| e4661646 | 2009-03-14 23:32:24 | Fix valgrind warning. * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read past the end of the frame. | ||
| b66efefd | 2009-03-12 08: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). | ||
| 801e7bae | 2009-03-11 06: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. | ||
| 8312ab75 | 2009-03-09 13:18:47 | * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c. | ||
| ee3cc2e4 | 2009-03-09 13: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. | ||
| 42f5c714 | 2009-03-03 23:34:49 | Formatting. | ||
| ab7e52b1 | 2009-03-03 22: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. |