C++字体库开发之EM长度单位转换九 freetype设置EM// if (m_face) // FT_Set_Pixel_Sizes(*m_face, 0, pixelSize); // 动态宽固定高 px // error FT_Set_Char_Size(face, /* face 对象的句柄 */ // 0, /* 以 1/64 点为单位的字符宽度 */ pt // 16 * 64, /* 以 1/64 点为单位的字符高度 */ pt // 300, /* 设备水平分辨率 */ // 300); /* 设备垂直分辨率 */ // 在 300x300dpi 中的 12pt 大小对应 12*300/7250 象素 // 象素数 点数 × 分辨率/72 // 象素坐标 网格坐标*象素数/EM 大小 // EM 尺寸越大可以达到更大的分辨率TrueType 字体只用 2048 单元的 EMType1 PostScript 字体有一个固定 1000 网格单元的EM // Hinting 控制点网格对齐 /*对齐 bbox 如下 xmin floor(bbox.xMin) xmax ceiling(bbox.xMax) ymin floor(bbox.yMin) ymax ceiling(bbox.yMax)*/获取EMharfbuzz设置EMhb_font_set_scale(m_hbFont, scale, scale);获取EMhb_font_get_scale(m_hbFont, oldScale, oldScale);转换原理使用场景参考px,pt,em换算表 | 菜鸟教程字体字号和dpi的关系 | DeepinWiki在线数学公式编辑器 可生成公式图片和公式代码 支持Tex数学公式 LaTex数学公式 MathML数学公式 Markdown数学公式C字体库开发之freetype vs harfbuzz sfnt表字体名称可变轴八-CSDN博客创作不易小小的支持一下吧