google code-beautifer

星期一, 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 的備忘錄欄位較少)