fix for test.sh
This commit is contained in:
parent
53763c157b
commit
e828131c92
15 changed files with 136 additions and 109 deletions
|
|
@ -31,7 +31,7 @@ fn main() {
|
|||
|
||||
let attrs = Attrs::new().family(Family::Monospace);
|
||||
match fs::read_to_string(&path) {
|
||||
Ok(text) => buffer.set_text(&text, attrs, Shaping::Advanced),
|
||||
Ok(text) => buffer.set_text(&text, &attrs, Shaping::Advanced),
|
||||
Err(err) => {
|
||||
log::error!("failed to load {:?}: {}", path, err);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,89 +21,112 @@ use winit::{
|
|||
|
||||
fn set_buffer_text(buffer: &mut BorrowedWithFontSystem<'_, Buffer>) {
|
||||
let attrs = Attrs::new();
|
||||
let serif_attrs = attrs.family(Family::Serif);
|
||||
let mono_attrs = attrs.family(Family::Monospace);
|
||||
let comic_attrs = attrs.family(Family::Name("Comic Neue"));
|
||||
let serif_attrs = attrs.clone().family(Family::Serif);
|
||||
let mono_attrs = attrs.clone().family(Family::Monospace);
|
||||
let comic_attrs = attrs.clone().family(Family::Name("Comic Neue"));
|
||||
|
||||
let spans: &[(&str, Attrs)] = &[
|
||||
("Font size 64 ", attrs.metrics(Metrics::relative(64.0, 1.2))),
|
||||
("Font size 8 ", attrs.metrics(Metrics::relative(8.0, 1.2))),
|
||||
("Font size 20 ", attrs.metrics(Metrics::relative(20.0, 1.2))),
|
||||
("Font size 14 ", attrs.metrics(Metrics::relative(14.0, 1.2))),
|
||||
(
|
||||
"Font size 64 ",
|
||||
attrs.clone().metrics(Metrics::relative(64.0, 1.2)),
|
||||
),
|
||||
(
|
||||
"Font size 8 ",
|
||||
attrs.clone().metrics(Metrics::relative(8.0, 1.2)),
|
||||
),
|
||||
(
|
||||
"Font size 20 ",
|
||||
attrs.clone().metrics(Metrics::relative(20.0, 1.2)),
|
||||
),
|
||||
(
|
||||
"Font size 14 ",
|
||||
attrs.clone().metrics(Metrics::relative(14.0, 1.2)),
|
||||
),
|
||||
(
|
||||
"Font size 48\n",
|
||||
attrs.metrics(Metrics::relative(48.0, 1.2)),
|
||||
attrs.clone().metrics(Metrics::relative(48.0, 1.2)),
|
||||
),
|
||||
("B", attrs.weight(Weight::BOLD)),
|
||||
("old ", attrs),
|
||||
("I", attrs.style(Style::Italic)),
|
||||
("talic ", attrs),
|
||||
("f", attrs),
|
||||
("i ", attrs),
|
||||
("f", attrs.weight(Weight::BOLD)),
|
||||
("i ", attrs),
|
||||
("f", attrs.style(Style::Italic)),
|
||||
("i \n", attrs),
|
||||
("Sans-Serif Normal ", attrs),
|
||||
("Sans-Serif Bold ", attrs.weight(Weight::BOLD)),
|
||||
("Sans-Serif Italic ", attrs.style(Style::Italic)),
|
||||
("B", attrs.clone().weight(Weight::BOLD)),
|
||||
("old ", attrs.clone()),
|
||||
("I", attrs.clone().style(Style::Italic)),
|
||||
("talic ", attrs.clone()),
|
||||
("f", attrs.clone()),
|
||||
("i ", attrs.clone()),
|
||||
("f", attrs.clone().weight(Weight::BOLD)),
|
||||
("i ", attrs.clone()),
|
||||
("f", attrs.clone().style(Style::Italic)),
|
||||
("i \n", attrs.clone()),
|
||||
("Sans-Serif Normal ", attrs.clone()),
|
||||
("Sans-Serif Bold ", attrs.clone().weight(Weight::BOLD)),
|
||||
("Sans-Serif Italic ", attrs.clone().style(Style::Italic)),
|
||||
(
|
||||
"Sans-Serif Fake Italic ",
|
||||
attrs.cache_key_flags(CacheKeyFlags::FAKE_ITALIC),
|
||||
attrs.clone().cache_key_flags(CacheKeyFlags::FAKE_ITALIC),
|
||||
),
|
||||
(
|
||||
"Sans-Serif Bold Italic\n",
|
||||
attrs.weight(Weight::BOLD).style(Style::Italic),
|
||||
attrs.clone().weight(Weight::BOLD).style(Style::Italic),
|
||||
),
|
||||
("Serif Normal ", serif_attrs),
|
||||
("Serif Bold ", serif_attrs.weight(Weight::BOLD)),
|
||||
("Serif Italic ", serif_attrs.style(Style::Italic)),
|
||||
("Serif Normal ", serif_attrs.clone()),
|
||||
("Serif Bold ", serif_attrs.clone().weight(Weight::BOLD)),
|
||||
("Serif Italic ", serif_attrs.clone().style(Style::Italic)),
|
||||
(
|
||||
"Serif Bold Italic\n",
|
||||
serif_attrs.weight(Weight::BOLD).style(Style::Italic),
|
||||
serif_attrs
|
||||
.clone()
|
||||
.weight(Weight::BOLD)
|
||||
.style(Style::Italic),
|
||||
),
|
||||
("Mono Normal ", mono_attrs),
|
||||
("Mono Bold ", mono_attrs.weight(Weight::BOLD)),
|
||||
("Mono Italic ", mono_attrs.style(Style::Italic)),
|
||||
("Mono Normal ", mono_attrs.clone()),
|
||||
("Mono Bold ", mono_attrs.clone().weight(Weight::BOLD)),
|
||||
("Mono Italic ", mono_attrs.clone().style(Style::Italic)),
|
||||
(
|
||||
"Mono Bold Italic\n",
|
||||
mono_attrs.weight(Weight::BOLD).style(Style::Italic),
|
||||
mono_attrs.clone().weight(Weight::BOLD).style(Style::Italic),
|
||||
),
|
||||
("Comic Normal ", comic_attrs),
|
||||
("Comic Bold ", comic_attrs.weight(Weight::BOLD)),
|
||||
("Comic Italic ", comic_attrs.style(Style::Italic)),
|
||||
("Comic Normal ", comic_attrs.clone()),
|
||||
("Comic Bold ", comic_attrs.clone().weight(Weight::BOLD)),
|
||||
("Comic Italic ", comic_attrs.clone().style(Style::Italic)),
|
||||
(
|
||||
"Comic Bold Italic\n",
|
||||
comic_attrs.weight(Weight::BOLD).style(Style::Italic),
|
||||
comic_attrs
|
||||
.clone()
|
||||
.weight(Weight::BOLD)
|
||||
.style(Style::Italic),
|
||||
),
|
||||
("R", attrs.color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
("A", attrs.color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("I", attrs.color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("N", attrs.color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("B", attrs.color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("O", attrs.color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("W ", attrs.color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("Red ", attrs.color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
("Orange ", attrs.color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("Yellow ", attrs.color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("Green ", attrs.color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("Blue ", attrs.color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("Indigo ", attrs.color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("Violet ", attrs.color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("U", attrs.color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("N", attrs.color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("I", attrs.color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("C", attrs.color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("O", attrs.color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("R", attrs.color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("N\n", attrs.color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
("R", attrs.clone().color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
("A", attrs.clone().color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("I", attrs.clone().color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("N", attrs.clone().color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("B", attrs.clone().color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("O", attrs.clone().color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("W ", attrs.clone().color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("Red ", attrs.clone().color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
("Orange ", attrs.clone().color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("Yellow ", attrs.clone().color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("Green ", attrs.clone().color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("Blue ", attrs.clone().color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("Indigo ", attrs.clone().color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("Violet ", attrs.clone().color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("U", attrs.clone().color(Color::rgb(0x94, 0x00, 0xD3))),
|
||||
("N", attrs.clone().color(Color::rgb(0x4B, 0x00, 0x82))),
|
||||
("I", attrs.clone().color(Color::rgb(0x00, 0x00, 0xFF))),
|
||||
("C", attrs.clone().color(Color::rgb(0x00, 0xFF, 0x00))),
|
||||
("O", attrs.clone().color(Color::rgb(0xFF, 0xFF, 0x00))),
|
||||
("R", attrs.clone().color(Color::rgb(0xFF, 0x7F, 0x00))),
|
||||
("N\n", attrs.clone().color(Color::rgb(0xFF, 0x00, 0x00))),
|
||||
(
|
||||
"生活,삶,जिंदगी 😀 FPS\n",
|
||||
attrs.color(Color::rgb(0xFF, 0x00, 0x00)),
|
||||
attrs.clone().color(Color::rgb(0xFF, 0x00, 0x00)),
|
||||
),
|
||||
];
|
||||
|
||||
buffer.set_rich_text(spans.iter().copied(), attrs, Shaping::Advanced, None);
|
||||
buffer.set_rich_text(
|
||||
spans.iter().map(|(text, attrs)| (*text, attrs.clone())),
|
||||
&attrs,
|
||||
Shaping::Advanced,
|
||||
None,
|
||||
);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ fn main() {
|
|||
let text = std::env::args()
|
||||
.nth(1)
|
||||
.unwrap_or(" Hi, Rust! 🦀 ".to_string());
|
||||
buffer.set_text(&text, attrs, Shaping::Advanced);
|
||||
buffer.set_text(&text, &attrs, Shaping::Advanced);
|
||||
|
||||
// Perform shaping as desired
|
||||
buffer.shape_until_scroll(true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue