首页 > 其他 > 详细

DrawSetFont(dw, "字体路径"); 中的【字体路径】不能含有【中文】

时间:2020-09-17 14:07:52      阅读:58      评论:0      收藏:0      [点我收藏+]

测试发现: DrawSetFont(dw, "字体路径"); 中的【字体路径】不能含有【中文】, 只能是英文和数字。

DrawSetFont(dw, "d:\\宋体.ttc"); //不支持中文路径
DrawSetFont(dw, "d:\\st.ttc"); //只能使用英文字符

能过查看 ImageMagick 源代码发现 drawing-wand.c -> DrawSetFont(DrawingWand *wand, const char *font_name), 其中 font_name 是 char * 类型

但是在绘制过程中, 使用到了 FreeType 库, 这个库好像使用的是 unicode 编码或 utf-8 编码

annotate.c -> RenderFreetype() -> ftobjs.c -> FT_Open_Face()

不过,我也尝试过先将【字体路径】转换成 utf-8 传递, 依然没有解决问题:

char szFontPath_utf8[1024];
toUTF8(pszFontPath, szFontPath_utf8, 1024, NULL); //转换成 utf-8 编码
DrawSetFont(dw, pszFontPath);

DrawSetFont(dw, "字体路径"); 中的【字体路径】不能含有【中文】

原文:https://www.cnblogs.com/personnel/p/13684487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!