aboutsummaryrefslogtreecommitdiff
path: root/font/src/ft/fc
Commit message (Collapse)AuthorAge
* Rename font crate to crossfontChristian Duerr2020-07-18
|
* Remove copyright notice from filesChristian Duerr2020-06-06
| | | | | | | | | | | | | | 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.
* Add support for Fontconfig embolden and matrix optionsKirill Chibisov2020-05-14
| | | Fixes #1754.
* Extend style guideline documentationChristian Duerr2020-05-05
|
* Fix selection with invisible start and endChristian Duerr2020-03-07
| | | | | 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.
* Fix caching of variable font facesKirill Chibisov2020-03-06
|
* Fix discarding of FreeType loading flagsKirill Chibisov2020-02-20
| | | | | | Fixes regression introduced in 6b327b6f8f0f308ff8f46cdf551ce0d0f3eda60b. Fixes #3355.
* Fix non-scalable font resize issueKirill Chibisov2020-02-03
| | | Fixes resize regression from 15cc07c069b09f109ed18fb94e02e9650be7fa33.
* Fix handling of OpenType variable fontsKirill Chibisov2020-01-31
| | | | Fixes #3257.
* Rework Fontconfig fallback to use cached list from font_sortKirill Chibisov2020-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Replace `.nth(0)` with `.next()`Cole Helbling2020-01-17
| | | | | 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
* Update font crate to 2018 editionDavid Hewitt2020-01-15
|
* Add support for colored emojis on Linux/BSDKirill Chibisov2019-12-09
| | | Fixes #153.
* Update dependenciesKirill Chibisov2019-10-23
|
* Bump minimum supported Rust version to 1.32.0Christian Duerr2019-06-08
|
* Set maximum Rust version to 1.31.0Christian Duerr2019-04-09
| | | | | | | | | | | | | 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.
* Bump dependenciesChristian Duerr2019-04-03
|
* Add rustfmt style guideChristian Duerr2019-03-30
|
* Normalize Log Message StringsNathan Lilienthal2019-01-07
| | | | | | The general style for errors, warnings and info messages is to start with a capitalized letter and end without a period. The main exception is when dealing with nouns that are clearer with special case handling, e.g. "macOS failed to work" or "ioctl is borked".
* Fix clippy issuesChristian Duerr2018-11-04
| | | | This resolves all existing clippy issues and removes some old `allow` annotations which aren't neccesary anymore.
* Fix style issuesMatthias Krüger2018-09-17
|
* Fix clippy lints and run font tests on travisMatthias Krüger2018-07-25
| | | | | | This fixes some existing clippy issues and runs the `font` tests through travis. Testing of copypasta crate was omitted due to problens when running on headless travis-ci environment (x11 clipboard would fail).
* Fix clippy issuesChristian Duerr2018-07-01
|
* Move to cargo clippyChristian Duerr2018-06-17
| | | | | | | | | | | | | | Using clippy as a library has been deprecated, instead the `cargo clippy` command should be used instead. To comply with this change clippy has been removed from the `Cargo.toml` and is now installed with cargo when building in CI. This has also lead to a few new clippy issues to show up, this includes everything in the `font` subdirectory. This has been fixed and `font` should now be covered by clippy CI too. This also upgrades all dependencies, as a result this fixes #1341 and this fixes #1344.
* fix some typos in commentsMartin Lindhe2017-10-30
|
* config_subsitute(): fix typo by renaming to config_substitute()Martin Lindhe2017-10-30
|
* Support bitmap fontsDan Aloni2017-10-08
| | | | | | | | | | | | | | | | | | | | | | | | To allow FontConfig to work with Bitmap font, we shall pass the size we are interested in, and account for the size returned in the font matching process. This is, because we cannot scale those fonts. FontConfig will return the closest match, and we take its returned pixel size back when we are rendering the glyphs. There's an oddity when call set_char_size in TrueType - we need to behave as if the DPI is 72. It is due to the following macro: #define FT_REQUEST_HEIGHT( req ) \ ( (req)->vertResolution \ ? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \ : (req)->height ) Further work can allow for integer scaling of the largest bitmap font variant. Tested with Terminus PCF-type font under Linux. This addresses issue #582 .
* FreeType rasterizer respects some fontconfigJoe Wilm2017-10-08
| | | | | | | The FreeType rasterizer now reads settings like antialias, rgba, lcdfilter, and hintstyle and chooses FreeType settings accordingly. The result is that Alacritty fonts should look similar to the rest of the system.
* Remove unused macrosJoe Wilm2017-10-08
|
* Extend and improve FcPattern bindingsJoe Wilm2017-10-08
| | | | | | | | | | | | | | | | | | | | The fontconfig `FcPattern` type is wrapped as `fc::Pattern` and `fc::Pattern` ref. All methods for accessing data on the pattern now return an `Iterator`. This API turns out to be much more ergonomic than providing an integer index. We also override the default `nth` implementation of `Iterator` on these accessors to allow random (incremental only) access. For instance, accessing `family` attributes from a pattern: let families = pattern.family(); let second = pattern.nth(1); Or printing available styles for style in pattern.style() { println!("style={}", style); }
* Organize fontconfig wrappersJoe Wilm2017-10-08
Each Fc type is split into a separate file. This organization will help as features are added to the bindings.