java中如何从系统字体中获取ttf字体数据

2023-11-23

我的系统上安装了一些 ttf 字体。

我使用得到该列表

GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()

这不仅是 ttf 字体,而且是我猜的所有字体。 最终如果我使用:

Font.decode(fontName)

我可以获得 awt.Font 实例。

据我所知 Font 没有连接到实际的 PhysicalFont,所以 如何从该列表或 awt.Font 中检索 ttf 字体文件或该 ttf 文件中的字体字节数据?我正在尝试检索物理字体数据或类似的数据。这些数据应该在某个地方吧?

我需要它的原因是最终与 libGDX 一起使用 FreeTypeFontGenerator 用于生成 BitmapFont

这必须适用于 windows、osx 和 linux。


这是不可能的。你能做的最好的就是使用反射,但它只能与 Oracle JRE 配合使用并访问私有 API,因此可能会与任何新的 Oracle 版本发生冲突。

你也许可以写一个本机库枚举字体及其文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中如何从系统字体中获取ttf字体数据 的相关文章

随机推荐

  • Express 中间件中的 req.locals、res.locals、res.data、req.data、app.locals

    有人提出了一些类似的问题 但我的问题是 如果我想传播通过不同路由中间件获得的中间结果 最好的方法是什么 app use f1 app use f2 app use f3 function f1 req res next some datab
  • 如何使用微调器制作警报对话框[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我知道如何制作一个警报对话框 但我需要制作一个带有旋转器的对话框 以便当它弹出时 人们可
  • CMake ENDIF 和 ELSE 参数的目的

    在CMake中ELSE and ENDIF控制流函数将表达式作为参数 这些都是optional根据文档 那么这些的目的是什么呢 难道只是为了原创IF为了维护目的表达更清晰 或者它是否提供了一些功能 正如您所说 这些表达式是可选的 当您嵌套时
  • 使用 Mongodb ObjectID 作为文档 ID?

    我正在尝试用 mongoDB 制作一个板 我想用 ObjectID 分配文档 ID 如果用户可以通过以下方式访问文档页面http www example com 4easdf123123其中 4easdf123123 是 mongoDB O
  • 通过线程工作时出现错误“解释器关闭后无法安排新的 future”

    我有一个大问题 三天内我自己都无法解决 我们有一个应用程序 可以创建 Json 文件并通过 Boto3 库将它们发送到 Amazon S3 服务器 该应用程序是在 Python 3 8 上开发的 没有任何问题 然后Python升级到3 9
  • C 中的算法 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 学习 C 算法的最佳地点或
  • 如何减少 Android xml 布局中文本周围的填充?

    我有 1 英寸高的文本 但视图框占用 1 5 英寸 因此白色字体上方和下方有 1 4 英寸的黑色空间 我想减少 1 4 英寸 这样我就可以在 6 英寸屏幕上显示 5 行文本 而不是 4 行 我可以使用 android lineSpacing
  • 如何给 html 按钮标签添加图像

    我想知道是否有办法给出 HTML 按钮标签
  • 如何控制 Pelican 文章类别中的页面顺序?

    我正在使用 pelican jinja2 模板来生成基于类别的导航菜单 我需要一种方法来控制页面的顺序 或者至少需要一个技巧来允许我选择要列出的第一个页面 for a in articles if a category category l
  • 使用注释生成 equals / hashcode / toString

    我相信我在某处读到人们在编译时 使用 APT 通过确定哪些字段应该是哈希 相等测试的一部分来生成 equals hashcode toString 方法 我在网上找不到类似的东西 我可能梦见过它 可以这样做 public class Per
  • Or 与 OrElse

    有什么区别or and OrElse if temp is dbnull value or temp 0 产生错误 未为类型 DBNull 和类型 Integer 定义运算符 而这个就像一个魅力 if temp is dbnull valu
  • Expect 中的正则表达式

    我刚刚开始学习期望脚本 我一直在尝试从输出中提取以下内容 core 4046140998 01 10 133211 使用以下命令使用期望脚本 有人可以告诉我哪里出了问题吗 我想将整个字符串 即 core 4046140998 01 10 1
  • spring boot https PKCS12 DerInputStream.getLength(): lengthTag=111,太大

    我需要在 https 上使用 Spring boot 应用程序 我有一个 LetsEncrypt 签名的密钥 我将此证书转换为 PKCS12 如下所示 openssl pkcs12 export in fullchain pem inkey
  • 为什么 PL/SQL 中不允许静态 ddl?

    在 Oracle PL SQL 块中 为什么允许动态 sql begin execute immediate drop table table name end 但静态不是吗 begin drop table table name end
  • pyspark,比较数据框中的两行

    我试图将数据帧中的一行与下一行进行比较 以查看时间戳的差异 目前数据如下 itemid eventid timestamp 134 30 2016 07 02 12 01 40 134 32 2016 07 02 12 21 23 125
  • 在没有框架的情况下路由 REST 请求?

    我一直在阅读这篇文章来学习如何构建 REST API http www gen x design com archives create a rest api with php 有一次它说 假设您已将请求路由到用户的正确控制器 如果没有框架
  • 在张量流中使用 SSIM 损失函数处理 RGB 图像

    我想用SSIM指标作为我正在研究的模型的损失函数张量流 SSIM 应该测量去噪自动编码器的重构输出图像与输入未损坏图像之间的相似度 RGB 据我了解 为了在张量流中使用 SSIM 指标 图像应该是归一化为 0 1 或 0 255 而不是 1
  • 在 C++11 及以上版本中如何检查线程是否完成工作?

    如何在 C 11 及更高版本中检查线程是否已完成工作 我一直在阅读文档并编写了以下代码 include
  • phpMyAdmin - 波浪号 (~) 在行列中意味着什么?

    我最近升级了 Joomla 从 1 5 到 1 7 的安装 带有大量文章数据集 而升级方法是升级数据库 基本上将内容插入到另一个表中 我注意到Rows列值以波形符 为前缀 现在 乍一看 我认为这意味着该值是近似值 因为当我刷新页面时 我看到
  • java中如何从系统字体中获取ttf字体数据

    我的系统上安装了一些 ttf 字体 我使用得到该列表 GraphicsEnvironment getLocalGraphicsEnvironment getAvailableFontFamilyNames 这不仅是 ttf 字体 而且是我猜