⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 080.html

📁 好东西不要错过哦
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <link href="ekm1.0.css" type="text/css" rel="stylesheet">
</head>
<body>
<div id="Layer2"
 style="z-index: 2; left: 0%; width: 100%; position: relative; top: 0%;">
<table cellspacing="0" cellpadding="0" width="100%" align="center"
 bgcolor="#999999" border="0">
  <tbody>
    <tr class="mybgcolor">
      <td height="20"><br>
      </td>
    </tr>
  </tbody>
</table>
</div>
<div id="Layer1"
 style="z-index: 8; left: 2%; width: 95%; position: relative; top: 5%;">
<table width="80%" border="0" align="center">
  <tbody>
    <tr>
      <td class="tttable">
      <p class="titlebar">Java中文支持</p>
      <div>
      <p>Java本身对国际字符集支持得很好。只要稍加注意,开发出来的程序就可以正确处理中文。这里谈到的中文支持问题其实只是中文显示支持的问题,也就是说需要配置中文字体以正确的显示中文。</p>
      <p>在Java虚拟机实现时,GUI窗口的生成是通过调用操作系统API来完成的,跟具体操作系统相关。因此,窗口标题能否正确显示中文与操作系统对中文的支持相关。但窗口中的表现内容却只由Java虚拟机本身来完成,跟具体操作系统无关。我们必须配置中文字体才能使窗口中的中文内容正确显示。</p>
      <p>在Java平台中,字体配置信息主要定义于font.properties系列文件中,对JDK来说存放于{JAVA_HOME}/jre/lib目录下,对JRE来说存放在{JAVA_HOME}/lib目录下。其中定义了五种平台无关的逻辑字体:Serif,
SansSerif, Monospaced,
Dialog和DialogInput,每一个JVM的实现,都必须包含这五种字体。另外,还定义了逻辑字体跟实际字体的映射,以及实际字体所在的位置。</p>
      <p>为了支持不同的操作系统和区域设置,font.properties包含了附带不同后缀的多个版本。一般来说,Java按照以下顺序搜索字体属性文件:<br>
font.properties.&lt;language&gt;_&lt;region&gt;_&lt;encoding&gt;.&lt;osVersion&gt;<br>
font.properties.&lt;language&gt;_&lt;region&gt;_&lt;encoding&gt;<br>
font.properties.&lt;language&gt;_&lt;region&gt;.&lt;osVersion&gt;<br>
font.properties.&lt;language&gt;_&lt;region&gt;<br>
font.properties.&lt;language&gt;_&lt;encoding&gt;.&lt;osVersion&gt;<br>
font.properties.&lt;language&gt;_&lt;encoding&gt;<br>
font.properties.&lt;language&gt;_&lt;osVersion&gt;<br>
font.properties.&lt;language&gt;<br>
font.properties.&lt;encoding&gt;.&lt;osVersion&gt;<br>
font.properties.&lt;encoding&gt;<br>
font.properties.&lt;osVersion&gt;<br>
font.properties<br>
程序包中已经打入了一个小工具com.huying.util.PrintLocale可以列出系统当前的区域设置,您可以用如下命令运行它:<br>
java -classpath jdiary.jar com.huying.util.PrintLocale<br>
根据输出结果决定到底应该配置哪一个配置文件。在RedHat 9.0且默认语言为简体中文时此命令得到的结果类似于:<br>
user.language: zh<br>
user.region: null<br>
file.encoding: GB18030<br>
os.version: 2.4.20-8<br>
所以我决定修改font.properties.zh文件。</p>
在我的系统中并没有font.properties.zh这个文件,我得从跟它最接近的文件中拷一份。这里最接近的文件似乎是font.properties.zh.Turbo,所以我们就拷贝它。font.properties.zh.Turbo是Sun专门为Turbo
Linux定制一个font.properties。看来Sun认为Turbo
Linux是最有影响的Linux中文发行版,值得专门给它定制一个font.properties。
      <p>好,接下来我们要修改这个配置文件。首先请检查 appendedfontpath=xxxxx
这个项目,这一项定义了JVM到哪个目录去找追加的字体。不同的发行版字体文件所在的位置不同,所以系统默认值常常是不对的,需要自己修改。对RedHat字体文件目录是/usr/share/fonts,其中中文字体目录是/usr/share/fonts/zh_CN/TrueType。所以我们把这一项的值指定为/usr/share/fonts/zh_CN/TrueType。对其它发行版,请指定它们的字体目录。如果你不知道它们的字体目录在哪里,可以使用如下的查找命令:<br>
find /usr -name *.ttf<br>
根据输出结果很快就可以知道系统把中文字体放在什么地方。关于find命令的详细解释,请参阅Linux文档,方法是在命令行下输入:man find
。</p>
      <p>配置文件的主要部分用来指定逻辑字体跟实际物理字体之间的映射。由于各个不同的发行版安装的中文字体不同,系统默认值也常常是不对的,也需要自己修改。在这里为了简单起见,我只想把五种逻辑字体全部定义为宋体。但是怎么才能知道宋体的字体描述呢?请打开中文字体所在目录下的fonts.dir文件,这个文件定义了该目录下所有字体的字体描述。在这个例子中我发现宋体的字体描述是这样的:<br>
gbsn00lp.ttf -Arphic Technology Co.-AR PL SungtiL
GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0<br>
所以我根据它来修改配置文件,把凡是引用到中文字体的地方都换成如上的字体描述。<br>
      </p>
      <p>改完之后存盘。再次运行Java GUI程序就会发现中文已能正常显示。</p>
      <p>最后附上我修改之后配置文件供您参考:</p>

          <p># @(#)font.properties.zh.Turbo.linux 1.4 02/06/10<br>
            #<br>
            # Copyright 2002 Sun Microsystems, Inc. All rights reserved.<br>
            #<br>
            <br>
            # Component Font Mappings<br>
            #<br>
            serif.0=-b&amp;h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1<br>
            serif.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            serif.italic.0=-b&amp;h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1<br>
            serif.italic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            serif.bold.0=-b&amp;h-lucidabright-demibold-r-normal--*-%d-*-*-p-*-iso8859-1<br>
            serif.bold.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            serif.bolditalic.0=-b&amp;h-lucidabright-demibold-i-normal--*-%d-*-*-p-*-iso8859-1<br>
            serif.bolditalic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            sansserif.0=-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            sansserif.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            sansserif.italic.0=-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            sansserif.italic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            sansserif.bold.0=-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            sansserif.bold.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            sansserif.bolditalic.0=-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            sansserif.bolditalic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            monospaced.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>
            monospaced.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            monospaced.italic.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>
            monospaced.italic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            monospaced.bold.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>
            monospaced.bold.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            monospaced.bolditalic.0=-b&amp;h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>
            monospaced.bolditalic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialog.0=-b&amp;h-lucidasans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            dialog.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialog.italic.0=-b&amp;h-lucidasans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            dialog.italic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialog.bold.0=-b&amp;h-lucidasans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            dialog.bold.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialog.bolditalic.0=-b&amp;h-lucidasans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1<br>
            dialog.bolditalic.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialoginput.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>
            dialoginput.1=-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0<br>
            <br>
            dialoginput.italic.0=-b&amp;h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -