zoukankan      html  css  js  c++  java
  • DrawSetFont(dw, "字体路径"); 中的【字体路径】不能含有【中文】

    测试发现: 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);

  • 相关阅读:
    [hdu4035]maze
    [codeforce][148d]
    [bzoj3507]通配符匹配
    [BZOJ4831]
    子串
    【洛谷1373】小a和uim之大逃离
    【JZOJ6303】演员
    [jzoj6296]选票
    字符串哈希
    [ABC137d&e]RE
  • 原文地址:https://www.cnblogs.com/personnel/p/13684487.html
Copyright © 2011-2022 走看看