python - 如何获取(网络)字体中单个字符的大小?

标签 python fonts svg font-size

我写了一个 python 脚本来生成一个 SVG 文件。这个 SVG 文件使用网络字体(通过 CSS 从 google webfonts 导入)来很好地呈现我的文本。一切都很好,除了在将句子放入我的 SVG 文件之前我需要知道它的大小(以像素为单位)。

前几天刚开始学python,不知道这种东东可不可以。 Google 帮助我找到了 ImageFont python 模块(来自 Python 图像库),但似乎 ImageFont 需要从本地路径加载字体文件才能计算字符大小。

是否存在计算网络字体字符大小的方法?

感谢您的帮助。

最佳答案

您可以在客户端使用 javascript 和 SVG DOM 实现它。

第一步:创建一个文本元素并使用 getComputedTextLength() 方法计算其长度 (http://www.w3.org/TR/SVG11/text.html#InterfaceSVGTextContentElement)

<text id="foo" xml:space="preserve">foo </text>

然后使用 getTotalLength() 方法计算路径长度 ( http://www.w3.org/TR/SVG11/paths.html#InterfaceSVGPathElement )

并且您可以计算在文本被截断之前可以放置多少次。

关于python - 如何获取(网络)字体中单个字符的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6138267/

相关文章:

python - 将多列上的 groupby 的结果转换为字典列表

python - wordcloud 词不适合掩码

c# - 如何获取屏幕上字符串的宽度和高度?

java - 在 JTextPane 中编写古吉拉特语、旁遮普语等印度地方语言

jquery - 使用 jQuery 的 SVG 链接标签

python - 值错误 : Invalid RGBA argument: What is causing this error?

python - 在 PySNMP 中查询数字 OID?

css - 如何为字体(CSS)添加渐变?

image - Grails - 将项目公用文件夹中的 svg 图像另存为 JPG 图像

javascript - 将计算出的 SVG 作为数据 URI 传递给 SRC 属性