999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的藏文輸入法設計與實現

2015-06-08 09:58:50李永忠楊立華
電子設計工程 2015年16期
關鍵詞:符號

周 俊,李永忠,楊立華

(江蘇科技大學 計算機科學與工程學院,江蘇 鎮江 212003)

我國藏族人口大約640萬[1],藏文的存在已經有1400多年的歷史。新世紀信息技術飛速發展,藏文的信息化有助于藏族人民跟上時代的潮流,而藏文輸入法的實現對藏文的信息化具有重要意義。到目前為止藏文輸入法在PC端的實現已經比較成熟,如微軟藏文輸入法是現在使用最廣泛的藏文輸入法,并被定為國家標準藏文輸入法。在移動智能終端藏文輸入法的研究相對比較空白,文中主要研究了android平臺下藏文輸入法實現的關鍵技術,并在此基礎上實現了在手機終端的藏文輸入。論文的主要內容為藏文的特征與編碼、Android輸入法框架和藏文輸入法的實現過程。

1 藏文的基本特征及編碼

1.1 藏文基本特征

傳統的藏文文法一般認為藏文有30個輔音字母和4個元音符號構成[2]。一個藏文音節最多有7個符號構成,這些符號依據藏文的結構特點分別出現在音節字的不同位置 (圖1)。每一個方框表示可以出現一個輔音字母,圓圈表示可以出現一個元音符號(一般不同時出現兩個元音符號)。

1.2 藏文編碼

最早的藏文國際標準編碼提案是1988年由西方學者P.Lofling提出的,而編碼的起步是從國際統一編碼聯盟發布Unicode1.0(1991年10月)開始的,最初只收錄了71個藏文字符[3]。經過版本的不斷完善到Unicode6.0已經收錄了213個藏文字符,包括篇首符、標點符號、數字符號、輔音和元音字符、宗教符號等,編碼范圍為0F00-0FFF,這些構成了藏文編碼的基本集[4]。

圖1 藏文基本結構圖Fig.1 The basic structure of Tibetan

中國的藏文編碼受到漢字編碼方案的影響,編碼采用了垂直預組合的編碼結構,即由基字和疊加字形成的字丁結構。國家標準《藏文編碼字符擴充集A》共收錄了1536個藏文和常用梵文的垂直預組合字符,編碼范圍為F300-F8FF,基本上滿足了現代藏文文獻的需求[5]。《藏文編碼字符擴充集B》則收錄了5702個藏文字符,主要為梵源藏文字符,所有字符在GB13000.1-1993的專用平面OF上編碼,編碼范圍為F0000-F1645[6]。

藏文字體的實現采用了OPEN-TYPE技術,傳統的字體技術無法實現對Unicode編碼的支持,目前能夠支持Unicode編碼的藏文字庫較多,比如DDC Uchen字庫、Jomolhari字庫、Lobsang Monlam 字庫、Qomolangma字庫等[7]。

2 Android平臺與Android IMF

2.1 Android

Android是一個以Linux為基礎的開放源代碼移動設備操作系統,主要用于智能手機和平板電腦,由Google成立的Open Handset Alliance(OHA,開放手持設備聯盟)持續領導與開發中,吸引著無數的開發愛好者投入其中,Android憑借其平臺的優勢在手機市場上占據巨大份額[8]。Android已發布的最新版本為Android 5.0(Lollipop),Android系統架構主要分成五個部分:linux 內核,Android Runtime,Libraries,Application Framework和 Applications。

2.2 Android IMF

Android IMF(輸入法框架)是 Android1.5新添的重要模塊,能夠很好的支持軟鍵盤的輸入,開發者可以根據此框架開發各種輸入法。該框架主要由3個部分組成:Input method manager、Input method(IME)、Client application。他們之間的關系如圖2所示。

圖2 Android IMF框架結構Fig.2 Android IMF

Input method manager主要管理各個部分的交互,它是一個客戶端API,存在于各個應用程序的context中,用來溝通管理所有進程間交互的全局系統服務。通過

來獲取一個InputMethodManager實例。

