java – 当使用Batik的SVGGraphics2D时,如何设置font-family而不是font?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 当使用Batik的SVGGraphics2D时,如何设置font-family而不是font?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1069字,纯文字阅读大概需要2分钟。
内容图文
我目前使用Batik的SVGGraphics2D有以下代码:
...
final SVGGraphics2D svgGraphics2D = new SVGGraphics2D(svgGeneratorContext, false);
svgGraphics2D.setSVGCanvasSize(new Dimension(width, height));
svgGraphics2D.setFont(font);
...
因此,如果font是执行代码的系统上的可用字体,则会将正确的属性添加到生成的SVG文件中.
但是,如果字体丢失(例如Linux盒子上的“Verdana”),则使用默认字体(font-family:’Dialog’).
因此,我想传递一个font-family,而不是指定一个字体,以便在生成的SVG中使用font-family =“DejaVu Sans,Verdana,Geneva,sans-serif”.我怎么能实现这一点,如果我没有错,API只接受字体参数?
我希望有一种比使用xslt转换xml输出更简单的方法.
先感谢您.
解决方法:
如果你有一个(许可的)字体文件,比如资源,你可以这样做:
InputStream is = SomeClass.getResourceAsStream("/fonts/DejaVu Sans.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, is);
GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
这是使用自己的字体提供应用程序的一般方法.
然后在SVG中,您可以嵌入独立svg文件的确切字体.
我不知道这样做是不可能的:
font-family="'DejaVu Sans',Verdana,Geneva,sans-serif"
因为这将是CSS的方式.
内容总结
以上是互联网集市为您收集整理的java – 当使用Batik的SVGGraphics2D时,如何设置font-family而不是font?全部内容,希望文章能够帮你解决java – 当使用Batik的SVGGraphics2D时,如何设置font-family而不是font?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。