我有一个多层的卡通;在这些层中,我有一个德语层和一个英语层。他们有各自语言的文本。这个想法是隐藏德语层并显示英语层并导出为英语卡通片,或者隐藏英语层并显示德语层以用于德语版卡通片。我想编写该导出的脚本。
这是我的 SVG 文件的一部分:
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="English"
style="display:inline">
<text
xml:space="preserve"
<!-- .... -->
id="text3255">
<tspan id="tspan3257">I don't think</tspan>
<!-- ... -->
和
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="German"
style="display:none">
<text
xml:space="preserve"
<!-- ... -->
id="text3284">
<tspan id="tspan3286">Ich glaube nicht,</tspan>
<!-- ... -->
我看过https://stackoverflow.com/questions/9652573/inkscape-command-line-programming并尝试了这个命令(以及很多变体):
inkscape -z --file=cartoon.svg --select=English --verb=LayerHideAll --select=German --verb=LayerShowAll --export-png=cartoon-de.png --export-area-drawing
但我不断收到英文文本,可能是因为当我保存文件时,英文图层可见而德文图层不可见。
我还尝试通过 ID 选择图层(分别在 layer3 和 layer4 上面的代码中),并选择实际<text>
元素;我尝试过 Inkscape 动词的各种组合。但也没有运气。
如何根据需要编写此导出、隐藏或显示语言层的脚本?我可以使用 Inkscape 动词执行此操作,还是应该使用 XML 并尝试将样式属性设置为 display:inline 或 display:none?