Java5/6中的字体自定义设置与美化(Linux/Windows)

本文介绍了如何在Java5/6中自定义字体设置,以实现Linux和Windows环境下中英文混合字体的统一显示。通过修改字体配置文件,特别是逻辑字体与物理字体的映射,可以实现如NetBeans中使用Courser 10 Pitch字体显示英文,同时使用微软雅黑显示中文。文章详细阐述了字体配置文件的结构、字体映射和搜索顺序,并提供了Ubuntu7.04和WindowsXP的配置示例。
摘要由CSDN通过智能技术生成
Java5/6中的字体自定义设置与美化(Linux/Windows)
    默认情况下,Java应用程序中的中文字体和英文字体是分开使用的,这样导致不能同时使用某个英文字体和某个中文字体来显示同个程序中包含中文和英文的文字。例如,在Netbeans中不能使用Courser 10 Pitch字体(Windows下为Courser New)和某个中文字体(比如宋体或微软雅黑)来显示一个java源代码,如果选择Courser字体,那么源代码中的中文就无法显示,如果选择宋体或雅黑,那么英文字体则是采用默认映射的某个字体。
    网络上给出了许多方法,但都只是给出某些简单的方法来解决java中文乱码问题,没讲清楚基本原理。
本文给出了一个完整的字体设置方法,并且给出Ubuntu7.04和WindowsXP上测试通过的 字体配置文件以供参考。
    本文有点罗嗦,不过我想如果看完Sun官方的字体配置文件的文档,大家应该对Java字体配置会有个比较全面的了解。
    字体配置文件的Sun官方文档地址: http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html
    其他参考资料:
http://blog.csdn.net/oldjavaman/archive/2005/05/27/382110.aspx
http://community.csdn.net/Expert/TopicView3.asp?id=5663604

一、字体配置文件(Font Configuration Files)的简介
    首先得弄清楚的是Java字体配置文件的加载方案。
    为了在一个操作系统中找到应用程序字体配置文件,必须了解以下信息:
    * JavaHome - JRE的目录,就像系统属性给出的"java.home"。
    * OS - 标识一个操作系统的一个字符串:
          o 对于 Windows,"98", "2000", "Me", "XP", "2003"。
          o 对于 Solaris,空。
          o 对于 Linux, "Sun", "RedHat", "Turbo", "SuSE"。
    * Version - 一个标识操作系统版本的字符串。
    Java运行时会使用它找到的以下文件中的第一个(有人说是按照这个顺序加载,但官方是说这些文件中的第一个):
    JavaHome/lib/fontconfig.OS.Version.properties
    JavaHome/lib/fontconfig.OS.Version.bfc
    JavaHome/lib/fontconfig.OS.properties
    JavaHome/lib/fontconfig.OS.bfc
    JavaHome/lib/fontconfig.Version.properties
    JavaHome/lib/fontconfig.Version.bfc
    JavaHome/lib/fontconfig.properties
    JavaHome/lib/fontconfig.bfc
    其中,以.properties为后缀的文件是文本格式的文件,其他为二进制格式的文件。需要修改的,就是.properties后缀的文本文件,即字体配置文件。这个文件分为若干段,并在每段开始时用#标明:
     *  版本属性
        # Version
       
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值