Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • upstream/3.1.1
  • 3.1.0
    Release 3.1.0
    
    Added
    -----
    
    * OT-SVG support ([#49](49)). Note that FreeType does not rasterize
      SVG glyphs by itself. Instead, fcft does this via FreeType hooks,
      using a bundled [nanosvg](nanosvg) as backend. Enabled by default,
      but can be disabled with `-Dsvg-backend=none`). FreeType >= 2.12 is
      required.
    * `FCFT_CAPABILITY_SVG` added to `fcft_capabilities()`.
    
    [nanosvg]: https://github.com/memononen/nanosvg
    [49]: https://codeberg.org/dnkl/fcft/issues/49
    
    Changed
    -------
    
    * Minimum required meson version is now 0.58
    
    Fixed
    -----
    
    * `fcft_font::name`, and `fcft_glyph::font_name` not being set
      correctly for font collections (e.g. `*.ttc` files).
    * Assertion inside HarfBuzz with `fcft_rasterize_grapheme_ut32()` when
      we fail to rasterize a glyph ([#1056][foot-1056]).
    
    [foot-1056]: https://codeberg.org/dnkl/foot/issues/1056
  • debian/3.0.1-2
    d16e3331 · Prepare upload of 3.0.1-2 ·
    fcft Debian release 3.0.1-2
    
  • debian/3.0.1-1
    14671102 · Package version 3.0.1 ·
    fcft Debian release 3.0.1-1
    
  • 3.0.1
    Release 3.0.1
    
    Fixed
    -----
    
    * Crash when failing to lookup the full font name
      (https://codeberg.org/dnkl/fcft/issues/47).
  • upstream/3.0.1
  • 3.0.0
    Release 3.0.0
    
    Added
    -----
    
    * `name` to `struct fcft_font`. This is the name of the **primary**
      font (i.e. not any of the fallback fonts).
    * `font_name` to `struct fcft_glyph`. This is the name of the font the
      glyph was loaded from, and may reference a fallback font. Note that
      it is **always** NULL in text-run glyphs.
    
    Changed
    -------
    
    * meson: default C standard changed from C18 to C11 (fcft does not use
      any C18 features).
    * fcft’s constructor and destructor are now part of the public API,
      and must be explicitly called: `fcft_init()` and `fcft_fini()`. Note
      that `fcft_init()` also handles logging initialization.
    * All `wchar_t` usage replaced with `uint32_t`.
    * layout tags removed from `fcft_grapheme_rasterize()`. These should
      be set using `fontfeature`s in the font `names` and/or `attributes`
      arguments in `fcft_from_name()`.
    * `wc` member in `struct glyph` renamed to `cp` (CodePoint).
    * `wc` function arguments renamed to `cp` in all APIs.
    * `fcft_glyph_rasterize()` renamed to `fcft_rasterize_char_utf32()`.
    * `fcft_grapheme_rasterize()` renamed to `fcft_rasterize_grapheme_utf32()`.
    * `fcft_text_run_rasterize()` renamed to `fcft_rasterize_text_run_utf32()`.
    
    Removed
    -------
    
    * `fcft_size_adjust()`
    * `space_advance` member from `struct fcft_font`.
    * `fcft_log_init()`. Use `fcft_init()` instead.
    
    Fixed
    -----
    
    * Wrong version string generated when building as a subproject.
    * Uninitialized grapheme state variable in
      `fcft_text_run_rasterize()`.
    * Incorrectly sorted Unicode precompose table when building in non-C
      locales (https://codeberg.org/dnkl/fcft/issues/44).
  • debian/2.5.1-1
    83836ed9 · Package version 2.5.1 ·
    fcft Debian release 2.5.1-1
    
  • 2.5.1
    Release 2.5.1
    
    Added
    -----
    
    * Meson command line option `-Ddocs` to force disable or enable
      building manual pages and installing changelog and readme files
    
    Changed
    -------
    
    * `scdoc` is optional and detected automatically
    * `fcft_set_scaling_filter()` now applies to color bitmap fonts only
      (i.e. emoji fonts). Applying e.g. cubic or lanczos3 on regular text
      glyphs simply does not look good.
    
    Fixed
    -----
    
    * `FCFT_SCALING_FILTER_CUBIC` incorrectly being mapped to “lanczos3”.
    * Pixman errors and program freezes when scaling bitmap fonts to very
      small sizes (https://codeberg.org/dnkl/foot/issues/830).
    
    Contributors
    ------------
    
    *  Alibek Omarov
  • upstream/2.5.1
  • 2.5.0
    Release 2.5.0
    
    Added
    -----
    
    * Text-run shaping now requires libutf8proc (in addition to
      HarfBuzz). Grapheme shaping still requires HarfBuzz only.
    * `fcft_set_emoji_presentation()` - can be used to override emojis’
      **default** presentation style.
    
    Changed
    -------
    
    * Meson command line option `-Dtext-shaping` have been replaced with
      `-Dgrapheme-shaping` and `-Drun-shaping`; grapheme shaping requires
      HarfBuzz only, while run shaping requires HarfBuzz **and**
      libutf8proc. Thus, enabling run shaping implicitly enables grapheme
      shaping.
    * `fcft_*_rasterize()`: emojis’ default presentation is now accounted
      for when searching for a font containing the emoji codepoint;
      codepoints whose default presentation is “text” will no longer
      consider emoji fonts, and codepoints whose default presentation is
      “emoji” will no longer consider non-emoji fonts.
    
    Fixed
    -----
    
    * `fcft_text_run_rasterize()`: much improved handling of RTL scripts
      (in mixed LTR/RTL strings in particular)
  • 2.4.6
    Release 2.4.6
    
    Added
    -----
    
    * UnicodeData updated to 14.0
    
    Fixed
    -----
    
    * ‘wc’ field in `struct fcft_glyph` being assigned font index instead
      of Unicode codepoint in `fcft_grapheme_rasterize()` and
      `fcft_text_run_rasterize()`.
    * Assertion in `glyph_cache_resize()`, triggered by trying to
      rasterize, and _failing_, a large amount of code points
      (https://codeberg.org/dnkl/foot/issues/763).
    * Bad performance of grapheme cache when rasterizing many grapheme
      clusters.
    
    Contributors
    ------------
    
    * [emersion](https://codeberg.org/emersion)
  • upstream/2.4.6
  • 2.4.5
    Release 2.4.5
    
    Fixed
    -----
    
    * `fcft_text_run_rasterize()` not checking if codepoint is in the
      font’s charset before attempting shaping
      (https://codeberg.org/dnkl/fcft/issues/30).
    * Crash when destroying a font with a grapheme cache entry
      representing a failed grapheme glyph.
    
    This is an ABI+API backward compatible release
  • upstream/2.4.5
  • 2.4.4
    Release 2.4.4
    
    Fixed
    -----
    
    * Rendering of bitmap fonts with Freetype >= 2.11
      (https://codeberg.org/dnkl/fcft/issues/29).
  • 2.4.3
    Release 2.4.3
    
    Fixed
    -----
    
    * Bitmap/aliased font glyphs being mirrored on big-endian
      architectures.
    * Color font glyphs having wrong colors on big-endian architectures.
    * Crash when destroying a font that failed to load (typically happens
      when there are no fonts available at all).
  • 2.4.2
    Release 2.4.2
    
    Fixed
    -----
    
    * Rare crash when one thread was doing a glyph cache lookup, while
      another was resizing the cache.
  • 2.4.1
    Release 2.4.1
    
    Changed
    -------
    
    * Log messages are now printed to stderr instead of stdout.
    * `fcft_grapheme_rasterize()` now sets a minimum grapheme column count
      of 2 when the cluster ends with an Emoji variant selector (codepoint
      0xFE0F).
    
    Fixed
    -----
    
    * Compilation error when fallback definition for `FCFT_EXPORT` was used
      in `meson.build`.
    
    Contributors
    ------------
    
    * [emersion](https://codeberg.org/emersion)
    * [craigbarnes](https://codeberg.org/craigbarnes)
  • 2.4.0
    Release 2.4.0
    
    Added
    -----
    
    * Example program. Very simple bare bones Wayland program that renders
      a user provided string with user configurable fonts and colors. No
      proper error checking etc. To build, configure meson with
      `-Dexamples=true`.
    * `fcft_log_init()`. This function enables, and configures logging in fcft.
    * `fcft_text_run_rasterize()`: new API that uses HarfBuzz to shape a
      text run (i.e. a whole string). Note that HarfBuzz is (still) an
      **optional** dependency, see
      [README](README.md#user-content-building).
    * `fcft_text_run_destroy()`: new API that frees a rasterized text-run.
    * `FCFT_CAPABILITY_TEXT_RUN_SHAPING` added to `fcft_capabilities()`.
    * `antialias` and `subpixel` members to `struct fcft_font`.
    
    Changed
    -------
    
    * fcft logging must now be enabled explicitly (see `fcft_log_init()`).
    * Internal logging functions are no longer exported by the shared library.
    * The pixel size passed from FontConfig to FreeType is now rounded
      instead of truncated (https://codeberg.org/dnkl/foot/issues/456).
    
    Fixed
    -----
    
    * Internal logging functions have been renamed, from generic `log_*`
      names to fcft specific `fcft_log_` names.
    * Apply pixel-size fixup to glyphs’ advance width/height, but **only**
      if we estimated the fixup ourselves (otherwise the advance
      width/height is already scaled).