#font #macroquad #fallback #draw #glyph #multiple #graphics

macroquad-text

在 macroquad 中绘制文本的简单方法,支持在单个 draw_text 调用中使用来自多个字体的 glyphs,也称为回退字体

3 个不稳定版本

0.2.0 2023年9月10日
0.1.1 2021年12月29日
0.1.0 2021年12月29日

#135 in 渲染


用于 breakout-mazy

MIT 许可证

25KB
414 代码行

Macroquad Text

在 macroquad 中绘制文本的简单方法,支持在单个 draw_text 调用中使用来自多个字体的 glyphs,也称为回退字体

我之所以创建这个库,是因为 macroquad 提供的库不支持这个功能

示例

来自 render_text 示例

img.png

use macroquad::prelude::*;

use macroquad_text::Fonts;

const NOTO_SANS: &[u8] = include_bytes!("../assets/fonts/NotoSans-Regular.ttf");
const NOTO_SANS_JP: &[u8] = include_bytes!("../assets/fonts/NotoSansJP-Regular.otf");

fn window_conf() -> Conf { /* ommitted */ }

#[macroquad::main(window_conf)]
async fn main() {
  let mut fonts = Fonts::default();
  
  fonts.load_font_from_bytes("Noto Sans", NOTO_SANS).unwrap();
  fonts.load_font_from_bytes("Noto Sans JP", NOTO_SANS_JP).unwrap();

  loop {
    fonts.draw_text("Nice", 20.0, 0.0, 69, Color::from([1.0; 4]));
    fonts.draw_text("良い", 20.0, 89.0, 69, Color::from([1.0; 4]));
    fonts.draw_text("Nice 良い", 20.0, 178.0, 69, Color::from([1.0; 4]));

    next_frame().await;
  }
}

依赖关系

~19MB
~238K SLoC