Input method(IME)實現一個生成文本的獨立交互模塊,通過綁定一個當前的輸入法,使輸入法創建和生成、何時隱藏或者顯示UI,且同一時間只能運行一個IME。一個輸入法是service(服務)的實現,通過繼承 InputMethodService來實現,它是輸入法框架的核心部分。

輸入法實現主要流程為:調用onCreate()方法完成輸入法的初始化;通過onCreateInputView()方法在輸入創建和返回一個視圖層次結構,比如軟鍵盤;onCreateCandidatesView(),創建候選詞區域;onStartInputView(EditorInfo, boolean),通過此函數的調用開始輸入內容;onFinishInput()該方法用于結束當前輸入;最后可以通過onDestroy()方法關閉輸入法。整個輸入法的生命周期圖如圖3所示。

client application:通過輸入法管理器控制輸入焦點和IME的狀態。一次只能有一個客戶端使用IME。

3 藏文輸入法的實現

藏文的輸入法的開發也是按照android輸入法框架來設計與實現的,主要不同點在于開發藏文輸入法要實現對藏文字符的支持,文中主要研究了android平臺下藏文字庫的支持、藏文的字符的預組合處理和藏文輸入法鍵盤的設置,從而實現藏文的輸入。

圖3 輸入法生命周期圖Fig.3 The input method Life cycle

3.1 藏文字庫的支持

Android API為我們提供了Typeface類[10],我們可以通過該類實現指定的字體和字體的樣式,其實現方法如下:

即通過創建一個新的typeface類通過實現create From Asset方法從指定的字體數據中創建新的字樣[11]。本文采用的字體庫為DDC_Uchen.ttf(把字體庫放在assets目錄下)該字體庫兼容了中國國家標準Unicode擴展集A,基本上能夠支持對現代藏文的支持。

3.2 藏文字符的預組合處理

輸入法的采用的字符集是unicode基本字符集,也就是實現對藏文基本輔音字符,元音字符,常用符號,數字符號等的輸入,根據藏文字符的特性要實現藏文字體的完美輸入需要對藏文字符的垂直預組合處理,也即實現藏文編碼擴充集中垂直疊加而成的藏文字符和常用梵音轉寫字符的集合,如(UF300)我們通過輸入兩個基本字符集(U0F68)和(U0F72)完成對該字丁的輸入。其實現方法為:

該方法主要完成了擴充集A中的垂直預組合字符和基本字符的轉換,從而完成字符的預組合處理。

3.3 藏文輸入法鍵盤的設置

Android Keyboard.Key類為我們提供了軟鍵盤的設置,我們可以通過此類設置我們的軟鍵盤。我們可以在XML文件定義我們的鍵盤,例如:

如<Key android:codes="0x0F4F"/>在鍵盤中顯示的藏文字符為 。由藏文的Unicode編碼和軟鍵盤的輸入法特性,我們可以把常用的藏文符號,基本藏文元音、輔音字符,組合用輔音字母以及數字符號設置在鍵盤中,根據字符的種類,我們輸入鍵盤分成4個,兩個基本輔音字符和元音符號界面,另外兩個分別為數字符號和組合用輔音字符界面。最終的藏文鍵盤效果如圖4所示,在真機中的效果圖如圖5所示。

圖4 鍵盤效果圖Fig.4 Keyboard renderings

圖5 輸入法效果圖Fig.5 Input method renderings

4 結束語

文中主要研究了藏文字符的特點,Android輸入法框架,以及Android平臺下實現藏文輸入的關鍵技術,設計并實現了一個Android平臺下的藏文輸入法,通過真機驗證能有效的進行藏文的輸入。

[1]百度百科.藏族[EB/OL].[2014-10-1]http://baike.baidu.com/view/2700.htm.

[2]江荻.藏文識別原理與應用[M].北京.商務印書館,2012.

[3]The Unicode Consortium.The Unicode Standard.Version 1.0[S].Volume 1,Reading, MA, Addison-Wesley Developers Press,1991.

[4]The Unicode Consortium.The Unicode Standard.Version 6.0[S].Mountain View,CA.2011

