国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

維吾爾文研究與Android維文閱讀器的實現(xiàn)?

2014-11-02 08:36王文娟吾守爾斯拉木努爾麥麥提尤魯瓦斯鄧俊
關(guān)鍵詞:閱讀器字符引擎

王文娟,吾守爾斯拉木,努爾麥麥提尤魯瓦斯,鄧俊

(1.新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆烏魯木齊830046;2.新疆大學(xué)多語種信息技術(shù)重點實驗室,新疆烏魯木齊830046)

0 引言

隨著信息技術(shù)尤其是移動互聯(lián)網(wǎng)的發(fā)展,對多種系統(tǒng)平臺上支持維吾爾文的需求日趨增高,對支持維吾爾文的系統(tǒng)和應(yīng)用軟件有著越來越迫切的需求,但維吾爾文的特點使得其處理方式不同于西文、中文,且更復(fù)雜,這給軟件開發(fā)帶來了很大的困難.基于Android平臺的維吾爾文本閱讀器的實現(xiàn)是目前需要解決且具有應(yīng)用創(chuàng)新價值.迄今為止,Android原生ROM上的文本閱讀器和第三方閱讀器產(chǎn)品均不能正確顯示維吾爾文本,存在維吾爾文字體支持不全和維吾爾文字符不能連筆黏合等問題.本文通過分析維吾爾文本在多款A(yù)ndroid文本閱讀器中打開時出現(xiàn)的顯示問題,研究出解決正確顯示維吾爾文本方法,最終實現(xiàn)了Android維吾爾文本閱讀器.

1 維吾爾文研究

維吾爾文有32個字母,120多個字符形式[1],屬阿拉伯語系的拼音文字.它與現(xiàn)在各個平臺上可以處理的西文和漢字有很大的區(qū)別.維吾爾文具有字符連筆、字符不等寬、右向輸入、單一字符在單詞中因位置不同有不同形狀等特點[2].

維吾爾文字符分為具有確定Unicode編碼的名義字符形式和字符在維吾爾文單詞中所處位置的不同而顯現(xiàn)出不同形狀的變體顯現(xiàn)形式[3,4].其中名義字符形式屬于基本標(biāo)準(zhǔn)區(qū)編碼范圍,變體顯現(xiàn)形式屬于擴(kuò)展區(qū)編碼范圍[5,6].維吾爾文字母的名義形式以及依據(jù)所處單詞位置的不同而呈現(xiàn)的變體顯現(xiàn)形式如圖1所示.

圖1 維文字符變體顯現(xiàn)形式

維吾爾文單詞由一個或者若干個字母組成,字母會根據(jù)所處單詞中位置而發(fā)生形狀的改變并進(jìn)行精確的字符連筆黏合,如圖2所示.

圖2 維文字符連筆黏合

2 Android電子書閱讀器

2.1 閱讀器的發(fā)展

電子書閱讀器是模擬紙質(zhì)書的閱讀方式用于閱讀電子文本的產(chǎn)品.閱讀電子文檔的電子設(shè)備最早追溯到1974年來自施樂公司的Palo Alto Research Center由Nicholas Sheridon發(fā)明的名為Gyricon[7]的電子墨水技術(shù).1998年推出的“火箭電子書”(Rockete Book)被業(yè)界普遍認(rèn)為是市場上第一部電子書閱讀器.2004年SONY公司在日本推出的Librie電子書閱讀器是世界首個大規(guī)模量產(chǎn)商業(yè)化采用電泳顯示器件或者稱為電子墨水的產(chǎn)品,它標(biāo)志著整個電子書閱讀器行業(yè)進(jìn)入了一個新的時代.2010年11月明基(BenQ)公告其6寸的電子書閱讀器產(chǎn)品nReader K60推向市場.如今隨著Android系統(tǒng)設(shè)備的普及,越來越多的移動客戶端在此平臺進(jìn)行開發(fā).基于Android的電子書閱讀器軟件將提升電子閱讀的顯示方式和普及其使用范圍.電子書閱讀器產(chǎn)業(yè)的發(fā)展帶動了電子圖書個人消費的增長,使得電子圖書從B2B市場開始走向B2C市常 從而推動了整個出版產(chǎn)業(yè)的數(shù)字化進(jìn)程[8].

