java中获得系统当前字体列表的机制(原理)是什么?

liul17 2006-11-30 01:58:34
用下面方法可以获得当前系统的字体,但是它是怎么获得的?
因为我发现在word中支持的字体,在用这种方法获得的字体列表中没有,大概有10多种字体都是这样? 所以想搞清楚java中的字体列表的获得原理是什么?
import java.awt.*;
public class ListFonts
{
public static void main(String[] args)
{
String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (int i = 0; i < fontNames.length; i++)
{
System.out.println(fontNames[i]);
}
}
}
...全文
218 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shine333 2006-11-30
  • 打赏
  • 举报
回复
我这里有Latha的,且粗粗对了一遍,我这里Word/Notepad,和Java打印的是一模一样的
liul17 2006-11-30
  • 打赏
  • 举报
回复
to shine333(enihs):
如果和OS有关,那为什么Word里支持?比如“Latha”字体?
zzhzzh204553 2006-11-30
  • 打赏
  • 举报
回复
底层的东西可能比较难,
像楼上所说的,
可能原理在VM里有.
shine333 2006-11-30
  • 打赏
  • 举报
回复
这个和操作系统相关,GraphicsEnvironment.getLocalGraphicsEnvironment()返回当前OS下对应的代码,与java.io.FileInputStream一样,属于通过native,访问操作系统的函数,比如windows下的dll

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