1. 22 Feb, 2021 1 commit
  2. 19 Feb, 2021 1 commit
  3. 17 Feb, 2021 1 commit
    • Werner Lemberg's avatar
      [unix] Updates for autoconf 2.71. · eca35e04
      Werner Lemberg authored
      This fixes warnings reported by autoupdate.
      
      * builds/unix/ax_pthread.m4: Replace `as_echo` with `AS_ECHO`.
      
      * builds/unix/configure.raw: Remove obsolete `AC_HEADER_STDC`.
      Don't escape back quotes in messages for `AC_MSG_WARN`.
      eca35e04
  4. 16 Feb, 2021 5 commits
    • Werner Lemberg's avatar
      * builds/toplevel.mk: Fix previous commit. · 635d394f
      Werner Lemberg authored
      <top_level>: Use `TOP_DIR` in `wildcard` function.
      (check_out_submodule, copy_submodule): Move down to come after
      definition of `all` rule.
      Call `mkdir` conditionally.
      635d394f
    • Werner Lemberg's avatar
      * builds/toplevel.mk: Use rules for handling 'dlg'. · c3a0b43e
      Werner Lemberg authored
      Suggested by Alexei.
      
      (check_out_submodule, copy_submodule): New targets.
      <top-level>: Replace calls to `shell` with rules.
      c3a0b43e
    • Werner Lemberg's avatar
      * builds/toplevel.mk: Avoid side effects of `shell`. · dfa7cca5
      Werner Lemberg authored
      We use a dummy variable to catch its output.  Otherwise the `make`
      program is going to interpret the return value of `shell`; this can
      cause obscure warning or error messages or even be harmful.
      dfa7cca5
    • Werner Lemberg's avatar
      Move 'dlg' submodule to `subprojects` directory. · 92bd99bd
      Werner Lemberg authored
      This is for future changes with Meson, which doesn't allow a
      different name for its `subprojects` directory.  Having both a
      `submodules` and a `subprojects` directory is confusing.
      
      * .gitmodules, autogen.sh (copy_submodule_files, DLG_INC_DIR,
      DLG_SRC_DIR): Updated.
      
      * builds/toplevel.mk (<top-level>, do-dist),
      builds/windows/vc2010/script.bat: Updated.
      
      * src/tools/no-copyright: Updated.
      92bd99bd
    • Dominik Röttsches's avatar
      [sfnt] Update paint format values to support non-variable paints. · 215ae253
      Dominik Röttsches authored
      * freetype.h (FT_PaintFormat): Update paint format identifiers after
      a specification change.  The specification was updated to have
      sibling formats, variable and non-variable variants for each.
      Reflect that here.
      
      * sfnt/ttcolr.c (read_paint): Remove parsing of variable indices as
      the non-variable formats no longer have them.
      215ae253
  5. 15 Feb, 2021 1 commit
  6. 13 Feb, 2021 4 commits
  7. 11 Feb, 2021 1 commit
    • Dominik Röttsches's avatar
      [sfnt] Implement 'COLR' v1 sweep gradients. · 54c5ad5c
      Dominik Röttsches authored
      * freetype.h (FT_PaintSweepGradient): Add `FT_PaintSweepGradient` to
      represent a 'COLR' v1 sweep gradient.
      Update format.
      (FT_PaintFormat): Update shifted paint formats.
      Sync with spec.
      * sfnt/ttcolr.c (read_paint): Logic to parse sweep gradients.
      Fix struct access in radial gradient implementation.
      54c5ad5c
  8. 10 Feb, 2021 4 commits
    • Werner Lemberg's avatar
      c8dede7b
    • Dominik Röttsches's avatar
      [sfnt] Provide optional root transform for 'COLR' v1 glyph graph. · 64f01bfe
      Dominik Röttsches authored
      * include/freetype/freetype.h (FT_Get_Color_Glyph_Paint):
      Additional function argument root_transform to control whether
      root transform should be returned.
      (FT_OpaquePaint): Additional tracking field to denote whether
      root transform is to be returned.
      * include/freetype/internal/sfnt.h
      (TT_Get_Color_Glyph_Paint_Func): Propagate additional argument.
      * src/base/ftobjs.c (FT_Get_Color_Glyph_Paint): Ditto.
      * src/sfnt/ttcolr.c (tt_face_get_colr_glyph_paint): Return root
      transform reflecting the size and tranform configured on
      FT_Face.
      (read_paint): Initialize and track status of insert_root_transform
      flag.
      64f01bfe
    • Xavier Claessens's avatar
      * meson.build: s/freetype2_dep/freetype_dep/. · cc90307d
      Xavier Claessens authored
      Many projects (e.g., fontconfig, cairo) hardcode the `freetype_dep`
      variable name to use FreeType as subproject because that was the
      variable name in Centricular's Meson port of FreeType.  While they
      should stop hardcoding that variable name, it does not cost us
      anything to keep using that name to ease transition.
      cc90307d
    • Xavier Claessens's avatar
      [meson] Fix handling of HarfBuzz library. · 3dbdb78a
      Xavier Claessens authored
      * meson.build (harfbuzz_dep): Do not fall back to HarfBuzz by
      default.
      
      Otherwise it causes a dependency cycle:
      
        cairo => fontconfig => freetype2 => harfbuzz => cairo
      
      Meson will still fall back to HarfBuzz subprojects if the `harfbuzz`
      option is set to `enabled` instead of `auto` and a
      `subprojects/harfbuzz.wrap` file is present.  In that case it is the
      responsibility of the main project to set the proper options on each
      subproject to break the dependency cycle.
      
      Fixes: #1028.
      3dbdb78a
  9. 09 Feb, 2021 6 commits
    • Xavier Claessens's avatar
      Meson: Fix dependency lookup and generate ftconfig.h · 2c405596
      Xavier Claessens authored
      [meson] Fix dependency lookup and generate `ftconfig.h`.
      
      - zlib: If not found on the system, meson can build it as a
        subproject.  We thus never use the (outdated) zlib support that
        comes with FreeType.  Doing so has the additional advantage that
        the zlib code can be shared with other projects like GLib if both
        are subprojects of an application.
      - harfbuzz: Build as a subproject if not found on the system.
      - 'QUESTION: What if the compiler doesn't support `-D` but uses `/D`
        instead as on Windows?'  Answer: Meson translate arguments for us.
      - visibility: Replace self-made code with meson-specific solution.
      
      * meson.build (ft2_defines): Rewrite logic to set and handle it.
      (process_header_command): New variable, previously called
      `ftoption_command`.
      (ftoption_command, ftconfig_command): New variables.
      (zlib_option): Removed.
      (zlib_dep): New variable.
      (ft2_deps): Updated.
      (harfbuzz_dep): Updated.
      (ftconfig_h_in, ftconfig_h): New variables.
      (ft2_sources): Updated.
      (ft2_lib): Updated, handle visibility.
      (summary): Updted.
      
      * meson_options.txt (zlib): Updated.
      2c405596
    • Xavier Claessens's avatar
      * meson.build: Fix resource compilation on Windows. · e11cc40a
      Xavier Claessens authored
      This is copied from GStreamer's meson port of FreeType.
      
      (ft2_sources): Add both debug and resource file (the latter for
      Windows only).
      (ft2_debug_src): Removed.
      e11cc40a
    • Xavier Claessens's avatar
      * meson.build: s/ft2_libtool_version/ft2_pkgconfig_version/. · 69e0faa8
      Xavier Claessens authored
      (freetype2_dep): Use it.
      
      `ft2_libtool_version` would be the shared library version, not the
      one we should use in file `freetype2.pc`.
      69e0faa8
    • Xavier Claessens's avatar
      * meson.build: Use `meson.override_dependency`. · 0565c5ba
      Xavier Claessens authored
      This is a new meson mechanism to avoid other projects to hard-code
      the `freetype2_dep` variable name in their build definition.  It
      also ensures that meson does not mix system and subproject versions
      of FreeType inside of the same project.
      
      Also remove outdated TODO because `declare_dependency` was already
      there.
      0565c5ba
    • Xavier Claessens's avatar
      * meson.build (bzip2_dep): Simplify. · 5c81e09b
      Xavier Claessens authored
      We remove `static:false` from `find_library('bz2')`.
      
      I don't know whether the previous code was a workaround for an old
      meson bug, but at least with version >=0.55.0 (which FreeType uses)
      it picks the shared library when both are available.
      
      With this commit, file `freetype2.pc` no longer contains the full path to
      file `libbz2.so`; instead, it correctly uses `-lbz2`.  Note that this is a
      meson bug is still present in the current version (0.57.0).
      5c81e09b
    • Xavier Claessens's avatar
      * meson.build: Set project version. · 1b69fb9b
      Xavier Claessens authored
      1b69fb9b
  10. 04 Feb, 2021 2 commits
  11. 03 Feb, 2021 3 commits
  12. 02 Feb, 2021 2 commits
  13. 31 Jan, 2021 2 commits
  14. 30 Jan, 2021 1 commit
  15. 27 Jan, 2021 4 commits
  16. 23 Jan, 2021 2 commits