git subrepo clone --branch=master https://aur.archlinux.org/fcft.git
subrepo: subdir: "fcft" merged: "f0dd481" upstream: origin: "https://aur.archlinux.org/fcft.git" branch: "master" commit: "f0dd481" git-subrepo: version: "0.4.3" origin: "???" commit: "???"
This commit is contained in:
parent
356838b219
commit
2e56cc4855
23
fcft/.SRCINFO
Normal file
23
fcft/.SRCINFO
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
pkgbase = fcft
|
||||||
|
pkgdesc = Simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman.
|
||||||
|
pkgver = 2.4.4
|
||||||
|
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
|
||||||
|
makedepends = tllist
|
||||||
|
depends = freetype2
|
||||||
|
depends = fontconfig
|
||||||
|
depends = pixman
|
||||||
|
depends = harfbuzz
|
||||||
|
source = fcft-2.4.4.tar.gz::https://codeberg.org/dnkl/fcft/archive/2.4.4.tar.gz
|
||||||
|
sha256sums = dabf5d83bf464c493fdd3a0baa69dc549ba08633299f0197d20707ae875a59ce
|
||||||
|
|
||||||
|
pkgname = fcft
|
12
fcft/.gitrepo
Normal file
12
fcft/.gitrepo
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
; DO NOT EDIT (unless you know what you are doing)
|
||||||
|
;
|
||||||
|
; This subdirectory is a git "subrepo", and this file is maintained by the
|
||||||
|
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
|
||||||
|
;
|
||||||
|
[subrepo]
|
||||||
|
remote = https://aur.archlinux.org/fcft.git
|
||||||
|
branch = master
|
||||||
|
commit = f0dd48183b33714ee06420f034bff38219928125
|
||||||
|
parent = 356838b21944b2259ecc07b099109f69ce09c851
|
||||||
|
method = merge
|
||||||
|
cmdver = 0.4.3
|
355
fcft/CHANGELOG.md
Normal file
355
fcft/CHANGELOG.md
Normal file
@ -0,0 +1,355 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
* [2.4.4](#2-4-4)
|
||||||
|
* [2.4.3](#2-4-3)
|
||||||
|
* [2.4.2](#2-4-2)
|
||||||
|
* [2.4.1](#2-4-1)
|
||||||
|
* [2.4.0](#2-4-0)
|
||||||
|
* [2.3.3](#2-3-3)
|
||||||
|
* [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)
|
||||||
|
|
||||||
|
|
||||||
|
## 2.4.4
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* Rendering of bitmap fonts with Freetype >= 2.11
|
||||||
|
(https://codeberg.org/dnkl/fcft/issues/29).
|
||||||
|
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* Rare crash when one thread was doing a glyph cache lookup, while
|
||||||
|
another was resizing the cache.
|
||||||
|
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
### 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).
|
||||||
|
|
||||||
|
|
||||||
|
## 2.3.3
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
* Cloned fonts not being properly freed in library destructor.
|
||||||
|
|
||||||
|
|
||||||
|
## 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
|
33
fcft/PKGBUILD
Normal file
33
fcft/PKGBUILD
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Maintainer: Daniel Eklöf <daniel at ekloef dot se>
|
||||||
|
pkgname=fcft
|
||||||
|
pkgver=2.4.4 # 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/${pkgname}
|
||||||
|
license=(mit)
|
||||||
|
depends=('freetype2' 'fontconfig' 'pixman' 'harfbuzz')
|
||||||
|
makedepends=('meson' 'ninja' 'scdoc' 'tllist')
|
||||||
|
checkdepends=('check' 'ttf-dejavu')
|
||||||
|
changelog=CHANGELOG.md
|
||||||
|
source=(${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz)
|
||||||
|
sha256sums=('dabf5d83bf464c493fdd3a0baa69dc549ba08633299f0197d20707ae875a59ce')
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd ${pkgname}
|
||||||
|
|
||||||
|
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
|
||||||
|
install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||||
|
install -Dm 644 unicode/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.unicode"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user