diff options
author | Daniel Eklöf | 2020-12-18 14:24:30 +0100 |
---|---|---|
committer | Daniel Eklöf | 2020-12-18 14:24:30 +0100 |
commit | e7421d1be20796d3b6f3d017e5557b7489ef270a (patch) | |
tree | d33074e1fd01e68096c6d4bd13c7019c75bfb563 | |
download | aur-e7421d1be20796d3b6f3d017e5557b7489ef270a.tar.gz |
Initial AUR release - fcft 2.3.2
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | CHANGELOG.md | 268 | ||||
-rw-r--r-- | PKGBUILD | 38 |
3 files changed, 331 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..bdafdcd36a9b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,25 @@ +pkgbase = fcft + pkgdesc = Simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman. + pkgver = 2.3.2 + pkgrel = 1 + url = https://codeberg.org/dnkl/fcft + changelog = CHANGELOG.md + arch = x86_64 + arch = aarch64 + license = mit + checkdepends = check + checkdepends = ttf-dejavu + makedepends = meson + makedepends = ninja + makedepends = scdoc + depends = freetype2 + depends = fontconfig + depends = pixman + depends = harfbuzz + source = https://codeberg.org/dnkl/fcft/archive/2.3.2.tar.gz + source = https://codeberg.org/dnkl/tllist/archive/1.0.4.tar.gz + sha256sums = 726fdebb1d29bc40c665015666fd9037981c0b4d0ba3ecafa1994053091e7fa8 + sha256sums = a135934d4955902d67f75f3c542ace3bfb7be3be9c44796852e76ea9e1d82b33 + +pkgname = fcft + diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000000..558669566d20 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,268 @@ +# Changelog + +* [Unreleased][#Unreleased] +* [2.3.2](#2-3-2) +* [2.3.1](#2-3-1) +* [2.3.0](#2-3-0) +* [2.2.7](#2-2-7) +* [2.2.6](#2-2-6) +* [2.2.5](#2-2-5) +* [2.2.4](#2-2-4) +* [2.2.3](#2-2-3) +* [2.2.2](#2-2-2) +* [2.2.1](#2-2-1) +* [2.2.0](#2-2-0) +* [2.1.3](#2-1-3) +* [2.1.2](#2-1-2) +* [2.1.1](#2-1-1) +* [2.1.0](#2-1-0) +* [2.0.0](#2-0-0) +* [1.1.7](#1-1-7) + + +## Unreleased +### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security + + +## 2.3.2 + +### Added + +* Limited support for _"fontfeatures_" . fcft is still not a layout + engine, but with this we can support e.g. _stylistic sets_ + (HarfBuzz-enabled builds only). + + +### Deprecated + +* `tags` argument in `fcft_grapheme_rasterize()`. It is now being + ignored, and will be removed in a future release. + + +### Fixed + +* Hang in library destructor when system has no fonts installed + (https://codeberg.org/dnkl/foot/issues/174). + + +### Contributors + +* [birger](https://codeberg.org/birger) + + +## 2.3.1 + +### Fixed + +* `fcft_grapheme_rasterize()` now makes use of the optional + `tags`. These were previously ignored. +* Compilation error when text shaping was disabled. + + +## 2.3.0 + +### Added + +* `fcft_set_scaling_filter()`: new API that lets the calling + application configure the filter to use when downscaling bitmap + fonts (https://codeberg.org/dnkl/fcft/issues/9). +* `fcft_grapheme_rasterize()`: new API that uses HarfBuzz to shape a + grapheme cluster. Note that HarfBuzz is an **optional** dependency, + see [README](README.md#user-content-building). + + +### Changed + +* Increased timeout in tests, from 4s (the default), to 60s + (https://codeberg.org/dnkl/foot/issues/120). + + +## 2.2.7 + +### Changed + +* Use lanczos3 filtering when downscaling bitmap fonts. This improves + the quality of e.g. color emoji fonts. + + +### Fixed + +* Compilation with `-pedantic` + + +## 2.2.6 + +### Fixed + +* Set LCD filter. This fixes **severe** color fringes when FreeType + has been built with `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` (i.e. the + old ClearType-style subpixel rendering, instead of the newer Harmony + LCD rendering). + + +## 2.2.5 + +### Changed + +* `fcft_glyph_rasterize()`: improved performance in threaded + applications by guarding the glyph cache with an _rwlock_ instead of + a _mutex_. + + +### Fixed + +* fcft now checks for memory allocation failures. +* Compilation errors in 32-bit builds. + + +## 2.2.4 + +### Added + +* Unicode license file, for `UnicodeData.txt` + + +## 2.2.3 +### Added + +* Missing [LICENSE](LICENSE) file +* [LICENSE](LICENSE), [README.md](README.md) and + [CHANGELOG.md](CHANGELOG.md) are now installed to + `${datadir}/doc/fcft`. + + +### Fixed + +* Assertion in debug builds when resizing the glyph cache + + +## 2.2.2 + +### Fixed + +* `fcft_kerning()` was not threadsafe +* Rare crash in `fcft_glyph_rasterize()` caused by a race between a + successful glyph cache lookup and a glyph cache resize. + + +## 2.2.1 + +### Changed + +* Color bitmap glyphs with a pixel-size fixup factor other than 1.0 + are now pre-scaled. Previously, fcft would only set a pixman scale + transform on the glyph, causing actual scaling to occur **every** + time the glyph was blended. This improves the performance when + rendering color emojis. + + +## 2.2.0 + +### Changed + +* Internal representation of the primary and fallback fonts. +* Do not load a fallback font if it does not contain the requested glyph. + + +### Deprecated + +* `fcft_size_adjust()` + + +## 2.1.3 + +### Fixed + +* Advance width and height of scaled bitmap fonts. + + +## 2.1.2 + +### Changed + +* Glyph cache now resizes dynamically. This fixes a performance + problem when loading **a lot** of glyphs, as we ended up scanning + very long lists when looking up a glyph in the cache. + + +## 2.1.1 + +### Changed + +* Prefer user-provided `charset`. This can be used to e.g. limit a + fallback font's usage to a custom Unicode point range. + + +### Fixed + +* LCD RGB/BGR modes were reversed. + + +## 2.1.0 + +### Added + +* When looking for a glyph in the fallback fonts, don't discard + (destroy/unload) the fonts that did not contain the glyph. This + improves performance massively when loading lots of glyphs that does + not exist in the primary font, or in the first fallback font(s). +* Synthetic bold and italics (FontConfig's _embolden_ and _matrix_ + properties). +* `fcft_precompose()` - combines a base- and a combining wide + character into a single pre-composed character. + + +### Changed + +* `fcft_from_name()` and `fcft_size_adjust()` no longer calls + `setlocale()` to set a suitable locale for `FcParseName()`, as this + was not thread safe. The caller is responsible for ensuring + `LC_NUMERICAL` is set to a locale that correctly recognizes _x.y_ + decimal values. + + +### Fixed + +* `fcft_from_name()` was not thread safe +* `fcft_clone()` was not thread safe +* `fcft_size_adjust()` was not thread safe +* `fcft_destroy` was not thread safe + + +## 2.0.0 + +### Changed + +* API: `font_` prefix changed to `fcft_`. +* API: renamed `struct font` to `struct fcft_font`. +* API: renamed `struct glyph` to `struct fcft_glyph`. +* API: internal members of `struct fcft_glyph` removed. +* API: renamed `enum subpixel_order` to `enum fcft_subpixel`, and + `ORDER` was removed from the enum values. +* API: renamed `fcft_glyph.x_advance` to `fcft_glyph.advance.x`, and + added `fcft_glyph.advance.y` +* API: renamed `fcft_font.max_x_advance` to `fcft_font.max_advance.x` + and added `fcft_font.max_advance.y`. +* API: renamed `fcft_font.space_x_advance` to + `fcft_font.space_advance.x` and added `fcft_font.space_advance.y`. +* API: renamed `fcft_glyph_for_wc()` to `fcft_glyph_rasterize()`. +* Require meson >= 0.54. +* Use `meson.override_dependency()`. + + +### Fixed + +* `fcft_kerning()` did not scale the returned kerning distances with + the font's pixel size fixup multiplier. + + +## 1.1.7 + +### Fixed + +* LCD RGB/BGR modes were reversed diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..e0b8e8959843 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Daniel Eklöf <daniel at ekloef dot se> +pkgname=fcft +pkgver=2.3.2 # Don’t forget to update CHANGELOG.md +pkgrel=1 +pkgdesc="Simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman." +arch=('x86_64' 'aarch64') +url=https://codeberg.org/dnkl/fcft +license=(mit) +depends=('freetype2' 'fontconfig' 'pixman' 'harfbuzz') +makedepends=('meson' 'ninja' 'scdoc') +checkdepends=('check' 'ttf-dejavu') +changelog=CHANGELOG.md +source=(https://codeberg.org/dnkl/${pkgname}/archive/${pkgver}.tar.gz + https://codeberg.org/dnkl/tllist/archive/1.0.4.tar.gz) +sha256sums=('726fdebb1d29bc40c665015666fd9037981c0b4d0ba3ecafa1994053091e7fa8' + 'a135934d4955902d67f75f3c542ace3bfb7be3be9c44796852e76ea9e1d82b33') + +build() { + cd ${pkgname} + + mkdir -p subprojects + pushd subprojects + ln -sf ../../tllist . + popd + + meson --prefix=/usr --buildtype=release -Dtext-shaping=enabled . build + ninja -C build +} + +check() { + cd ${pkgname} + ninja -C build test +} + +package() { + cd ${pkgname} + DESTDIR="${pkgdir}/" ninja -C build install +} |