Log

Author Commit Date CI Message
Alexei Podtelezhnikov 6a4229c4 2018-09-03T22:43:39 * docs/DEBUG: s/trace_//.
Nikhil Ramakrishnan 7da5589c 2018-09-03T16:45:28 [docwriter] Don't break code snippets accross lines. Reported as http://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00124.html * docs/reference/markdown/stylesheets/extra.css (.md-typeset code): Add rule `white-space'.
Werner Lemberg 10617482 2018-09-03T10:37:57 include/freettype/config:*.*: Convert comments to Markdown syntax. Also some minor documentation fixes.
Werner Lemberg 76a52465 2018-09-03T09:08:47 */*: s/PSNames/psnames/. Only tracing messages are affected.
Werner Lemberg 475f6d25 2018-09-03T09:00:58 [sfnt] Fix heap buffer overflow in CPAL handling. * src/sfnt/ttcpal.c (tt_face_palette_set): Fix boundary test. (tt_face_load_cpal): Updated.
Werner Lemberg 9be656bb 2018-09-01T11:01:52 Remove `FT_Outline_{New,Done}_Internal'. These public API functions(!) were always undocumented and have escaped all clean-up efforts until now. * include/freetype/ftoutln.h (FT_Outline_New_Internal, FT_Outline_Done_Internal): Removed. * src/base/ftoutln.h (FT_Outline_New_Internal, FT_Outline_Done_Internal): Merge into... (FT_Outline_New, FT_Outline_Done): ... these functions. * docs/README: Updated.
Alexei Podtelezhnikov 809d5125 2018-08-31T22:49:19 * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Check glyph format.
Armin Hasitzka 4b49a807 2018-08-31T20:26:46 [errors] Refine the macro logic surrounding `FT_Error_String'. * include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS, FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after checking it and introduce a new macro that takes proper care of multiple-inclusion protection.
Werner Lemberg c6df41e3 2018-08-31T20:10:38 Whitespace.
Werner Lemberg 9a323e47 2018-08-31T20:09:21 * src/base/ftdebug.c (FT_Throw): Restore missing `FT_UNUSED' calls.
Werner Lemberg aff04e91 2018-08-31T14:57:36 * src/base/ftdebug.c (FT_Throw): Reduce chattiness.
Werner Lemberg 83525bdd 2018-08-31T07:37:15 Minor comments.
Werner Lemberg d91f752b 2018-08-31T07:34:30 Whitespace.
Werner Lemberg 423fce2e 2018-08-31T06:59:44 Add link to OpenType's composite glyph description.
Werner Lemberg 0d4ca138 2018-08-31T06:53:52 * src/autofit/afhints.c (af_glyph_hints_reload): Add initialization.
Alexei Podtelezhnikov 1dacbd89 2018-08-30T23:28:30 Consolidate bitmap presetting and size assessment. * include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap): Change return type. * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Return the bitmap size assessment. * src/raster/ftrend1.c (ft_raster1_render): Use it to refuse the rendering of enourmous or far-fetched outlines. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
Alexei Podtelezhnikov ca980b4c 2018-08-30T21:51:18 * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Correct mono.
Armin Hasitzka 35efb103 2018-08-30T14:30:46 [errors] Introduce a macro to control `FT_Error_String'. * devel/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS), include/freetype/config/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS): New macro.
Armin Hasitzka d20dc392 2018-08-30T14:09:04 [errors] Introduce `FT_Error_String'. * include/freetype/fterrors.h (FT_Error_String), src/base/fterrors.c (FT_Error_String): Implement `FT_Error_String'. * src/base/ftbase.c, src/base/Jamfile (_source), src/base/rules.mk (BASE_SRC): Add `fterrors.c' to the build logic. * src/base/ftdebug.c (FT_Throw): Use `FT_Error_String'.
Werner Lemberg c0ccf750 2018-08-30T09:56:09 [autofit] Trace `before' and `after' edges of strong points. * src/autofit/afhints.h (AF_PointRec) [FT_DEBUG_AUTOFIT]: New arrays `before' and `after'. * src/autofit/afhints.c (af_get_strong_edge_index): New auxiliary function. (af_glyph_hints_dump_points): Trace `before' and `after' edges. (af_glyph_hints_align_strong_points) [FT_DEBUG_AUTOFIT]: Set `before' and `after' information.
Werner Lemberg 21c2b390 2018-08-30T09:52:08 Minor.
Alexei Podtelezhnikov 5d93a3fc 2018-08-30T01:12:22 [base] Overflow-resistant bitmap presetting. * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Implement it.
Werner Lemberg 19be8620 2018-08-29T18:15:03 Doc fix.
Armin Hasitzka 934a6159 2018-08-29T15:28:21 Fix numeric overflows. * src/pshint/pshalgo.c (psh_hint_align, psh_hint_align_light, psh_hint_table_find_strong_points): Fix numeric overflows. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10083
Werner Lemberg 14dff08f 2018-08-29T06:56:21 ftoption.h: s/precendence/precedence/ in documentation (#54586).
Werner Lemberg 3915a18b 2018-08-29T06:53:54 [cff] Fix handling of `roll' op in old engine. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10080 * src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll> [CFF_CONFIG_OPTION_OLD_ENGINE]: Use modulo for loop count, as documented in the specification.
Werner Lemberg 2c8e6279 2018-08-28T08:02:13 Minor doc fix.
Werner Lemberg ae3afbc4 2018-08-26T15:40:16 * src/truetype/ttobjs.c (tt_size_read_bytecode): Trace CVT values.
Werner Lemberg 20957721 2018-08-26T15:15:56 ChangeLog*: s/\t/ /.
Nikhil Ramakrishnan f87b7117 2018-08-26T17:46:25 * configure: Copy assets required by docwriter. Copy directory `docs/reference/markdown' when FreeType is compiled in a different directory. Fixes `make refdoc' if builddir != srcdir. Reported as http://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00083.html
Werner Lemberg 13034e54 2018-08-26T12:22:51 * src/pshint/pshalgo.c (psh_hint_overlap): Fix numeric overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10057
Werner Lemberg 4738dcc4 2018-08-26T12:03:33 Minor tracing adjustments. * src/base/ftstream.c (FT_Stream_EnterFrame, FT_Stream_ExitFrame): Trace. * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Remove tracing.
Werner Lemberg 6e339b8d 2018-08-26T11:59:02 [truetype] Avoid nested frames. Triggered by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10054 * src/truetype/ttgload.c (load_truetype_glyph): Don't use variable `opened_frame' to trace whether a frame must be closed at the end of function: This fails because `TT_Vary_Apply_Glyph_Deltas' (which gets called for space glyphs) uses a frame by itself. Instead, close the frame after loading the header, then use another frame for the remaining part of the glyph later on. Also avoid calling `tt_get_metrics' twice under some circumstances.
Werner Lemberg b287c80b 2018-08-26T06:39:43 Various minor clean-ups. * src/base/ftapi.c: Remove. Unused. * src/base/Jamfile (_sources): Updated. * src/base/ftstream.c (FT_Stream_ReleaseFrame): Remove redundant code.
Werner Lemberg c98aa9b7 2018-08-25T17:02:20 Add missing ChangeLog entry for the last four commits.
Nikhil Ramakrishnan c962db28 2018-08-25T12:22:23 * builds/*/*: Prepare build system for docwriter. Add checks, rules and variables to the build system for docwriter. * Running `make' will warn if Python/PIP/docwriter are not available. * Running `make refdoc' will generate static documentation site on the current Python environment. * Running `make refdoc-venv' will generate static documentation site using a virtual environment, using the pip package `virtualenv'.
Nikhil Ramakrishnan 195728d5 2018-08-25T12:17:30 * src/tools/docmaker: Remove `docmaker'. `Docmaker' has now upgraded to `docwriter', a pip package available at https://pypi.org/project/docwriter/
Nikhil Ramakrishnan 53c69ce0 2018-08-25T12:06:32 * docs/reference: Add resources for `docwriter'. Add the required resources (images, JS, CSS) for `docwriter'. * docs/reference/.gitignore: Update to ignore `site' folder and other files generated by docwriter. * docs/reference/README: Add docwriter usage information and troubleshooting tips. * docs/reference/markdown: New directory to hold generated markdown files and other resources.
Nikhil Ramakrishnan ae5d1a4c 2018-08-24T22:22:30 * include/*.*: Convert comments to markdown. This commit was created by applying scripts `markify.py' and `markdown-format.bash' to all C header files, followed by minor clean-up. No change in functionality, of course. Scripts used: https://github.com/nikramakrishnan/freetype-docs.git: Commit dfce31e. http://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00013.html: With patches applied.
Werner Lemberg 77f0814a 2018-08-23T17:53:54 Add macros for handling over-/underflowing `FT_Int64' values. * include/freetype/internal/ftcalc.h (ADD_INT64, SUB_INT64, MUL_INT64, DIV_INT64) [FT_LONG64]: New macros. * src/base/ftcalc.c (ft_corner_orientation) [FT_LONG64]: Use `SUB_INT64' and `MUL_INT64'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10028
Werner Lemberg c90cc644 2018-08-23T13:13:20 ftbitmap.h: Improve documentation.
Werner Lemberg 45524679 2018-08-22T10:31:05 [truetype] Improve legibility of `glyf' parsing. * src/truetype/ttgload.c (ON_CURVE_POINT, X_SHORT_VECTOR, Y_SHORT_VECTOR, REPEAT_FLAG, X_POSITIVE, SAME_X, Y_POSITIVE, SAME_Y, OVERLAP_SIMPLE): New macros. (TT_Load_Simple_Glyph): Use new macros to make code more readable. Remove useless adjustment of `outline->tags' elements.
Werner Lemberg a3e842f9 2018-08-22T09:55:38 Minor formatting and documentation fixes.
Werner Lemberg 0a33b44e 2018-08-21T10:52:14 * src/sfnt/ttcpal.c (tt_face_load_cpal): Add missing safety check. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9981
Werner Lemberg 4873eb1d 2018-08-19T07:27:21 Update `CHANGES' file.
Werner Lemberg 4dc0d48f 2018-08-18T14:39:20 [psaux] Avoid slow PS font parsing in case of error. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9955 * src/psaux/psobjs.c (ps_parser_to_bytes): Set `parser->cursor' even in case of error to avoid potential re-scanning.
Werner Lemberg 2550fc75 2018-08-18T13:38:48 [cff] Fix heap buffer overflow in old engine. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9967 * src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_blend> [CFF_CONFIG_OPTION_OLD_ENGINE]: `num_designs' must be non-zero.
Young Xiao c94162a2 2018-08-16T08:25:47 * builds/mac/ftmac.c (parse_fond): Fix buffer overrun. Reported as bug #54515, duplicate of #43540.
Werner Lemberg 33cd1eed 2018-08-16T05:55:18 * builds/*/ftsystem.c (FT_COMPONENT): Updated also.
Alexei Podtelezhnikov efa2a3ba 2018-08-15T23:49:07 Revert BDF copyright years.
Alexei Podtelezhnikov af9662e6 2018-08-15T22:58:11 Ouch. BDF copyright year.
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]".