diff --git a/examples/arabic.txt b/examples/arabic.txt new file mode 100644 index 0000000..fa93980 --- /dev/null +++ b/examples/arabic.txt @@ -0,0 +1,3 @@ +I like to render اللغة العربية in Rust! + +عندما يريد العالم أن ‪يتكلّم ‬ ، فهو يتحدّث بلغة يونيكود. تسجّل الآن لحضور المؤتمر الدولي العاشر ليونيكود (Unicode Conference)، الذي سيعقد في 10-12 آذار 1997 بمدينة مَايِنْتْس، ألمانيا. و سيجمع المؤتمر بين خبراء من كافة قطاعات الصناعة على الشبكة العالمية انترنيت ويونيكود، حيث ستتم، على الصعيدين الدولي والمحلي على حد سواء مناقشة سبل استخدام يونكود في النظم القائمة وفيما يخص التطبيقات الحاسوبية، الخطوط، تصميم النصوص والحوسبة متعددة اللغات. diff --git a/examples/hello-world.rs b/examples/hello-world.rs index 102e4fc..ccb27ec 100644 --- a/examples/hello-world.rs +++ b/examples/hello-world.rs @@ -76,7 +76,7 @@ async fn run() { TextMetrics::new(32, 44), ); buffer.set_size(800, 600); - buffer.set_text("Hello from cosmic inside of glyphon/wgpu!"); + buffer.set_text(include_str!("./arabic.txt")); buffer.shape_until_cursor(); event_loop.run(move |event, _, control_flow| { diff --git a/examples/ligature.txt b/examples/ligature.txt new file mode 100644 index 0000000..8164b4a --- /dev/null +++ b/examples/ligature.txt @@ -0,0 +1,6 @@ +fi ffi 🐕‍🦺 fi ffi +fi تما 🐕‍🦺 ffi تما +ffi fi 🐕‍🦺 ffi fi +تما تما 🐕‍🦺 تما +تما ffi 🐕‍🦺 تما fi تما +تما تما 🐕‍🦺 تما diff --git a/src/text_render.rs b/src/text_render.rs index 1952928..5f83626 100644 --- a/src/text_render.rs +++ b/src/text_render.rs @@ -108,8 +108,7 @@ impl TextRenderer { let image = self .swash_cache - .get_image(&buffer.font_matches, glyph.cache_key) - .as_ref() + .get_image_uncached(&buffer.font_matches, glyph.cache_key) .unwrap(); let bitmap = image.data.as_slice(); let width = image.placement.width as usize;