emacs新版(22/23) 已經把utf8加入了。而且也有了gtk 支援,下面的技巧還是適用
假設是用了支援mule的新版emacs (non-mule xemacs 出不來)
在終端機下這樣執行:
#LC_LANG=utf8.tw_Big5 emacs
但 gnome 桌面上的icon不能這樣直接執行 . 變通方式是在
/usrl/local/bin 下做個script 姑稱之 emacs-21.4-BigInUtf8env
內容正如上所示
然後讓 gnome 桌面上的icon執行
/usr/local/bin/emacs-21.4-BigInUtf8env
(註: 原發表於CLE: 星期二 一月 10, 2006 1:11 pm
http://cle.linux.org.tw/forum/viewtopic.php?t=739)
開放世代("Generation Open"),特指以 "Open Content" (開放內容,包括知識,軟體與創作,...)為出發點的一種新的生活型態 但這裡強調的是群體長期的自由,而非個人一時的自由,因為個人一時的任意自由,是可以被有心人不公不義的用來去擷取個人利益而妨礙群體長期的自由,那不是大家所樂見的。
google code-beautifer
星期日, 11月 18, 2007
星期日, 11月 11, 2007
用Emacs 開發C 程式 第三部分:cscope整合
用Emacs 開發C 程式 第三部分:xcscope整合
xcscope 可以讓emacs搜尋變數的過程更簡便。
比如說找變數 i ,直接用 ^S 會找死人 (i被太多變數包含了),用正規表達式找 \bi\b 又不太方便,xcscope 會把所有引用到變數 i的block 跟行號在另一個視窗*cscope*全部列出來,在*cscope*視窗中把鼠標移到其中想要跳過去查看的那一行,按滑鼠中鍵,主程式視窗列表就會跳到對應的那一行。
rpm沒有包入contrib下的檔,所以去抓 tar ball 來用。而且要在.emacs 裡加入
(load-file "/usr/local/cscope-15.6/contrib/xcscope/xcscope.el")
(require 'xcscope)
emacs在載入 C 程式時就會啟用 csope "模式",
xcscope會在當下工作的目錄裡產生cscope.out存放交互連結資料
xcscope在emacs 主選單下有以下選項
Find symbol (d) 列出所有參考到此符號物件的程式行
Find global definition (g)
Find global definition no prompting (G)
Find functions calling a function: (c) 列出所有呼叫此函式的程式行
Find called functions: (C) 列出所有被此函式呼叫的函式
Find text string:
Find egrep pattern
Find a file:
Find files #including a file:
上面這些命令可以用以 C-c s 開頭的按鍵來執行,如Find symbol是 C-c s s跟emacs 的increamental 搜尋不一樣的地方在於,xcscope會另外開一個緩衝區叫*cscope*把所有符合搜尋條件的結果作索引一次全列出來,
比較好的方式,應該是在C 程式緩衝區可以直接用滑鼠鍵叫出 scopse 選單,然後選搜尋選項。根據http://linux.die.net/man/1/xcscope的說法,可以用pop-up (button 3)menus 叫出 xcscopse 選單。問題是沒有一個叫cscope-mode 的東西,所以在C 程式緩衝區裡無法用Ctl 滑鼠右鍵叫出cscope顯示選單。只能在%cscope%緩衝區下針對有列出來的符號用滑鼠叫出cscope顯示選單。
對於這個問題有一個解決的方式是去 ~/.emacs 下自行定義類似這樣的全域鍵盤定義。要充分發揮Emacs 各個元件的功能,善用控制鍵/滑鼠是不可或缺的一環,參考Emacs / X window 鍵盤滑鼠定義。
同樣支援 cscope的有cscope-fu, ecsope, 跟bscope。bscope號稱比xcscope.el好。
參見
CScopeAndEmacs
用Emacs 開發C 程式
xcscope 可以讓emacs搜尋變數的過程更簡便。
比如說找變數 i ,直接用 ^S 會找死人 (i被太多變數包含了),用正規表達式找 \bi\b 又不太方便,xcscope 會把所有引用到變數 i的block 跟行號在另一個視窗*cscope*全部列出來,在*cscope*視窗中把鼠標移到其中想要跳過去查看的那一行,按滑鼠中鍵,主程式視窗列表就會跳到對應的那一行。
安裝:
rpm沒有包入contrib下的檔,所以去抓 tar ball 來用。而且要在.emacs 裡加入
(load-file "/usr/local/cscope-15.6/contrib/xcscope/xcscope.el")
(require 'xcscope)
使用
emacs在載入 C 程式時就會啟用 csope "模式",
xcscope會在當下工作的目錄裡產生cscope.out存放交互連結資料
xcscope在emacs 主選單下有以下選項
Find symbol (d) 列出所有參考到此符號物件的程式行
Find global definition (g)
Find global definition no prompting (G)
Find functions calling a function: (c) 列出所有呼叫此函式的程式行
Find called functions: (C) 列出所有被此函式呼叫的函式
Find text string:
Find egrep pattern
Find a file:
Find files #including a file:
上面這些命令可以用以 C-c s 開頭的按鍵來執行,如Find symbol是 C-c s s跟emacs 的increamental 搜尋不一樣的地方在於,xcscope會另外開一個緩衝區叫*cscope*把所有符合搜尋條件的結果作索引一次全列出來,
比較好的方式,應該是在C 程式緩衝區可以直接用滑鼠鍵叫出 scopse 選單,然後選搜尋選項。根據http://linux.die.net/man/1/xcscope的說法,可以用pop-up (button 3)menus 叫出 xcscopse 選單。問題是沒有一個叫cscope-mode 的東西,所以在C 程式緩衝區裡無法用Ctl 滑鼠右鍵叫出cscope顯示選單。只能在%cscope%緩衝區下針對有列出來的符號用滑鼠叫出cscope顯示選單。
對於這個問題有一個解決的方式是去 ~/.emacs 下自行定義類似這樣的全域鍵盤定義。要充分發揮Emacs 各個元件的功能,善用控制鍵/滑鼠是不可或缺的一環,參考Emacs / X window 鍵盤滑鼠定義。
同樣支援 cscope的有cscope-fu, ecsope, 跟bscope。bscope號稱比xcscope.el好。
參見
CScopeAndEmacs
用Emacs 開發C 程式
星期六, 11月 10, 2007
Emacs / X window 鍵盤滑鼠定義
要充分發揮Emacs 各個元件的功能,善用控制鍵/滑鼠是不可或缺的一環。
當常常用emacs 寫作開發程式做某特定動作,就要按一大串鍵會減低效率。有一個解決的方式是去 ~/.emacs 下自行定義全域鍵盤控制鍵/滑鼠定義。不過要作到自行定義,要先瞭解整個環境是如何定義鍵盤的:
控制字首可以放在"任何"一般字元前,甚至滑鼠動作前,其中可以用下面簡寫
M- (meta)
C- 或 ^(control )
S- (shift)
A-(alt)
H- (hyper)
s- (super)
字首順序是可變換的 (M-C-x 跟 C-M-x 是一樣的意思)
可以用多次如 3*<right>跟<right><right><right>是一樣的意思
function 鍵字首可以寫到角括號裡, C-<down> 跟 <C-down> 是一樣的意思
在我的鍵盤(PC105鍵盤)上
Alt鍵定義成 meta鍵
左視窗鍵定義成 super 鍵
右視窗鍵定義成兩層定義,第二層定義為Multi 鍵(一般所謂的 compose)
選單鍵定義成 Meta-X
其實還有Scroll Lock跟 Caps Lock 跟 SysRq。除了opera, 跟 virtual console ,...外 Scroll lock 跟 SysRq幾乎是沒用的廢物,雖不便澈底改變定義,不過也許卻適合在emacs挪用成其他定義。
要是要去X 視窗改定義的話是在/etc/X11/xorg.conf 下改動
Section "InputDevice"
Identifier "Keyboard1"
Driver "Kbd"
Option "XkbModel" "pc105"
Option "XkbOptions" "compose:rwin"
EndSection
設定是在選項
Option "XkbOptions" "新動作定義:原鍵盤設定"
如Option "XkbOptions" "ctrl:nocaps"
很多人把capsLock 當成 Ctrl,我覺得很浪費,因為可以拿來當別的鍵用
假如想要看當前鍵盤原始定義檔,執行
xkbcomp $DISPLAY
就會產生以 server-0_ 開頭的檔案如
server-0_0.xkb
滑鼠左鍵:選擇
滑鼠中鍵:貼
滑鼠右鍵:標示區間
Shift 滑鼠左鍵: 跳出 Font 選單(相當於Emacs 主選單->Options->Set Font/Fontset)
Shift 滑鼠中鍵: 呼叫 dird ,在檔名字串上按Shift 滑鼠中鍵可開啟這個檔
Shift 滑鼠右鍵: 沒有定義(這應該可以拿來自行定義常用的動作)
Ctl 滑鼠左鍵:跳出緩衝區選單供切換
Ctl 滑鼠中鍵:跳出文字顯示選單供更動顯示選項(相當於Emacs 主選單->Edit->Text Properties)
Ctl 滑鼠右鍵:應不同的緩衝區模式會有不同的回應。
在%cscope%緩衝區下執行會跳出cscope顯示選單供更動顯示選項(在HTML 或 C,... mode 就會跳出相對於Emacs 主選單->HTML/SGML/C模式的選單)
Alt 滑鼠鍵: 視窗管理(跟emacs無關)
Alt 滑鼠左鍵:拉動視窗
Alt 滑鼠中鍵:調整視窗長寬度,這在剛用C-x 5 2 啟動某視窗可是預設的長寬太小時很有用。要是嫌ecb 左邊frame 寬度佔去的比例太大,可以在緩衝區回應視窗裡去拉動分隔線調整比例。
Alt 滑鼠右鍵:視窗動作管理目錄(也包含前二者)
全域鍵盤定義,有幾種不同寫法。在
XEmacs 與 Emacs傳統上 (version 19)用
(define-key global-map [(control f9)] 'cscope-find-global-definition)
(define-key global-map [(ctrl f9)] 'cscope-find-global-definition)
(define-key global-map [(meta f7)] 'cscope-find-global-definition-no-prompting)
XEmacs 與 Emacs兩者較新版(version >20)寫法
(define-key global-map (kbd "C-") 'forward-word)
Emacs 獨有的寫法
(define-key global-map [C-right] 'forward-word)
不過要小心自行定義不要跟別的套件定義打架。比如說
C-F3到C-F6,C-F8,F3到F8跟F11已被Xref定義過了。F1, F2, F10 被Eamcs 定義過了
有幾個X 視窗相關的鍵盤定義也要注意,如
X-windows
Ctl-Alt-F1 到F12
Metacity (無論有 Compiz 與否)
Alt-Tab, Alt-SPACE, Alt-F1,Alt-F2,Alt-F4,Alt-F5,Alt-F7到 Alt-F10,
Ctl-Alt-Tab, Ctl-Alt-d, Ctl-Alt+L, Ctl-Alt-加上左右上下鍵,
Ctl-Alt-SHIFT-加上左右上下鍵, PRINT, Alt-PRINT
Alt-ESC, Ctl-Alt-ESC (但在Emacs 被重新定義了)
Compiz 3D
Ctrl + Alt + 左鼠左鍵在桌面上拖曳, Super + 老鼠右鍵 , super + 老鼠
滾輪向上滑, Super + 老鼠滾輪向下滑, Ctrl+Alt+向下鍵按著不放,Ctrl+Alt按著不放+左右方向鍵
功能鍵剩下
F9,F12
shift-F1, shift-F5, shift-F7,
C-F1,C-F2,C-F7,C-F9到C-F12
M-F3, M-F6, M-F11, M-F12
super F1到F12
metacity 桌面管理員預設鍵盤快速鍵用法
Compiz 3D 桌面的使用設定
CapsKey
Emacs key binding help page
An Unreliable Guide to XKB Configuration
當常常用emacs 寫作開發程式做某特定動作,就要按一大串鍵會減低效率。有一個解決的方式是去 ~/.emacs 下自行定義全域鍵盤控制鍵/滑鼠定義。不過要作到自行定義,要先瞭解整個環境是如何定義鍵盤的:
Emacs 控制字首定義
控制字首可以放在"任何"一般字元前,甚至滑鼠動作前,其中可以用下面簡寫
M- (meta)
C- 或 ^(control )
S- (shift)
A-(alt)
H- (hyper)
s- (super)
字首順序是可變換的 (M-C-x 跟 C-M-x 是一樣的意思)
可以用多次如 3*<right>跟<right><right><right>是一樣的意思
function 鍵字首可以寫到角括號裡, C-<down> 跟 <C-down> 是一樣的意思
X 視窗鍵盤定義
在我的鍵盤(PC105鍵盤)上
Alt鍵定義成 meta鍵
左視窗鍵定義成 super 鍵
右視窗鍵定義成兩層定義,第二層定義為Multi 鍵(一般所謂的 compose)
選單鍵定義成 Meta-X
其實還有Scroll Lock跟 Caps Lock 跟 SysRq。除了opera, 跟 virtual console ,...外 Scroll lock 跟 SysRq幾乎是沒用的廢物,雖不便澈底改變定義,不過也許卻適合在emacs挪用成其他定義。
要是要去X 視窗改定義的話是在/etc/X11/xorg.conf 下改動
Section "InputDevice"
Identifier "Keyboard1"
Driver "Kbd"
Option "XkbModel" "pc105"
Option "XkbOptions" "compose:rwin"
EndSection
設定是在選項
Option "XkbOptions" "新動作定義:原鍵盤設定"
如Option "XkbOptions" "ctrl:nocaps"
很多人把capsLock 當成 Ctrl,我覺得很浪費,因為可以拿來當別的鍵用
假如想要看當前鍵盤原始定義檔,執行
xkbcomp $DISPLAY
就會產生以 server-0_ 開頭的檔案如
server-0_0.xkb
Emacs 滑鼠鍵定義
滑鼠左鍵:選擇
滑鼠中鍵:貼
滑鼠右鍵:標示區間
Shift 滑鼠左鍵: 跳出 Font 選單(相當於Emacs 主選單->Options->Set Font/Fontset)
Shift 滑鼠中鍵: 呼叫 dird ,在檔名字串上按Shift 滑鼠中鍵可開啟這個檔
Shift 滑鼠右鍵: 沒有定義(這應該可以拿來自行定義常用的動作)
Ctl 滑鼠左鍵:跳出緩衝區選單供切換
Ctl 滑鼠中鍵:跳出文字顯示選單供更動顯示選項(相當於Emacs 主選單->Edit->Text Properties)
Ctl 滑鼠右鍵:應不同的緩衝區模式會有不同的回應。
在%cscope%緩衝區下執行會跳出cscope顯示選單供更動顯示選項(在HTML 或 C,... mode 就會跳出相對於Emacs 主選單->HTML/SGML/C模式的選單)
Alt 滑鼠鍵: 視窗管理(跟emacs無關)
Alt 滑鼠左鍵:拉動視窗
Alt 滑鼠中鍵:調整視窗長寬度,這在剛用C-x 5 2 啟動某視窗可是預設的長寬太小時很有用。要是嫌ecb 左邊frame 寬度佔去的比例太大,可以在緩衝區回應視窗裡去拉動分隔線調整比例。
Alt 滑鼠右鍵:視窗動作管理目錄(也包含前二者)
自行定義Emacs 全域鍵盤定義
全域鍵盤定義,有幾種不同寫法。在
XEmacs 與 Emacs傳統上 (version 19)用
(define-key global-map [(control f9)] 'cscope-find-global-definition)
(define-key global-map [(ctrl f9)] 'cscope-find-global-definition)
(define-key global-map [(meta f7)] 'cscope-find-global-definition-no-prompting)
XEmacs 與 Emacs兩者較新版(version >20)寫法
(define-key global-map (kbd "C-
Emacs 獨有的寫法
(define-key global-map [C-right] 'forward-word)
不過要小心自行定義不要跟別的套件定義打架。比如說
C-F3到C-F6,C-F8,F3到F8跟F11已被Xref定義過了。F1, F2, F10 被Eamcs 定義過了
有幾個X 視窗相關的鍵盤定義也要注意,如
X-windows
Ctl-Alt-F1 到F12
Metacity (無論有 Compiz 與否)
Alt-Tab, Alt-SPACE, Alt-F1,Alt-F2,Alt-F4,Alt-F5,Alt-F7到 Alt-F10,
Ctl-Alt-Tab, Ctl-Alt-d, Ctl-Alt+L, Ctl-Alt-加上左右上下鍵,
Ctl-Alt-SHIFT-加上左右上下鍵, PRINT, Alt-PRINT
Alt-ESC, Ctl-Alt-ESC (但在Emacs 被重新定義了)
Compiz 3D
Ctrl + Alt + 左鼠左鍵在桌面上拖曳, Super + 老鼠右鍵 , super + 老鼠
滾輪向上滑, Super + 老鼠滾輪向下滑, Ctrl+Alt+向下鍵按著不放,Ctrl+Alt按著不放+左右方向鍵
功能鍵剩下
F9,F12
shift-F1, shift-F5, shift-F7,
C-F1,C-F2,C-F7,C-F9到C-F12
M-F3, M-F6, M-F11, M-F12
super F1到F12
延伸閱讀
metacity 桌面管理員預設鍵盤快速鍵用法
Compiz 3D 桌面的使用設定
CapsKey
Emacs key binding help page
An Unreliable Guide to XKB Configuration
星期五, 11月 09, 2007
The Core Pocket Media Player (TCPMP)
The Core Pocket Media Player (TCPMP)是Palm OS上開放原碼的多媒體播放器,比起Sony 內建的播放器好太多了,支援多種格式如
Audio codecs:
Mpeg 1 LayerIII, Ogg Vorbis, Musepack, Wav(Adpcm, uLaw) AC-3
Video codecs:
DivX, XviD, MS-Mpeg4-V3, Mpeg-1
圖片:
MJPEG, JPG, PNG,TIFF
Containers:
AVI (*.avi), Matroska (*.mkv, *.mka), MP4 (*.mp4, *.m4a), Ogg Media (*.ogg, *.ogm)
安裝使用建議
1. 將TCPMP主檔及所有Plugin檔放入MS pro 卡或SD/CF卡內 的/PALM/Launcher/內
2. Sony的palm PDA要去http://aibohack.com/clie/modclieaud.htm 下載MCA v2.05 (檔案名稱:MCA2_05.prc)來提供Palm OS 5.2的音效。安裝後,還要到System Settings 設定裡的「MCA2」選項去啟動Install,指定某個應用程式使用MCA來做聲音處理。之後才會有聲音。
3. 把多媒體檔放入MS pro 或 CF卡 內自建資料夾內,這樣TCPMP就可播放。
惟一美中不足的是播放清單沒有好的介面。若偶爾還是要用Sony 的播放器聽音樂,那還是乖乖把音樂檔放到/PALM/Programs/MSAUDIO/內
使用以下這段影片在CLie TG-50 (200Mhz) 測試 0.72RC1
http://picard.exceed.hu/samples/RL_LQB_320x176_256_64.avi
得到以下數據
Average speed 149.65
benchmark FPS 35.92
benchmark time: 1:41.209
original FPS 24.00
original time: 2:31.459
以這個CPU 的速度而言,算是了不得的。我在Linux 上測,原檔案影音是同步的,但在 TG-50 上 就會有影音同步問題。裝了sonyhhe plugin/打開override AVI timing based on audio 也沒用,不知道是不是CPU 不夠力。但聽音樂是絕對沒問題的。 理論上要讓他跑的順一些,還可以用UDMH 或超頻之類的手段,不過我沒時間去試了。
http://forum.palmislife.com/viewthread.php?tid=47801&extra=&page=1
跟這裡
http://blogs.shintak.info/articles/4567.aspx
有一些benchmark 資料
Audio codecs:
Mpeg 1 LayerIII, Ogg Vorbis, Musepack, Wav(Adpcm, uLaw) AC-3
Video codecs:
DivX, XviD, MS-Mpeg4-V3, Mpeg-1
圖片:
MJPEG, JPG, PNG,TIFF
Containers:
AVI (*.avi), Matroska (*.mkv, *.mka), MP4 (*.mp4, *.m4a), Ogg Media (*.ogg, *.ogm)
安裝使用建議
1. 將TCPMP主檔及所有Plugin檔放入MS pro 卡或SD/CF卡內 的/PALM/Launcher/內
2. Sony的palm PDA要去http://aibohack.com/clie/modclieaud.htm 下載MCA v2.05 (檔案名稱:MCA2_05.prc)來提供Palm OS 5.2的音效。安裝後,還要到System Settings 設定裡的「MCA2」選項去啟動Install,指定某個應用程式使用MCA來做聲音處理。之後才會有聲音。
3. 把多媒體檔放入MS pro 或 CF卡 內自建資料夾內,這樣TCPMP就可播放。
惟一美中不足的是播放清單沒有好的介面。若偶爾還是要用Sony 的播放器聽音樂,那還是乖乖把音樂檔放到/PALM/Programs/MSAUDIO/內
使用以下這段影片在CLie TG-50 (200Mhz) 測試 0.72RC1
http://picard.exceed.hu/samples/RL_LQB_320x176_256_64.avi
得到以下數據
Average speed 149.65
benchmark FPS 35.92
benchmark time: 1:41.209
original FPS 24.00
original time: 2:31.459
以這個CPU 的速度而言,算是了不得的。我在Linux 上測,原檔案影音是同步的,但在 TG-50 上 就會有影音同步問題。裝了sonyhhe plugin/打開override AVI timing based on audio 也沒用,不知道是不是CPU 不夠力。但聽音樂是絕對沒問題的。 理論上要讓他跑的順一些,還可以用UDMH 或超頻之類的手段,不過我沒時間去試了。
http://forum.palmislife.com/viewthread.php?tid=47801&extra=&page=1
跟這裡
http://blogs.shintak.info/articles/4567.aspx
有一些benchmark 資料
星期一, 10月 29, 2007
Linux 的Palm及Zaurus Big5/Unicode同步解決方案
Palm OS5上面的中文是Big5,而MAC OS X /Windows XP系統上是Unicode,Evolution也是。直接拿PC 上的unicode 給Zaurus 有潛在的風險,見mfhsieh 寫的[分享] Zaurus 的 UTF-8 編碼
Palm跟Linux同步可以用jpilot 或Evolution + pilot-link (pilot-link 純粹是一個同步的管道)。jpilot則是自成一格的軟體,好處是可以在輸出時選編碼。
我偏好用Evolution,除Linux 外,不但支援Mac OS X,還有win32 版(2.8.簡易安裝版Calendar 好像還沒完成,不過現有2.16自行安裝版)。Mozilla 計劃的Thunderbird+lignting 的方案現階段還不成熟,就暫不考慮。但要把 pilot-link的Big5/Unicode同步搞定。pilot-link裡libpisync/util.c 裡面有這一段
#define PILOT_CHARSET "CP1252"
/***********************************************************************
*
* Function: convert_ToPilotChar
*
* Summary: Convert any supported desktop text encoding to the Palm
* supported encoding
*
* Summary: Convert from Palm supported encoding to a supported
* desktop text encoding. The Palm charset is assumed to
* be CP1252. This default can be overridden by the
* 'PILOT_CHARSET' environment variable.
所以暴力法就是在/etc/profile 下強迫
export PILOT_CHARSET=BIG5
讓輸出同步資料時編碼轉Big5。(注意BIG5大小寫)。其實應該可以用script來作。
這基本上是叫用 iconv ,所以我相信在zaurus 上,只要把這個port 到
KO/Pi(KDE Pim/Platform-independent)
http://sourceforge.net/projects/kdepimpi/
Zaurus 就可以同步Big5資料
不過我猜測可能要給glibc 瘦身,加入
/usr/lib/gconv/BIG5.so
/usr/lib/gconv/UTF-16.so
/usr/lib/gconv/UTF-32.so
/usr/lib/gconv/UTF-7.so
/usr/lib/gconv/UNICODE.so
這些檔...
目前Palm行事曆,連絡人,todo跟Evolution同步都沒問題,但在Evolutiong上的備忘錄(memo)摘要跟描述要完全一樣,不然無法同步。(palm 的備忘錄欄位較少)
Palm跟Linux同步可以用jpilot 或Evolution + pilot-link (pilot-link 純粹是一個同步的管道)。jpilot則是自成一格的軟體,好處是可以在輸出時選編碼。
我偏好用Evolution,除Linux 外,不但支援Mac OS X,還有win32 版(2.8.簡易安裝版Calendar 好像還沒完成,不過現有2.16自行安裝版)。Mozilla 計劃的Thunderbird+lignting 的方案現階段還不成熟,就暫不考慮。但要把 pilot-link的Big5/Unicode同步搞定。pilot-link裡libpisync/util.c 裡面有這一段
#define PILOT_CHARSET "CP1252"
/***********************************************************************
*
* Function: convert_ToPilotChar
*
* Summary: Convert any supported desktop text encoding to the Palm
* supported encoding
*
* Summary: Convert from Palm supported encoding to a supported
* desktop text encoding. The Palm charset is assumed to
* be CP1252. This default can be overridden by the
* 'PILOT_CHARSET' environment variable.
所以暴力法就是在/etc/profile 下強迫
export PILOT_CHARSET=BIG5
讓輸出同步資料時編碼轉Big5。(注意BIG5大小寫)。其實應該可以用script來作。
這基本上是叫用 iconv ,所以我相信在zaurus 上,只要把這個port 到
KO/Pi(KDE Pim/Platform-independent)
http://sourceforge.net/projects/kdepimpi/
Zaurus 就可以同步Big5資料
不過我猜測可能要給glibc 瘦身,加入
/usr/lib/gconv/BIG5.so
/usr/lib/gconv/UTF-16.so
/usr/lib/gconv/UTF-32.so
/usr/lib/gconv/UTF-7.so
/usr/lib/gconv/UNICODE.so
這些檔...
目前Palm行事曆,連絡人,todo跟Evolution同步都沒問題,但在Evolutiong上的備忘錄(memo)摘要跟描述要完全一樣,不然無法同步。(palm 的備忘錄欄位較少)
訂閱:
文章 (Atom)