google code-beautifer

星期四, 6月 14, 2007

安裝big5 中文點陣字型

在安裝mandriva 2007.1 後,基本的調校之一包含了安裝臺北字型。
因為 flash player 9 跟有一些沿用X-windows 點陣字的軟體如舊版的emacs處
理中文還是需要,我把在MDV2007.1 上裝上big5編碼的臺北字型的過程記下供參考。

2007.1預設的是fonts-ttf-chinese-0.1-0.20060928.1mdv2007.1 ,這套
Unified Chinese True Type font是Arne Goetje 合併了文鼎的向量字跟螢火飛
的點陣字還有簡體跟香港字,之前在MDV2007上我跟Jim 討論的部份粗體中文字型的問題http://cle.linux.org.tw/forum/viewtopic.php?t=1637。
已不存在。我推測問題出在我們之前(2006, 2007.0)用的螢火飛新宋體 TTF 的
hinting 。我懶的去交叉比對,要是有人確認的話,請通知一聲。不過由於有
人不懂技術跟經營社群,又喜歡當"big brother" 在我背後以一付高道德標準的姿態講些五三四的,我不會在那裡繼續回應技術問題,省的麻煩,等著看又有某某再度步上CLE CLDP論壇的結局。要討論的請在這裡或到自由軟體技術交流網的MDV論壇。噴口水的文字就請免了。


檢查系統環境:

fc-list | grep AR 可以看到文鼎中楷跟細上海宋
fc-list | grep -i big5 看不到 big5

臺北字型是有包好RPM,先把 taipeifonts-1.2 的RPM裝上 ,內部檔案包括
/usr/X11R6/lib/X11/fonts/misc/taipei16.pcf.gz
/usr/X11R6/lib/X11/fonts/misc/taipei20.pcf.gz
/usr/X11R6/lib/X11/fonts/misc/taipei24.pcf.gz
/usr/X11R6/lib/X11/fonts/misc/taipeifonts.alias
/usr/X11R6/lib/X11/fonts/misc/vga12x24.pcf.gz

不過沒配置好 font.dir 跟 font.alias,要手工設定:
cd /usr/X11R6/lib/X11/fonts/misc/
mkfontdir
cp taipeifonts.alias fonts.alias
此外xfs 系統沒有把/usr/X11R6/lib/X11/fonts/misc/ 加入路徑群,可以直接
打開檔案 /etc/X11/fs/config 編修,或下指令 chkfontpath檢查

/usr/share/fonts/misc:unscaled
/usr/share/fonts/drakfont
/usr/share/fonts/drakfont/Type1
/usr/share/fonts/drakfont/ttf
/usr/share/fonts/otf
/usr/share/fonts/ttc
/usr/share/fonts/75dpi:unscaled
/usr/share/fonts/100dpi:unscaled
/usr/share/fonts/Type1
/usr/share/fonts/TTF
/usr/share/fonts/Speedo
/usr/share/fonts/default/Type1
/usr/share/fonts/default/Type1/adobestd35
/usr/share/fonts/TTF/dejavu
/usr/share/fonts/TTF/latex
/usr/share/fonts/ttf/decoratives
/usr/share/fonts/ttf/western
/usr/share/lilypond/2.11.20/fonts/type1
/usr/X11R6/lib/X11/fonts/misc

要確定/usr/X11R6/lib/X11/fonts/misc在路徑群裡面.
設置好後,重啟動X 視窗
xlsfonts | grep -i big5 就會看到
-default-ming-medium-r-normal--16-160-72-72-c-160-big5-0
-default-ming-medium-r-normal--20-200-72-72-c-200-big5-0
-default-ming-medium-r-normal--24-240-72-72-c-240-big5-0
-taipei-fixed-medium-r-normal--0-0-75-75-c-0-big5-0
-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
-taipei-fixed-medium-r-normal--20-200-75-75-c-200-big5-0
-taipei-fixed-medium-r-normal--24-240-75-75-c-240-big5-0
-taipei-ming-medium-r-normal--16-160-75-75-c-160-big5-0
-taipei-ming-medium-r-normal--20-200-75-75-c-200-big5-0
-taipei-ming-medium-r-normal--24-240-75-75-c-240-big5-0

