用下面方法可以获得当前系统的字体,但是它是怎么获得的?
因为我发现在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]);   
          }   
      }   
  }

解决方案 »

  1.   

    这个和操作系统相关,GraphicsEnvironment.getLocalGraphicsEnvironment()返回当前OS下对应的代码,与java.io.FileInputStream一样,属于通过native,访问操作系统的函数,比如windows下的dll
      

  2.   

    to shine333(enihs):
    如果和OS有关,那为什么Word里支持?比如“Latha”字体?
      

  3.   

    我这里有Latha的,且粗粗对了一遍,我这里Word/Notepad,和Java打印的是一模一样的