我创建了一个非常小的True Type字体,其中一个简单的正方形作为char代码0xe000的唯一字形。它包括作为标准字形和SVG中的SVG。表,如SVG Glyphs in OpenType Specification
中所定义问题是,Firefox上的SVG字形比TrueType字形小约2%,尽管它应该具有相同的大小。 TrueType字形的大小是正确的。
Here is a JSFiddle(字体大小为240像素,背景设置为青色),这是Firefox(左)和Chrome上的输出(IE11和Edge14上相同)
我尝试过与其他更复杂的形状相同的东西。每次SVG比标准字形小一点。
是否有人知道这是否为入侵或指定的行为(嵌入式SVG必须大2%才能呈现相同的大小)?或者这只是Firefox中的一个错误,我应该发布错误报告?或者我做错了什么?
有关SVG和字体的详细信息
这是SVG:
<svg id="glyph2" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><g fill="#000000" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><g><path d="M256,-640l512,0l0,512l-512,0z"/></g></g></svg>
字体中的字形数据#s&#34; glyf&#34;表看起来像这样:
这是来自字体&#34; hhea&#34;的数据。表:
下载测试字体