成功後,emacs 不用額外設定直接看到中文,firefox 開flash 網頁老鼠右鍵中文選單也沒問題。

延伸閱讀:(後續)
安裝 flash 9 player 的正確解答
Emacs 編輯中文設定
Java 中文字型設定

星期二, 6月 12, 2007

在OpenOffice.org 中文計劃上歷史的今天

參與 OpenOffice.org 中文計劃的人,甚至臺灣開放軟體社群不參與OpenOffice計劃的人,大概很難不注意OpenOffice中文計劃第一任管理員黃沛霖的講話。在那麼多正體中文跟簡體中文言論上的衝突場合裡,先不管誰是誰錯,我覺得他是極極少數能讓雙方都能平靜下來聽他說話的人。像較於一些只會高分貝雞同鴨講的基本教義派,他光是這點我覺得就很難得的。相對於臺灣一堆都在正式的OpenOffice.org 中文計劃之外打轉沒有進入核心的人,這幾年參與OpenOffice.org 中文計劃的簡體字人數優勢漸漸超過用正體中文的義工,不過相處還相當融洽,這是非常難得的。很可惜他因為個人因素即將要卸任,對於臺灣OpenOffice.org 的社群,甚至開放軟體社群,我覺得臺灣都不見得有人能取代他對正體中文 OpenOffice.org 的助益。對我的感覺,就像 Keith Packard 從 Xfree86.org 離開一樣。只不過Keith Packard 當年是被迫的,黃先生是主動的。

很多事情我不能明講, 這只有長期在中文 OpenOffice.org 待的人才能體會。很多事不是我一個人能控制的,所以我在OpenOffice.org 中文計劃開發者論壇留了一個回應,留待幾年之後大家回頭來看這個事,就知道什麼是我不能明講的。

-----------------------------------------------------

黃兄作為第一任中文計劃管理員,從無到有開創了目前的局面,我覺得非常難得。我個人從一開始就參與OOo中文計劃,覺得在參與者裡少有像黃兄這樣熱心的,黃兄退下這個位置是OOo中文計劃的損失,不過也祝福黃兄個人前途大展。

之前有些長期參與的義工也很熱心竟然都沒有出來接這個位置,現在有人出來接當然是很好。只有一點小小的想法: 希望借這個第一次轉換的機會,為將來更好的發展打下基礎。我對誰來接沒有什麼意見,這主要是程序的問題,其實黃兄要叫誰接,我想也沒有多少人有異議。不過既然黃兄特別提到用民主的方式,我希望藉此建立起一個好的制度,讓OOo中文計劃以後的管理員,都能基於前人的基礎愈做愈好。真正的民主不是嘴巴高喊"人民"或"社群"口號,而是能真的在這些小節裡落實:

1. 贊成/反對票到時會不會公開計名? 不公開計名的話,票是寄到黃兄的哪個私人信箱去?
2. 贊成/反對票是針對個人投兩票,還是對這兩個人整體投一票?

