跳转到内容

中文软体

维基百科,自由的百科全书

中文软体指的是专门为了中文资讯处理使用所设计的软体。包含但不局限于中文系统(外挂)、中文输入法中文字形中文自然语言处理中文编程语言,如周蟒(ZhPy)等。

中文系统与中文软体

中文系统一般为外挂形态,如DOS时代的使用倚天中文系统,或是采用特殊版本的软体,如必须使用中文Win2000。此外更麻烦的是,输入时必须采用特殊的输入法,因此中文系统在运作上必须考虑汉字特性汉字语码汉字输入汉字输出等。

汉字特性

除了某些系统(如王安系统)外,目前大部份的系统汉字占用2Byte,是英数字的两倍。另外配合汉字显示,英数字可分成全形半形、全形英数字(包含空白)是以特殊符号方式处理,与半形英数字与法通用,半形英数字可以被系统直接快速处理。

汉字语码

外码(External Code)

亦即输入法之按键次序,输入法不同,按键次序(即外码)随而不同。

内码(Internal Code)

因为电脑厂牌不同,电脑内汉字码可能不同,此即内码。

交换码(Exchange Code)

目前最普遍的交换码即统一码

汉字输入

台湾地区

港澳地区

中国大陆地区

汉字输出

包括字型(font)与字形以及字体。“字形”(glyph)指单个字(字母、汉字、符号等)的形体。 所谓“字体”(typeface)与“字型”(font),都是排印学与书法领域的专有名词。无论港澳台、中国大陆还是欧美等国非专业普通人士都无法区分作为专业名词的“字体”(typeface)与“字型”(font)。

点阵字型(Dot-matrix Fonts)

点阵(dot-matrix)或称位图(Bitmap),意即像素阵列(pixel array)。缺点是缩放时会有锯齿边,因此后来进化成向量字

向量字型(Vector Fonts)

包括向量字/矢量字体(Vector Fonts/Outline Fonts)、向量图/矢量图形(Vector Graphics)。由于每个字型都透过数学向量式线性代数)来描述,因此可以自由缩放比例。缺点是需要较多的计算时间,同时字型放大过量也会产生棱角而影响美观。

曲线描边字型(Stroke Fonts/TTF/serif白体字)

又名衬线字。如罗马体字宋体字。由于使用曲线公式(非线性式)来描绘字框,因此任何缩放比例都一样平滑,与向量字在数学式的主要区别在于曲率(数学符号为Kappa:κ),曲率κ=0即直线,曲率κ≠0即曲线。缺点是计算耗时更久。

  • 常见的形式包括印刷用的Postscript与萤幕显示的True type font(TTF)等。
  • TrueType(TTF)字体中的字符(或字形)轮廓由直线和二次贝塞尔曲线(bézier)片段构成。这些构建在数学上比平面设计界PostScript使用的三次贝塞尔曲线(也被Type 1字体所使用)更容易处理。尽管如此,对于多数形状,三次要比二次贝塞尔曲线需要更多的点来描述。这个差异也意味着它不能将Type 1无损地转换为TrueType格式,可是你可以无损地将TrueType转换为Type 1。

无描边字型(sans-serif黑体字)

又名无衬线字,如歌德体字

中文软体发展历程

国际汉字主流内码

