中文 Scilab 開發分類文章 顯示方式:簡文 | 列表

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 上編譯後發現以下中文處理問題:
  1. Scilab 之 console 視窗上無法啟動中文輸入

    解決方案: 必須使用 GTK2 以及選用 vte 終端機視窗程式庫,請參考 中文 Scilab 所需之GKT2 軟體環境

  2. Scilab 編輯器 (SciPad) 無法輸入中文

    解決方案: TCL/TK 及 Scipad 之中文問題

  3. 中文字串螢幕輸入、輸出

    解決方案: 使用 GTK 時,沒有這個問題 (但在 Windows 環境必須修改程式)

  4. 中文字串檔案輸入、輸出

    解決方案: 使用 GTK 時,沒有這個問題 (但在 Windows 環境必須修改程式)

  5. 繪圖指令(如 plot2d ) 中無法顯現中文標示

    解決方案: GTK 繪出中文問題

  6. scicos 文字方塊中(Edit/palettes/other) 無法顯示中文

    解決方案: GTK 繪出中文問題

  7. 選單中文化

    解決方案:

    1. 主選單
      修改次目錄 routine\gtksci 中之檔案 menus.c 內容之函數 sci_window_initial_menu
    2. 圖形選單
      修改次目錄 routine\gtksci 中之檔案 menus.c 內容之函數 graphic_initial_menu

  8. Scilab 增加中文語言選項

    可能解決方案: 參考 Windows Mingw 版之 ADE 中文 Scilab之程式碼剪貼到 Linux 版

再測試 locale Big5

  1. Consol 可輸入中文, 不需更動
  2. SciPad 可輸入中文, 不需更動
  3. 繪圖指令(plot2d 等) 無法輸出中文標示, 但  Scicos 之 text   方塊 (位於 Edit\palette\other )可接受中文
    解決方案:繪出字串前先判斷是否為 utf8 碼, 否則先由 locale 轉 utf8 , 參考 GTK 繪出中文問題
  4. 中文選單正常, 不需更動

Posted by yunglee at 樂多Roodo!21:47回應(0)引用(0)

July 4,2007

Scilab 中之 BIG5 , UTF8 中文

中文碼在 VTE, TCL, GTK , Scilab 中流竄轉換, 似乎使用 UTF8 碼, 程式開發較容易,但 BIG5 使用者太多, 無法放棄.

目前只剩下一部分內部之 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)

...繼續閱讀

Posted by yunglee at 樂多Roodo!0:33回應(0)引用(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 中 輸入中文  


Posted by yunglee at 樂多Roodo!1:26回應(0)引用(0)

June 24,2007

待進行之工作


  1. 中文選單

  2. 編輯器 SciPad 輸入中文

  3. write , print 可輸出中文字串

  4. 繪圖可標示中文

  5. Scicos 方塊圖可加中文標示

  6. whatis.htm 檔轉格式 , (寫一 Perl 程序自動轉換)

  7. TCLHelp 自動產生 Big5 charset (參考 Windows 版修改)




----------------------------------------------------------------'


新段落



ADE 中文 Scilab
Scilab-GTK
超連結



粗體 斜體 下線 刪除



藍色
紅色
藍紫
朱黃




  1. 編號 1

  2. 編號 2




  • 條列 a

  • 條列 b




文章靠左

文章



文章置中

文章



文章靠右

文章





縮排縮排縮排縮排縮排縮排縮排縮排


排縮排縮排縮排排縮排







Posted by yunglee at 樂多Roodo!21:00回應(0)引用(0)

Scilab 架構(Fortran,C 函數)

Scilab 之核心為 次目錄 routines 內之 Fortran 和 C 之程式庫。這裡先將內部之次目錄依照功能先分類,日後可能選擇性的編譯其中一部分.。另外 Scilab 5 採用 Java , 與 GTK 走向不同,有必要了解那些可以繼續沿用。那些必須放棄。


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:



Posted by yunglee at 樂多Roodo!15:31回應(0)引用(0)

June 19,2007

TCL/TK 及 Scipad 之中文問題

ADE 中文 Scilab  在 Linux 版使用 ScilabGTK 為基礎,並且使用 TCL/TK 8.5a 版但還是有中文輸入輸出問題 (與 Scilab 無關)。

 

  1. 安裝 TCL/TK 8.5a 後, 編輯器 SciPad 還是無法輸入中文 (不顯現)
    ( 位於 "tcl/scipadsources/commonbindings.tcl" 指令
          bind Text <KeyPress>  {if {{%A} != {{}}} {puttext %W %A}}
    要改為
            bind Text <KeyPress>  { puttext %W %A}
    中文才能顯示。
    已回報 Scilab 討論群 
  2. 選擇文字之後再按 <CTL+C> 會清空選擇範圍
    位於 "tcl/scipadsources/inputtext.tcl" 指令
        if {[gettaselind $w single] != ""} {
            $w delete sel.first sel.last
        }
    要刪除。

Posted by yunglee at 樂多Roodo!19:36回應(0)引用(0)

June 18,2007

中文 Scilab 所需之GKT2 軟體環境

在 Linux 上建立 中文 Scilab 須要的 GTK 軟體還境較嚴格,必須系統比必須已有 glib,pango, cairo,gtk+2, libgtkhtml,vte 程式庫 否則必須下載軟體自行編譯


----------------------------------------------------------------------
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 ..

Posted by yunglee at 樂多Roodo!17:04回應(0)引用(0)
 [1]