[PDA] Zaurus C760 新手筆記 (6) - 中文化及其自動程序
放假日比較有空,把放了幾天沒完成中文化的 Zaurus 偽 C860 (SL-C760 的機器,灌上 SL-C860 1.10 JP 的 ROM,再用升級檔的方式,改至 1.40 JP 版) 給中文化了。一共試了兩個版本:第一種是使用 efont 字型;第二種是使用自製的 arial + mingliu 字型。看了一下,還是 mingliu 字型比較漂亮。(註:mingliu 字型就是 windows 下內附的新細明體。)
這是使用 efont 字型的結果,我把原來 CKeyboard 所附的 taipei 字型刪除了,改連結至 efont 字型。系統內附的 lcfont 字型當然是刪除了,helvetica 字型則是改連結至 efont 字型。
使用 efont 字型有個缺點,系統內附的字型幾乎都須刪除,不然就只看到一堆方塊字。最後我只留下 fixed 字型給 embeddedkonsole (終端機軟體) 使用。
這是使用 arial + mingliu 字型的結果,我把原來 CKeyboard 所附的 taipei 字型刪除了,改連結至 mingliu 字型。系統內附的 lcfont 字型當然是刪除了,helvetica 字型則是改連結至 arial 字型,另外 mingliu 字型的連結則是新增至 fonts 目錄。
比較特殊的是,我覺得在同點數的情形下,arial 字型總是看起來比較粗大,所以在連結時,我把點數偷加 20 後,再連結到 fonts 目錄。
使用 arial + mingliu 字型,似乎是不會受到系統內附字型的影響,共存時也不會有方塊字出現 (尚待廣泛的實驗)。
另外,從下面第三張圖可以發現,畫面上半是 mingliu 字型,下半則是 arial 字型。兩者共存的好像不錯。
底下我把整個中文化的程序詳錄於後:
註:為什麼我在中化文語系這部份不直接採用安裝的方式呢?如果有試過的朋友應該知道,因為版本的不符,多少有些不相容的地方。所以我採用比對後再選擇性的安裝到機器上。
底下是前面提到的三個檔案,剪貼後另存成文字檔即可。但須注意, Zaurus 為 UTF-8 的 UNIX 系統,所以要用諸如 Ultraedit 的軟體轉成 UTF-8 UNIX 格式的案檔案。如果有人可以提供空間的話,我想直接把下面的檔案弄成可以直接下載是方便一點。
下面分別是三個檔案 (localize.sh/localize_efont.sh/embeddedkonsole.desktop),每條分隔線間,是個獨立的檔案。
#!/bin/bash
# 這是 localize.sh 檔
# ----------------------------------------------------------------------
# 請存成 UTF-8/UNIX 模式,Zaurus 才能正確讀取
# ----------------------------------------------------------------------
# 這個版本適用於使用自製的 arial 及 mingliu 字型
# ----------------------------------------------------------------------
# 目錄結構:
# SD Card
# |- Backup
# |- arial
# |- arial_*
# |- mingliu
# |- mingliu_*
# |- zh-TW-C700_0118_arm
# |- opt
# |- QtPalmtop
# |- i18n
# |- ja
# |- *.qm
# |- apps
# |- *.desktop
# ----------------------------------------------------------------------
#
# 將 fonts 目錄下的 lcfont 及 helvetica 字型刪除,改連結 helvetica 至 arial
# 其中因同 pt 的字型,arial 總是看起來比較大,所以加 20 pt 後連結至 fonts 目錄
SRC="/mnt/card/Backup/arial/arial_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f lcfont*
rm -f helvetica*
for i in $SRC ; do
BN=`basename $i`
SIZE=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\2/"`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\3/"`
# $SIZE +20
ln -s "$i" "helvetica_`expr $SIZE + 20`$TAIL"
# $SIZE
#ln -s "$i" "helvetica_`expr $SIZE`$TAIL"
done
#
# 新連結 mingliu 字型
SRC="/mnt/card/Backup/mingliu/mingliu_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f mingliu*
for i in $SRC ; do
BN=`basename $i`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/_\2\3/"`
ln -s "$i" "mingliu$TAIL"
done
#
# 將原 CKeyboard 附的 taipei 字型刪除,改連結至 arial/mingliu 字型
rm -f taipei*
# if (1) arial as helvetica, (2) $SIZE +20 and (3) arial as taipei
#ln -s helvetica_180_50_t10.qpf taipei_100_50_t10.qpf
#ln -s helvetica_180_50_t10.qpf taipei_120_50_t10.qpf
# if (1) arial as helvetica, (2) $SIZE and (3) arial as taipei
#ln -s helvetica_160_50_t10.qpf taipei_100_50_t10.qpf
#ln -s helvetica_160_50_t10.qpf taipei_120_50_t10.qpf
# if (1) mingliu as taipei and (2) mingliu as taipei
ln -s mingliu_160_50_t10.qpf taipei_100_50_t10.qpf
ln -s mingliu_160_50_t10.qpf taipei_120_50_t10.qpf
#
# 比對 zh-TW-C700_0118_arm 套件所附的語系檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/i18n/ja"
TGT="/home/QtPalmtop/i18n/ja"
cd "$TGT"
for i in $TGT/* ; do
if [ -f "$SRC/`basename $i`" ] ; then
rm $i
cp "$SRC/`basename $i`" .
echo -n
fi
done
#
# 比對 zh-TW-C700_0118_arm 套件所附的捷徑檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/apps"
TGT="/home/QtPalmtop/apps"
cd "$TGT"
for i in $TGT/* $TGT/.* ; do
BN=`basename $i`
if [ -d "$i" ] ; then
if [ -d "$SRC/$BN" -a "$BN" != "." -a "$BN" != ".." ] ; then
cd "$BN"
for j in $i/* $i/.* ; do
BN2=`basename $j`
if [ -f "$SRC/$BN/$BN2" -a "$BN2" != ".order" ] ; then
rm -f "$j"
cp "$SRC/$BN/$BN2" .
fi
done
cd ..
fi
elif [ -f "$SRC/$BN" -a "$BN" != ".order" ] ; then
rm -f $i
cp "$SRC/$BN" .
fi
done
#!/bin/bash
# 這是 localize_efont.sh 檔
# ----------------------------------------------------------------------
# 請存成 UTF-8/UNIX 模式,Zaurus 才能正確讀取
# ----------------------------------------------------------------------
# 這個版本適用於使用 efont 字型
# ----------------------------------------------------------------------
# 目錄結構:
# SD Card
# |- Backup
# |- efont
# |- efont_*_50_t10.qpf
# |- zh-TW-C700_0118_arm
# |- opt
# |- QtPalmtop
# |- i18n
# |- ja
# |- *.qm
# |- apps
# |- *.desktop
# ----------------------------------------------------------------------
#
# 將 fonts 目錄下的檔案都刪除,從 ROM 新連結 fixed 字型及 fontdir 檔
SRC="/usr/QtPalmtop.rom/lib/fonts"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f *
ln -s $SRC/fontdir fontdir
for i in $SRC/fixed_* ; do
ln -s "$i" `basename $i`
done
#
# 建立 efont 字型的連結,字型放置於 $SRC 處
SRC="/mnt/card/Backup/efont/efont_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
for i in $SRC ; do
BN=`basename $i`
SIZE=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\2/"`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\3/"`
# $SIZE +20
#ln -s "$i" "helvetica_`expr $SIZE + 20`$TAIL"
# $SIZE
ln -s "$i" "helvetica_`expr $SIZE`$TAIL"
done
#
# 將原 CKeyboard 附的 taipei 字型刪除,改連結至 efont 字型
rm -f taipei*
ln -s helvetica_160_50_t10.qpf taipei_100_50_t10.qpf
ln -s helvetica_160_50_t10.qpf taipei_120_50_t10.qpf
#
# 比對 zh-TW-C700_0118_arm 套件所附的語系檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/i18n/ja"
TGT="/home/QtPalmtop/i18n/ja"
cd "$TGT"
for i in $TGT/* ; do
if [ -f "$SRC/`basename $i`" ] ; then
rm $i
cp "$SRC/`basename $i`" .
echo -n
fi
done
#
# 比對 zh-TW-C700_0118_arm 套件所附的捷徑檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/apps"
TGT="/home/QtPalmtop/apps"
cd "$TGT"
for i in $TGT/* $TGT/.* ; do
BN=`basename $i`
if [ -d "$i" ] ; then
if [ -d "$SRC/$BN" -a "$BN" != "." -a "$BN" != ".." ] ; then
cd "$BN"
for j in $i/* $i/.* ; do
BN2=`basename $j`
if [ -f "$SRC/$BN/$BN2" -a "$BN2" != ".order" ] ; then
rm -f "$j"
cp "$SRC/$BN/$BN2" .
fi
done
cd ..
fi
elif [ -f "$SRC/$BN" -a "$BN" != ".order" ] ; then
rm -f $i
cp "$SRC/$BN" .
fi
done
[Desktop Entry]
Comment=A Terminal Window
Exec=embeddedkonsole
Icon=konsole/Terminal
Type=Application
Name=Konsole
Name[de]=Kommando zeile
Name[hu]=Terminal
Name[it]=Terminale
Name[pt]=Terminal
Name[es]=Terminal
Name[zh_TW]=終端機
Name[ja]=終端機
Name[ko]=콘솔
這是使用 efont 字型的結果,我把原來 CKeyboard 所附的 taipei 字型刪除了,改連結至 efont 字型。系統內附的 lcfont 字型當然是刪除了,helvetica 字型則是改連結至 efont 字型。
使用 efont 字型有個缺點,系統內附的字型幾乎都須刪除,不然就只看到一堆方塊字。最後我只留下 fixed 字型給 embeddedkonsole (終端機軟體) 使用。
這是使用 arial + mingliu 字型的結果,我把原來 CKeyboard 所附的 taipei 字型刪除了,改連結至 mingliu 字型。系統內附的 lcfont 字型當然是刪除了,helvetica 字型則是改連結至 arial 字型,另外 mingliu 字型的連結則是新增至 fonts 目錄。
比較特殊的是,我覺得在同點數的情形下,arial 字型總是看起來比較粗大,所以在連結時,我把點數偷加 20 後,再連結到 fonts 目錄。
使用 arial + mingliu 字型,似乎是不會受到系統內附字型的影響,共存時也不會有方塊字出現 (尚待廣泛的實驗)。
另外,從下面第三張圖可以發現,畫面上半是 mingliu 字型,下半則是 arial 字型。兩者共存的好像不錯。
底下我把整個中文化的程序詳錄於後:
- 先下載 efont 字型 (efont.tgz)、 中文化語系檔 (zh-TW-C700_0118_arm.ipk)、CKeyboard 軟體 (中文輸入法程式) 及 embeddedkonsole (終端機軟體)。
- 如果想自製字型的話,請參考 [PDA] Zaurus C760 新手筆記 (5) - 製作 qpf 字型。其中 arial 字型建議要有 80, 100, 140, 160, 180, 220, 340, 460, 700 等幾個大小 (點數加 20 後,大小與原系統的 helvetica 字型匹配);而 mingliu 字型建議要有 110, 120, 130, 150, 160, 200 等 (這幾個大小在 mingliu 字型中,其實是預先描好的點陣字,其它大小的不會比較好看)。
- 如果要重灌 ROM 或是升級 ROM 的,請先看:[PDA] Zaurus C760 新手筆記 (2) - "重新開機" 及 "維護模式" 及 [PDA] Zaurus C760 新手筆記 (3) - "DM 模式" 及 "NAND Back UP/Restore"。
- 把文末最後附的兩段批次檔剪貼後存成 localize.sh/localize_efont.sh。如果有自製字型的話,只須前者;如果沒有自製字型的話,只須後者。
- 將檔案先都複製到 SD 卡上。整個目錄架構大概是這樣:
- SD 卡根目錄
- Backup 目錄
- arial 目錄:內有 arial_* 等的自製字型
- efont 目錄:內有從 efont.tgz 解開的 efont_*_50_t10.gpf (其它不符合這個規則的檔案不須要)
- mingliu 目錄:內有 mingliu_* 等的自製字型
- script 目錄:放下面的批次檔 localize.sh/localize_efont.sh。
- zh -TW-C700_0118_arm:內為 zh-TW-C700_0118_arm.ipk 解開的檔案
- opt
- QtPalmtop
- apps:...
- i18n:...
- QtPalmtop
- opt
- Backup 目錄
另外,原來的 embeddedkonsole.desktop 檔有問題,可以剪下面的檔案另存後替換。)
剛剛下載的軟體 CKeyboard 及 embeddedkonsole 也放到 SD 卡上 (放那都可以)。 - SD 卡根目錄
- 把 SD 卡插到機器上後,依 [PDA] Zaurus C760 新手筆記 (4) - 中文化前的準備 的內文,把 CKeyboard 及 embeddedkonsole 兩項軟體安裝好。
- 執行安裝好的 Konsole 軟體 (其實就是 embeddedkonsole)。下指令如後:
- su
- /mnt/card/Backup/script/localize.sh 或是
/mnt/card/Backup/script/localize_efont.sh
- 重開機。
- 大功告成。應該就可以看到完整中文化的成果了。
註:為什麼我在中化文語系這部份不直接採用安裝的方式呢?如果有試過的朋友應該知道,因為版本的不符,多少有些不相容的地方。所以我採用比對後再選擇性的安裝到機器上。
底下是前面提到的三個檔案,剪貼後另存成文字檔即可。但須注意, Zaurus 為 UTF-8 的 UNIX 系統,所以要用諸如 Ultraedit 的軟體轉成 UTF-8 UNIX 格式的案檔案。如果有人可以提供空間的話,我想直接把下面的檔案弄成可以直接下載是方便一點。
下面分別是三個檔案 (localize.sh/localize_efont.sh/embeddedkonsole.desktop),每條分隔線間,是個獨立的檔案。
#!/bin/bash
# 這是 localize.sh 檔
# ----------------------------------------------------------------------
# 請存成 UTF-8/UNIX 模式,Zaurus 才能正確讀取
# ----------------------------------------------------------------------
# 這個版本適用於使用自製的 arial 及 mingliu 字型
# ----------------------------------------------------------------------
# 目錄結構:
# SD Card
# |- Backup
# |- arial
# |- arial_*
# |- mingliu
# |- mingliu_*
# |- zh-TW-C700_0118_arm
# |- opt
# |- QtPalmtop
# |- i18n
# |- ja
# |- *.qm
# |- apps
# |- *.desktop
# ----------------------------------------------------------------------
#
# 將 fonts 目錄下的 lcfont 及 helvetica 字型刪除,改連結 helvetica 至 arial
# 其中因同 pt 的字型,arial 總是看起來比較大,所以加 20 pt 後連結至 fonts 目錄
SRC="/mnt/card/Backup/arial/arial_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f lcfont*
rm -f helvetica*
for i in $SRC ; do
BN=`basename $i`
SIZE=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\2/"`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\3/"`
# $SIZE +20
ln -s "$i" "helvetica_`expr $SIZE + 20`$TAIL"
# $SIZE
#ln -s "$i" "helvetica_`expr $SIZE`$TAIL"
done
#
# 新連結 mingliu 字型
SRC="/mnt/card/Backup/mingliu/mingliu_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f mingliu*
for i in $SRC ; do
BN=`basename $i`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/_\2\3/"`
ln -s "$i" "mingliu$TAIL"
done
#
# 將原 CKeyboard 附的 taipei 字型刪除,改連結至 arial/mingliu 字型
rm -f taipei*
# if (1) arial as helvetica, (2) $SIZE +20 and (3) arial as taipei
#ln -s helvetica_180_50_t10.qpf taipei_100_50_t10.qpf
#ln -s helvetica_180_50_t10.qpf taipei_120_50_t10.qpf
# if (1) arial as helvetica, (2) $SIZE and (3) arial as taipei
#ln -s helvetica_160_50_t10.qpf taipei_100_50_t10.qpf
#ln -s helvetica_160_50_t10.qpf taipei_120_50_t10.qpf
# if (1) mingliu as taipei and (2) mingliu as taipei
ln -s mingliu_160_50_t10.qpf taipei_100_50_t10.qpf
ln -s mingliu_160_50_t10.qpf taipei_120_50_t10.qpf
#
# 比對 zh-TW-C700_0118_arm 套件所附的語系檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/i18n/ja"
TGT="/home/QtPalmtop/i18n/ja"
cd "$TGT"
for i in $TGT/* ; do
if [ -f "$SRC/`basename $i`" ] ; then
rm $i
cp "$SRC/`basename $i`" .
echo -n
fi
done
#
# 比對 zh-TW-C700_0118_arm 套件所附的捷徑檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/apps"
TGT="/home/QtPalmtop/apps"
cd "$TGT"
for i in $TGT/* $TGT/.* ; do
BN=`basename $i`
if [ -d "$i" ] ; then
if [ -d "$SRC/$BN" -a "$BN" != "." -a "$BN" != ".." ] ; then
cd "$BN"
for j in $i/* $i/.* ; do
BN2=`basename $j`
if [ -f "$SRC/$BN/$BN2" -a "$BN2" != ".order" ] ; then
rm -f "$j"
cp "$SRC/$BN/$BN2" .
fi
done
cd ..
fi
elif [ -f "$SRC/$BN" -a "$BN" != ".order" ] ; then
rm -f $i
cp "$SRC/$BN" .
fi
done
#!/bin/bash
# 這是 localize_efont.sh 檔
# ----------------------------------------------------------------------
# 請存成 UTF-8/UNIX 模式,Zaurus 才能正確讀取
# ----------------------------------------------------------------------
# 這個版本適用於使用 efont 字型
# ----------------------------------------------------------------------
# 目錄結構:
# SD Card
# |- Backup
# |- efont
# |- efont_*_50_t10.qpf
# |- zh-TW-C700_0118_arm
# |- opt
# |- QtPalmtop
# |- i18n
# |- ja
# |- *.qm
# |- apps
# |- *.desktop
# ----------------------------------------------------------------------
#
# 將 fonts 目錄下的檔案都刪除,從 ROM 新連結 fixed 字型及 fontdir 檔
SRC="/usr/QtPalmtop.rom/lib/fonts"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
rm -f *
ln -s $SRC/fontdir fontdir
for i in $SRC/fixed_* ; do
ln -s "$i" `basename $i`
done
#
# 建立 efont 字型的連結,字型放置於 $SRC 處
SRC="/mnt/card/Backup/efont/efont_*"
TGT="/home/QtPalmtop/lib/fonts"
cd "$TGT"
for i in $SRC ; do
BN=`basename $i`
SIZE=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\2/"`
TAIL=`echo "$BN" | sed -e "s/^\([^_]*\)_\([^_]*\)\(_.*\)$/\3/"`
# $SIZE +20
#ln -s "$i" "helvetica_`expr $SIZE + 20`$TAIL"
# $SIZE
ln -s "$i" "helvetica_`expr $SIZE`$TAIL"
done
#
# 將原 CKeyboard 附的 taipei 字型刪除,改連結至 efont 字型
rm -f taipei*
ln -s helvetica_160_50_t10.qpf taipei_100_50_t10.qpf
ln -s helvetica_160_50_t10.qpf taipei_120_50_t10.qpf
#
# 比對 zh-TW-C700_0118_arm 套件所附的語系檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/i18n/ja"
TGT="/home/QtPalmtop/i18n/ja"
cd "$TGT"
for i in $TGT/* ; do
if [ -f "$SRC/`basename $i`" ] ; then
rm $i
cp "$SRC/`basename $i`" .
echo -n
fi
done
#
# 比對 zh-TW-C700_0118_arm 套件所附的捷徑檔,只把有須要的部份複製進來
SRC="/mnt/card/Backup/zh-TW-C700_0118_arm/opt/QtPalmtop/apps"
TGT="/home/QtPalmtop/apps"
cd "$TGT"
for i in $TGT/* $TGT/.* ; do
BN=`basename $i`
if [ -d "$i" ] ; then
if [ -d "$SRC/$BN" -a "$BN" != "." -a "$BN" != ".." ] ; then
cd "$BN"
for j in $i/* $i/.* ; do
BN2=`basename $j`
if [ -f "$SRC/$BN/$BN2" -a "$BN2" != ".order" ] ; then
rm -f "$j"
cp "$SRC/$BN/$BN2" .
fi
done
cd ..
fi
elif [ -f "$SRC/$BN" -a "$BN" != ".order" ] ; then
rm -f $i
cp "$SRC/$BN" .
fi
done
[Desktop Entry]
Comment=A Terminal Window
Exec=embeddedkonsole
Icon=konsole/Terminal
Type=Application
Name=Konsole
Name[de]=Kommando zeile
Name[hu]=Terminal
Name[it]=Terminale
Name[pt]=Terminal
Name[es]=Terminal
Name[zh_TW]=終端機
Name[ja]=終端機
Name[ko]=콘솔
沒有留言:
張貼留言