Big5大五码(台港澳专用)

  • Big5码的产生,是因为当时个人电脑没有共通的内码,导致厂商推出的中文应用软体无法推广,并且与IBM 5550王安码等内码,彼此不能兼容;另一方面,台湾当时尚未推出中文编码标准。在这样的时空背景下,为了使台湾早日进入资讯时代,所采行的一个计画;同时,这个计画对于以台湾为核心的亚洲繁体汉字圈也产生了久远的影响。
  • Big5产生前,研发中文电脑朱邦复认为内码字集应该广纳所有的正异体字,以顾及如户政等应用上的需要,故在当时的内码会议中,建议希望采用他的五万多字的字库。工程师认为虽其技术可行,但是三个位元组(超过两个位元组以上)长度的内码却会造成英文萤幕画面映射成中文画面会发生文字无法对齐的问题,因为当时盛行之倚天中文系统画面系以两个位元组文字宽度映射成一个中文字图样,英文软体中只要以两个英文字宽度去显示一个中文字,画面就不会乱掉,造成中文系统业者偏爱二个位元组长度的内码[12];此外以仓颉输入码压缩成的内码不具排序等功能,因此未被采用。1983年有人诬指朱邦复为共产党,其研究成果更不可能获采用。[13]
  • 在Big5码诞生后,大部分台湾的电脑软体都使用了Big5码,加上后来倚天中文系统的高度普及,使后来的微软Windows 3.x等亦予以采用。虽然后来台湾还有各种想要取代Big5码,像是倚天中文系统所推行的倚天码、台北市电脑公会所推动的公会码等,但是由于Big5字码已沿用多年,因此在习惯不易改变的情况下,始终无法成为主流字码。而台湾后来发展的国家标准CNS 11643中文标准交换码由于非一般的内码系统,是以交换使用为目的,受先天所限,必须使用至少三个位元组来表示一个汉字,所以普及率远远不及Big5码。
  • 在1990年代初期,当中国大陆电邮和转码软体还未普遍之时,在深圳的港商和台商公司亦曾经使用Big5系统,以方便与总部的文件交流、以及避免为大陆的办公室再写一套不同内码的系统。使用简体中文的社群,最常用的是GB 2312GBK及其后续的国标码GB 18030)。
  • 现在,除了台湾外,其他使用繁体汉字的地区,如香港澳门,及使用繁体汉字的海外华人,都曾普遍使用Big5码做为中文内码及交换码。

GB 18030国标码(中国大陆专用)

GB 18030主要有以下特点:

  • UTF-8 相同,采用多字节编码,每个字可以由1个、2个或4个字节组成。
  • 编码空间庞大,最多可定义161万个字元。
  • 支持中国国内少数民族的文字,不需要动用造字区。
  • 汉字收录范围包含繁体汉字以及日韩汉字。

本规格的初版是由中华人民共和国信息产业部电子工业标准化研究所起草,由国家质量技术监督局于2000年3月17日发布。现行版本为国家质量监督检验总局和中国国家标准化管理委员会于2005年11月8日发布,2006年5月1日实施。

此标准内的单字节编码部分、双字节编码部分,和四字节编码部分收录的中日韩统一表意文字扩展A区汉字,为强制性标准。其他部分则属于规模性标准。在中华人民共和国境内所有软件产品,都需要支持这个同时包含单字节、双字节和四字节编码的规格。

微软视窗代码页为 54936。

汉字总码(Unihan)

  • 共收汉字类汉字74617字(2012),较清初《康熙字典》原有的汉字47035字几乎多了一倍。包括中日韩越台港澳等各种形式的汉字与类汉字,其中类汉字包括越南字喃、日本和制汉字(与假名相对的真名Mana)、朝鲜汉字特殊字形、港澳粤书、台湾喃书
  • 中日韩统一表意文字(英语:CJK Unified Ideographs),也称汉字总码(英语:Unihan),目的是要把分别来自中文日文韩文越南文壮文中,起源相同、本义相同、形状一样或稍异的表意文字,赋予其在ISO 10646统一码标准中相同编码
  • 所谓“起源相同、本义相同、形状一样或稍异的表意文字”,主要为汉字,包括繁体字(台港澳用字)、简体字(中国大陆用字)、日本汉字漢字/かんじ)、韩国汉字漢字/한자)、越南的喃字𡨸喃Chữ Nôm)与儒字𡨸儒Chữ Nho)、方块壮字
  • 此计划原本只包含中文、日文及韩文中所使用的汉字,旧称中日韩(CJK)统一表意文字Unified Ideographs)。后来,此计划加入了越南文的喃字,所以合称中日韩越(CJKV)统一表意文字。

作业系统

视窗软体

  • Win 95
  • Win 2000
  • Win XP

DOS时代的中文软体

DOS上使用中文的问题

  1. 显示卡的兼容问题:国外出产的知名显示卡(特别是ATI或外国牌子机,如HPCompaq的电脑)经常都出现显示问题,例如:只能显示中文画面的上半部份。
  2. 记忆体相冲问题:由于中文系统利用特殊的记忆体映射方式来重新安排显示卡的记忆,有不少为求效率而牺牲兼容性的软体当直接存取记忆时,都会与中文系统相冲。这些相冲现场轻则使画面紊乱,重则使电脑当机。

Windows上的中文软体

中文系统

