如何解决inkscape --export-text-path块的粒度将字形映射到字符
我正在使用inkscape --export-text-to-path --export-plain-svg
将包含文本的某些svg转换为不需要字体可视化的“普通” svg。这将产生一个带有g
块的svg,其形式为:
<g
aria-label=<text>
[...]
<path [...] />
<path [...] />
<path [...] />
/g>
其中<text>
是一个文本块(通常是多个以空格分隔的单词),每个path
对象是一个字形的svg表示。我的问题是:是否有一种方法可以使块更细化,例如使每个g
块仅包含一个字形,还是有其他简便的方法可以将字形映射到它来自的字符? / p>
背景
svg输出看起来不错,为什么我要问这个?原因是我想将字符映射到字形。在典型情况下,一个字符对应一个字形,因此,如果<text>
的长度为n
,则有n
条路径,我可以按顺序映射它们。但是,这有时会失败;提及我最近遇到的一些示例(可能还有其他一些示例):
- 在欧洲语言中,经常使用一些连字;例如
fi
通常以两个字母结合在一起显示在一个字形中。对于其他组合,例如fl
,ffi
,ffl
,这种情况也很少发生。因此,取决于字体,路径数可以少于文本的长度。 (请注意:也有Unicode点加入其中,例如fi
;但这不是问题所在,因为(1)该字符串的长度为1,并由单个字形表示,所以所有的和(2 )他们基本上从不使用过,所以谁在乎呢? - 在泰语中,字符typically通常表示为两个字形。因此,在这种情况下,路径可能比字符更多。
- 在阿拉伯语中,这真是一团糟,使得修复程序很难进行……例如,两个字符ل和ا放在一起时总是联合在一个符号لا中。但是,取决于字体,它可以是单个字形或两个“适当放置”的字形。因此,有时会将两个字符映射到单个字形。其他字符则存在相反的问题,即取决于字体,它们可以表示为单个或两个字形(例如,字符ف有时在顶部与主体分开是一个单独的字形,这是因为我猜想是因为这些点是很常见的,所以只给它们一个字形就可以为字体创建者节省一些复制时间?但是不知道,我不知道阿拉伯语)
这可能是一个相当小众的问题,因此我担心不存在现成的解决方案。 Inkscape必须已经解决了相同的问题(还要查找“连字”一词在inkscape的代码库中出现了多少次,开发人员必须至少和我一样感受到这个问题。)在inkscape的存储库中,svg似乎是in this function here创建的,但是那里的迭代器已经遍历了字形列表,因此将(一组)单词拆分为字形的逻辑必须向上进行几层,以便即使更改代码,这似乎并不容易...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。