[5]國家技術監督局.信息技術 藏文編碼字符集 擴充集A[S].(GB/T 20542-2006).北京:中國標準出版社,2007.

[6]國家技術監督局.信息技術 藏文編碼字符集 擴充集 B.[S].(GB/T22238-2008).北京:中國標準出版社,2009年。

[7]Digital Tibetan.Tibetan Fonts[EB/OL].[2014-05-01].http://digitaltibetan.org/index.php/Tibetan_Fonts.

[8]wikipedia.Android[EB/OL].[2014-10-07].http://zh.wikipedia.org/zh/Android.

[9]Android APIs.InputMethodManager[EB/OL].[2014-08-05].http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html.

[10]Android APIs.Typeface [EB/OL].[2014 -08 -05].http://developer.android.com/reference/android/graphics/Typeface.html.

[11]周藝環,任偉,張旭,等.電子式互感器異常報文數據庫設計[J].陜西電力,2014(5):65-68.ZHOU Yi-huan,REN Wei,ZHANG Xu,et al.Electronic transformer exception message database design[J].Shaanxi Electric Power,2014(5):65-68.

猜你喜歡
符號
幸運符號
符號神通廣大
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
靈魂的符號
散文詩(2017年17期)2018-01-31 02:34:20
怎樣填運算符號
變符號
倍圖的全符號點控制數
圖的有效符號邊控制數
草繩和奇怪的符號
主站蜘蛛池模板: 亚洲久悠悠色悠在线播放| 色丁丁毛片在线观看| 国产午夜人做人免费视频中文| 日韩高清一区 | 亚洲精品高清视频| 亚洲成人黄色在线| 亚洲人人视频| 国产精品亚洲va在线观看| 老司机精品久久| 国产精品欧美在线观看| 亚洲成人77777| 亚洲第一网站男人都懂| 日本黄色a视频| 国产午夜精品一区二区三区软件| 精品一区二区三区波多野结衣| 欧美成人二区| 国产69囗曝护士吞精在线视频| 99精品热视频这里只有精品7| 亚洲香蕉久久| 欧类av怡春院| 中文字幕在线视频免费| 久久久黄色片| 久久精品视频一| 91免费在线看| 香蕉网久久| 伊人婷婷色香五月综合缴缴情| 国产美女一级毛片| 精品超清无码视频在线观看| 92精品国产自产在线观看| 美女高潮全身流白浆福利区| 国产大片喷水在线在线视频| 中文字幕在线观看日本| 久久永久免费人妻精品| 91www在线观看| 国产成人做受免费视频| 国产女人在线视频| a级高清毛片| 亚洲精品无码抽插日韩| 国产啪在线91| 亚洲日韩图片专区第1页| 亚洲成人黄色在线观看| 91探花在线观看国产最新| 国产高潮视频在线观看| 乱人伦99久久| 九九九久久国产精品| 欧美日韩中文字幕在线| 看看一级毛片| 波多野结衣一区二区三区四区视频| 日韩专区第一页| 亚洲资源在线视频| 无码视频国产精品一区二区| 美女无遮挡被啪啪到高潮免费| 国产欧美亚洲精品第3页在线| 欧美a在线视频| 国产精品久久久久久久久久久久| 亚洲av无码成人专区| 精品无码视频在线观看| 国内黄色精品| 欧美不卡视频在线| 亚洲精品视频免费| 久久久波多野结衣av一区二区| 免费在线不卡视频| 国产性猛交XXXX免费看| 久久永久免费人妻精品| 国产高清精品在线91| 91人妻在线视频| h视频在线播放| 国产无人区一区二区三区| 国产自视频| 欧美www在线观看| 国产另类视频| 午夜高清国产拍精品| 在线免费亚洲无码视频| 97国产成人无码精品久久久| 永久免费精品视频| 国产精品一区二区在线播放| 国产在线视频自拍| www精品久久| www.av男人.com| 日韩欧美中文字幕在线精品| 黄色网在线| 亚洲国产成人麻豆精品|