Log

Author Commit Date CI Message
Alexei Podtelezhnikov 923fcbcd 2018-08-15T22:50:06 [bdf] Don't track duplicate encodings. There is no harm except some umbiguity in broken fonts with duplicate encodings. * src/bdf/bdflib.c (_bdf_parse_glyphs): Remove duplicate tracking. (_bdf_parse_t): Remove large `have' bitfield.
Werner Lemberg a0dd16fb 2018-08-15T18:13:17 Don't use `trace_' prefix for FT_COMPONENT arguments. * include/freetype/internal/ftdebug.h (FT_TRACE_COMP, FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix. (FT_TRACE): Use `FT_TRACE_COMP'. */* (FT_COMPONENT): Updated.
Werner Lemberg 1d7b034c 2018-08-14T15:48:17 Use formatting string in FT_TRACEX calls for non-simple arguments. * src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_hstem, cff_op_hintmask, cff_op_hlineto, cff_op_vhcurveto>: Do it. * src/psaux/pshints.c (cf2_hintmap_build): Ditto. * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_cmdHLINETO, cf2_cmdRRCURVETO, cf2_cmdCALLSUBR, cf2_escHSTEM3, cf2_cmdHINTMASK, cf2_cmdHVCURVETO>: Ditto. * src/truetype/ttinterp.c (TT_RunIns): Ditto.
Alexei Podtelezhnikov e001a17d 2018-08-14T07:10:57 [bdf] Remove unused fields. * src/bdf/bdf.h (bdf_font_t): Remove `nmod', `umod', and `modified', which were set but never used. * src/bdf/bdflib.c (_bdf_parse_{glyphs,properties}, bdf_load_font): Updated accordingly.
Werner Lemberg 44db1add 2018-08-14T10:01:00 [cff] Fix another segv in old engine. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9872 * src/psaux/cffdecode.c (cff_decoder_parse_charstrings) [CFF_CONFIG_OPTION_OLD_ENGINE]: Disallow invalid T1 opcodes in dictionaries.
Werner Lemberg 1937b557 2018-08-14T07:54:25 [cff] Fix missing error handling. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9865 * src/psaux/cffparse.c (cff_parser_run) [CFF_CONFIG_OPTION_OLD_ENGINE]: Don't ignore return value of `parse_charstrings_old'.
Alexei Podtelezhnikov ac2ea865 2018-08-13T21:33:24 [bdf] Remove unused overflow storage. * src/bdf/bdf.h (bdf_glyphlist_t): Remove this type. (bdf_font_t): Remove `overflow' field. * src/bdf/bdflib.c (bdf_free_font): Remove `overflow' freeing.
Werner Lemberg 757bdf1a 2018-08-14T02:02:26 [cff] Fix segv. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9864 * src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_random> [CFF_CONFIG_OPTION_OLD_ENGINE]: Use top dict's `random' field directly if parsing dictionaries.
Alexei Podtelezhnikov f5fe6e2f 2018-08-13T09:01:53 [bdf] Use unsigned types. * src/bdf/bdf.h (bdf_glyph_t): Unsign `encoding'. (bdf_font_t): Unsign `default_char'. * src/bdf/bdfdrivr.h (BDF_encoding_el): Unsign `enc'. * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_glyphs, _bdf_parse_start): Updated accordingly. * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Ditto.
Werner Lemberg 50486df1 2018-08-13T08:46:53 * src/type42/t42parse.c (t42_parse_sfnts): One more format check. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9832
Armin Hasitzka 37c7b817 2018-08-12T01:42:00 Remove deprecated constant in documentation. * include/freetype/ftdriver.h: Suggest using `FT_HINTING_ADOBE' since `FT_CFF_HINTING_ADOBE' is deprecated.
Werner Lemberg 5b904409 2018-08-11T06:41:35 * src/base/ftcalc.c (FT_Matrix_Check): Fix integer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9811
Alexei Podtelezhnikov 88c0e121 2018-08-10T21:24:40 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Follow specs.
Ben Wagner 96b5e500 2018-08-10T22:24:26 * src/sfnt/sfobjs.c (sfnt_done_face): Fix memory leak (#54435).
Nikhil Ramakrishnan 1a21ca7b 2018-08-10T19:31:55 Minor formatting.
Werner Lemberg 1aa73fa8 2018-08-10T05:41:32 * src/base/ftobjs.c (FT_Render_Glyph_Internal): Improve tracing.
Werner Lemberg c8ef0fd0 2018-08-10T04:44:22 Fix clang warnings. * src/base/ftdebug.c (ft_trace_level_enabled, ft_trace_level_disabled): Add `static' keyword.
Alexei Podtelezhnikov e16bfbec 2018-08-09T22:18:00 [raster, smooth] Reinstate bitmap size limits. This again moves outline and bitmap size checks one level up. * src/base/ftoutln.c (FT_Outline_Render): Explicitly reject enormous outlines. * src/raster/ftrend1.c (ft_raster1_render): Reject enormous bitmaps and, therefore, outlines that require them. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto. * src/raster/ftraster.c (ft_black_render): Remove outline size checks. * src/smooth/ftgrays.c (gray_raster_render): Ditto. [STANDALONE]: Remove `FT_Outline_Get_CBox' copy.
Alexei Podtelezhnikov 6a97c958 2018-08-08T22:17:35 [pcf] Revert massive unsigning.
Werner Lemberg f60c98fe 2018-08-08T18:15:53 [smooth] Improve tracing. * src/smooth/ftgrays.c (gray_convert_glyph_inner): Only use tracing if called the first time. (gray_convert_glyph): Updated.
Werner Lemberg c9bbc241 2018-08-08T18:12:31 Add internal functions `FT_Trace_Disable' and `FT_Trace_Enable'. It sometimes makes sense to suppress tracing informations, for example, if it outputs identical messages again and again. * include/freetype/internal/ftdebug.h: Make `ft_trace_levels' a pointer. (FT_Trace_Disable, FT_Trace_Enable): New declarations. * src/base/ftdebug.c (ft_trace_levels): Rename to... (ft_trace_levels_enabled): ... this. (ft_trace_levels_disabled): New array. (ft_trace_levels): New pointer. (FT_Trace_Disable, FT_Trace_Enable): Implement. (ft_debug_init): Updated.
Werner Lemberg 2e3dec55 2018-08-08T13:51:18 Debugging improvements. * src/base/ftobjs.c (pixel_modes): Move this array to top level from ... (FT_Load_Glyph): ... here. (FT_Render_Glyph_Internal): Use `width' x `height' in trace message. Use `pixel_modes'.
Alexei Podtelezhnikov c633378a 2018-08-08T01:21:54 [pcf] Massive unsigning (part 2). Treat all size related properties as unsigned values. * src/pcf/pcf.h (PCF_ParsePropertyRec): Use unsigned `name' and `value'. * src/pcf/pcfread.c (pcf_get_propeerties, pcf_load_font): Updated parsing code and handling of AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X and RESOLUTION_Y.
Alexei Podtelezhnikov 3d4ab6ba 2018-08-08T00:09:16 [pcf] Massive unsigning (part 1). Unofficial specifications hesitate to use unsigned 32-bit integers. Negative values caused a lot of trouble in the past and it is safer and easier to treat some properties as unsigned. * src/pcf/pcf.h (PCF_AccelRec): Use unsigned values for `fontAscent', `fontDescent', and `maxOverlap'. * src/pcf/pcfread.c (pcf_load_font, pcf_get_accel): Updated. * src/pcf/pcfdrivr.c (PCF_Glyph_Load, PCF_Size_Select, PCF_Size_Request): Updated.
Alexei Podtelezhnikov 705bac50 2018-08-07T22:49:55 * src/pcf/pcfread.c (pcf_get_bitmaps): Unsign `offsets' and `bitmapSizes'.
Werner Lemberg 7ec9598f 2018-08-06T17:35:14 More comment formattings. This helps in the forthcoming transition to markdown syntax.
Werner Lemberg b09e7735 2018-08-06T11:02:51 * devel/ftoption.h: Synchronize with main `ftoption.h'.
Alexei Podtelezhnikov f24dbb28 2018-08-06T04:58:18 [pcf] Use unsigned types. * src/pcf/pcf.h (PCF_Encoding): Use unsigned `enc'. * src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Ditto. * src/pcf/pcfread.c (pcf_get_encodings): Use unsigned types.
Werner Lemberg 86e73853 2018-08-06T10:24:08 Minor comment formatting.
Werner Lemberg 720ae67f 2018-08-05T07:21:10 * src/truetype/ttgload.c (compute_glyph_metrics): Fix overflow. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=777151
Werner Lemberg ced9c311 2018-08-04T07:03:57 Ditto.
Werner Lemberg be81acc4 2018-08-04T07:01:04 * src/truetype/ttinterp.c (opcode_name): Fix typos.
Werner Lemberg 799d27b0 2018-08-04T06:39:11 Fix clang warnings. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Fix type of `orientation'. * src/gxvalid/gxvcommn.c (gx_lookup_value_read): Fix signature. * src/pcf/pcfread.c (pcf_get_encodings): Fix type of some variables. Add cast. * src/type1/t1load.c (parse_weight_vector): Fix cast.
Werner Lemberg 1897186f 2018-07-31T10:48:07 * src/cid/cidtoken.h: Handle `XUID' keyword.
Werner Lemberg 8e57746c 2018-07-31T10:46:57 [cid] Trace PostScript dictionaries. * src/cid/cidload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H (cid_load_keyword, cid_parse_font_matrix, parse_fd_array, parse_expansion_factor, cid_parse_dict): Add tracing calls. (parse_font_name): New function to trace `/FontName' keywords in /FDArray dict. (cid_field_records): Register `parse_font_name'.
Werner Lemberg 85e8bea4 2018-07-31T10:42:21 Minor documentation improvement.
Werner Lemberg 578bcf10 2018-07-30T11:28:04 [cff] Fix typo. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9409 * src/cff/cffdrivr.c (cff_get_cid_from_glyph_index): Fix boundary check.
Werner Lemberg 00968d8f 2018-07-29T10:22:59 * src/pcf/pcfread.c (pcf_get_encodings): Another thinko. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9608
Alexei Podtelezhnikov 0f8aebfd 2018-07-28T23:21:28 * builds/unix/configure.raw: Minor.
Alexei Podtelezhnikov 2c3e895c 2018-07-28T22:00:59 [smooth] Fix Harmony memory management. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9501 * src/smooth/ftgrays.c (ft_smooth_render_generic): Restore buffer after each rendering in case of failure.
Werner Lemberg 6e44d78c 2018-07-28T22:23:16 [type1] Avoid segfaults with `FT_Get_PS_Font_Value'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9610 * src/type1/t1driver.c (t1_ps_get_font_value): Protect against NULL.
Werner Lemberg c9edca8e 2018-07-27T10:44:01 [truetype] Make `TT_Set_MM_Blend' idempotent (#54388). * src/truetype/ttgxvar.c (tt_set_mm_blend): Correctly set `face->doblend' if the current call to the function yields the same blend coordinates as the previous call.
Werner Lemberg d277bfc9 2018-07-27T09:15:43 [psaux, type1]: More tracing improvements. * src/psaux/psintrp.c (cf2_interpT2CharString): Trace skipped outline commands. * src/psaux/t1decode.c (t1_decoder_parse_charstring): Fix missing case. (t1_decoder_parse_metrics): Make tracing output more compact. * src/type1/t1gload.c (T1_Compute_Max_Advance): Be less verbose. (T1_Get_Advances): Add tracing.
Werner Lemberg 6e6acdcb 2018-07-26T07:22:18 Document FT_Module_Class's `module_interface' field.
Werner Lemberg 8ed53468 2018-07-25T22:07:22 [psaux, type1] Trace PostScript dictionaries and other things. The tracing of /Encoding, /Subrs, and /Charstrings is rudimentary right now. * src/psaux/psobjs.c (ps_parser_load_field, ps_parser_load_field_table): Add tracing calls. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make tracing output more compact. * src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances): Add tracing messages. * src/type1/t1load.c (parse_blend_axis_types, parse_blend_design_positions, parse_blend_design_map, parse_weight_vector, t1_load_keyword, t1_parse_font_matrix, parse_encoding, parse_subrs, parse_charstrings, T1_Open_Face): Add tracing calls. * src/type1/t1objs.c (T1_Face_Init): Add tracing call. * src/sfnt/sfobjs.c (sfnt_init_face): Make tracing message more verbose.
Werner Lemberg 580c94d8 2018-07-25T07:03:07 Fix minor ASAN run-time warnings. * src/base/ftutil.c (ft_mem_alloc, ft_mem_realloc): Only call `FT_MEM_ZERO' if we actually have a buffer. (ft_mem_dup): Only call `ft_memcpy' if we actually have a buffer.
Alexei Podtelezhnikov 4b97ab98 2018-07-24T23:01:34 [build] Fortify dllexport/dllimport attributes (#53969,#54330). We no longer use predefined _DLL, which can be defined for static builds too with /MD. We use DLL_EXPORT and DLL_IMPORT instead, following libtool convention. * CMakeLists.txt [WIN32], builds/windows/vc2010/freetype.vcxproj: Define DLL_EXPORT manually. * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h, builds/windows/vc2010/index.html, src/base/ftver.rc: /_DLL/d, s/FT2_DLLIMPORT/DLL_IMPORT/.
Werner Lemberg d8ea52de 2018-07-24T23:03:06 [type1] Check relationship between number of axes and designs. For Multiple Masters fonts We don't support intermediate designs; this implies that number_of_designs == 2 ^^ number_of_axes Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9557 * src/type1/t1load.c (T1_Open_Face): Ensure above constraint. (T1_Get_MM_Var): Remove now redundant test.
Hin-Tak Leung 71e29fe1 2018-07-24T10:04:23 [truetype] Match ttdebug's naming of instruction mnemonics. * src/truetype/ttinterp.c: The form used in ttdebug, "MDRP[G,B,W,?]", etc., is slightly more readable than "MDRP[00,01,02,03]".
Werner Lemberg ff1c28f6 2018-07-24T09:59:23 * src/pcf/pcfread.c (pcf_get_encodings): Thinko. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9561
Werner Lemberg b98133a4 2018-07-22T13:06:20 * src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9527
Werner Lemberg 9be385c9 2018-07-22T12:49:25 * src/pcf/pcfread.c (pcf_load_font): Fix number of glyphs. This is an oversight of the module change 2018-07-21. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9524
Werner Lemberg a5acdce1 2018-07-22T12:11:52 [cid] Sanitize `BlueShift' and `BlueFuzz'. This code is taken from the type1 module. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9510 * src/cid/cidload.c (parse_fd_array): Set some private dict default values. (cid_face_open): Do the sanitizing. Fix some tracing messages.
Werner Lemberg 5434faad 2018-07-22T07:34:03 Fix links. Reported by Ankit and Nikhil.
Werner Lemberg 93955585 2018-07-21T23:46:19 Minor comment improvement.
Werner Lemberg cba72a0b 2018-07-21T23:45:32 [pcf] Fix handling of the undefined glyph. This change makes the driver use the `defaultChar' property of PCF files. * src/pcf/pcf.h (PCF_FaceRec): Change type of `defaultChar' to unsigned. * src/pcf/pcfread.c (pcf_get_encodings): Read `defaultChar' as unsigned. Validate `defaultChar'. If `defaultChar' doesn't point to glyph index zero, swap glyphs with index zero and index `defaultChar' and adjust the encodings accordingly. * src/pcf/pcfdrivr.c (pcf_cmap_char_index, pcf_cmap_char_next, PCF_Glyph_Load): Undo change from 2002-06-16 which always enforced the first character in the font to be the default character.
Werner Lemberg a2370f21 2018-07-21T07:38:13 Improve stream extraction macro documentation.
Armin Hasitzka 154832d4 2018-07-20T19:32:13 Move the legacy fuzz target to the `freetype-testing' repository. It can now be found at https://github.com/freetype/freetype2-testing/tree/master/fuzzing/src/legacy * src/tools/ftfuzzer: Remove this folder and its contents from the repository.
Werner Lemberg 14032290 2018-07-20T06:44:13 [cff] Avoid left-shift of negative numbers (#54322). * src/cff/cffgload.c (cff_slot_load): Use multiplication.
Werner Lemberg 8f09eb5c 2018-07-17T21:45:24 Allow FT_ENCODING_NONE for `FT_Select_Charmap'. This is a valid encoding tag for BDF, PCF, and Windows FNT, and there is no reason to disallow it for these formats. * src/base/ftobjs.c (FT_Select_Charmap): Implement it.
Werner Lemberg 9e69987a 2018-07-17T19:54:25 * src/pcf/pcfread.c (pcf_get_encodings): Trace `defaultChar'.
Armin Hasitzka fda356b7 2018-07-16T18:45:23 * include/freetype/internal/ftcalc.h: Add macros for handling harmless over-/underflowing `FT_Int' values. * src/sfnt/sfdriver.c (fixed2float): Fix negation of `(int)(-2147483648)'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9423
Werner Lemberg 839cb404 2018-07-16T05:45:45 * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix off-by-one error. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9412
Werner Lemberg 9f15370e 2018-07-12T07:31:26 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Init `cbox'. Taken from patch #9667, written by Steve Langasek <vorlon@debian.org>. This fixes a build failure (most probably a bug in gcc) on ppc64el when building with -O3.
Werner Lemberg b532d7ce 2018-07-05T23:13:35 Fix typo (#54238). * src/base/ftcolor.c (FT_Palette_Set_Foreground_Color) [!TT_CONFIG_OPTION_COLOR_LAYERS]: Add return value.
Werner Lemberg 0767d536 2018-07-05T23:05:53 Adjust table size comparisons (#54242). * src/sfnt/ttcpal.c (tt_face_load_cpal): Implement it.
Werner Lemberg 6ceeb87f 2018-07-05T22:31:10 Fix more 32bit issues (#54208) * src/cff/cffload.c (cff_blend_build_vector): Convert assertion into run-time error. * src/truetype/ttgxvar.c (ft_var_to_normalized): Protect against numeric overflow.
Werner Lemberg 29f05fd0 2018-07-04T11:49:47 Fix 32bit build warnings (#54239). * src/base/ftbitmap.c (FT_Bitmap_Blend): Add casts to avoid signed vs. unsigned comparisons. * srb/sfnt/ttcolr.c (tt_face_get_colr_layer): Ditto.
Jeff Carey d9d300ab 2018-07-02T22:27:57 * src/psnames/psmodule.c (ps_unicodes_init): Fix alloc debugging.
Werner Lemberg 396051da 2018-07-02T15:52:36 s/xxx specific foo/xxx-specific foo/.
Werner Lemberg 7edc937f 2018-07-02T11:50:04 s/palette_types/palette_flags/. Suggested by Behdad.
Werner Lemberg 4e3b2473 2018-07-02T11:41:44 Make `FT_Get_Color_Glyph_Layer' return FT_Bool. * include/freetype/freetype.h, src/base/ftobjs.c (FT_Get_Color_Glyph_Layer, FT_Render_Glyph_Internal): Updated. * include/freetype/internal/sfnt.h (TT_Get_Colr_Layer_Func), src/sfnt/ttcolr.h, src/sfnt/ttcolr.c (tt_face_get_colr_layer): Updated.
Werner Lemberg f6ccb524 2018-07-01T12:31:57 * src/base/ftobjs.c (FT_Get_Color_Glyph_Layer): Guard SFNT function. Reported by Behdad.
Alexei Podtelezhnikov 1fc776b5 2018-06-28T21:42:26 * src/base/fttrigon.c (FT_Tan): Improve accuracy. (FT_Vector_Rotate): Simplify.
Alexei Podtelezhnikov 4f11209f 2018-06-28T21:31:35 * src/base/ftobjs.c (FT_Set_Charmap): Robustify.
Werner Lemberg 207ca38f 2018-06-25T18:50:00 [truetype] Fix memory leak. * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Add initializers. Fix typo in `goto' destination. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9071
Werner Lemberg 589d1f08 2018-06-25T18:38:04 * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add initializers. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9070
Werner Lemberg a632fb54 2018-06-24T15:22:10 [truetype] Increase precision while applying VF deltas. It turned out that we incorrectly round CVT and glyph point deltas before accumulation, leading to severe positioning errors if there are many delta values to sum up. Problem reported by Akiem Helmling <akiem@underware.nl> and analyzed by Behdad. * src/truetype/ttgxvar.c (ft_var_readpackeddelta): Return deltas in 16.16 format. (tt_face_var_cvt): Collect deltas in `cvt_deltas', which is a 16.16 format array, and add the accumulated values to the CVT at the end of the function. (TT_Vary_Apply_Glyph_Deltas): Store data in `points_org' and `points_out' in 16.16 format. Collect deltas in `point_deltas_x' and `point_deltas_y', which are 16.16 format arrays, and add the accumulated values to the glyph coordinates at the end of the function.
Werner Lemberg cc333390 2018-06-24T06:22:48 New base function `FT_Matrix_Check' (#54019). * src/base/ftcalc.c (FT_Matrix_Check): New base function to properly reject degenerate font matrices. * include/freetype/internal/ftcalc.h: Updated. * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c (cid_parse_font_matrix), src/type1/t1load.c (t1_parse_font_matrix), src/type42/t42parse.c (t42_parse_font_matrix): Use `FT_Matrix_Check'.
Werner Lemberg d7393e22 2018-06-23T17:25:58 Fix typo. Reported by Behdad. * src/base/ftcolor.c (FT_Palette_Data_Get) [!TT_CONFIG_OPTION_COLOR_LAYERS]: s/apalette/apalette_data/.
Werner Lemberg 9027233f 2018-06-21T00:21:09 s/FT_PALETTE_USABLE_WITH_/FT_PALETTE_FOR_/. * include/freetype/ftcolor.h, include/freetype/internal/sfnt.h, src/sfnt/ttcolr.c: Do it.
Werner Lemberg a6b77ba2 2018-06-19T20:09:31 [sfnt] Fix CPAL heap buffer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8968 * src/sfnt/ttcpal.c (tt_face_load_cpal): Guard CPAL version 1 offsets.
Werner Lemberg 7915fd51 2018-06-19T07:15:21 Doh. Don't use CPAL or COLR data if tables are missing. Reported by Alexei. * src/sfnt/ttcolr.c (tt_face_get_colr_layer): Return immediately if `colr' is NULL. * src/sfnt/ttcpal.c (tt_face_palette_set): Return immediately, if `cpal' is NULL.
Werner Lemberg a56e4bf7 2018-06-18T23:18:07 Oops!
Nikhil Ramakrishnan 779c8c40 2018-06-18T15:17:13 Some more minor doc fixes.
Werner Lemberg 95f7341d 2018-06-18T11:10:14 More minor doc fixes.
Werner Lemberg ce8517b4 2018-06-18T10:22:42 Minor documentation fixes.
Werner Lemberg 877d8094 2018-06-18T10:08:17 Introduce `@example:' subsections.
Werner Lemberg fc40469a 2018-06-18T09:23:18 Add example for `FT_Get_Color_Glyph_Layer'.
Alexei Podtelezhnikov b1a3c59f 2018-06-17T22:33:29 [base] Introduce `FT_New_Glyph'. This function facilitates access to full capabilities of FreeType rendering engine for custom glyphs. This can be quite useful for consistent rendering of mathematical and chemical formulas, e.g. https://bugs.chromium.org/p/chromium/issues/detail?id=757078 * include/freetype/ftglyph.h, src/base/ftglyph.c (FT_New_Glyph): New function.
Nikhil Ramakrishnan e13599a0 2018-06-18T00:38:36 Change documentation markup tags to lowercase. Implemented as per discussion in http://lists.nongnu.org/archive/html/freetype-devel/2018-06/msg00073.html No change in functionality, of course.
Werner Lemberg d573a46f 2018-06-17T23:23:36 Typo.
Armin Hasitzka 0f6be064 2018-06-17T20:27:42 [bdf] Fix underflow of an unsigned value. bdflib.c:1562 could be reached with `font->glyphs_used == 0'. That caused an underflow of the unsigned value which results in undefined behaviour. * src/bdf/bdflib.c (src/bdf/bdflib.c): Bail out earlier than before if the `ENCODING' keyword cannot be found.
Werner Lemberg 19d8687f 2018-06-17T11:22:37 Fix documentation indentation; s/@const/@enum/; harmonize doc keywords.
Werner Lemberg da846919 2018-06-17T09:30:05 [base] Add tracing for `FT_Bitmap_Blend'. * include/freetype/internal/fttrace.h (trace_bitmap): New enumeration. * src/base/ftbitmap.c (FT_COMPONENT): Define. (FT_Bitmap_Blend): Add `FT_TRACE5' calls.
Werner Lemberg e361cc6a 2018-06-17T09:13:37 s/trace_bitmap/trace_checksum/. * include/freetype/internal/fttrace.h: s/bitmap/checksum/. * src/base/ftobjs.c (FT_COMPONENT): s/trace_bitmap/trace_checksum/. Adjust code.
Werner Lemberg 9960e7be 2018-06-16T22:16:03 [sfnt] Fix color glyph layer loading. * src/sfnt/ttcolr.c (Colr): Add `table_size' field. (tt_face_load_colr): Set it. (tt_face_get_colr_layer): Check pointer limit for layer entries.
Werner Lemberg 10790637 2018-06-16T21:45:13 [sfnt] Fix color palette loading. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8933 * src/sfnt/ttcpal.c (Cpal): Add `table_size' field. (tt_face_load_cpal): Set it. (tt_face_palette_set): Check pointer limit for color entries.
Werner Lemberg 8f403ab8 2018-06-16T21:30:04 Minor formatting.
Nikhil Ramakrishnan a150b5ab 2018-06-16T15:53:15 Minor formatting.