1. 05 Aug, 2021 1 commit
  2. 03 Aug, 2021 1 commit
  3. 20 Jul, 2021 2 commits
    • Alexander Richardson's avatar
      Add support for C11 stdatomic atomics · 012ffaac
      Alexander Richardson authored
      This fixes deprecation warnings when building for macOS >= 10.12 systems.
      Additionally, using stdatomic.h (or the more modern __atomic_ builtins)
      is required when targeting CHERI-enabled architectures such as
      CHERI-RISC-V or Arm's Morello since the compiler rejects __sync_* atomic
      for pointer types (they only work with integers).
      012ffaac
    • Alexander Richardson's avatar
      fcint: add casts to allow building with stricter compilers · ab4761ff
      Alexander Richardson authored and Akira TAGOH's avatar Akira TAGOH committed
      When targeting CHERI, casts between pointers and integers must use
      (u)intptr_t. uintptr_t values contains pointer bounds (and additional
      metadata), whereas other integer types do not. This change also adds a
      cast to FcOffsetToPtr() to silence a compiler warning that triggers if
      the compiler cannot statically infer which side of an arithmetic operation
      is the pointer operand and which one is the offset/mask.
      ab4761ff
  4. 19 Jul, 2021 1 commit
    • Ryan Schmidt's avatar
      Restore fcatomic compatibility with Mac OS X 10.4. · 3a7ad1b4
      Ryan Schmidt authored and Akira TAGOH's avatar Akira TAGOH committed
      Reverts the part of 6def6616 that
      removed the fc_atomic_ptr_cmpexch compatibility code for systems earlier
      than Mac OS X 10.5.
      
      Reverts the part of 447b9ccc that moved
      the definition of fc_atomic_ptr_get into the Mac OS X > 10.4 block. That
      code is still needed on 10.4 and is implemented using functions that are
      available on 10.4.
      
      Compare against MAC_OS_X_VERSION_MIN_REQUIRED using a number not a
      constant because the constant is not available on earlier SDKs.
      3a7ad1b4
  5. 14 Jul, 2021 2 commits
  6. 08 Jul, 2021 2 commits
  7. 06 Jul, 2021 1 commit
  8. 28 Jun, 2021 3 commits
    • Akira TAGOH's avatar
      Bump version to 2.13.94 · e291fda7
      Akira TAGOH authored
      e291fda7
    • Akira TAGOH's avatar
      Fix score evaluation for multiple values in properties · da1c9f7a
      Akira TAGOH authored
      Sometimes fonts has multiple values in family and sub-family in order to unify
      other variants into one. they basically make difference in sub-family though,
      they also still have standalone family and sub-family. in that case, sub-family is
      likely to be Regular.
      
      fontconfig couldn't recognize the difference between :family=Foo:style=Regular
      and :family=Foo Caption:style=Regular for example because fontconfig didn't
      give different score on matching result for the position of multiple values in
      a cache.
      Thus, when querying a font like :family=Foo:style=Regular may results
      :family=Foo Caption:style=Regular. (see the test case for more details)
      
      To fix this situation, giving different score according to the position
      of multiple values in a cache as well as the position of multiple values
      in a query.
      
      Fixes fontconfig/fontconfig#283
      da1c9f7a
    • Akira TAGOH's avatar
      Revert constructing fullname property from family and style properties · d62d984e
      Akira TAGOH authored
      This seems making a regression in Java. we will revisit this issue later.
      
      Fixes fontconfig/fontconfig#277
      d62d984e
  9. 25 Jun, 2021 1 commit
  10. 09 Apr, 2021 1 commit
  11. 30 Mar, 2021 1 commit
  12. 26 Mar, 2021 1 commit
  13. 25 Mar, 2021 1 commit
  14. 03 Mar, 2021 3 commits
  15. 02 Mar, 2021 1 commit
    • Akira TAGOH's avatar
      Overwrite symlinks for config files · 615e2cb8
      Akira TAGOH authored
      In Makefile, we are trying to remove old symlinks first and then create a symlink.
      do the same thing in meson too.
      
      Also, the line of the exception handling for FileExistsError is meaningless
      as the above line is taking care of it instead and we shouldn't ignore it if
      os.remove and os.symlink doesn't work somehow.
      
      Fixes fontconfig/fontconfig#275
      615e2cb8
  16. 18 Feb, 2021 1 commit
    • Tim-Philipp Müller's avatar
      meson: fix subproject build regression · dba3287b
      Tim-Philipp Müller authored and Akira TAGOH's avatar Akira TAGOH committed
      commit ae9ac2a1 from !165 introduced a regression when
      fontconfig is built as a subproject. In that case we
      would fail to correctly construct the path to the root
      build dir where the meson-info subdirectory resides,
      instead looking for it in the fontconfig subproject
      subdir. This would result in
      FAILED: subprojects/fontconfig/src/fcobjshash.gperf
      errors in the cutout.py script.
      
      Instead use the @BUILD_ROOT@ substitution to get
      to the build root which will work correctly in
      either scenario.
      dba3287b
  17. 16 Feb, 2021 1 commit
    • Ben Wagner's avatar
      Fix stack use after scope in FcConfigCompareValue · ba15d41b
      Ben Wagner authored
      Discovered by AddressSanitizer. When left_o and right_o are promoted the
      promoted values are placed on the stack in FcValuePromotionBuffer.
      The FcValuePromotionBuffers must then continue to be in scope while
      left_o and right_o point into their content. In 9d4e5d0f the
      FcValuePromotionBuffers were moved into the incorrect scope, leaving
      left_o and right_o pointing into an object whose lifetime has ended.
      This is similar to left and right which appear to have a smaller scope
      but are actually required to be in the larger scope.
      
      Correct this by moving the FcValuePromotionBuffers to the proper scope.
      Leave the left and right FcValues where they are since they are in the
      correct scope already.
      
      This also adds to test-conf the ability to create charset, langset,
      range, and matrix in patterns. This allows for a simple test which fails
      under AddressSanitizer before this change and passes after.
      ba15d41b
  18. 15 Feb, 2021 2 commits
  19. 30 Jan, 2021 1 commit
  20. 28 Jan, 2021 1 commit
  21. 26 Jan, 2021 1 commit
  22. 20 Jan, 2021 1 commit
  23. 15 Jan, 2021 1 commit
  24. 13 Jan, 2021 1 commit
  25. 08 Jan, 2021 2 commits
    • Tim-Philipp Müller's avatar
      ci: add meson android aarch64 build · 643c3f1e
      Tim-Philipp Müller authored and Akira TAGOH's avatar Akira TAGOH committed
      Passing -Wno-pointer-bool-conversion in cross file
      to suppress compiler warning:
      
      src/fcfreetype.c:1373:11: address of array 'os2->achVendID' will always evaluate to 'true'
      643c3f1e
    • Tim-Philipp Müller's avatar
      fcformat: fix compiler warnings with clang on Android · 8657c081
      Tim-Philipp Müller authored and Akira TAGOH's avatar Akira TAGOH committed
      fcformat.c:762:44: warning: expression which evaluates to zero treated as a null pointer constant of type 'FcChar8 *' (aka 'unsigned char *') [-Wnon-literal-null-conversion]
                      if (!FcNameUnparseValue (buf, &l->value, '\0'))
                                                               ^~~~
      fcformat.c:769:38: warning: expression which evaluates to zero treated as a null pointer constant of type 'FcChar8 *' (aka 'unsigned char *') [-Wnon-literal-null-conversion]
                  FcNameUnparseValueList (buf, l, '\0');
                                                  ^~~~
      8657c081
  26. 07 Jan, 2021 2 commits
    • Ben Wagner's avatar
      Clean up test-family-matching test. · bd7123ac
      Ben Wagner authored and Akira TAGOH's avatar Akira TAGOH committed
      Correct the type of TestMatchPattern's 'ret' from TestResult to
      TestMatchResult to match the actual return type (and values assigned to
      it).
      
      Fix leak of TestMatchPattern's 'xml' and TestFamily's 'pat'.
      
      Simplify TestMatchPattern cleanup and ensure cleanup always happens.
      bd7123ac
    • Tim-Philipp Müller's avatar
      meson: remove unused stdin_wrapper.py script · e2c6b620
      Tim-Philipp Müller authored and Akira TAGOH's avatar Akira TAGOH committed
      Not needed any more. Used to be used with fc-case and fc-lang,
      but those have since been rewritten in python.
      e2c6b620
  27. 28 Dec, 2020 1 commit
    • Ben Wagner's avatar
      Test all not_eq for family names. · b1e1a875
      Ben Wagner authored
      Any early out checks must give the same answer as FcConfigCompareValue.
      An accelerator was added for family names which treated all ops as if
      they were FcOpEqual, giving the wrong answer for other non-equivalent ops
      (for example FcOpContains or FcOpNotEqual).
      
      This adds a test which passes before the accelerator was introduced,
      fails after, and will pass again after !142 lands. This tests the all
      not_eq case.
      b1e1a875
  28. 17 Dec, 2020 2 commits
  29. 16 Dec, 2020 1 commit
    • Ben Wagner's avatar
      Fix test-conf string to integer conversion. · 921ede9f
      Ben Wagner authored
      The test-conf build_pattern attempted to convert known constant strings
      into integer values. However, it did so by always converting the string
      value to an integer if possible and then complaining if the key wasn't
      of the expected type. This lead to error messages on "style": "Regular"
      since "Regular" was recognized as "weight".
      
      Instead, only attempt conversion from string to integer if the key is
      the name of an object which can take an integer type. This eliminates
      the spurious non-fatal errors reported when parsing
      test-90-synthetic.json.
      
      This also fixes an issue where the created value was given the type of
      the object found, but the integer field was assigned. Instead, check
      that the object type can take an integer and always set the value type
      to integer.
      921ede9f