2.2 維文顯示效果比較

目前Android應(yīng)用市場的電子書閱讀器在打開維吾爾文文本時均出現(xiàn)維文顯示異常的現(xiàn)象.這是由于維吾爾文具有字符連筆、不等寬、右向輸入、單一字符在詞中因位置不同有不同形狀等特點,導(dǎo)致閱讀器不能良好支持維吾爾文本顯示.

通過在Windows7系統(tǒng)下使用記事本軟件打開維吾爾文本和Android2.3平臺下的iReader閱讀器打開SD卡中維吾爾文本顯示效果分別如圖3,4所示.

分析圖3,4得出顯示維吾爾文本存在兩方面的問題:

1)Android系統(tǒng)缺少維吾爾文字體庫導(dǎo)致某些維吾爾文字符顯示成方塊;

2)維吾爾文字符沒有完成字符間的自動選形,即沒有根據(jù)字符所處單詞的位置進(jìn)行連筆黏合.

閱讀器不支持維吾爾文顯示的原因:(1)Android從1.1到4.0版本的發(fā)展過程中雖然在Unicode國際化方面逐漸改進(jìn)和增強(qiáng),但仍然存在對中國少數(shù)民族語言文字不兼容或者兼容性不好的情況;(2)Android不支持維吾爾文是缺少維文字體庫和維文自動選形引擎.因此要讓閱讀器支持維吾爾文本就要在其應(yīng)用層中解決維文字體庫的添加和維文字符自動選形處理.

圖3 WIN7平臺記事本軟件打開維吾爾文本

圖4 Android2.3平臺iReader軟件打開維吾爾文本

綜上所述正確顯示維吾爾文本需要解決兩個基本難點:

1)在閱讀器應(yīng)用層添加維吾爾文字體庫;

2)維吾爾文字符自動選形處理.

3 維文閱讀器的設(shè)計

3.1 架構(gòu)設(shè)計

Android維文閱讀器架構(gòu)設(shè)計如圖5所示.該軟件基于Android系統(tǒng)底層文本排版引擎支持,在應(yīng)用層完成閱讀器功能模塊和維文顯示渲染引擎的設(shè)計,最后實現(xiàn)維吾爾文文本的正確顯示.

圖5 維文閱讀器架構(gòu)

3.2 功能設(shè)計

讓該款維文閱讀器能像電腦平臺記事本軟件那樣方便閱讀本地硬盤中的維吾爾文本,主要實現(xiàn)如下功能:

1)支持SD卡文本自動查找操作;

2)模擬翻書效果;

3)閱讀模式(夜間、日間模式切換)設(shè)置;

4)閱讀字體大小設(shè)置;

5)閱讀書簽管理.

3.3 維文文本顯示渲染引擎

維文文本顯示渲染引擎負(fù)責(zé)對SD存儲卡中的維吾爾文本中的維文字符進(jìn)行字體和選形的渲染工作,引擎結(jié)構(gòu)如圖6所示.

3.4 維文渲染流程

閱讀器打開文本時先判斷該文本的字符集編碼區(qū)域,若屬于西文、漢字等編碼字符集,則采用傳統(tǒng)方式打開文本;若屬于維吾爾文編碼字符集(維吾爾文的基本標(biāo)準(zhǔn)區(qū)編碼范圍在U+0600–U+06FF之間),則由維文顯示渲染引擎進(jìn)行渲染,流程如圖7.

圖6 維文文本顯示渲染引擎結(jié)構(gòu)

圖7 維文文本渲染流程

3.5 自動選形模塊

