在中文作業系統環境下的俄文字符編輯和顯示方法及裝置的製作方法
2023-07-31 22:52:36 2
專利名稱:在中文作業系統環境下的俄文字符編輯和顯示方法及裝置的製作方法
技術領域:
本發明涉及計算機字符處理技術,特別是一種在中文作業系統環境下的俄文字符 編輯和顯示方法及裝置。
背景技術:
隨著我國技術力量的增強,現在越來越多的嵌入式產品銷往俄羅斯,這就使得這 些產品支持俄文顯示成為必需。由於國內開發人員在中文作業系統環境下對源碼中俄文字 符進行編輯時,通常採用我國制定的GB2312編碼表標準,所以通過對GB2312編碼表標準中 對應的俄文字符進行編輯,來實現俄文顯示。然而當把編譯好的源碼載入到目標系統運行 時,俄文字符經常無法顯示或顯示不正常。現有的解決方法有幾種,方法一是在中文作業系統環境下編輯俄文字符,程序運 行時利用GB2312編碼表中現有的俄文編碼在目標系統中調用GB2312字體顯示俄文,由於 俄文字符在中文作業系統環境下進行編輯,保存形式為GB2312編碼,所以運行結果顯示為 雙字節,既不符合俄語習慣,又影響界面美觀(顯示效果如圖3所示)。方法二是在俄文環 境(即俄文作業系統)下編輯俄文字符,字符編碼與K0I8-R的編碼保持一致,在目標系統 中使用K0I8-R字體來顯示俄文。因為方法二必須是在俄文編輯環境下才能實現,所以對我 國程序開發人員造成極多不便,而且源碼中其他語言(如中文)的編碼在俄文作業系統環 境下顯示為亂碼,使得編輯和維護都相當困難。方法三是使用UNICODE編碼,以解決各種字 符集的顯示的問題。但是,由於很多國家和地區的習慣問題,並不認同UNICODE字符集,而 且UNICODE適合通用型作業系統,對嵌入式系統來講,並不是好的解決辦法,很多嵌入式系 統的圖形庫軟體並不支持UNICODE。
發明內容
本發明針對現有技術中存在的缺陷或不足,提供一種在中文作業系統環境下的俄 文字符編輯和顯示方法及裝置。所述方法及裝置不僅解決了在中文作業系統環境下對源碼 中俄文字符進行編輯,運行結果顯示不正常的問題,而且也使得對俄文的編輯和維護更加 方便簡單。本發明的技術方案如下在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵在於,包括以下步 驟1)在中文作業系統環境下將俄文字符串編輯進程序源碼,並存儲;2)利用預先建立的GB2312編碼表和K0I8-R編碼表中俄文字符的對應關係,對俄 文字符串編碼進行映射處理,獲得符合K0I8-R編碼表標準的俄文字符串編碼;3)根據映射後的俄文字符串編碼,利用目標系統圖形庫方法,正常顯示俄文字符。所述步驟1)中,在中文作業系統環境下將俄文字符串編輯進程序源碼是指,在程 序源碼文件中直接編寫俄文字符串,或者從EXCEL表格或其他文檔中直接將俄文字符串拷貝粘貼到源碼文件中;所述存儲是指,使用無符號字節方式存儲。所述步驟2)中包括以下內容A)首先在GB2312編碼表標準中去掉俄文字符的第一個字節0xa7 ;B)利用特殊映射關係,即GB2312編碼表和K0I8-R編碼表標準中俄文字符代碼的 一一對應關係,將GB2312中的俄文編碼映射到K0I8-R編碼表中;C)所得到的俄文字符的映射代碼如下所示static unsigned char map []={0x00,Oxel,0xe2,0xf7,0xe7,0xe4,0xe5,0x00,0xf6,0xfa,0xe9,0xea,Oxeb,Oxec,Oxed,Oxee,Oxef, 0xf0,0xf2,0xf3,0xf4,0xf5,0xe6,0xe8,0xe3,0xfe,0xfb,0xfd,Oxff,0xf9,0xf8,Oxfc,OxeO,Oxfl,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,Oxcl,0xc2,0xd7,0xc7,0xc4,0xc5,0x00,0xd6,Oxda,0xc9,Oxca,Oxcb,Oxcc,Oxcd, Oxce,Oxcf,OxdO,0xd2,0xd3,0xd4,0xd5,0xc6,0xc8,0xc3,Oxde,Oxdb,Oxdd,Oxdf,0xd9,0xd8, Oxdc,0xc0,0xdl}。所述步驟3)中,利用目標系統圖形庫方法是指,使用IS08859-1標準,將通過映射 處理後的俄文字符串編碼,利用目標系統的字符顯示機制,調用K0I8-R字體,以正常顯示 俄文字符。所述目標系統是具有顯示屏的系統。在中文作業系統環境下的俄文字符編輯和顯示裝置,其特徵在於,包括編輯模塊 和顯示模塊,所述編輯模塊是在中文作業系統環境下將俄文字符串編輯進程序源碼,並存 儲;所述顯示模塊是通過GB2312編碼表中俄文字符和K0I8-R編碼表中俄文字符的對應關 系映射表,以獲得符合K0I8-R編碼表標準的俄文字符串編碼,並根據映射後俄文字符串編 碼,利用目標系統圖形庫方法,正常顯示俄文字符;所述目標系統是具有顯示屏的系統。本發明的技術效果如下本發明解決了開發人員過於依賴俄文環境的問題,並且可以獨立在中文作業系統 環境下對俄文進行編輯和維護,俄文字符串和其它字符串(如中文)均能正常顯示,沒有亂 碼,編輯和維護工作簡單;而且在目標系統中能直接使用K0I8-R字體顯示俄文,既符合俄 語習慣,界面又美觀。
圖1是本發明在中文編輯環境下實現俄文字符串顯示和編輯的流程圖。圖2是本發明中俄文字符串的映射處理流程圖。圖3是使用現有技術中方法一顯示俄文字符串的效果圖。
5
圖4是使用本發明顯示俄文字符串的效果圖。
具體實施例方式本發明的發明構思如下在中文作業系統環境下俄文字符顯示和編輯的方法,包 括將俄文字符串編輯進程序源碼中,使用無符號字符字節方式存儲,然後根據GB2312與 K0I8-R標準中的俄文字符的對應關係,獲得符合K0I8-R編碼表標準的俄文字符串編碼,最 後利用目標系統圖形庫方法,使用IS08859-1標準,調用K0I8-R字體來顯示俄文字符。本 發明在中文作業系統環境下對俄文字符串進行編輯,不僅解決了中文作業系統環境下編輯 俄文,運行結果顯示不正常的問題,而且也使程序開發人員對俄文的編輯和維護更加簡單 方便。本發明涉及GB2312標準編碼,在GB2312標準中俄文編碼由兩個字節組成,一個字 節編碼固定為0xa7,另一個字節編碼如下表2所示。在中文作業系統環境下,對俄文字符串進行編輯,根據GB2312與K0I8-R標準中的 俄文字符的對應關係表,在目標系統中使用K0I8-R字體來顯示俄文字符。下表分別為K0I8-R標準中的俄文字符編碼表和GB2312標準中的俄文字符第二個 字節的編碼表。表1 :K0I8_R標準中的俄文字符對應的編碼表 表2 :GB2312標準中的俄文字符第二個字節的編碼表 本方法在對俄文字符串進行顯示時,對GB2312標準中的俄文字符編碼進行解析, 首先去掉俄文字符編碼的第一個字節0xa7,利用特殊映射關係,即一一對應,將GB2312中 的俄文編碼(表2所示)映射到K0I8-R編碼(表1所示),從而實現在中文作業系統環境 下對俄文源碼編輯,並且調用K0I8-R字體顯示。其中映射表如下所示static unsigned char map[]={0x00,Oxel,0xe2,0xf7,0xe7,0xe4,0xe5,0x00,0xf6,Oxfa,0xe9,Oxea,Oxeb,Oxec,Oxed, Oxee,Oxef, 0xf0,0xf2,0xf3,0xf4,0xf5,0xe6,0xe8,0xe3,0xfe,0xfb,0xfd,Oxff,0xf9,0xf8, Oxfc,OxeO,Oxfl,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,Oxcl,0xc2,0xd7,0xc7,0xc4,0xc5,0x00,0xd6,Oxda,0xc9,Oxca,Oxcb,Oxcc, Oxcd, Oxce,Oxcf,OxdO,0xd2,0xd3,0xd4,0xd5,0xc6,0xc8,0xc3,Oxde,Oxdb,Oxdd,Oxdf,0xd9,0xd8,Oxdc,0xc0,0xdl}。本發明解決了開發人員過於依賴俄文編碼環境的問題,並且可以獨立在中文環境 下對俄文進行編輯和維護,俄文字符串和其它字符串(如中文)均能正常顯示,沒有亂碼, 編輯和維護工作簡單;而且在目標系統中能直接使用K0I8-R字體顯示俄文,既符合俄語習 慣,界面又美觀。為使本發明的目的、技術方案和優點更加清楚明白,下面結合具體實施步驟和附 圖,對本發明進一步詳細說明。圖1示出了本發明在中文編輯環境下實現俄文顯示和編輯的流程圖。如圖1所示, 在中文作業系統環境下的俄文字符編輯和顯示,包括以下主要流程在中文環境下,獲取俄 文字符串編碼並存儲;利用GB2312與K0I8-R標準對應關係,對俄文字符串進行處理;根據 目標系統圖形庫方法顯示俄文字符。圖2是本發明中俄文字符串的映射處理流程圖。下面結合圖1-圖2,說明在中文 作業系統環境下的俄文字符編輯和顯示的步驟流程。步驟(1)在中文作業系統環境下將俄文字符串編輯進程序源碼中,可以從Excel表格或其 它文檔中直接拷貝粘貼到源碼文件中,使用無符號字節方式存儲。
步驟(2)俄文字符串處理 使用函數 unsigned char氺gb2312_ _to_koi8(unsigned char氺dst, unsigned
char^src)實現,其中src為待處理的俄文字符串,dst為處理後的K0I8-R字符串
a)申明一個臨時字符緩衝區buf,申明兩個臨時指針指向src和buf b)判斷pi當前位置字節是否為src字符串末尾,若不是,則執行下一步,否則,跳 出循環,執行步驟e;c)判斷pi當前位置字節值是否為0xa7,若值不等於0xa7,則將其賦值給p0指向 位置,並將P0向前移動一個位置;d)將pi向前移動一個位置,返回步驟b ;e)將p0當前位置賦值末尾標誌,p0位置重新指向buf開始位置,pi指向dst開 始位置*p0 = 『\0,;p0 = buf ;pi = dst ;f)判斷p0當前位置字節是否為buf字符串末尾,若不是,則執行下一步,否則,跳 出循環,將Pi當前位置賦值末尾標誌,返回dst ;g)將p0當前位置值減去OxaO後賦值給map數組當前位置,再將map數組當前位 置值賦值給pl指向位置。氺pl = map[氺p0_0xa0];h)將p0、pl向前移動一個位置,返回步驟f ;步驟(3)根據目標系統圖形庫方法,使用IS08859-1標準,將gb2312_to_koi8函數處理後 的字符串調用K0I8-R字體,就可顯示標準俄文字符了,顯示結果如圖4所示。顯然,圖4是 正常顯示,圖3是不正常顯示。應當指出,以上所述實施方式可以使本領域的技術人員更全面地理解本發明,但 不以任何方式限制本發明。unsigned char buf []unsigned char氺pO = buf ;unsigned char氺pl = src ;
if(*pl' = 0xa7) {
氺pO =氺pl ; p0++ ;
權利要求
在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵在於,包括以下步驟1)在中文作業系統環境下將俄文字符串編輯進程序源碼,並存儲;2)利用預先建立的GB2312編碼表和KOI8-R編碼表中俄文字符的對應關係,對俄文字符串編碼進行映射處理,獲得符合KOI8-R編碼表標準的俄文字符串編碼;3)根據映射後的俄文字符串編碼,利用目標系統圖形庫方法,正常顯示俄文字符。
2.根據權利要求1所述的在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵 在於,所述步驟1)中,在中文作業系統環境下將俄文字符串編輯進程序源碼是指,在程序 源碼文件中直接編寫俄文字符串,或者從EXCEL表格或其他文檔中直接將俄文字符串拷貝 粘貼到源碼文件中;所述存儲是指,使用無符號字節方式存儲。
3.根據權利要求1所述的在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵 在於,所述步驟2)中包括以下內容A)首先在GB2312編碼表標準中去掉俄文字符的第一個字節0xa7;B)利用特殊映射關係,即GB2312編碼表和K0I8-R編碼表標準中俄文字符編碼的一一 對應關係,將GB2312中的俄文編碼映射到K0I8-R編碼表中;C)所得到的俄文字符的映射代碼如下所示static unsigned char map[]={0x00,Oxel,0xe2,0xf7,0xe7,0xe4,0xe5,0x00, 0xf6,Oxfa,0xe9,Oxea,Oxeb,Oxec,Oxed,Oxee, Oxef,0xf0,0xf2,0xf3,0xf4,0xf5,0xe6,0xe8, 0xe3,Oxfe,Oxfb,Oxfd,Oxff,Oxf9,Oxf8, Oxfc, OxeO,Oxfl,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,Oxcl,0xc2,0xd7,0xc7,0xc4,0xc5,0x00, 0xd6,Oxda,0xc9,Oxca,Oxcb,Oxcc, Oxcd, Oxce, Oxcf,OxdO,0xd2,0xd3,0xd4,0xd5,0xc6,0xc8, 0xc3,Oxde,Oxdb,Oxdd,Oxdf,0xd9,0xd8,Oxdc, 0xc0,0xdl}o
4.根據權利要求1所述的在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵 在於,所述步驟3)中,利用目標系統圖形庫方法是指,使用IS08859-1標準,將通過映射處 理後的俄文字符串,利用目標系統的字符顯示機制,調用K0I8-R字體,以正常顯示俄文字 符。
5.根據權利要求1所述的在中文作業系統環境下的俄文字符編輯和顯示方法,其特徵 在於,所述目標系統是具有顯示屏的系統。
6.在中文作業系統環境下的俄文字符編輯和顯示裝置,其特徵在於,包括編輯模塊和 顯示模塊,所述編輯模塊是在中文作業系統環境下將俄文字符串編輯進程序源碼,並存儲; 所述顯示模塊是通過GB2312編碼表中俄文字符和K0I8-R編碼表中俄文字符的對應關係映 射表,以獲得符合K0I8-R編碼表標準的俄文字符串編碼,並根據映射後俄文字符串編碼,利用目標系統圖形庫方法,正常顯示俄文字符;所 述目標系統是具有顯示屏的系統。
全文摘要
在中文作業系統環境下的俄文字符編輯和顯示方法及裝置,所述方法及裝置不僅解決了在中文作業系統環境下對俄文字符進行編輯,運行結果顯示不正常的問題,而且也使得對俄文的編輯和維護更加方便簡單,其特徵在於,包括以下步驟1)在中文作業系統環境下將俄文字符串編輯進程序源碼,並存儲;2)利用預先建立的GB2312編碼表和KOI8-R編碼表中俄文字符標準的對應關係,對俄文字符串編碼進行處理,獲得符合KOI8-R編碼表標準的俄文字符串編碼;3)根據映射後俄文字符串編碼,利用目標系統圖形庫方法,正常顯示俄文字符。
文檔編號G06F17/21GK101853245SQ20101018711
公開日2010年10月6日 申請日期2010年5月31日 優先權日2010年5月31日
發明者周玉祿, 趙均輝, 金文波 申請人:深圳市開立科技有限公司