端就可以将师生视频和屏幕上播放的视音频课件信息共享到各个学生端实现实时授课。
2.3 系统模块功能设计维汉双语远程教学系统在功能上保留以往优秀网络远程教学系统基本功能进一步增加了系统所有模块同时支持基于Unicode的维吾尔语和汉语双语支持功能包括双语信息的显示、混合编辑与传输双语界面显示及其运行时动态切换等功能系统功能简图3如图2所示。
图2 维汉双语远程教学系统模块功能包图 该系统主要功能有:①授课实况直播:通过实时视音频采集、压缩和传输将授课端的教学现场直播到听课端②课件实时录制:自动、同步、实时录制教学过程及教案内容生成标准的流媒体文件可供课后点播或回放③屏幕共享:将授课端课件内容以屏幕的形式同步地传输到各听课端支持任何形式的课件④师生维汉双语交流:听课端可以随时向授课端申请与老师对话在得到授课端教师允许后两者可以采用视音频和文本形式进行交互式讨论。
⑤双语电子教鞭:使得教师可以即兴标记重点、难点指示当前授课内容的焦点等⑥维汉双语界面自动切换:该系统各子系统都具有中文与维文双语界面菜单式或选项式自动切换功能以便双语用户方便操作3-4。
3 系统实现构成维汉双语远程教学系统的双语课堂服务中心、双语多点转发模块、双语教师授课端和双语学生听课端等四个子系统模块中前两者是用VisualC6.0后两者是用Delphi6.0TntUnicodeControls来实现的整体编程模式采用客户机/服务器C/S模式各模块远程教学基本功能的实现涉及到IP网络技术视频会议技术MPEG数据压缩技术等若干关键技术这些技术属于早已成熟的远程教学技术本系统中与此类技术相结合的所有模块功能都是通过引用现成的开源式代码的方式实现的与此同时这些代码都是基于ANSI标准的是不支持维吾尔语更不能满足多语种化的要求因此在本文实现部分着重讨论维汉双语远程教学系统中521中文信息学报2010年维、汉双语支持功能系统界面双语化与双语界面动态切换我们制定了如图3所示的基本实现方案。
图3 系统双语化设计与实现方案基本流程3.1 系统中维吾尔语文字特征及其实现难点面向维汉双语的远程教学系统的开发直接关系到系统每个模块中如何实现维吾尔文字母的正常输入、显示与编辑功能而这方面的处理又关系到维吾尔文字母独特的书写特征维吾尔语言文字简称维文书写特点5-6是从右向左行向从上到下。
其次维文的一个字母依在单词中的位置不同会有4中变形。
即首写中写尾写形和独立形。
在文字输入时要根据字母在文字中的位置来确定使用何种形式。
系统中维吾尔文字处理功能的实现难点主要体现在以下几个方面:1首先要有一个正确的字母编码方案和字库编码方案决定字母在字库中的位置字库中维文字符的Unicode编码范围定为0600—06FF是基本代码区维吾尔文名义字母位于这个区信息交换、传输和保存时使用该区的代码FB50—FDFF和FE70—FEFF是扩展区维吾尔文显现字母位于这个区。
这个区的代码用于字符在系统上显示使用不用于信息交换为此我们实验室专门设计了OpenType和TrueType类型的一系列国际化标准字库6。
2设计顺手合理的维吾尔文键盘布局根据上述编码标准建立键盘上英文字母的ASCII码与字库中维吾尔文字母的Unicode码所对应的关系在此除了定义32个维文字母的位置外还定义了元音字母分节符HAMZA的位置采用有限事件序列中的EVENT_A事件的组合来解决字母与HAMZA的连写输入。
按照字母形式的多少我们把维文字母分为普通字母和特殊字母:普通字母共21个有四种形式分别为:独写、词首、词中和词尾。
特殊字母共11个有两种形式独写和词尾7-9。
3在第2步的内容基础上根据维吾尔文字中前后字母相连写的要求和当前字母的自动选型规则解决维文字母根据其在词中出现的位置可以与前后字母准确相连输入的问题按照自动选型规则10处理当前字母的实现流程如图4所示。
图4 维吾尔文字母自动选型流程图4对系统进行Unicode编码的基础上实现图形化界面下维、汉、英文可以正确混合编辑与显示通过适当的编程手段解决维文的从右到左的相反方向输入问题的同时保证汉字和西文字符从左到右的输入。
3.2 系统开发语言的本地化环境设置对新疆地区而言软件的本地化指为使系统支持多民族复杂文字对软件系统进行Unicode标准化的过程因为该远程教学系统服务端和客户端开发用的编程语言分别是VisualC6.0和Del2phi7.0而且这些开发语言的默认或典型安装都不支持维吾尔文等复杂文字所以在开发多语种软件系统之前必须对每一个编程语言开发环境里要按照国际化标准进行UNICODE环境设置具体如下:1系统服务端UNICODE编码环境设置①定义宏UNICODE和_UNICODE。
UNI2CODE宏用于Windows头文件_UNICODE宏用于C运行期头文件。
6214期依皮提哈尔??买买提等:面向新疆双语教学的远程教学系统3②设置入口点。
在工程设置-Link标签-Output目录中“wWinMainCRTStartup”入口点声明。
2系统客户端UNICODE编码环境设置客户端分授课端和学生听课端两个模块此两个子系统通过加载Delphi的第三方提供的支持unicode代码方案的TNTTntUnicodeControls组件库来解决Delphi原来的编码环境及其VCL控件不支持Unicode的问题Tnt组件是使Delphi6/7在Windows2000以上/XP操作系统上完全支持Unicode的
开源代码控件使开发国际化的程序变得更为高效。
3.3 系统各代码模块的Unicode编码1系统服务端的Unicode编码系统服务端的服务器和MCU两个模块都是用VisualC开发的为了实现这些模块的Unicode标准化我们首先要对这些模块的代码中所有提示信息、界面信息与错误信息相关的部分全部使用支持Unicode代码标准的数据类型3:①常用的UNICODE数据类型有WCHAR:Unicode字符PWSTR:指向Unicode字符串的指针PCWSTR:指向一个恒定的Unicode字符串的指针它们所对应的ANSI数据类型为:CHAR、L_PSTR和LPC2STR②ANSI/Unicode通用的数据类型有:TCHAR、PTSTR、LPCTSTR。
其次Windows拥有的新的和未过时函数基本上都有ANSI和Uni2code两个版本因此要注意正确使用数据操作函数如:①以str开头的ANSI操作函数如strcat以wcs开头的Unicode操作函数如wcscat。
②以_tcs开头ANSI/Unicode操作函数如_tcscatC运行期库③以lstr开头的同时支持ANSI/Unicode的操作函数如lstrcat④将ANSI字符串转换为Unicode字符串的Windows提供的API函数等。
遇到此类函数应用时要注意正确选用。
2系统客户端的Unicode编码客户端包括学生听课端和教师授课端这些模块是基于Delphi6开发的为了实现这些模块的Unicode字符支持我们首先要引用第三方提供的专用处理Unicode字符并适合开发多语种应用软件的国际化组件组TNTUnicodeControls然后对原代码加以补充或改写将原来基于ANSI标准的代码改写成UNICODE标准形式这个工作包括有关数据传输的函数和数据类型的修改。
需修改的类型主要是char8位ANSI字符对WideChar16位Unicode字符、String8位ANSI字符串对Widestring16位Unicode字符串、Pchar8位字符指针对PwideChar16位字符指针、PString8位字符串指针对PWideString16位字符串指针3。
3.4 系统界面的双语化与双语界面切换实现系统各用户界面的双语化以及双语界面动态切换其最终目标是实现系统各个模块界面根据不同语种用户的需要都可以以维吾尔语和汉语两种语种显示。
系统各模块通过上述23阶段的处理后系统界面双语化基本实现方案如图5所示。
图5 双语用户界面原理图在实际开发工作中总体上服从上述研发流程。
因为系统服务端和客户端两个部分使用的开发语言工具不同各自应用的具体实施方案也有所不同就此问题下面分别讨论:1服务端界面的双语化与双语界面切换用
VC开发的服务端MCU和Server模块采用动态链接库和维汉双语资源文件的动态调用方式其实现方法如下311212:①系统服务端的MCU和Server模块分别需要在
vc的资源编辑器内创建维、汉双语资源文件在这些文件中以维、汉不同的语言创建同一个资源标识符的两份复制。
在运行访问这些资源时通过LoadLibararyEx应用程序接口API装载资源DLL汉字资源由Chinese.DLL维文资源由Ui2ghur.DLL来调用。
当显示某种指定的语言只要在DLL内选中合适的资源即可这又是切换不同语种用户界面的方法。
②RTL语言用户界面的调整新疆地区使用的维吾尔语不仅是右对齐的而且阅读顺序为从右到左的RTL语言。
为了使系统的UIUserInterface具有理想的RTL外观和风格实现RTL语言时文本和UI元素都需要进行从右到左的布局。
本地化此系统为RTL语言时一个非常重要的技术是UI镜像。
RTL语言用户界面可以通过在
VC资源编辑器内的对话框属性设置对话框资源的镜像风格。
资源编辑器中设置镜像标721中文信息学报2010年记并通过添加扩展风格WS_EX_LAYOUTRT来实现不同语言界面的大小调整。
2客户端界面的双语化与双语界面切换客户端包括基于Delphi开发的学生听课端和教师授课端因为Delphi系统自带的多语种程序开发工具不支持用DLL方式实现程序的维汉双语化因此为了让这些程序模块的界面显示维汉两种语言形式先必须把原基于ANSI标准的所有菜单、工具栏、状态栏、命令按钮、文本框、标签等组件都换成相对应的TNTUnicode组件然后采用“INI系统初始化文本文件的读写方法”按用户使用的语言类别分别调用两种语言信息使得界面双语信息动态切换具体实现方法如下313:①搜集所有界面信息分别建立维汉两种语言界面信息库为了方便处理界面信息以INI系统初始化文件格式进行存放如:Chinese.INIUighur.INI②教师端和学生端模块用户主界面菜单里添加“选择语种”菜单项在采单项的子菜单里添加“汉文“和“维文”选项在代码里设置uy维hn汉两种语言选择参数如果uy1hn0则表示读取维文信息文件Uighur.INI如果uy0hn1则表示读取汉字信息文件Chinese.INI③按照图5所描述的原理根据不同用户选择的语言选项打开相应的INI格式的界面信息文件读其内容替换当前界面信息即将文件内的界面文字信息根据它们的编号分别赋给用户界面和各类对话框上各类组件和菜单项的原有标题属性还可以用它来替换操作过程中出现的各类提示字符串原有信息从而达到软件运行时不同语种用户使用不同语种界面并且在运行期间双语界面动态切换等效果。
4 结论通过对系统程序代码的不断地修改和优化以及对安装程序的合理化设置解决了运行和测试过程中发现的不少问题最终系统通过了全面测试系统各模块的登录及运行正常各模块维汉双语界面、菜单、对话框、提示信息以及维汉英混合输入与编辑正确无误各子系统的之间的双语通讯正常。
做到了系统各子系统模块之间的相互呼应双语界面正常显示与动态切换双语信息正常编辑与传送教师屏幕共享。
同时课件录制电子教鞭师生以视音频和维汉双语文字形式正常对话等功能都顺利完成。
该系统是基于C/S模式面向对象编程技术的一个开放性的系统该系统投入使用后将会为少数民族边疆地区的教育事业带来良好的社会效益和经济效益。
参考文献1 张梅.新疆少数民族双语教育模式及其语言使用问题J.民族教育研究20094:962101.2 玛依拉??吾布力.双语教育探J.和田师范专科学校学报2009284:1312132.3 依皮提哈尔??买买提.维汉双语远程教学系统D.北京工业大学2009:1271.4 郑庆华刘均.基于天地网的同步实时授课系统研究J.中国远程教育.200510:54255.5 依皮提哈尔??买买提.基于MUI技术的Windows维文化研究.电脑开发与应用20094:124.6 苏国平缪成夏国平.LINUX下维哈柯文多语种图形化处理平台J.中文信息学报2006204:88293.7 GB18030—2000.信息交换用汉字编码字符集??基本集的扩充S.北京:中国标准出版社2000.8 艾尔肯吐尔根.GB18030—2000系统编码及民文编码C//ICCPOL2003论文集2003:95298.9 阿布力米提??阿不都热依木.WindowsXP维吾尔文平台的研究.计算机工程与应用200511:1582159.10 热依曼??吐尔逊吾守尔??斯拉木.维吾尔文手机输入关键技术研究与实现J.中文信息学报2006202:72276.11 唐勇李秀龙.多语言用户界面的研究与实现J.计算机应用研究2002:1122113.12 孙昌爱等.开发VisualC多语言界面的方法J.微型机与应用20017:728.13 陆元会.用Delphi实现多语种界面J.电脑编程技巧与维护20025:26228.821
上一篇:
c
下一篇:
数字图像的可逆数字水印研究