要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 则有 System.Windows.Forms.Application.StartupPath ; java 似乎没有什么比较直接的方法,只能利用 CodeSource 来间接获取 。而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取:
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
echo "full path to currently executed script is : ${baseDirForScriptSelf}"
虽说大部分情况下我们并不需要这样的绝对路径来完成工作;但如果要把多个脚本、数据文件等内容打包作为一个整体来交付别人使用,又希望不论用户拷贝到哪个目录下执行脚本都能够正确的找到这个包里面的其他内容的话,用这样的脚本来自动定位包的根目录应该是个比较鲁棒的做法。
Windows下的 ClearType 能使字体看上去更平滑,但似乎对于 java 小程序里面的文字没有作用。不过可以用 Java 2D API 提供的文本处理功能进行美化。Java 2D API 的文本功能包括:
- 使用抗锯齿处理和微调(hinting)以达到更好的输出质量
- 可以使用系统安装的所有字体
- 可以将对图形对象的操作(旋转、缩放、着色、剪切等等)应用到文本上。
- 支持向字符串添加内嵌属性(如字体、尺寸、深浅,甚至图像)
- 支持双向文本(启用从右到左的字符顺序,就象您在阿拉伯语和希伯来语中可能遇到的一样)
- 第一光标和第二光标能够浏览同时包含从右到左和从左到右字符顺序的文本。
- 先进的字体度量功能,超过旧的
java.awt.FontMetrics类中的相应功能 - 排版功能可以实现单词换行和调整多行文本
这个 API 的核心是由 java.awt.Graphics2D 类提供的,该类是 java.awt.Graphics 的一个子类。API 的其它部分由 java.awt 层次结构中的其它包提供,包括 java.awt.color 、 java.awt.font 和 java.awt.geom 。对 Graphics2D 使用 setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 以达到边缘平滑的效果。
标签 ( Tags ) : 平滑字体
罗马以一种匪夷所思的方式败给了曼联,切尔西也在最后一分钟死里逃生,这和我之前的想法相悖;不过米兰这次没让我失望,在安联球场强势逆转,离冠军杯又近了一步。
考虑到曼联和切尔西现在的联赛积分只差3分,一个想追,一个要甩,所以米兰和利物浦击败各自对手决赛重逢的可能性还是相当大的。欧足联想必也不会轻易放过这样一个噱头,营造一切有利因素来促成这样一场复仇决战亦未可知。
Sogou输入法出来的时候我还在说这个把搜索引擎技术和输入法词库结合起来的创意会不会被微软给抄了去,想不到这次倒是谷歌继承了微软的一贯作风(再想想也是,李博士本来就是微软的人嘛):新鲜出炉的谷歌拼音输入法无论从哪方面看都像足了大它一岁的搜狗输入法。

当然,在完全借鉴了Sogou输入法的创意基础上,谷歌输入法又增加了诸如英文提示、一键搜索、网络同步这些极其实用的新功能;而这一年里,Sogou则似乎把时间完全花在了像换肤这样的表面功夫上。无怪乎keso会早早就放弃使用搜狗拼音;相信使用了谷歌输入法之后就删掉搜狗的也不是一个两个。
所以尽管谷歌输入法的词库疑似抄袭搜狗,却不影响它取代我使用了N年的微软输入法 -- 本来当时的搜狗也有同样的机会,可惜它那硕大的Logo和偷装直通车的行径让我倒胃 -- 不过输入法这东西向来是青菜罗卜各有所爱,想必Sogou的粉丝也是大把大把的(不然说吧里面也不会那么多挺搜狗的了)。只要不把目光都放在谁抄了谁的词库上,对于用户来说都是好事。
