發表文章

目前顯示的是 十一月, 2008的文章

字型編輯軟體-FontForge

字型編輯軟體-FontForge
    通常在使用字型時會發現字型中的有些字體或是筆劃覺得不太好看,想加以修改或是造一個新字,但在linux下卻找不到相關的造字軟體或是字型檔的編輯軟體。其實在sourceforge中有個portject名稱為FontForge就是針對這個問題而來的,而且是使用GUI界面,也就是以圖型操作界面,減少對命列模式的使用,大大的增加了軟體的親和性。最棒的是這套軟體是有中文界面的,真是感謝幕後的翻譯人員呀。
    而且在官方網頁上所提供的教學文件是有中文的,有興趣的朋友也不用太擔心入門的問題。可以造著教學一步步的操作,如果手上有現成的字型檔,也可以直接拿來修改,不過如果是修改其他公司的字型檔時,請小心在使用上是否有版權問題哦!

其實一開始我只是想做一些數字的虛線的練習字體,雖然有找到一些免費的字型檔,但是在字體的寫法上並符合一般手寫法,所以在給小朋友練習時並不理想,所以
才會找像windows下的造字程式般的軟體,在找到的一些軟體中,就屬這個最方便易用了。所以要紀綠下來。Fedora的使用者只要到官網下載
fontforge-20080927-1.i386.rpm這個檔案回來裝上,就可以使用了。不過在裝好後,在應用程式選單中可能會找不到執行的選項,
可以在命列中下“fontforge”的指令就可以叫出來了。


官方網頁:http://fontforge.sourceforge.net/
官方教學網頁:http://edt1023.sayya.org/fontforge/overview.html

讓ThinkingRock輸出的PDF可以顯示中文

讓ThinkingRock輸出的PDF可以顯示中文

之前提到使用ThinkingRock來實現GTD的概念,雖說ThinkingRock實作了GTD的全部功能,但是對於中文的使用者還是有一點不太方
便,其中比較大的問題便是輸出PDF的部份。輸出的PDF檔案並無法正確的顯示出中文來,文中的中文字全變成了方框,這是因為內附PDF使用的字型沒有支
援中文字,可以透過增加字型來讓PDF檔案可以出現中文。在官網的FAQ中有提到如何為PDF報表新增字型,可以參考這裡。由官網的說明可以知道ThinkingRock是使用Apache FOP來產生PDF報表。
    如果對英文過敏的朋友,或是想知道一步步做法而已的朋友,可以參考“为ThinkingRock的REPORT添加中文字体”一文。按此文一步步操作,即可以加入字型到ThinkingRock中以供PDF輸出使用。




(1)由于ThinkingRock只内置了Courier、Helvetica和Times Roman三种字体,我们需要添加一种汉字字体,获得字体,我用的是WinXP的仿宋字体simfang.ttf。
(2)
生成TRUE TYPE(.ttf)的Font Metrics
Files,在命令行状态下,进入ThinkingRock/lib目录下,使用命令“java -cp
{path}\fop.jar;{path}\avalon-framework.jar;{path}\commons-logging.jar;{path}\commons-io.jar
org.apache.fop.fonts.apps.TTFReader simfang.ttf
simfang.xml”来生成simfang.xml,这里{path}是fop.jar,avalon-framework.jar,commons
-logging.jar,commons-io.jar所在的路径,一般在ThinkingRock的lib子目录下,输入时还要注意这几个JAR文件
名字的一致性
(3)复制simfang.ttf以及simfang.xml到ThinkingRock所在目录下的resource/fop子目录里;
(4)编辑resource/fop/目录下的fop.xconf,在<fonts></fonts>段内增加几行,如下:
<font metrics-u…

用指令模式搜尋檔案並直接刪除-使用find指令

用指令模式搜尋檔案並直接刪除-使用find指令
使用指令來搜尋硬碟中的檔案,使用locate指令是最快速的,但是使用locate搜尋的結果並不能直接做處理,需要一些小技巧才能套進其他指令裡。但
是使用find指令卻可以克服這個問題,因為find指令有一個"-exec"的參數,可以讓我們針對搜尋出來的結果直接套用到指令裡。舉個例子來說,通
常系統中總會有一些無用的小檔案零散分佈在各個目錄中,例如log檔或是文字的備份檔。若是要一個個的去找出來再使用rm指令來刪除的話,做完這些事,大
概鍵盤也快散了吧!其實可以使用find指令配合"-exec"參數就可以做到了。

以檔案thumbs.db來做例子,這個檔案常出現在各個角落裡,但幾乎沒什麼特別作用。



# find . -name thumbs.db -exec rm {} ";"



其中的{}代表的就是使用find指令所查詢到的所有結果,exec參數需要以分號結尾,但必須要加上引號""或是跳脱字元\。-name參數也可以使用
萬用字元*,但是必須加上引號,才不會發生錯誤。以上的指令也可以改寫成以下的指令:


# find . -name thumbs.db -exec rm {} \;


以下是使用萬用字元的例子


# find . -name "*.bak" -exec rm {} ";"


會將目前這個目錄以下所有目錄中副檔名是bak的檔案予以刪除。