首页 > 解决方案 > 为什么一个 SVG 文本元素有四种不同的字体大小值?

问题描述

我使用 InkScape 1.0.1 创建了一个 SVG 文件。我的 SVG 包含一个文本元素。在 InkScape 中,我打开了“文本和字体”对话框。

我选择我的文本元素,文本和字体对话框然后将字体大小显示为 38.1。我双击我的文本(就像我要编辑文本一样),文本和字体对话框现在显示字体大小为 36,这是我在创建该文本元素时选择的值。

当我在记事本中打开 SVG 文件时,它包含以下内容:

...
<text xml:space="preserve" style="font-size:50.8px; ... <tspan style="font-size:48px; ... </tspan></text>
...

(我用“...”替换了不相关的代码)

那么,我的字体大小到底是多少——是 38.1(px?)、36(px?)、50.8px 还是 48px,为什么会有多个值?

笔记:

我假设文本和字体对话框以像素为单位显示字体大小,但该对话框中实际上没有显示任何单位。

我注意到比率 50.8/48 与比率 38.1/36 相同。我还注意到 48/36 的比率是 4/3。

myviewBox的宽度和高度与 SVG 视口的宽度和高度相同(在 SVG 根元素中指定)。我没有嵌套的 SVG 元素。

谢谢!

标签: svgfont-sizeinkscape

解决方案


Text+Font 编辑器使用 pt 作为单位(见工具提示)。

您的文本有一种外部风格和一种内部风格,无论出于何种原因,它们都不同。内部样式对文本的选定部分很重要。


推荐阅读