1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-28 07:55:03 +03:00
wezterm/bidi
Wez Furlong 75c80ca322 bidi: feed reordered runs through to harfbuzz
Two problems:

* Need reordered_runs method to populate ranges based on
  the reordered levels!
* Use reordered runs to get the *logical* bounds of those
  runs and pass those to harfbuzz.

Now the text is ordered correctly, but the rendering advances
by the wrong amount for the reordered clusters and looks bad
unless experimental_pixel_positioning=true.

refs: #784
2022-01-29 05:59:24 -07:00
..
data Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00
examples wezterm: add experimental_bidi config option and very basic bidi 2022-01-25 09:00:53 -07:00
generate Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00
src bidi: feed reordered runs through to harfbuzz 2022-01-29 05:59:24 -07:00
Cargo.toml Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00
LICENSE.md Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00
README.md Add wezterm-bidi crate 2022-01-24 19:29:03 -07:00

wezterm-bidi - a pure Rust bidi implementation

This crate provides an implementation of the The Unicode Bidirectional Algorithm (UBA) in Rust.

This crate was developed for use in wezterm but does not depend on other code in wezterm.

The focus for this crate is conformance.

Status

This crate resolves embedding levels and can reorder line ranges.

The implementation conformant with 100% of the BidiTest.txt and BidiCharacterTest.txt test cases (approx 780,000 test cases).

License

MIT compatible License Copyright © 2022-Present Wez Furlong.

Portions of the code in this crate were derived from the bidiref reference implementation of the UBA which is:

Copyright © 1991-2022 Unicode, Inc. All rights reserved.

See LICENSE.md for the full text of the license.