李端端,吾守尔·斯拉木,艾尼宛尔·托乎提
(1.新疆大学信息科学与工程学院,新疆乌鲁木齐830046;2.新疆多语种信息技术实验室,新疆乌鲁木齐830046)
Web浏览器的开发与应用是计算机网络领域近年来的一大热点,纵观国内的IE、遨游、搜狗浏览器,国外的chrome、FireFox等各种浏览器功能都十分强大,但对于少数民族语言支持方面仍存在很大的不足.
新疆是一个多民族聚居的地区,以维、哈、柯文为代表的少数民族语言文字不仅承载着各民族悠久的历史和文化的繁荣,更是各族人民日常生活中重要的交流工具.因此,为了促进新疆少数民族地区的信息化发展,本文运用软件工程管理方法,首先对目前广泛使用的主流Web浏览器进行全面的分析研究,结合用户需求,对将要开发的软件系统进行模型设计及数据分析,基于visual studio 2012开发环境,使用C#语言开发出一款基于IE内核,应用在Windows平台上的具有维、哈、柯文特色的Web浏览器.
浏览器最核心的部分是渲染引擎(Rendering Engine),我们一般习惯称之为“浏览器内核”,其最基本的功能是渲染网页内容,将网页的代码转换为用户请求访问的网页内容.现在内核的种类繁多,其中最常见的浏览器内核有四种:Webkit、Presto、Trident、Gecko.通过分析这四款渲染引擎的优缺点,本文选择了高效稳定、安全性和兼容性好、渲染速度极快、易于维护的Trident作为研究对象,下面对其做简单介绍.
Trident(又称为MSHTML、IE内核),是微软的视窗操作系统(Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称.由于以前IE拥有巨大的市场,所以在很多桌面浏览器中,IE内核比其它浏览器内核应用广泛,有许多网页遵循其标准编写自己的网页代码.其体系结构如图1所示.
图1 Trident体系结构图
作为浏览器的核心,Trident渲染引擎的作用是输入一个HTML文档,输出一个WEB页面.解析流程如下:
1.当用户在浏览器界面输入URL地址,向服务器发送网页请求时,页面的URL或者本地文件名已被发送到服务器.
2.如果URL正确,服务器返回本地HTML/XHTML源数据.
3.浏览器通过W3C规范,把接收到的HTML/XHTML代码用分析器分析,解析成一棵DOM树,然后加载HTML代码.
4.如果HTML里引用外部CSS文件,浏览器向服务器发送CSS文件请求,服务器返回这个CSS文件.
5.浏览器继续加载HTML代码,使用CSS和DOM树解析成Render树.布局管理器Layout对DOM的可视元素排版,分配位置高低并由CSS规定输出的特性.譬如字体的颜色,大小等,再由Render进行视觉化表达,这是一个动态的过程.
6.布局器根据Render树中各组件指派位置和大小.最后把WEB页面显示给用户.
本文主要的工作是:在保留现有任一种浏览器所具备的所有功能的基础上,研发出一个在Windows平台下,基于IE内核的,具有维、哈、柯文特色的Web浏览器.为了实现上述目标需完成以下4个方面的工作:1)在浏览器上嵌入维、哈、柯文文字库;2)在浏览器上嵌入维、哈、柯文输入法;3)在浏览器上实现网页内核提供地址转换功能;4)在浏览器上实现网页内核提供文种转换功能.系统框架设计如图2所示.
各部分的主要功能如下:
1.主框架:系统菜单栏、工具栏、标签栏等的建立及浏览器子框架的创建;
2.子框架:视图的创建及关闭;
3.菜单栏、工具栏及搜索栏:捕获用户的输入,通过主框架窗口进行回应;
4.地址栏、搜索栏:获取用户输入的URL地址,进行搜索,由视图显示搜索结果;
5.标签栏:显示视图窗口的标题、文件标签及此标签所对应的状态、属性.
图2 系统框架图
维吾尔文属阿尔泰语系突厥语族,中国维吾尔族在21世纪使用的维吾尔文是在晚期察合台文基础上形成的以阿拉伯字母为基础的拼音文字.现行维吾尔文有32个字母,包括8个元音字母和24个辅音字母.维吾尔文的书写方向与汉字有所不同,自右至左横书.每个字母按出现在词首、词中、词末的位置有不同的形式.
哈萨克语和维语同属阿尔泰语系中的突厥语系,是哈萨克斯坦的官方语言和全球哈萨克族所使用的语言,在突厥语系中影响力和使用量仅次于土耳其语.中国境内于1964年开始使用以拉丁字母为基础的共有24个辅音字母、9个元音字母的新哈萨克文,但新哈萨克文并没有普及,现在基本恢复到使用阿拉伯字母的文字.
柯尔克孜语简称为柯语.跟维吾尔语和哈萨克语一样同属于阿尔泰语系突厥语族语言,包含14个元音,22个辅音.派生词在词汇中占有相当大的比例,反映畜牧业生产的词很多,有汉语、阿拉伯语、波斯语、蒙古语和俄语借词.
现有5大浏览器:IE,Firefox,Chrome,Safari,Opera都没有为用户提供维哈柯文字库,造成相关的网页无法正常显示.为解决此问题,网站作者曾尝试利用站内嵌入方式将eot,ttf等文字库存放在网站的指定目录,根据用户的需要,浏览器自行选择调用哪一个文字库.但这种方法打开网站的速度非常慢.
经过多次探索和实践,我们为此浏览器直接提供维哈柯文标准字库,这样就无需再次调用其他字库,网站访问速度大大得到提高.最终,本系统采用的是Open Type字体格式,随浏览器一同安装使用的字体文件有Alpida Unicode system.ttf、UKK-Esliye.ttf、UKK-Basma.ttf、UKK-KitabB.ttf、UKK-Ruqqi.ttf和UKK-TuzTom.ttf.
现有的Web浏览器没有提供维哈柯文输入法,针对维哈柯文的文字输入现有的解决办法有如下两种:3.3.1 提供系统输入法
安装标准输入法后可在任何位置输入维哈柯文字,由于普及不够,多数用户不知道此方法.3.3.2 网站在线输入法
在网页有关输入点调用javascript编写的代码,利用快捷键切换输入法,但此方法对网站的依赖性太强.部分代码如图3.
综合考虑上述两种方法,本文实现了在现有Web浏览器上提供一个工具栏,用户可按照自身需求,自主地选择利用系统输入法或Web浏览器在线输入法,这样便可以达到最佳使用效果.向现有Web浏览器中嵌入维、哈、柯文输入法,调用输入法的基本流程图如图4所示.
图3 在线输入法部分代码
图4 调用输入法的基本流程图
在用户对要进行搜索的具体网址不太清楚的情况下,可按照需要,用维、哈、柯文输入法直接输入相应的维吾尔文、哈萨克文、柯尔克孜文的网站名,如果该网址在浏览器自带的单机数据库里不存在,用户按下回车键后,系统会弹出提示框,用户按下“确定”键后能够添加此网页的地址来扩充浏览器自带的数据库.如图5所示.
图5 添加网页地址界面
图6 将网站名称及其对应URL添加到数据库的界面
将维吾尔文、哈萨克文、柯尔克孜文的网站名称以及它所对应的URL添加到数据库.如图6所示.
添加完成后,用户重新启用浏览器,直接输入维、哈、柯文,网页内核提供地址转换的实现界面如图7所示.
图7 网页内核提供地址转换的界面
图8 Web浏览器的现代维文呈现
要实现支持维、哈、柯文的Web浏览器,还要解决用户对不同文种的喜好问题,具体方法是使得每一种语言对应一个动态链接库,维、哈、柯文三种语言所对应的动态链接库分别是Uyhgur.dll、Kazak.dll以及Kirgiz.dll.以维吾尔语为例,现代维语、拉丁维语和斯拉夫维语三种文种间进行转换的相关规则和代码封装在了Uyhgur.dll里,浏览器根据用户对文种的需求调用动态链接库进行相应的文种转换,网页内容就可呈现为用户所需的文种形式.Web浏览器的现代维文呈现如图8所示.
现代维文转换成拉丁维文后的网页效果如图9所示.
图9 现代维文转换成拉丁维文后的网页效果
图10 现代维文转换成斯拉夫维文后的网页效果
现代维文转换成斯拉夫维文后的网页效果如图10所示.
哈萨克文,柯尔克孜文的不同文种之间的转换也遵循以上规则,调用相应的动态链接库即可.
系统的测试结果表明,本文实现了在Windows平台下,基于IE内核的Web浏览器中嵌入维、哈、柯文字库及输入法,维、哈、柯文地址转换、文种转换等重要功能,在很大程度上方便了少数民族用户使用Web浏览器,促进了新疆少数民族地区的信息化发展.