Pui Lam Wong 提到:
> > 各位好。
> >
> > 因為個人時間不足,固在與 OpenOffice.org Native Language Confederation 主席 Charles-H. Schulz、副主席 Louis Suárez-Potts、一些中文計劃成員、以及一些自由軟體人士討論後,決定任命兩位新主席共同掌管中文計劃:洪宗勝博士及 Cheng Lin。
> >
> > 二人簡介列於此信之下。對此一決定無反對意見者,請回覆此信並於回信第一行寫上「+1」。若有反對者,請於回信第一行書「-1」,並請書明原因。有問題者,請回信發問。
> >
> > 表決期為七日。即表決將於北京時間 2007年6月19日 23:59 終止。若讚成者多於反對者,此一任命張於 2007年6月20日 00:00 生效。
> >
> > 在下手頭上所有的重點資料皆在下面,若有重要遺漏,請 Mr. Lin 及 洪博士回信補足。
> >
> >
> > 黃沛霖上
> >
> > -----------------------
> >
> > 洪宗勝
> > ===
> > 洪宗勝博士,號威豆,網上人稱「威豆博士」。1987年得清華大學核子工程博士之位。2000年,成為 RedHat Certified Engineer 及 RedHat Certified Examiner。2003年當選(台灣)軟體自由協會第二屆理事,及(台灣)開放系統協會第六屆理事。2002 - 2003 年間多次應邀到不同大學及組織演講與推廣自由軟體。2004年為(台灣)資訊工業策會顧問,輔仁大學資訊管理所助教,青年國是會議自由軟體題之専家證人,後為晟鑫科技總經理。2005年,與 Firefly 等人共同發起「中文OSS 桌面應用增進計劃」(http://opendesktop.org.tw)。2006年當選開放系統協會第七屆常務理事。
> >
> > Cheng Lin
> > ===========
> > Cheng Lin 於 2001 至 2004 年間掌管 RedOffice 之開發及發佈。後於 2006 年,成為 OASIS UOML (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=uoml) 及 Chinese UOF (Uniform Office Format) Standard 組織之成員。同年,始掌 RedOffice 之人手及以 OOo VCL TestTool 完成之自動測試。

星期六, 6月 09, 2007

metacity 桌面管理員預設鍵盤快速鍵用法

meta city 是目前gnome 桌面預設的視窗管理員,雖然大家慢慢有遷到compiz 或beryl 等3D "桌面管理員"的傾向,但對一些老的顯示卡沒法跑 3D 桌面的,metacity 還是不可或缺的


  • switch_windows 在提示模式下於桌面上的所有開啟程式間切換
  • Alt-Tab
  • switch_panels 在提示模式下於桌面上的所有面板間切換
  • Ctl-Alt-Tab
  • cycle_windows 於桌面上的所有開啟程式間立即切換
  • Alt-ESC
  • cycle_panels 於桌面上的所有面板間立即切換
  • Ctl-Alt-ESC
  • show_desktop 切換在工作區隱藏/顯示視窗
  • Ctl-Alt-d
  • switch_to_workspace_left 跳到左邊的工作區
  • Ctl-Alt-向左鍵
  • switch_to_workspace_right 跳到右邊的工作區
  • Ctl-Alt-向右鍵
  • switch_to_workspace_up 跳到上面的工作區
  • Ctl-Alt-向上鍵
  • switch_to_workspace_down 跳到下面的工作區
  • Ctl-Alt-向下鍵

    以上四個功能加上SHIFT鍵 會同時把視窗移到相鄰工作區

  • activate_window_menu 啟動工作視窗選單
  • Alt-SPACE
  • toggle_fullscreen
  • disabled
  • toggle_maximized
  • disabled
  • toggle_shaded
  • disabled
  • close 關閉工作視窗
  • Alt-F4
  • minimize 最小化視窗
  • Alt-F9
  • begin_move 啟動移動視窗模式
  • Alt-F7 (可以用鍵盤或老鼠移動位置;或者直接按Alt- 跟老鼠左鍵不放後,用老鼠拖曳移動位置)

  • begin_resize
  • Alt-F8 改變視窗大小
  • 從最大化視窗還原原大小
  • Alt-F5
  • 視窗最大化
  • Alt-F10
  • Alt-F1

  • Alt-F2

  • 擷取全螢幕快照
  • PRINT
  • 擷取視窗快照
  • Alt-PRINT


其他相關

  • 殺掉 X 視窗
  • Ctl-Alt-BACK
  • 重開機
  • Ctl-Alt-DEL


衍生閱讀
Compiz 3D 桌面的使用設定
Skippy -- 快速視窗切換應用程式

星期五, 6月 08, 2007

在Emacs 上用正規表達式(Regular Expression)

前言

我痛恨Computer Science 一堆老師的位子都被有辦法的外系背景的人佔走,這些人又不懂電腦實務,結果搞出來的電腦教育七零八落。變成惡性循環。這檔事中外皆然,但臺灣尤烈。

假如離散數學學過了正規表達式(Regular expression)跟automata ,就一廂情願以為是可以直接在compiler 上套用non-deterministic的觀念,那就會死的很慘。就算修過compiler ,知道了要用deterministic的觀念,要以為在unix 上的find/grep/awk/表達檔案 wild card 上也可直接套用正規表達式(regular expression) 觀念來用,保證也死的很慘。因為解釋方式不一樣。現在發現,就算知道了前述 unix 系統上的工具如何正確的用正規表達式,在Emacs 下用法還是不太一樣,要小心。但是一但會用,真是如虎添翼。

在eamcs裡起動正規表達式的取代是用
ctrl-alt-%

先輸入搜尋字串正規表達式模版,按enter 後,再輸入取代的字串,一般基本的擴充正規表達式(extended Regular Expression)大多可以用

要輸入控制字元如 Crtl-J (也就是unix 上的換行控制字元),用按Ctrl-Q 後再按j 也就是先按 Ctrl-Q 後再按該字元。這讓Emacs 可以搜尋跟取代跨行的文字。強!

以下是詳細列表

  • ^
  • 代表字串開頭
  • $
  • 代表字串結尾
  • .
  • 任何字元
  • *
  • 重複前面sub-RE任意次, 跟unix 檔案不一樣的是,這跟數學上的RE 用法接近,前面要接一個sub-RE,sub-RE可以是字元RE或字串RE
  • +
  • 同*用法,但是是出現一次以上
  • ?
  • 同*用法,但是是出現零或一次
  • [ ... ]
  • 把 []裡的字元當成集合元素來用,任選其中之一
  • [^ ... ]
  • 把 []裡的字元當成集合元素來用,任選這個集合的補集合裡其中元素之一
  • \
  • 逃逸字元,把上述特殊符號當一般字元時要先加\
  • \|
  • 或: 前後兩個sub-RE 任選其中之一 ,比如說 腦殘 \| 丁丁
  • \( ... \)
  • 連接或群化:把\( \) 裡的平行元素(用\| 分隔)或把sub-RE 元素連成一個大的序列RE,簡而言之就是數學裡的 (,),按照其出現的順序,這些被\( ... \) 形成的RE 可以被後面再次呼叫引用,如\(腦殘 \| 丁丁 \)
  • \數字
  • 去引用前面被\( ... \) 形成的RE,如 \2 是引用前面出現過的第二個\( ... \)的正規表達式模組
  • \`
  • 在檔案(正確說法其實應該是buffer)起頭的空字串
  • \'
  • 在檔案(正確說法其實應該是buffer)末尾的空字串
  • \b
  • (英)文字正前或正後方的空字串 `\bfoo\b' 對應任何單獨存在的 `foo' 字串(以sub-string 型式出現的如food就不算).
  • \B
  • 不在(英)文字正前或正後方的空字串
  • \<
  • 在(英)文字正前方的空字串
  • \>
  • 在(英)文字正後方的空字串
  • \w
  • 對應一個文字字元(對英文而言,即abcd,...不包含空白之類的分隔字元)
  • \W
  • 對應一個非字元字元,也就是\w 的補集
  • \scode
  • 對應任何一個程式(code)字元. 程式字元就是上面那些特殊符號,如
    `w'(文字字元), `-' for whitespace, `(',...等等 。詳情見GNU emacs 手冊的章節: The Syntax Table.
  • \Scode
  • 對應一個非程式字元


我這裡寫的有一點心虛,是因為emacs原來只針對英文設計,處理中文時,因為語文結構上的差異造成了功能定義變得不明確。不過基本上我目前用emacs 22 處理中英文的試驗結果,\b 跟 \w 對待中文字的確是如同英文一般。有意者可以參考gnu 出版的原文手冊。這裡是GNU emacs 手冊提到正規表達式的章節:
http://www.gnu.org/software/emacs/manual/emacs.html#Regexps

星期三, 6月 06, 2007

GNU 正式發表 Eamcs 22.1

在停留在21 版六年之後,gnu 終於正式發表了22版。官方宣告在此
http://permalink.gmane.org/gmane.emacs.announce/11

一些主要的新增功能有
支援GTK+ 介面
X windows Drag-and-drop
支援 x86-64 架構
...
基本上族繁不以備載。

個人試用結果:我在Mandriva 2007.0上已開始用了 emacs-gtk beta版的RPM ,感覺相當不錯,unicode直接支援,不用加裝套件。
2007.1 開始, 舊版emacs-21.4-2跟emacs-snapshot-common-22.0.94-1跟xemacs-21.4.19-4 三者可以共存