aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/text/shaping
Commit message (Collapse)AuthorAgeFilesLines
* rustdoc: Fix errors in `components` and `ports` (#31654)Tumuhairwe2024-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixed warnings in components/gfx/text/shaping/harfbuzz-rs components/layout_2020/fragment_tree ports/servoshell/minibrowser.rs * Fixed warnings in components/gfx/text/shaping/harfbuzz-rs components/layout_2020/fragment_tree ports/servoshell/minibrowser.rs. * Update minibrowser.rs Returned "if" back to "iff" * Update minibrowser.rs Changed ```BrowserManager``` to ```WebViewManager``` * Update fragment.rs Changed ```[SequentialLayoutState]``` to ```[crate::flow::float::SequentialLayoutState]``` * Update fragment.rs Balanced the length of paragraph lines in fragment.rs * Fix tidy errors --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* rustdoc: Add some basic Safety sections to unsafe functions (#31639)Martin Robinson2024-03-131-0/+5
|
* clippy: fix warnings in components/gfx (#31560)eri2024-03-081-34/+34
| | | | | | | * clippy: fix warnings in components/gfx * refactor: switched the order of impl so that its intent is clearer * fix: add font context default in other platforms
* layout: Turn on synthetic small-caps for layout 2020 (#31435)Martin Robinson2024-02-281-1/+1
| | | | | | | | | | | | Synthetic small caps is supported by the font subsystem, but this is disabled in Layout 2020. We can turn this on to bring support to parity with the old layout system. In addition to turning on synthetic small-caps this change also improves the way that they work. Before, synthetic small caps meant that every character was a small version of capitalized character. After this change, capital letters are larger than small caps versions of small letters -- matching other browsers and the common expectation of how small caps works.
* mach: Do not use unstable rust for `rustfmt` (#31441)Martin Robinson2024-02-281-2/+1
| | | | | | | | | | We can use stable rust if we pass the unstable configuration as command-line arguments to rustfmt itself. This prevents needing to install an unstable rust toolchain. The one downside here is that it doesn't seem that "ignore" is supported so we have to start formatting the files in "third_party." This shouldn't be a huge issue because we don't plan to check much more rust code into those directories.
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-112-34/+21
| | | | | * strict imports formatting * Reformat all imports
* remove `extern crate` (#30311)Samson2023-09-081-0/+3
| | | | | | | | | | | * remove extern crate * Update components/script_plugins/lib.rs Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Revert "Revert "Update font-kit and freetype and unicode-script.""Josh Matthews2020-08-101-1/+166
| | | | This reverts commit 10ae3bfbbb2383d349de6150434cc47c6ad1c8e9.
* Revert "Update font-kit and freetype and unicode-script."Josh Matthews2020-08-041-166/+1
| | | | This reverts commit 5c0d7998bd28ceb383f553cd7af5a60f472a47ba.
* Update font-kit and freetype and unicode-script.Josh Matthews2020-07-311-1/+166
|
* layout: Resolve word_spacing ahead of time.Emilio Cobos Álvarez2020-02-121-3/+1
| | | | | | | It's not possible anymore, in the presence of min() / max(), to split a <length-percentage> value into a <length> and a <percentage> component. Tweak word_spacing to do what Gecko does (resolving it in advance).
* Update euclid.Emilio Cobos Álvarez2019-07-231-1/+1
| | | | | | | | There are a few canvas2d-related dependencies that haven't updated, but they only use euclid internally so that's not blocking landing the rest of the changes. Given the size of this patch, I think it's useful to get this landed as-is.
* Update harfbuzz to 0.3Bastien Orivel2019-05-071-23/+0
| | | | | | `hb_font_funcs_set_glyph_h_kerning_func` is gone but I couldn't find any replacement. Kerning tests are passing and kerning seems fine on my computer so I guess it's useless now ?
* Rustfmt has changed its default style :/Simon Sapin2018-12-281-1/+1
|
* Update MPL license to https (part 4)Jan Andre Ikenmeyer2018-11-192-2/+2
|
* `cargo fix --edition-idioms`Simon Sapin2018-11-082-27/+29
|
* Reorder importsPyfisch2018-11-061-10/+10
|
* Sort `use` statementsSimon Sapin2018-11-061-3/+3
|
* `cargo fix --edition`Simon Sapin2018-11-062-34/+34
|
* Format gfx text #21373kingdido9992018-09-072-91/+136
|
* Update WebrenderBastien Orivel2018-04-251-4/+3
| | | | Fixes #20609
* Use specific assertion for gfx text shaping harfbuzzCYBAI2018-01-261-1/+1
|
* Bump bitflags to 1.0 in every servo crateBastien Orivel2017-10-301-5/+4
|
* Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest ↵Gecko Backout2017-10-191-4/+5
| | | | | | failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE Backs out https://github.com/servo/servo/pull/18809
* Update bitflags to 1.0 in every servo crateBastien Orivel2017-10-191-5/+4
| | | | | It still needs dependencies update to remove all the other bitflags versions.
* Remove usage of unstable box syntax, except in the script crateSimon Sapin2017-10-121-1/+1
| | | | | … because there’s a lot of it, and script still uses any other unstable features anyway.
* Remove usage of unstable range_contains featureSimon Sapin2017-10-111-2/+2
|
* Stop using unstable 'unique' featureMatt Brubeck2017-09-201-4/+8
| | | | The `Unique` wrapper was only needed to provide the `Sync` trait.
* Upgrade to rustc 1.21.0-nightly (599be0d18 2017-07-26)Simon Sapin2017-07-271-1/+1
|
* Update app_units to 0.4.1Manish Goregaokar2017-05-191-1/+1
|
* Upgrade to rustc 1.19.0-nightly (ced823e26 2017-05-07)Simon Sapin2017-05-081-1/+1
|
* replace match by if let statements if possibleJulien Levesy2016-12-311-3/+2
|
* Reorder `use` statementsUK9922016-09-091-8/+8
|
* Prefer length and percentage for word spacingRavi Shankar2016-08-091-1/+3
|
* Reduce the scope of the allowed unsafe code in gfx::text.Ms2ger2016-06-051-0/+2
|
* Report use statements that use {} with only one entryCullen Rhodes2016-05-271-18/+18
|
* Don't create HarfBuzz shaper if it isn't usedMatt Brubeck2016-05-231-56/+6
| | | | | Move the fast shaping code out of the HarfBuzz shaper, and initialize the shaper lazily to avoid creating any HarfBuzz objects.
* Remove unused FontShapingOptions field from ShaperMatt Brubeck2016-05-231-25/+8
|
* Add a fast path for shaping ASCII textMatt Brubeck2016-05-201-1/+51
|
* Allow creation of unboxed FontTablesMatt Brubeck2016-05-191-1/+1
|
* Move hb_tag! macro and KERN into font moduleMatt Brubeck2016-05-191-10/+2
|
* Simplify FontTableMethods::with_bufferMatt Brubeck2016-05-191-6/+4
|
* Removed unused importsPer Lundberg2016-05-151-1/+1
| | | | This fixes #11185.
* Use byte indices instead of char indices for text runsMatt Brubeck2016-04-281-113/+36
| | | | | | | Replace character indices with UTF-8 byte offsets throughout the code dealing with text shaping and breaking. This eliminates a lot of complexity when converting from one to the other, and interoperates better with the rest of the Rust ecosystem.
* Remove unneeded add_nonglyph_for_char_indexMatt Brubeck2016-04-281-7/+1
| | | | | | This is a no-op, since a "non-glyph" is simply `GlyphEntry(0)`. This is the same as `GlyphEntry::initial()`, which all the entries are already initialized to.
* Don't assume the first glyph is part of the first charMatt Brubeck2016-04-281-2/+1
| | | | | | | | | | | | Shaper::save_glyph_results incorrectly starts its loop by setting glyph_span to a length of 1. This means that the `if glyph_span.len() == 0` test in the inner loop will never succeed. Instead the glyph span should start out empty, and a glyph should be added only as the corresponding char is found. For comparison, see the Gecko code this was ported from: https://hg.mozilla.org/mozilla-central/file/ab0044bf/gfx/thebes/gfxHarfBuzzShaper.cpp#l1682
* Get rid of unnecessary clamping in text shapingMatt Brubeck2016-04-271-3/+0
|
* Stop using deprecated `str::char_*` methodsMatt Brubeck2016-04-271-17/+13
| | | | Fixes deprecation warnings in the gfx crate.
* Replace range::Range with std::ops::Range in text shaping codeMatt Brubeck2016-04-271-49/+43
|
* Move '&&' to the end of the previous line.Zbynek Winkler2016-04-221-2/+2
| | | | | | Following https://github.com/servo/servo/issues/10692 this is just a formating change to satisfy a new tidy requirement of not having '&&' at the beginning of a line.