首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Linux上使用Apache Batik在SVG中设置Windows字体

在Linux上使用Apache Batik在SVG中设置Windows字体
EN

Stack Overflow用户
提问于 2016-01-27 00:29:20
回答 1查看 590关注 0票数 2

我正在开发一个简单的web应用程序,它提供了一个用于呈现SVG图像的URL。我使用Apache Batik库进行SVG渲染,并且在设置font-family时遇到问题。我希望生成的SVG在从任何浏览器(主要是Chrome、FF和Edge)和任何操作系统(主要是Linux和Windows)查看时看起来都是一样的(因为它可以)。问题是,在我看来,Batik使用了一些从本地系统加载字体的内部逻辑,这阻止了跨平台行为。

更准确地说:我的webapp运行在Ubuntu Linux上,我将font-family:'DejaVu Sans'设置为我的图形。当客户端使用Linux时,这种字体工作得很好,但在Windows上,这种字体显然不存在。我尝试根据请求中的User-Agent头来设置font-family,但是当我为Windows客户端设置font-family:'Verdana'时,Batik尝试加载‘宋体’字体,显然失败了。

我尝试这样设置属性:font-family:'DejaVu Sans',Verdana,但Batik不能处理以逗号分隔的有效字体系列列表。

EN

回答 1

Stack Overflow用户

发布于 2016-01-29 19:39:46

最后,我在我的应用程序中包含了字体并将其注册到GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font);,从而实现了这一点。这样,Batik就可以在font-family属性中正确地保留'Verdana'字符串。感谢mike-pomax-kamermans提供的有用的建议!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35018826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档