July 6,2007
Linux Scilab 中文關鍵障礙排除程序
這是開發 Linux 版之 ADE 中文 Scilab 關鍵技術,藉由網路擴散出去,希望有更多開發者不再為這些雜學所困。
ADE 中文 Scilab Linux 版預定 11, 12 月 間公佈。
Scilab 中文化之步調無法與官方版一致,這是必然的現象;中文問題只能靠使用中文的開發族群解決。因此 Linux 上之中文版決定採用 Scilab-GTK 一方面是考慮到中文開發人力不足,只能以 C/C++ 作為主要開發語言,另一方面則是準備將 Scilab 與中文桌面系統結合進行準備。
將 locale 設定為 zh_TW.UTF8 (環境參數 LANG=zh_TW.UTF8) 後,將 Scilab-GTK 下載後在 Fedora 6 上編譯後發現以下中文處理問題:- Scilab 之 console 視窗上無法啟動中文輸入
解決方案: 必須使用 GTK2 以及選用 vte 終端機視窗程式庫,請參考 中文 Scilab 所需之GKT2 軟體環境
- Scilab 編輯器 (SciPad) 無法輸入中文
解決方案: TCL/TK 及 Scipad 之中文問題
- 中文字串螢幕輸入、輸出
解決方案: 使用 GTK 時,沒有這個問題 (但在 Windows 環境必須修改程式)
- 中文字串檔案輸入、輸出
解決方案: 使用 GTK 時,沒有這個問題 (但在 Windows 環境必須修改程式)
- 繪圖指令(如 plot2d ) 中無法顯現中文標示
解決方案: GTK 繪出中文問題
- scicos 文字方塊中(Edit/palettes/other) 無法顯示中文
解決方案: GTK 繪出中文問題
- 選單中文化
解決方案:
- 主選單
修改次目錄 routine\gtksci 中之檔案 menus.c 內容之函數 sci_window_initial_menu - 圖形選單
修改次目錄 routine\gtksci 中之檔案 menus.c 內容之函數 graphic_initial_menu
- 主選單
- Scilab 增加中文語言選項
再測試 locale Big5
- Consol 可輸入中文, 不需更動
- SciPad 可輸入中文, 不需更動
- 繪圖指令(plot2d 等) 無法輸出中文標示, 但 Scicos 之 text 方塊 (位於 Edit\palette\other )可接受中文
解決方案:繪出字串前先判斷是否為 utf8 碼, 否則先由 locale 轉 utf8 , 參考 GTK 繪出中文問題 - 中文選單正常, 不需更動
July 4,2007
Scilab 中之 BIG5 , UTF8 中文
目前只剩下一部分內部之 BIG5-> UTF8 未加入應該是在 pango_draw_text 中檢查字串判斷是否為 UTF8 如果不是, 則將他轉碼 (也許由 lang 環境參數決定如何轉碼) (2007/07/03)
可能參考
Character Set Conversion
gboolean is_utf8 g_get_charset (G_CONST_RETURN char **charset);
charset : return location for character set name
Returns : TRUE if the returned charset is UTF-8
if(! g_get_charset (&charset) g_locale_to_utf8(string)
http://203.64.187.41/gtk/GTK-Lesson-4.html
#define BIG5(s) g_locale_to_utf8(s, strlen(s),NULL, NULL, NULL)
以 g_utf8_validate() 檢查是否為 UTF8 有效字串 ( Text Handling in GTK+ 2.0)
...繼續閱讀
June 25,2007
Scilab 中文測試範例
Scilab 中文測試範例 :
LANG=zh_TW.UTF8
Test 1-7 成功(2007/07/03)
LANG=zh_TW.BIG5
Test2 失敗 ,其餘失敗 (2007/07/03)
//
//Test1. 註解輸入測試
//
//Test2. 繪圖中文標示
//
x=[0:0.1:2*%pi]';
plot2d(x,sin(x),leg="正弦 sin(x)")
//
//Test3. 中文 write
//
write(%io(2),'中文 write')
//
//Test4.. 中文 Print
//
a=rand(3,3);p=poly([1,2,3],'s');l=list(1,'中文 Print',[1 2 3]);
print(%io(2),a,p,l)
// Test 5 中文檔案輸出
b=%pi;
[fd,err]=mopen('chTestBig5.txt','w');
mfprintf(fd,'%s %f','中文檔案輸出入測試',b); mclose(fd);
//Test 6 中文檔案輸入
[fd,err]=mopen('chTestBig5.txt','r');
[n,c,d]=mfscanf(fd,'%s %f') ; mclose(fd);
// Test 7 Scicos text block 中 輸入中文
June 24,2007
待進行之工作
-
中文選單 -
編輯器 SciPad 輸入中文 -
write , print 可輸出中文字串 -
繪圖可標示中文 -
Scicos 方塊圖可加中文標示 - whatis.htm 檔轉格式 , (寫一 Perl 程序自動轉換)
- TCLHelp 自動產生 Big5 charset (參考 Windows 版修改)
----------------------------------------------------------------'
新段落
ADE 中文 Scilab
Scilab-GTK
超連結
粗體 斜體 下線 刪除
藍色
紅色
藍紫
朱黃
- 編號 1
- 編號 2
- 條列 a
- 條列 b
文章靠左
文章
文章置中
文章
文章靠右
文章
縮排縮排縮排縮排縮排縮排縮排縮排
排縮排縮排縮排排縮排
Scilab 架構(Fortran,C 函數)
Scilab 語言解譯器
system 解譯器
system2 矩陣結構
fileio 檔案系統
通用介面
console 終端通用介面
os_specific 與作業系統相關動態連結通用函數
graphics 圖形通用介面
intersci sci 和 C 之資料介面
interf 數值函數介面
tclsci TCL/TK 與 Scilab 之界面
dld 動態連結 (Unix Only)
menusX: Scilab 通用 menus 內涵
GTK , Windows , X-Windows 三個具體設計
圖形介面 :
gtksci: gtk 和 sci 之介面
gzvt2: 圖形 console
數學環境
int: 基本數學運算
arpack
lapack : 線性代數程式庫
blas
calelm 基礎數學函數,特殊函數
dcd: 累積分佈
integ: 及常微分
maxplus : 線性代數
optim: 最佳化
default: 使用者設定函數之內定函數
qsort: 重排
randlib: 亂數產生
sparse: 稀疏矩陣
control: 控制
slicos : 控制
signal: 訊號處理
不易分類 :
windools: Windows 上特定函數
gd : 圖形程式庫
不再使用的部份 :
f2c : fortran 轉 C
X11:
xsci:
wsci:
gtk1:
June 19,2007
TCL/TK 及 Scipad 之中文問題
ADE 中文 Scilab 在 Linux 版使用 ScilabGTK 為基礎,並且使用 TCL/TK 8.5a 版但還是有中文輸入輸出問題 (與 Scilab 無關)。
- 安裝 TCL/TK 8.5a 後, 編輯器 SciPad 還是無法輸入中文 (不顯現)
( 位於 "tcl/scipadsources/commonbindings.tcl" 指令
bind Text <KeyPress> {if {{%A} != {{}}} {puttext %W %A}}
要改為bind Text <KeyPress> { puttext %W %A}
中文才能顯示。
已回報 Scilab 討論群
- 選擇文字之後再按 <CTL+C> 會清空選擇範圍
位於 "tcl/scipadsources/inputtext.tcl" 指令if {[gettaselind $w single] != ""} {
要刪除。
$w delete sel.first sel.last
}
June 18,2007
中文 Scilab 所需之GKT2 軟體環境
----------------------------------------------------------------------
CPPFLAGS="-I/usr/local/include"
LDFLAGS="-L/usr/local/lib"
LD_LIBRARY_PATH="/usr/local/lib"
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH LD_LIBRARY_PATH
cd dependencies
tar xvfz glib-2.12.12.tar.gz
cd glib-2*
./configure
make
make install
cd ..
tar xvfz pango-1.16.4.tar.gz
cd pango-1.16.4
./configure
make
make install
cd ..
tar xvfz cairo-1.2.6.tar.gz
cd cairo-1.2.6
./configure
make install
cd ..
cd ..
tar tar xvfz gtk+-2.10.13.tar.gz
cd gtk+-2*
./configure
make
make install
cd ..
tar tar xvfz libgtkhtml-2.11.0.tar.gz
cd libgtkhtml-2.11.0
./configure
make
make install
cd ..
tar tar xvfz vte-0.16.5.tar.gz
cd vte-0.16.5
./configure
make
make install
cd ..