• Show log

    Commit

  • Hash : b051f3fa
    Author : Garret Rieger
    Date : 2022-05-05T23:27:34

    [subset] Fix cpal subsetting when there are partial palette overlaps.
    
    The existing code doesn't correctly handle the case where palettes partially overlap in the color record array. This changes the subsetting to only share entries in the color record array when palettes have the same first color index. Partially overlapping palettes will be converted to disjoint segments in the color record array.
    
    Updates one of the color tests to use multiple palettes.
    
    Also fixes fuzzer: https://oss-fuzz.com/testcase-detail/5568200165687296.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/harfbuzz.git
    Git SSH git@git.kmx.io:kc3-lang/harfbuzz.git
    Public access ? public
    Description

    HarfBuzz text shaping engine

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg_l thodg
    Tags

  • README

  • In order to build the fuzzer one needs to build HarfBuzz and
    harfbuzz/test/fuzzing/hb-fuzzer.cc with:
      - Using the most recent Clang
      - With -fsanitize=address (or =undefined, or a combination)
      - With -fsanitize-coverage=edge[,8bit-counters,trace-cmp]
      - With various defines that limit worst case exponential behavior.
        See FUZZING_CPPFLAGS in harfbuzz/src/Makefile.am for the list.
      - link against libFuzzer
    
    To run the fuzzer one needs to first obtain a test corpus as a directory
    containing interesting fonts.  A good starting point is inside
    harfbuzz/test/shaping/fonts/fonts/.
    Then, run the fuzzer like this:
       ./hb-fuzzer -max_len=2048 CORPUS_DIR
    Where max_len specifies the maximal length of font files to handle.
    The smaller the faster.
    
    For more details consult the following locations:
      - http://llvm.org/docs/LibFuzzer.html or
      - https://github.com/google/libfuzzer-bot/tree/master/harfbuzz
      - https://github.com/harfbuzz/harfbuzz/issues/139