我現在有使用Batik的SVGGraphics2D以下代碼:使用Batik的SVGGraphics2D時,如何設置字體家族而不是字體?
...
final SVGGraphics2D svgGraphics2D = new SVGGraphics2D(svgGeneratorContext, false);
svgGraphics2D.setSVGCanvasSize(new Dimension(width, height));
svgGraphics2D.setFont(font);
...
其結果是,如果font
是在其上執行的代碼,正確的屬性被添加到所得的SVG文件的系統上可用的Font
。但是,如果缺少字體(例如Linux機器上的「Verdana」),則會使用默認字體(添加font-family:'Dialog'
)。
因此,我不想指定字體,而是想要傳遞一個字體系列以便在生成的SVG中具有font-family="DejaVu Sans,Verdana,Geneva,sans-serif"
。如何知道如果我沒有錯,API只接受Font
參數?
我希望有比使用xslt轉換xml輸出更簡單的方法。
預先感謝您。
關於賞金:我正在尋找一個通用的解決方案來添加CSS屬性,而不僅僅是字體。 SVGGraphics2D的使用是一個絕對的要求。 – GKFX
https://stackoverflow.com/questions/38890844/how-to-add-an-attribute-to-an-svg-produced-by-apache-batik和https://stackoverflow.com/questions/14314035/how在程序中改變圖像在蠟染程序中的基本相同的問題,但沒有提供答案。 Batic有可能死了,只是在Apache墓地上冷靜下來,你應該尋找另一個Java + SVG庫,或者可能會徹底改變你的方法。 –
@OlegEstekhin這就是它的樣子。雖然真正的答案會很棒,但我更傾向於接受某種可以完成工作的可疑黑客攻擊,只要它有點模糊不清。 – GKFX