維吾爾語在形態(tài)結(jié)構(gòu)上屬黏著語類型[9],處理維吾爾文自動選形的基本思想是把維吾爾語分解成若干個維吾爾文字符.把維吾爾語文本切割成逐個字符串輸入自動選形模塊,通過依據(jù)前面輸入的維吾爾文字符和控制字符來確定當(dāng)前維吾爾文字符的輸入狀態(tài).在接收到維吾爾文字符數(shù)據(jù)后,依據(jù)該狀態(tài)對維吾爾文字符或字符串進(jìn)行選形,按照字符在詞中出現(xiàn)的位置自動選擇其對應(yīng)的字形編碼來替換該維吾爾文字符標(biāo)準(zhǔn)區(qū)編碼,使前后字母的字形能準(zhǔn)確相連[10].維吾爾文字符選形規(guī)則如圖8.

設(shè)當(dāng)前需要選形的維吾爾文字符為i,則i–1和i+1分別是當(dāng)前字符前面和后面的字符[11].規(guī)定i–1,i,i+1字符值為0,表示非維文字符或者特殊字符,字符值為1時表示維吾爾文字符.根據(jù)字符值的不同判斷字符的選形情況而實現(xiàn)維吾爾文自動選形算法規(guī)則.

3.6 維文字體渲染

Android系統(tǒng)沒有提供維吾爾文字體庫,因此默認(rèn)不支持維文字符.在程序開發(fā)過程中通過使用Android SDK提供的setTypeface類可引入外部字體庫文件,維文字體渲染的核心思想是使用setTypeface方法引入Android工程目錄assets/font文件夾中的維文字體庫UKK_TuzTom.ttf,在自動選形的基礎(chǔ)上完成維吾爾文字體渲染,流程如圖9.

圖8 維文字符自動選形處理規(guī)則

圖9 字體渲染流程

4 結(jié)論

4.1 維文閱讀器運(yùn)行效果

如圖10所示,維吾爾文本在該款A(yù)ndroid維文閱讀器中完成了維文字體的添加和維文字符的連筆黏合,顯示正確且美觀.

圖10 維文閱讀器

4.2 結(jié)語

通過Android平臺多款文本閱讀器對維吾爾文本的測試顯示效果的對比和研究,結(jié)合維吾爾文自身的特點,開發(fā)、設(shè)計并實現(xiàn)能正確顯示維吾爾文本的Android閱讀器.該款自主研發(fā)的維文閱讀器是首款脫離Android原生系統(tǒng)對維吾爾語不支持的影響、在應(yīng)用層完成維吾爾文顯示渲染引擎開發(fā)的閱讀器.

新疆少數(shù)民族常用的語言除維吾爾語還有哈薩克語、柯爾克孜語,這三種語言的文字特點和語法習(xí)慣一致,只是個別字母的字符集編碼不一樣[12].通過對渲染引擎進(jìn)行修改及補(bǔ)充容易實現(xiàn)哈薩克語、柯爾克孜語文本閱讀器,這將大力推進(jìn)新疆國民經(jīng)濟(jì)和社會信息化發(fā)展,加快少數(shù)民族地區(qū)信息化建設(shè)和促進(jìn)信息產(chǎn)業(yè)發(fā)展.

猜你喜歡
閱讀器字符引擎
基于反向權(quán)重的閱讀器防碰撞算法
新海珠,新引擎,新活力!
The Magna Carta
Winner Takes All
字符代表幾
一種USB接口字符液晶控制器設(shè)計
圖片輕松變身ASCⅡ藝術(shù)畫
HBM電子稱與西門子S7-200系列PLC自由口通訊
三生 三大引擎齊發(fā)力
藍(lán)谷: “涉藍(lán)”新引擎
屯昌县| 芷江| 普陀区| 革吉县| 离岛区| 洪湖市| 杨浦区| 江华| 吉安县| 临潭县| 武义县| 蓬溪县| 山阳县| 任丘市| 东乌珠穆沁旗| 马山县| 武鸣县| 南宁市| 米易县| 屏山县| 谷城县| 漠河县| 慈溪市| 阿尔山市| 旅游| 乐业县| 化德县| 巴南区| 七台河市| 泽库县| 望奎县| 凤山县| 松原市| 定远县| 八宿县| 朝阳县| 灵川县| 雷波县| 修文县| 阳山县| 钦州市|