在Windows使用中文主要有三种方式:

  • 使用外挂的中文系统:在早期非中文版本的Windows系统,这是使用中文的唯一方式。如双桥中文
  • 传统内码的中文版Windows:Windows 3.1及Win95、Win98都有针对Big5及GB码开发的中文系统。
  • 使用统一码:现代的Windows系统都有多国语言的支援。(自Win95开始,Windows已出现统一码的局部支援)

软体中文化的方式

  • 记忆体修补(由于后期的Windows对于.code的记忆体区间有写入保护,故要进行记忆体修补改的外挂程式要先提高自身在Windows内的权限等级,并开起系统的Debug旗标后,方可写入)
  • 程式资源档的字串取代(使用资源档编辑器,有Win16、Win32、.Net,这三大类工具)
  • Hook API(拦截与字型或字串相关的Win32 API)
  • 取得原始程式后,进行改写(例如:原始程式内的字串翻译成中文,以及更改程式在显示字型时的相关设定)
  • Exe或Dll档内的字串取代(使用可以编辑二进位档案的工具)

有代表性的中文软体

Unix终端机的中文软体

X视窗的中文软体

现代的X视窗系统,中文支援主要是依赖

  • C library内建的多语文支援,
  • XX toolkit的多语文输出功能(即Xfontset机制、或GTKQttoolkit的多语文显示的支援等等),和
  • XX toolkit的多语文输入功能(即XXIM机制、或GTK的软体的GTK输入模组机制等等)。

个别软体可能会支援或需要其他特别或较为少用的中文输入机制。

使用者在选择处理中文输入的软件比软有自由度。在类Unix自由作业系统,目前比较普遍的输入软件包括苏哲SCIM

早期的中文软体

早期的X视窗系统并无有系统的中文支援,中文软体只能透过中文化的终端机模拟器,在文字介面运作,而中文输入也须透过终端机模拟器的中文输入功能。情况类似DOS的中文系统。

最早的X视窗中文软体是修改自xtermcxtermChinese xterm)终端机模拟器。

Linux开始普遍后,cxterm不久就被改自rxvtcrxvt取代,而导致crxvt被取代的其中一个因素,是crxvt因并非自由软体,在授权上出现了问题。中文输入法和终端机模拟器分开,也是由crxvt开始。crxvtrxvt后来合并,合并后的版本改称rxvt

X视窗系统开始有普遍性的中文支援是在各种UnixC library采取普遍性的多语文支援时开始;普遍性的多语文支援令中文输入可以透过标准的XIM机制,而毋须采取类似Windows的外挂中文系统一类的方法。

掌上型装置上的中文软体

  • Palm上的中文使用
  • Pocket PC上的中文使用
  • 其它PDA上的中文使用
  • 手机上的中文使用

参考来源

  1. ^ 该年也是中华台北梅花旗正式启用的一年
  2. ^ 數位雜談 - 中文的電腦或電腦的中文?,諶家雄. [2015-04-01]. (原始内容存档于2007-02-22). (中文)
  3. ^ 来源参考:(中文)财团法人中文数位化技术推广基金会——认识中文码【 九、Big5和Big5E 】页面存档备份,存于互联网档案馆
  4. ^ 来源参考:(中文)中文内码之应用及概要说明页面存档备份,存于互联网档案馆
  5. ^ 来源参考:(中文)资策会大事纪要,1983年页面存档备份,存于互联网档案馆
  6. ^ 来源参考:(中文)资策会大事纪要页面存档备份,存于互联网档案馆
  7. ^ 来源参考:(中文)资策会大事纪要,1984年页面存档备份,存于互联网档案馆
  8. ^ 来源参考:(中文)行政院主计处电子处理资料中心中文全字库——中文码介绍-BIG-5码介绍页面存档备份,存于互联网档案馆
  9. ^ 来源参考:(中文)数位杂谈 - 中文的电脑或电脑的中文?,谌家雄页面存档备份,存于互联网档案馆
  10. ^ 来源参考:(中文)CMEX财团法人中文数位化技术推广基金会 - 认识中文码:九、Big5和Big5E页面存档备份,存于互联网档案馆
  11. ^ 来源参考:(中文)与文字共舞___中文数位化发展简介[永久失效链接]
  12. ^ 来源参考:倚天中文系统、国乔中文系统
  13. ^ 来源参考:(中文)朱邦复专栏——中文微电脑之历史见证页面存档备份,存于互联网档案馆