字体类Font的使用

 

字体是一套具有一个点尺寸和外观的字符的类型集合。例如所有10点Helvetica英文字符和符号组成一个字体。在特定的打印系统中字符是一个字母或者数子符号,而当它被提交(render)后 ,一个形状(shape)就代表这个字符,那个形状就是字形(glyph)。字体是从字形创建的,一个字形是一个位映象图像(bit-mapped image),它定义字体中的字符和符号的外观。同一字体家族的字体都有相似的外观,因为他们使用同一个字形创建。同样的,不同的字体家族使用不同的字形得到相互区分的外观。一个字体家族不但由具有相似外观的字体组成,还包括不同的大小和式样。Helvetica 10 点黑体和Helvetica 12 point 斜体是同一家族中的两个不同字体,而Times Roman 8 点黑体和Times Roman 10 点普通体是另一个家族的两个不同字体。在字体中,字符编码是一个字符代码到字形代码的映射表。Java 2D(tm) API 使用Unicode 编码。
对于一个字体,它有逻辑名(logical name)、家族名(family name)和字体名(font name/font face name),逻辑名是被映射到平台上可用的特定字体的名字,它用字符形状标识字体名,对一个Font对象调用 getName方法可以得到逻辑名;家族名是字体家族的名字,它通过不同的外观决定排版样式,例如Helvetica 或者 Times Roman,调用getFamily可以得到它的家族名;字体名代表家族中的特定字体,例如Helvetica Bold,字体名是用来指定字体的名字,它是本机系统上的实际字体的名字,调用getFontName得到字体名。
一个Font对象可以代表系统资源中的一个字体的实例,并且可以从一个已经存在的Font对象上派生出具有不同大小,样式,变换(位置,倾斜,缩放或者旋转)或者属性映射的字体对象。对于特定系统,可以调用GraphicsEnviroment类的方法getAllFonts得到所有可用字体,这些字体对象的大小为1,转换方式相同,字体属性为缺省,也可以调用getAvailableFontFamilyNames(方法得到所有可用字体家族名的字符串数组。下面的一段程序综合演示了Font类和相关类的基本使用方法 :

        String temp[];
        temp=GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

             

                               //GraphicsEnvironment为抽象类,不能直接实例化,能过getLocalGraphicsEnvironment()获取对象,调用                              //getAvaibleFontFamilyNames()得到系统字体的FamilyName字符串数组。


        for (int i=0;i<temp.length ;i++ )
        {
            System.out.println(temp[i]);
        }

Font boldFont = new Font("Helvetica", Font.BOLD, 12);
  Font italicDerived = 
      boldFont.deriveFont(Font.ITALIC, 12);
  Font plainDerived = 
      boldFont.deriveFont(Font.PLAIN, 14);
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值