Fix alpha blending for emojis

This commit is contained in:
Joshua Groves 2022-11-28 03:56:00 -03:30 committed by Josh Groves
parent 609814de6b
commit 6cf10bba8d
6 changed files with 3992 additions and 7 deletions

View file

@ -1,4 +1,4 @@
use cosmic_text::{Attrs, Buffer, Color, FontSystem, Metrics, SwashCache};
use cosmic_text::{Attrs, Buffer, Color, Family, FontSystem, Metrics, SwashCache};
use glyphon::{Resolution, TextAtlas, TextRenderer};
use wgpu::{
Backends, CommandEncoderDescriptor, CompositeAlphaMode, DeviceDescriptor, Features, Instance,
@ -70,10 +70,13 @@ async fn run() {
let mut atlas = TextAtlas::new(&device, &queue, swapchain_format);
let mut buffer = Buffer::new(
unsafe { FONT_SYSTEM.as_ref().unwrap() },
Metrics::new(32, 44),
Metrics::new(14, 20),
);
buffer.set_size((width as f64 * scale_factor) as i32, (height as f64) as i32);
buffer.set_text(include_str!("./ligature.txt"), Attrs::new());
buffer.set_text(
include_str!("./emoji.txt"),
Attrs::new().monospaced(true).family(Family::Monospace),
);
buffer.shape_until_scroll();
event_loop.run(move |event, _, control_flow| {