vicanso / charts-rs

A charts library for rust

Home Page:https://charts.npmtrend.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

中文显示乱码

scwcd opened this issue · comments

user_hits

代码:

pub fn get_image() -> Vec<u8> {
    let mut horizontal_bar_chart = HorizontalBarChart::new(
        vec![Series::new("频率".to_string(), vec![200.0, 180.0, 100.0])],
        vec!["张三".to_string(), "李四".to_string(), "小明".to_string()],
    );
    // horizontal_bar_chart.font_family = "Noto Sans CJK SC".to_string();
    horizontal_bar_chart.margin.right = 15.0;
    horizontal_bar_chart.series_list[0].label_show = true;
    horizontal_bar_chart.title_align = Align::Left;

    match horizontal_bar_chart.svg() {
        Ok(svg) => match charts_rs::svg_to_png(&svg) {
            Ok(png) => png,
            Err(_) => vec![],
        },
        Err(_) => vec![],
    }
}

错误信息:

2024-03-13T07:15:54.691280Z  WARN usvg::text_to_paths: No fonts with a 频/U+9891 character were found.    
2024-03-13T07:15:54.691321Z  WARN usvg::text_to_paths: No fonts with a 率/U+7387 character were found.    
2024-03-13T07:15:54.692505Z  WARN usvg::text_to_paths: No fonts with a 小/U+5C0F character were found.    
2024-03-13T07:15:54.692518Z  WARN usvg::text_to_paths: No fonts with a 明/U+660E character were found.    
2024-03-13T07:15:54.693530Z  WARN usvg::text_to_paths: No fonts with a 李/U+674E character were found.    
2024-03-13T07:15:54.693543Z  WARN usvg::text_to_paths: No fonts with a 四/U+56DB character were found.    
2024-03-13T07:15:54.694550Z  WARN usvg::text_to_paths: No fonts with a 张/U+5F20 character were found.    
2024-03-13T07:15:54.694564Z  WARN usvg::text_to_paths: No fonts with a 三/U+4E09 character were found. 

操作系统: Ubuntu 22.04

注释了的指定字体集是需要的,不过要确认是否有加载了对应的中文字体,使用get_font_families可以输出当前支持的所有字体集。可以看看示例的实现:https://github.com/vicanso/charts-rs-web/blob/main/src/main.rs#L133

参考了charts-rs-web工程代码,问题已解决。
谢谢!