100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java batik_java – 如何在Batik SVG库中使用自定义字体?

java batik_java – 如何在Batik SVG库中使用自定义字体?

时间:2020-04-12 20:41:29

相关推荐

java batik_java – 如何在Batik SVG库中使用自定义字体?

首先,您需要使用batik的ttf2svg将字体文件从TTF转换为SVG,一旦转换了文件,您必须在SVG文档的“defs”部分添加引用.

这就是我做到的方式:

Element defs = doc.createElementNS(svgNS, "defs");

Element fontface = doc.createElementNS(svgNS, "font-face");

fontface.setAttributeNS(null, "font-family", "DroidSansRegular");

Element fontfacesrc = doc.createElementNS(svgNS, "font-face-src");

Element fontfaceuri = doc.createElementNS(svgNS, "font-face-uri");

fontfaceuri.setAttributeNS(svgNS, "xlink:href", "fonts/DroidSans-webfont.svg#DroidSansRegular");

Element fontfaceformat = doc.createElementNS(svgNS, "font-face-format");

fontfaceformat.setAttributeNS(svgNS, "string", "svg");

fontfaceuri.appendChild(fontfaceformat);

fontfacesrc.appendChild(fontfaceuri);

fontface.appendChild(fontfacesrc);

defs.appendChild(fontface);

svgRoot.appendChild(defs);

在创建文本元素时,设置字体系列就像任何其他字体一样

Element txtElem = doc.createElementNS(svgNS, "text");

txtElem.setAttributeNS(svgNS, "style", "font-family:DroidSansRegular;font-size:" + fontsize + ";stroke:#000000;#fill:#00ff00;");

txtElem.setTextContent("some text");

svgRoot.appendChild(txtElem);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。