<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Shining Ray &#187; swing</title>
	<atom:link href="http://shiningray.cn/tag/swing/feed" rel="self" type="application/rss+xml" />
	<link>http://shiningray.cn</link>
	<description>一缕阳光</description>
	<lastBuildDate>Mon, 21 Jun 2010 07:11:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>如何调整Netbeans的字体</title>
		<link>http://shiningray.cn/%e5%a6%82%e4%bd%95%e8%b0%83%e6%95%b4netbeans%e7%9a%84%e5%ad%97%e4%bd%93.html</link>
		<comments>http://shiningray.cn/%e5%a6%82%e4%bd%95%e8%b0%83%e6%95%b4netbeans%e7%9a%84%e5%ad%97%e4%bd%93.html#comments</comments>
		<pubDate>Sun, 18 Nov 2007 04:36:55 +0000</pubDate>
		<dc:creator>ShiningRay</dc:creator>
				<category><![CDATA[日记]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[字体]]></category>

		<guid isPermaLink="false">http://shiningray.cn/2007/11/18/%e5%a6%82%e4%bd%95%e8%b0%83%e6%95%b4netbeans%e7%9a%84%e5%ad%97%e4%bd%93/</guid>
		<description><![CDATA[开发Rails应用有一阵子了，使用了朋友推荐的Netbeans作为主要的开发工具，功能很好，唯一让我别扭的地方便是无法设置一个好的字体。由于Netbeans是基于的Swing，所以字体的渲染要通过Java来实现。默认的配置下的monospaced字体是映射到宋体的，如果在字体中选择其他的字体，那么中文就无法显示了。那如何解决这个问题，可以按照以下几个步骤： 1. 找到Netbeans所使用的jdk或jre的根目录 我的机器上安装的是jdk 1.5，因为sun开发了java的自动更新程序，所有后来又有好多个jre的更新目录，这时候要选中Netbeans所使用的那个。由于Netbeans的初衷是为java开发，所以自然会默认选择最新的jdk目录，而我的主要目的仅仅是开发Rails应用，对于java 1.6增加的字体抗锯齿显示显然是无法放弃的。查看或修改Netbeans的jre目录的方法是查看Netbeans安装目录下的etc目录，例如“C:\Program Files\NetBeans 6.0 Beta 1\etc”，打开netbeans.conf文件，如下一条便是netbeans使用的jre的目录了（如果要进行Java开发，必须是jdk的路径，我只进行rails开发，所以只使用jre就可以了）： netbeans_jdkhome=&#8221;C:\Program Files\Java\jre1.6.0_03&#8243; 2. 找到或创建jre的字体显示配置文件 找到了netbeans所使用的jre目录后，如果此目录是一个完整的jdk目录，那么应该在此目录下的jre\lib下，找到fontconfig.properties，如果仅仅是一个jre目录，那么应该在此目录下的lib目录下，找到fontconfig.properties。 如果没有找到fontconfig.properties，而找到了fontconfig.properties.src，那么说明你没有改动过java的字体设置，fontconfig.properties.src保存了fontconfig.properties的原始配置，我们可以将其复制一份并改名为fontconfig.properties。 3. 修改fontconfig.properties 打开fontconfig.properties，以后我们做出的修改就会体现在java的Swing应用上了。修改的要领是： java对于某一个字体族，如serif、monospaced，会在不同编码下映射到不同的字体，比如将Serif字体的基本的ascii编码映射到Times New Roman，将GB2312的编码的字符，映射到Simsun，这样他遇到什么编码，就是用什么字体，如： serif.plain.alphabetic=Times New Roman 光配置的编码和字体之间的映射还不足够，还有个优先级问题，例如，GB2312编码其实涵盖了ASCII，那么它是先考虑ASCII呢，还是先考虑GB2312呢？于是有个序列的配置，例如： sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol 默认的monospaced的字体，GBK上优先顺序都是先考虑GB2312的，所以这一点也要修改 还指定字体和字体文件名之间的关系，如果你使用了一个自定义的字体而没有告诉JAVA这个字体是从哪里来的，一样没有用，这些配置像这样： filename.Arial=ARIAL.TTF filename.Courier_New=COUR.TTF 字体中的空格请使用下划线代替 好，那么下面我贴一份使用我在上一篇“最好的写代码的字体”中推荐的DejaVu字体的fontconfig.properties文件，以及效果图： 点此下载fontconfig.properties]]></description>
			<content:encoded><![CDATA[<p>开发Rails应用有一阵子了，使用了朋友推荐的<a href="http://www.netbeans.org/">Netbeans</a>作为主要的开发工具，功能很好，唯一让我别扭的地方便是无法设置一个好的字体。由于Netbeans是基于的Swing，所以字体的渲染要通过Java来实现。默认的配置下的monospaced字体是映射到宋体的，如果在字体中选择其他的字体，那么中文就无法显示了。那如何解决这个问题，可以按照以下几个步骤：</p>
<p><span id="more-30"></span></p>
<p>1. 找到Netbeans所使用的jdk或jre的根目录</p>
<p>我的机器上安装的是jdk 1.5，因为sun开发了java的自动更新程序，所有后来又有好多个jre的更新目录，这时候要选中Netbeans所使用的那个。由于Netbeans的初衷是为java开发，所以自然会默认选择最新的jdk目录，而我的主要目的仅仅是开发Rails应用，对于java 1.6增加的字体抗锯齿显示显然是无法放弃的。查看或修改Netbeans的jre目录的方法是查看Netbeans安装目录下的etc目录，例如“C:\Program Files\NetBeans 6.0 Beta 1\etc”，打开netbeans.conf文件，如下一条便是netbeans使用的jre的目录了（如果要进行Java开发，必须是jdk的路径，我只进行rails开发，所以只使用jre就可以了）：</p>
<blockquote><p>netbeans_jdkhome=&#8221;C:\Program Files\Java\jre1.6.0_03&#8243;</p></blockquote>
<p>2. 找到或创建jre的字体显示配置文件</p>
<p>找到了netbeans所使用的jre目录后，如果此目录是一个完整的jdk目录，那么应该在此目录下的jre\lib下，找到fontconfig.properties，如果仅仅是一个jre目录，那么应该在此目录下的lib目录下，找到fontconfig.properties。</p>
<p>如果没有找到fontconfig.properties，而找到了fontconfig.properties.src，那么说明你没有改动过java的字体设置，fontconfig.properties.src保存了fontconfig.properties的原始配置，我们可以将其复制一份并改名为fontconfig.properties。</p>
<p>3. 修改fontconfig.properties</p>
<p>打开fontconfig.properties，以后我们做出的修改就会体现在java的Swing应用上了。修改的要领是：</p>
<ul>
<li>java对于某一个字体族，如serif、monospaced，会在不同编码下映射到不同的字体，比如将Serif字体的基本的ascii编码映射到Times New Roman，将GB2312的编码的字符，映射到Simsun，这样他遇到什么编码，就是用什么字体，如：<br />
serif.plain.alphabetic=Times New Roman</li>
<li>光配置的编码和字体之间的映射还不足够，还有个优先级问题，例如，GB2312编码其实涵盖了ASCII，那么它是先考虑ASCII呢，还是先考虑GB2312呢？于是有个序列的配置，例如：<br />
sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol<br />
默认的monospaced的字体，GBK上优先顺序都是先考虑GB2312的，所以这一点也要修改</li>
<li>还指定字体和字体文件名之间的关系，如果你使用了一个自定义的字体而没有告诉JAVA这个字体是从哪里来的，一样没有用，这些配置像这样：<br />
filename.Arial=ARIAL.TTF<br />
filename.Courier_New=COUR.TTF<br />
字体中的空格请使用下划线代替</li>
</ul>
<p>好，那么下面我贴一份使用我在上一篇“<a href="http://shiningray.cn/2007/11/16/zui-he-shi-xie-dai-ma-de-zi-ti/">最好的写代码的字体</a>”中推荐的<a href="http://dejavu.sourceforge.net/wiki/index.php/Main_Page">DejaVu</a>字体的fontconfig.properties文件，以及效果图：<br />
<a title="netbeans-fontconfig.png" href="http://shiningray.cn/wp-content/uploads/2007/11/netbeans-fontconfig.png"><img src="http://shiningray.cn/wp-content/uploads/2007/11/netbeans-fontconfig.thumbnail.png" alt="netbeans-fontconfig.png" /></a></p>
<p>点此下载<a href="http://shiningray.cn/wp-content/uploads/2008/10/fontconfig.properties">fontconfig.properties</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shiningray.cn/%e5%a6%82%e4%bd%95%e8%b0%83%e6%95%b4netbeans%e7%9a%84%e5%ad%97%e4%bd%93.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
