Age | Commit message (Collapse) | Author |
|
|
|
This resolves a rounding issue when converting to the 26.6 format used
by freetype for character sizes.
This rounding behavior is taken from cairo:
https://gitlab.freedesktop.org/cairo/cairo/-/blob/master/src/cairo-ft-font.c#L900-903
There are various different implementations of the F26Dot6 conversion
online, but the rounding that cairo does seems to be the most common.
Since cairo is very commonly used, it should produce good results
compared with the rest of Linux text rendering.
Fixes #2780.
Co-authored-by: Christian Duerr <contact@christianduerr.com>
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
|
|
|
|
In addition it also starts respecting Fontconfig's `autohint`
and `hinting` options.
Fixes #3534.
|
|
Statically linking Fontconfig was leading to slow startup and
various errors, so forcing the use of system's library.
|
|
Fixes #3915.
|
|
Keeping the license as part of every file bloats up the files
unnecessarily and introduces an additional overhead to the creation of
new modules.
Since cargo already provides excellent dependency management, most of
the code-reuse of Alacritty should occur through Rust's dependency
management instead of copying it source.
If code is copied partially, copying the license from the main license
file should be just as easy as copying from the top of the file and
making some adjustments based on where it is used is likely necessary
anyways.
|
|
This fixes a regression introduced in
77f2d6e853f1ad54e6dc844a811b78daeb463e76.
Fixes #3809.
|
|
|
|
|
|
Fixes #2601.
Fixes #2475.
|
|
Fixes #1754.
|
|
Fixes #1864.
|
|
|
|
|
|
|
|
This updates font dependencies to make use of the newly unified
freetype-sys crate, allowing us to get rid of Alacritty's patch section
in the Cargo.toml.
|
|
|
|
Since there were some problems with clippy suggesting changes that were
not yet available in the oldest supported Rust compiler of Alacritty,
the clippy stage has been moved from stable to 1.37.0.
|
|
This resolves an issue with the selection clamping, where no selection
would be rendered at all when the start was above the viewport while the
end was below it.
|
|
|
|
We can't reliably do that, because some fonts are bitmap,
but marked as scalable by Fontconfig.
Fixes #3387.
|
|
|
|
Previously we were rounding pattern's `pixelsize` before `fc_sort`, however we were using not rounded one in `get_glyph`, so bitmap fonts could look a bit smaller when used in a mix with scalable fonts.
|
|
Fixes regression introduced in 6b327b6f8f0f308ff8f46cdf551ce0d0f3eda60b.
Fixes #3355.
|
|
Fixes resize regression from 15cc07c069b09f109ed18fb94e02e9650be7fa33.
|
|
Fixes #3257.
|
|
Previous implementation was querying Fontconfig using `charset` in a pattern,
which was leading to unpredictable fallbacks in some cases, since Fontconfig
was picking the font with the most coverage for a given charset, regardless of
user configuration. Moreover all fallback was based on font_match which is
extremely slow for such performance sensitive task as a fallback, so alacritty
had a hard times on vtebench's unicode-random-write.
The new approach is to use some internal fallback list from font_sort
and iterate over it to get a proper fallback font, since it matches the
following example query from `fc-match`:
`fc-match -s "monospace:pixelsize=X:style=Y"
That being said it's more intuitive for users to setup their system Fontconfig
fallback, and also most applications are doing similar things. Moreover the new
implementation uses internal caches over Fontconfig API when possible and
performs font matches only once during load of requested font with font_sort,
which leads to dramatically improved performance on already mentioned
vtebench's unicode-random-write.
Fixes #3176.
Fixes #3134.
Fixes #2657.
Fixes #1560.
Fixes #965.
Fixes #511.
|
|
Fixes #3235.
|
|
Clippy[1] says that `.next()` is more readable than `.nth(0)`.
[1]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero
|
|
|
|
This fixes various outdated links pointing to the old jwilm/alacritty
repository.
Since `copypasta` now has its own github repository at
https://github.com/alacritty/copypasta, the sources have been removed
from Alacritty.
|
|
|
|
Fixes #153.
|
|
|
|
This takes the latest glutin master to port Alacritty to the EventLoop
2.0 rework.
This changes a big part of the event loop handling by pushing the event
loop in a separate thread from the renderer and running both in
parallel.
Fixes #2796.
Fixes #2694.
Fixes #2643.
Fixes #2625.
Fixes #2618.
Fixes #2601.
Fixes #2564.
Fixes #2456.
Fixes #2438.
Fixes #2334.
Fixes #2254.
Fixes #2217.
Fixes #1789.
Fixes #1750.
Fixes #1125.
|
|
|
|
|
|
|
|
Fixes #2655.
|
|
|
|
This commit makes alacritty use Menlo as a fallback font on macOS if the config specified font family isn't found.
|
|
|
|
|
|
This adds a DirectWrite font rasterizer for Windows and enables
subpixel rendering and hinting.
It also completely replaces rusttype for font rendering on Windows,
allowing Alacritty to use the native font stacks on all operating systems.
Fixes #1673.
Fixes #2316.
|
|
This fixes a recent regression in
cfc20d4f34dca535654cc32df18e785296af4cc5 which broke cursor colors when
specified in the `colors.cursor` field in the config.
It also removes a lot of unneeded code from the font crate related to
the cursor rendering.
This fixes #2338.
|
|
Previously cursor dimensions were not calculated correctly when a font
offset was specified, since the font offset was completely ignored.
This has been fixed by moving all the cursor logic from the font into
the Alacritty crate, applying the config's offsets before rasterizing
the cursors.
This has also fixed an issue with some cursors not being rendered as
double-width correctly when over double-width glyphs.
This fixes #2209.
|
|
If a resize event is identical to the current size, it is no longer
propagated but the resize is discarded immediately.
To further prevent resizes when not necessary, the list of monitors is
enumerated and the DPR of the first display is assumed to be the target
DPR.
This allows spawning a window with dimensions when the config has
columns and lines specified and the window only needs to be resized if
the estimated DPR is not correct.
Fixes #1825.
Fixes #204.
|
|
By setting the minimum Rust version and enforcing it with CI, Alacritty
should hopefully make it possible for maintainers to package the
application even on distributions which are not rolling release.
The 1.31.0 target has been chosen here because it's the first version of
the Rust 2018 release. Bumping this version in the future should be
considered to be a breaking change and should only be done with caution
and in consideration of the supported Rust versions of the major
distributions available.
This fixes #2277.
|
|
|