首先,您需要使用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);

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

  1. 如何在ASP.NET Core中编写自定义日志记录提供程序

    目录 介绍 如何实现所需的接口 基础类和附件 FileLoggerProvider具体类及其附件 1. ConfigureLogging() 2. appsettings.json文件 介绍 源代码可 ...

  2. wps怎么把字缩到最小_如何在WPS文档中快速调节字体大小

    如何在WPS文档中快速调节字体大小 现在越来越多的人在使用WPS的软件了,不过在习惯了使用word文档以后很难对WPS 的使用转变过来,其实WPS软件有着很多的优势,也有很多地方可以让我们办公时得心应 ...

  3. android studio 自定义字体,Android Studio中的自定义字体

    如何在android studio中创建自定义字体? 我试图使用自定义字体,我读过,我想将字体放在资产/字体. 我已经搜索了很长时间,但很难找到帮助. 我哪里错了?我真的不知道该怎么做. 我写下了所有 ...

  4. 在iPhone App中使用自定义字体

    如何在iPhone程序中使用自定义字体?比如要添加方正兰亭字体,首先需要一个ttf的字体库.到一些字体库的网站上去下载吧 然后把这个文件添加到工程里面  在plist里面添加 添加成功后,就可以使用啦 ...

  5. android 使用 系统字体,Android_解析Android中使用自定义字体的实现方法,1、Android系统默认支持三种字 - phpStudy...

    解析Android中使用自定义字体的实现方法 1.Android系统默认支持三种字体,分别为:"sans", "serif", "monospace ...

  6. flutter中使用自定义字体(fontFamily)

    flutter中使用自定义字体(fontFamily) 首先下载一下测试用的字体,我用是在谷歌下载的,Dancing_Script 字体 为了便于大家使用,我将字体文件上传到了CSDN上,可以免费下载 ...

  7. nsga 的java实现_Java – Scala遗传算法(GA)库中的模拟二进制交叉(SBX)交叉运算符

    我在一个很小的研究团队工作,在 Scala中创建/改编遗传算法库,用于使用Scientific Worklow System进行分布式计算,在我们的例子中,我们使用开源OpenMole软件( http ...

  8. java swing 字体设置_如何在Java SWING中设置自定义字体的大小和其他属性(粗体,斜体等)...

    通常,当我初始化我想在SWING应用程序中使用的字体时,我这样做: public static final Font TITLEFONT = new Font("Calibri", ...

  9. java emr_java – EMR – 在Hadoop(和YARN)中使用自定义日志记录appender

    在我们的EMR集群中,我们使用自定义log4j-appender和log4j.properties来允许我们将日志转发到Splunk并让我们做一些魔术,提供的库和配置不知道如何操作. 在EMR 3.x ...

  10. 如何在Dynamic CRM 2011中使用自定义Workflow

    需求:创建一个workflow ,每隔三个月执行一次对满足要求的CRM数据进行更新. 经过调查实践发现CRM系统中可自定义的workflow不能进行无限的循环,最多只能执行7次. 只能在VS创建自定义 ...

最新文章

  1. 处理字符串_13_按照指定的分隔符截取字符返回表形式
  2. 呜啦啦,园园我来了~
  3. vCenter Converter Standalone使用文档
  4. 面向对象的类测试技术研究
  5. spring boot 配置网关时404错误_网关Spring Cloud Gateway科普
  6. FTP学习的一些笔记
  7. Linux 匿名页的反向映射
  8. JAVA 服务端模拟客户端请求http/https
  9. 国内10大广告联盟各自有哪些优势?
  10. 【三维路径规划】基于matlab狼群算法无人机三维路径规划【含Matlab源码 167期】
  11. 开源免费制造业erp erp5的优点分析
  12. 【福利】论机房如何关闭方正软件保护卡
  13. Matlab中凸优化工具包CVX的安装、注册与使用
  14. Ubuntu如何简单粗暴的恢复被删除的文件
  15. eregi php5.4,PHP 5.4/5.3弃用函数eregi() memory_limit绕过漏洞
  16. echarts飞线图
  17. 第三十五天:XSS跨站反射存储DOM盲打劫持
  18. 失眠 我们该怎么办?
  19. 中美知识产权博弈:保护力度标准成最大分歧
  20. LAMP—Mysql数据库

热门文章

  1. 软考网络工程师第一章复习
  2. md 文件编辑 Markdown 使用教程
  3. Adobe Flash Player30.0.0.113离线安装包
  4. 凸二次规划解法(旋转法)——补充代码
  5. cad缩放_mac有没有好用的cad看图软件?CAD迷你看图 for Mac4.4.1激活版分享给大家...
  6. Python2.7安装Numpy
  7. linux下sqlmap安装教程,Linux安装sqlmap
  8. 【MediaSoup】UDPSOCKET recv数据到rtcp包解析
  9. 成年人の内部 福利 不敢高调分享……
  10. Windows网络编程获得本机IP地址