Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| ffee64af | 2013-08-26 12:55:48 | Better tracing of loaded glyphs. Previously, the loading of a glyph was traced at level 4, if at all. With this change, all font loading routines emit a tracing message at level 1, making it easier to select tracing output (for example using F2_DEBUG="any:1 afhints:7 aflatin:7"). * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message. * src/cff/cffdrivr.c (cff_glyph_load): Ditto. * src/cff/cffgload.c (cff_decoder_prepare): Improve tracing messages. * src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing message. * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto. * src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message. * src/truetype/ttgload.c (TT_Load_Glyph): Ditto. * src/type1/t1gload.c (T1_Load_Glyph): Ditto. * src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto. * src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto. | ||
| 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. | ||
| c06889eb | 2013-06-12 10:58:06 | More compiler warning fixes. */*: Use cast to `FT_Bool' (or `Bool') where appropriate. | ||
| badf3178 | 2013-06-06 09:16:38 | Next round of compiler fixes. * builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init): Add proper cast. * include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix cast. * include/freetype/internal/ftstream.h: Decorate stream and frame macros with `FT_Long' and `FT_ULong' as appropriate. * src/base/ftrfork.c (raccess_guess_darwin_hfsplus, raccess_guess_darwin_newvfs): Use cast. * src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast. * src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast. * src/cache/ftcmanag.h (FTC_ManagerRec): Ditto. * src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast. * src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto. * src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto. * src/cid/cidparse.c (cid_parser_new): Use cast. * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast. * src/psaux/psobjs.c (reallocate_t1_table): Fix argument type. * src/raster/ftraster.c (ft_black_reset): Use cast. * src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast. (ALL_POINTS): Fix cast. * src/type1/t1driver.c (t1_ps_get_font_value): Add casts. * src/type1/t1parse.c (T1_Get_Private_Dict): Add cast. | ||
| 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. | ||
| dc624ca4 | 2013-06-04 10:30:48 | Apply fixes for cppcheck nitpicks. http://cppcheck.sourceforge.net/ Note that the current version heavily chokes on FreeType, delivering even wrong results. I will report those issues to the cppcheck team so that a newer version gives improved results hopefully. */* Improve variable scopes. */* Remove redundant initializations which get overwritten. * src/base/ftmac.c ,builds/mac/ftmac.c (count_faces_scalable): Remove unused variable. * src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero. * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate): Remove functionless code. * src/tools/ftrandom.c (main): Fix memory leak. | ||
| f6aa089f | 2013-05-10 07:58:47 | */* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code. | ||
| 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. | ||
| d6bc524b | 2013-03-11 09:50:53 | Always use module related error codes. * src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use `FT_ERROR_BASE'. * src/type1/t1load.c (parse_encoding): Use T1_Err_Unknown_File_Format. | ||
| f44f3f0e | 2012-12-23 18:30:34 | Formatting, minor internal documentation improvement. | ||
| a9f6f85e | 2012-12-17 09:08:09 | Various compiler warning fixes. * include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use `logical not' operator instead of negation. The idea is that `~' returns exactly the data type enforced by the cast to a pointer (be it 32bit or 64bit or whatever), while a negative integer has not this flexibility. * src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto. * src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto. * src/type/t1load.c (T1_Get_MM_Var): Ditto. (parse_blend_axis_types): Use cast. * src/bdf/bdflib.c (_bdf_readstream): Use cast. | ||
| 06d6916c | 2012-12-09 00:07:51 | [type1] Another fix for 2012-09-17 commit. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set `limit' value. | ||
| 4ae9cbb0 | 2012-12-01 23:36:02 | [truetype, type1] Revise the use of FT_MulDiv. * src/truetype/ttgxvar.c: Updated. * src/truetype/ttobjs.c: Updated. * src/type1/t1load.c: Updated. | ||
| 337fcb6a | 2012-11-29 21:10:10 | [type1] Fix Savannah bug #37831. The bug report also contains a patch. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix change from 2012-09-17. | ||
| 79180ad0 | 2012-11-27 21:36:20 | [cid, type1, type42] Clean up units_per_EM calculations. * src/cid/cidload.c (cid_parse_font_matrix): Updated. * src/type1/t1load.c (t1_parse_font_matrix): Updated. * src/type42/t42parse.c (t42_parse_font_matrix): Updated. | ||
| ebda8b32 | 2012-09-17 20:59:31 | Fix Savannah bug #37350. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII storage only if we actually have at least four bytes. | ||
| 5cdeb3cd | 2012-07-31 20:17:13 | Fix Savannah bug #37000. * src/type1/t1load.c (parse_encoding): Fix order of checks. | ||
| 01b508f2 | 2012-07-18 10:38:54 | Fix Savannah bug #36832. * src/type1/t1load.c (parse_charstrings): Reject negative number of glyphs. | ||
| a8c24351 | 2012-07-18 10:38:37 | Fix Savannah bug #36829. * src/type1/t1load.c (parse_encoding): Check cursor position after call to T1_Skip_PS_Token. | ||
| 8dc17bb4 | 2012-05-07 11:24:48 | [type1] Fix Savannah bug #36386. * src/type1/t1load.c (t1_load_keyword): Ignore keyword if context is not valid. | ||
| b43e0f44 | 2012-03-17 07:42:43 | [type1] Fix Savannah bug #35847. * src/type1/t1load.c (parse_subrs): Fix the loop exit condition; we want to exit when we have run out of data. | ||
| 9a55cb7a | 2012-03-14 14:40:03 | Fix Savannah bug #35833. Based on the patch given in the bug report. * src/type1/t1load.c (IS_INCREMENTAL): New macro. (read_binary_data): Add parameter `incremental'. Update all callers using `IS_INCREMENTAL'. | ||
| 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. | ||
| d9577add | 2012-02-26 08:03:57 | [type1] Fix Savannah bug #35608. * src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short dictionaries. | ||
| 58cbc465 | 2012-02-26 05:26:56 | [type1] Fix Savannah bug #35606. * src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'. * src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message only if cur < limit. | ||
| 6b5b6f39 | 2012-02-24 12:26:25 | Prepare source code for amalgamation (6/6). * src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/. * src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/. s/t1_init_loader/cid_init_loader/. s/t1_done_loader/cid_done_loader/. * src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/. * src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/. * src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/. | ||
| 1749d8bc | 2012-01-17 02:00:24 | Remove trailing spaces. | ||
| 5cb35640 | 2011-12-10 23:16:04 | Add some variable initializations. Reported by Richard COOK <rscook@unicode.org>. * src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'. * src/smooth/ftgrays.c (gray_render_conic): Initialize `levels' earlier. | ||
| 910b544a | 2011-11-30 13:08:28 | [type1] Remove casts. * src/type1/t1driver.c (t1_driver_class): Remove all casts and update affected functions. * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c: Updated for t1driver changes. src/type1/t1objs.h (T1_Driver): Remove unused typedef. Updated for t1driver changes. | ||
| 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'. | ||
| 8b90cf0b | 2011-11-13 16:30:59 | Add FT_Get_PS_Font_Value() API. This allows a Type 1 font face to be interrogated to retrieve most of the dictionary keys (keys not relevant to FreeType's Type 1 interpreter are not available). * include/freetype/internal/services/svpsinfo.h (PS_GetFontValueFunc): New typedef. (PSInfo): Add `ps_get_font_value'. (FT_DEFINE_SERVICE_PSINFOREC): Updated. * include/freetype/internal/t1types.h (T1_EncodingType): Moved to... * include/freetype/t1tables.h: Here. (PS_Dict_Keys): New enumeration. (FT_Get_PS_Font_Value): New declaration. * src/base/fttype1.c (FT_Get_PS_Font_Value): New function. * src/type1/t1driver.c (t1_ps_get_font_value): This new function does the real job. (t1_service_ps_info): Add it. * src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c (cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info): Updated. | ||
| bfc20c76 | 2011-09-27 17:35:09 | Fix Savannah bug #34189. * src/type1/t1load.c (T1_Open_Face): Initialize `face->len_buildchar'. | ||
| b03c4a0a | 2011-07-22 05:24:11 | [psaux, type1] Fix null pointer dereferences. Found with font fuzzying. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check `decoder->buildchar'. * src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'. | ||
| 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'. | ||
| b70d8a0e | 2010-11-18 10:36:59 | [type1] Fix matrix normalization. * src/type1/t1load.c (parse_font_matrix): Handle sign of scaling factor. | ||
| f689bf7d | 2010-11-18 10:28:16 | [type1]: Improve guard against malformed data. Based on a patch submitted by Johnson Y. Yan <yinsen_yan@foxitsoftware.com> * src/type1/t1load.c (read_binary_data): Check `size'. | ||
| 4afa9d74 | 2010-10-08 12:05:40 | Typo. | ||
| c8f5b98b | 2010-07-12 21:13:22 | Remove C++ warnings. */*: Initialize pointers where necessary to make g++ happy. | ||
| d594202e | 2010-07-11 00:31:17 | Fix another case reported in Savannah bug #30373. Permit a face for Type1, Type42 and CFF without charmap, patch by Tor Andersson. * src/type1/t1objs.c (T1_Face_Init): Reset the error if it is FT_Err_No_Unicode_Glyph_Name. * src/type42/t42objs.c (T42_Face_Init): Ditto. * src/cff/cffobjs.c (cff_face_init): Ditto. | ||
| 840f208d | 2010-07-09 12:26:33 | Use defined macros to set {platform,encoding}_id. * src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to set charmap.{platfom,encoding}_id. * src/pcf/pcfdrivr.c: Ditto. * src/winfonts/winfnt.c: Ditto. * src/type1/t1objs.c: Ditto. * src/type42/t42objs.c: Ditto. * src/cff/cffobjs.c: Ditto. * src/pfr/pfrobjs.c: Ditto. | ||
| b8ca6de3 | 2010-07-09 11:36:00 | Fix Savannah bug #30373. Too serious check of errors by `FT_CMap_New' since 2010-07-04 is fixed. Reported by Tor Andersson. * include/freetype/fterrdef.h (PSnames_Err_No_Unicode_Glyph_Name): New error code to indicate the Unicode charmap synthesis failed because no Unicode glyph name is found. * src/psnames/psmodule.c (ps_unicodes_init): Return PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name is found in the font. * src/cff/cffcmap.c (cff_cmap_unicode_init): Return CFF_Err_No_Unicode_Glyph_Name when no SID is available. * src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New' is failed by the lack of Unicode glyph name. * src/type42/t42objs.c (T42_Face_Init): Ditto. * src/cff/cffobjs.c (cff_face_init): Ditto. | ||
| a874c7ec | 2010-07-04 12:08:41 | Check error value by `FT_CMap_New'. * src/cff/cffobjs.c (cff_face_init): Check error value by `FT_CMap_New'. * src/pfr/pfrobjs.c (pfr_face_init): Ditto. * src/type1/t1jobjs.c (T1_Face_Init): Ditto. * src/type42/t42jobjs.c (T42_Face_Init): Ditto. | ||
| 63e7aac3 | 2010-02-10 07:13:27 | Really fix Savannah bug #28678 (part 2). Since we consider `sbw' for the horizontal direction only, we still have to synthesize vertical metrics if the user wants to use the vertical writing direction. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is set. | ||
| 980b76ea | 2010-02-10 07:02:43 | Really fix Savannah bug #28678 (part 1). After long discussion, we now consider the character width vector (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* direction only. For example, if you are using the horizontal writing direction, you get the horizontal and vertical components of the advance width for this direction. Note that OpenType and CFF fonts don't have such a vertical component; instead, the GPOS table can be used to generate two-dimensional advance widths (but this isn't handled by FreeType). * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add `advance_v' field to hold the vertical component of the advance value. * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c (cff_slot_load), src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c (cid_load_glyph): Use it. | ||
| f19e46f3 | 2010-01-27 10:04:50 | Fix Savannah bug #28678. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_load_glyph): Handle vertical metrics correctly. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle vertical metrics correctly. (T1_Load_Glyph): Don't synthesize vertical metrics. | ||
| 1fc440b2 | 2010-01-05 13:39:37 | Typo. | ||
| 2a33275e | 2010-01-05 10:27:15 | Fix Savannah bug #28395. * src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c (T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface is used. | ||
| 087b7ea6 | 2009-11-25 23:51:06 | Better handling of start of `eexec' section. This fixes Savannah bug #28090. * src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace characters before start of `eexec' section. | ||
| 934d054f | 2009-11-20 06:26:22 | Fix Savannah bug #28036. * src/type1/t1afm.c (t1_get_index): Fix comparison. | ||
| 012552f1 | 2009-11-04 10:06:04 | Fix Savannah bug #27921. * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c (cid_face_init), src/type1/t1afm.c (T1_Read_Metrics), src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant values for rounding if the argument can be negative. | ||
| f2647dda | 2009-09-26 00:48:37 | [cache, psaux, type1] Fix for multi build. | ||
| 03e8b2f7 | 2009-09-01 08:10:24 | Fix custom cmap for empty Type 1 font (Savannah bug #27294). * include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update comment to reflect revised code_last meaning. * src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c (T42_Open_Face): Assign max_char as highest character code + 1 and use this for T1_EncodingRecRec_::code_last. * src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised T1_EncodingRecRec_::code_last meaning. | ||
| d1ee3785 | 2009-08-01 00:30:16 | type1: Use size_t variable to pass the string length. | ||
| f7ecdbc7 | 2009-08-01 00:30:12 | type1: Check invalid string longer than PostScript limit. | ||
| 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. | ||
| 11cb8c36 | 2009-06-22 16:56:47 | Use 16.16 format while parsing Type 1 charstrings. This fixes Savannah bug #26867. Previously, only integers have been used which can lead to serious rounding errors. However, fractional values are only used internally; after the charstrings (of either Type 1 or 2) have been processed, the resulting coordinates get rounded to integers currently -- before applying scaling. This should be fixed; at the same time a new load flag should be introduced, to be used in combination with FT_LOAD_NO_SCALE, which indicates that font units are returned in 16.16 format. Similarly, the incremental interface should be extended to allow fractional values for metrics. * include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift' field. * include/freetype/internal/pshints.h (T1_Hints_SetStemFunc, T1_Hints_SetStem3Func): Use FT_Fixed for coordinates. * src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H. (t1_build_add_point): Always convert fixed to integer. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Use 16.16 format everywhere (except for large integers followed by a `div'). [CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate code uncoditionally. Add support for random numbers and update remaining code accordingly; this should work now. (t1_operator_seac): Updated. * src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H. (ps_hints_t1stem3, t1_hints_stem): Updated. * src/cid/cidgload.c: Include FT_INTERNAL_CALC_H. (cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL], (cid_face_compute_max_advance, cid_slot_load_glyph): Updated. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String) [FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph): Updated. * src/type1/t1load.c: Include FT_INTERNAL_CALC_H. * src/type1/t1objs.c (T1_Face_Init): Updated. | ||
| f79df78a | 2009-06-21 20:17:01 | Code beautification. * src/type1/t1load.c (FT_INT_TO_FIXED): Removed. Replace everywhere with INT_TO_FIXED. (FT_FIXED_TO_INT): Move to ... * include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here. Update all users. | ||
| 96d38983 | 2009-06-21 12:43:27 | Remove useless code. | ||
| 1dcd0f23 | 2009-04-05 18:25:14 | Add #error to modules and files that do not support PIC yet. When FT_CONFIG_OPTION_PIC is defined the following files will create #error: * src/bdf/bdfdrivr.h * src/cache/ftcmanag.c * src/cid/cidriver.h * src/gxvalid/gxvmod.h * src/gzip/ftgzip.c * src/lzw/ftlzw.c * src/otvalid/otvmod.h * src/pcf/pcfdrivr.h * src/pfr/pfrdrivr.h * src/psaux/psauxmod.h * src/type1/t1driver.h * src/type42/t42drivr.h * src/winfonts/winfnt.h | ||
| 86e041b5 | 2009-03-21 08:51:44 | Remove redundant header inclusions. This covers many Ghostscript Coverity issues. * src/*: Do it. | ||
| 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). | ||
| 15b60bb5 | 2009-03-03 21:35:32 | Formatting, copyright years. | ||
| 01ca4da2 | 2009-03-03 13: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. | ||
| 1ad384d8 | 2008-12-25 23: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. | ||
| ce33a312 | 2008-12-21 10: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. | ||
| 05bf6877 | 2008-12-18 06: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. | ||
| 1a5d561d | 2008-11-29 22: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). | ||
| 8f9b7f50 | 2008-11-29 17: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). | ||
| b2cb6ce6 | 2008-11-29 09: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. | ||
| e0ed07d7 | 2008-11-04 10:37:30 | * src/type1/t1load.c (parse_subrs): Use an endless loop. There are fonts (like HELVI.PFB version 003.001, used on OS/2) which define some `subrs' elements more than once. Problem reported by Peter Weilbacher <mozilla@weilbacher.org>. | ||
| fa9d3994 | 2008-10-08 16:04:46 | Fix Savannah bug #24485. * src/type1/t1load.c (parse_charstrings): Assure that we always have a .notdef glyph. | ||
| d03d856d | 2008-10-01 22:39:05 | * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done), src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done), src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0. Reported by Graham Asher. | ||
| 6bc16e92 | 2008-10-01 21:16:44 | s/synthetize/synthesize/ | ||
| ed6c0e06 | 2008-09-15 07:49:40 | Fix Savannah bug #24179, reported by Bram Tassyns. * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation of default values. * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index' and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to prevent unconditional definition. This fixes Savannah bug #24241. * src/psnames/pstables.h: Regenerated. | ||
| b211651a | 2008-09-12 16:27:48 | * autogen.sh, builds/unix/configure.raw, include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor beautifying. * include/freetype/ftadvanc.h, include/freetype/ftgasp.h, include/freetype/ftlcdfil.h: Protect against FreeType 1. Some other minor fixes. * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. Formatting, documentation improvements. | ||
| 28534d61 | 2008-09-01 21:35:21 | * include/freetype/ftadvanc.h, src/base/ftadvanc.c, include/freetype/config/ftheader.h, include/freetype/freetype.h, src/base/Jamfile, src/base/rules.mk, src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffgload.h, src/truetype/ttdriver.c, src/truetype/ttgload.h, src/truetype/ttgload.c, src/type1/t1driver.c, src/type1/t1gload.h, src/type1/t1gload.c: Add a new header named FT_ADVANCES_H declaring some new APIs to extract the advances of one or more glyphs without necessarily loading their outlines. Also provide 'fast loaders' for the TrueType, Type1 and CFF font drivers (more to come later) * autogen.sh: add checks for minimum version of the 'autotools' stuff. | ||
| 4dbf00aa | 2008-08-28 16:12:48 | * src/type1/t1load.c (parse_encoding): Protect against infinite loop. This fixes Savannah bug #24150 (where a patch has been posted too). | ||
| a4cb0d95 | 2008-08-23 19:54:06 | * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug #24119. | ||
| 7fd20182 | 2008-08-04 18:46:37 | * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes Savannah bug #23995. * src/cid/cidload.c (parse_expansion_factor): New callback function. (cid_field_records): Use it for `ExpansionFactor'. * src/cod/cidtoken.h: Handle `ForceBold' keyword. Don't handle `ExpansionFactor'. | ||
| cd6dcca6 | 2008-06-19 06:20:21 | * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm. | ||
| d57a5e9f | 2008-06-18 06:16:39 | * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21. Reported by Peter Weilbacher <mozilla@weilbacher.org>. * docs/CHANGES: Updated. | ||
| 7cb9ec0f | 2008-06-09 20:49:29 | * src/type1/t1parse.h (T1_ParserRec): Make `base_len' and `private_len' unsigned. * src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read it as such. (T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned. * src/base/ftstream.c (FT_Stream_Skip): Reject negative values. * src/type1/t1load.c (parse_blend_design_positions): Check `n_axis' for sane value. Fix typo. * src/psaux/psobjs.c (ps_table_add): Check `idx' correctly. * src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check `last_point'. * src/sfnt/ttload.c (tt_face_load_max_profile): Limit `maxTwilightPoints'. | ||
| 16dc51fe | 2008-05-18 17:36:15 | * src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr. This fixes Savannah bug #23280. * docs/CHANGES: Updated. Some formatting. | ||
| c567ff27 | 2008-05-18 14:32:51 | add missing comment | ||
| 504645ed | 2008-05-14 23:26:20 | * src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array which contain a single but empty entry. This is technically invalid (since it must end with `return', but...) Reported by Martin McBride. | ||
| 8575117c | 2008-03-21 07:16:00 | * src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from Savannah bug #22675. | ||
| 9fe5815c | 2007-06-19 07:57:30 | * src/type1/t1load.c (parse_encoding): Handle one more error. | ||
| 470210b7 | 2007-06-06 10:05:49 | * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of `font_count'. * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'. * src/cff/cffgload.c (cff_decoder_prepare): Change return type to `FT_Error'. Check `fd_index'. (cff_slot_load): Updated. * src/cff/cffgload.h: Updated. | ||
| e5c14d93 | 2007-06-05 20:50:37 | * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1 in case of parsing error. (ps_parser_load_field): Updated. * src/type1/t1load.c (parse_font_matrix): Updated. | ||
| 3d507fef | 2007-06-03 16:54:55 | * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for face == NULL. Suggested by Graham Asher. | ||
| ba03af6f | 2007-05-30 13:57:02 | * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect against too small binary data strings. * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better. | ||
| 085bc6e2 | 2007-03-05 17:40:03 | fix bug in the PFM parser: kerning values must be read as 16-bit *signed* values | ||
| 442bfb89 | 2007-02-12 21:44:10 | Formatting, copyright years, s/memcpy/ft_memcpy/. | ||
| c0f9c4aa | 2007-02-12 14:55:03 | introduce ft_mem_dup, ft_mem_strdup and ft_mem_strcpyn, and the corresponding macros to use them (e.g. FT_STRDUP, FT_DUP and FT_STRCPYN) modify the code to use them instead of raw mallocs/strcpy | ||
| 6e87ed9f | 2007-01-26 22:18:56 | Spelling fixes from Alexei. | ||
| 9b774e28 | 2007-01-16 06:11:27 | Remove trailing whitespace. From Alexei. |