香港增补字符集(Hong Kong Supplementary Character Set,简称 HKSCS)是香港政府基于
繁体中文电脑操作环境中最流行的
Big5(
大五码)之上扩展的
字符集标准,是现时香港的中文资讯交换
内码标准。
香港增补字符集以前称为《政府通用字库》(Government Common Character ),本来只是
香港政府内部统一使用的造字文件,有三千多字。
简介
由于香港电脑业界不断要求政府迎合本地需要,提出官方的字符集方案,以便与政府进行文件来往,于是香港政府便在1995年把这个内部使用的标准公开。到了1999年,此字集增加到四千多字,并改为现名。字符集所收罗的字,主要包括香港的地名、
人名用汉字、
粤语汉字及
异体字,也有小部份
简体字。除此之外,此字符集亦把
倚天中文系统收录的日语平假名、
片假名及俄语
西里尔字母包括在内。此字符集由中文界面咨询委员会管理,仍在不断扩编之中。最新版本为 2005 年 5 月推出的 HKSCS-2004,收录 4941 个字符。
源起
1980年代中期,
台湾的中文电脑的通行
内码为
Big5编码。1990年代初期,香港电脑应用逐渐普及,而政府各部门也电脑化。和台湾一样,香港也是使用繁体中文的地方,是故也采用了 Big5 编码。可是 Big5 码本身没有收录香港常用的广东字、一些人名地名用字、一些学科用字,于是香港政府各部门使用 Big5 的外字区,自行补上这些字,并在政府内部使用。香港业界也不断要求政府,本地需要一套标准字符集来作电子文件来往。到1995年,互联网在香港起步,而政府也推出了自己的网站。各人电脑的中文系统虽然都用 Big5 编码, 但都没有政府用的外字,更可能用了自己的外字,使在浏览网页时不能显示正确的字符。香港政府于是把内部使用的 Big5 外字集公开,让各界可以下载安装这批字,使电脑能显示正确的字符,并把这套字命名为「政府通用
字库」。
负责机构
负责整套字符集管理的为中文界面咨询委员会, 简称「中咨会」, 英文名 Chinese Language Interface Advisory Committee (CLIAC)。1999年5月由前资讯科技署成立, 现隶属「政府资讯科技总监办公室」。中咨会辖下有两个工作小组: 中文电脑用字工作小组、中文资讯科技工作小组。中文电脑用字工作小组审核待增收字符, 纳入和编配码位等工作;中文资讯科技工作小组解决技术问题及与国际标准 ISO/IEC 10646(简称 ISO10646)接轨等工作。各组成员来自学术界、语言学界、出版界和资讯科技界等。
字符分类
在 HKSCS-2004 版本,
汉字字符共 4500 个,其中 3353 字可在大型的字典(如《
汉语大字典》)中查到,包括简化字、
异体字、日语汉字等。其余在各大中文字典中查不到的字中,有
粤语方言字(有些可在
方言字典及学术著作中查到)、人名、公司名、地方名、变形部首、附形、
讹字。有些字来自
入境事务处、公司注册处、
税务局、地政总署。
各类符号共 441 个,有汉字笔形、
汉语拼音字母、国际音标符号、汉字符件、画表符号、
日本平假名、
片假名等。
部首
香港增补字符集在 2005 年才有画数、部首、粤音等资料给用户参考, 还说明方便检索, 而非作为规范标准。(
汉字的部首在不同的字典中, 归部也不尽相同)
关系
香港增补字符集当初因为是补充 Big5 的收字不足,使用其外字区而发展的,所以受制于 Big5 的编码架构,外字的总数最多只能到 6217 个(每区块 157 字,有 39 区块半)。除去已用码位,剩下千余个码位,其中有部分会保留给用户造字。
早期的
倚天中文系统、国乔中文系统等对造字缺乏管理,而又没有文字专家的审定,因此当时造字很是混乱,有些甚至可能只是临时使用的「错字」(寻遍各大字典、专书也查不到的字);制作这些中文系统的厂商又对字形、字体缺乏认识,有些字会因为字体不同而字形稍有差别,分别编进了两个码位中。又有同一字有系统区及造字区两个码位,有些联绵词只收其一不收其二;这个问题带到了政府通用字库和香港增补字符集中,字集因要反向相容而跳过了一些码位。
Big5 原来的编码,只有
汉字、标点、
注音符号等字符及少数图形,后来经过
台湾厂商的增收,多了 7 个「倚天字」(如里、恒)及日文的假名,最后这批字符又被香港增补字符集收入。
香港增补字符集所使用的 Big5 的外字区分几个区段:
「造字区一」(FA40 — FEFE):早期的 GCCS 字符集已经填满这一段。
「造字区二」(C6A1 — C8FE):倚天用了这段来放日文假名等符号。这些符号在 HKSCS 1999 年的版本被收纳。
「造字区三」(8140 — A0FE):香港增补字符集把这段开头的 (8140 — 84FE) 保留给用户,新增的字符只用其余的码位。
「厂商造字区」(F9D6 — F9FE):这段开始的七个码位用来存放里、恒等「倚天字」,之后的码位被
微软的繁体中文 Windows 用来存放制表符号。后来 HKSCS 1999 年版本将之全部收纳。
可是一般提及 HKSCS 的文件,包括来自香港政府的,都没有注明 HKSCS 以外的一般
繁体字编码(即是 Big5 本身)使用哪个版本。Big5 在 2003 年前就只有一个版本,不会造成混淆,但 HKSCS-2004 的文件仍没有指定 Big5 部份是 2003 年之后还是之前的版本,虽然到目前为止并没有任何系统使用 Big5-2003。
编码
1995 年的政府通用字库本来是内部使用的,到 1999 年才成立中咨会专门去负责增收及审核字符的工作,并与 ISO 10646 接轨。中咨会的成员会把香港增补字符集交到
ISO 的表意文字小组中,尽量让其所有字符纳入国际标准。表意文字小组会定期开会审议
汉字的收纳等工作, 成员是来自世界各地的专家。
香港字在 Big5HKSCS 内的码位,都能对应到 ISO 10646 中日韩
汉字区段中的码位,或 Private Use Area(用户造字区,简称 PUA)内。随著版本的更新,造字区的字会逐渐搬到中日韩
汉字扩展区内。将所有已纳入的 HKSCS 字符搬到正式中日韩
汉字扩展区段(非 PUA 区段)的工作在 2005 年完成,对应于 ISO 10646:2003 的第一修订版,相应的 Unicode 版本为 Unicode 4.1。
不过,因为目前流传极多使用旧版 HKSCS 的系统产生出来的文件,为了方便过渡,在 HKSCS 的定义中,在 Unicode PUA 所分配的字符位置会予以保留,不会给新加入而且未分配正式 Unicode 位置的字符使用。
字体的提供
最初的香港字,是由早期的
台湾厂商 (像倚天等) 和用户自行造字所得。因为大部份都不合标准和没有流通,所以没有沿用至今。后来,
Truetype 字体盛行,中文字的厂商都开始加入香港字,但因为是商业性质,没有足够的流通量。另外,在支持超大字库的字体方面,因为 HKSCS 某些字和
GBK 码有冲突,厂商经常会因市场关系舍弃一些香港字。
香港政府的「数码 21」网页 (详见下面的外部链接) 有提供由华康授权的香港字参考
宋体,但一来是使用条款苛刻而不可能广泛使用,二来是没有推广,致使政府内部人员也不知道这套字体的存在。
目前由商业主导的情况渐有改变,近况如下:
开放源码字体
文鼎在 1999 年捐了四套字体 (繁简明体和楷书) 给自由软件界,但当中没有香港字。后来高盛华 (Arne Götje ) 发起计划将繁简体合并,称之为 CJK Unifonts。当中,Akar、Zunix 等人在 2004 年末另外发起香港 freefonts 计划,将香港字加入CJK Unifonts之内,到了 2005-09-01 完成将 HKSCS 2004 加入 CJK Unifonts 的工作。目前 CJKUnifonts 已被收录在各大
Linux distribution 之内。
商业字体
最早一套宣称支持 HKSCS 2004 的字体,是华康的「金蝶 2006 H.K. Edition」,在 2005-11-14 推出。
增收字符
「中谘会」会让各界申请新字符,不过要经过审核批准,才会给字符编配码位。而用户自造的字,可视乎需要加入,特别是一些人名地名等会经过
互联网发送的字。另外,这些增收的字符不一定能够收录在 Unicode 之内,例如一些能够表示成 Unicode 复合字符的字或符号,便不会收录。
另外因为现在余下的 big5 兼容码位不多(2005 年 9 月为止只剩 487 个未用),中文界面咨询委员会暂定打算在 2007-08 年停止为字符提供 big5 码位,并在之前尽量协助业界和一般用户过渡至 Unicode。
操作系统的支持
香港增补字符集开始时只有 Windows 版本的 Big5 编码, 后来与 ISO 10646 接轨后, 才开始在 Linux、MacOS 等系统中使用。理论上因为 ISO 10646 已收纳香港增补字符集, 任何支持 ISO 10646 的系统都可使用香港字。但实际上,许多旧的程式内部是使用 UCS-2(每个字占 2
字节)储存字串,无法表示许多放在基本多文种平面 (简称 BMP) 以外的所有香港字。只有使用 UCS-4(每个字占 4
字节)作为内部储存字串编码的程式,才能够完整地显示所有香港字。
Windows显示和处理字符
根据 Microsoft 的网页,在 Longhorn 或以后的版本将不再支持 HKSCS-2004 的 Big5 扩展编码(通常称为 Big5HKSCS),而只使用 Unicode 中的香港字支持。
至于 HKSCS-2001,可以在
微软的网页(请看下面的外部链接)中下载香港增补字符集;它支持 Windows 98、NT、2000 和 XP。可是安装该套件和其它软体(例如
Office)需要有一定的次序,而且它和别的 Big5 外字集并不相容,必须先浏览有关文件方可安装。
自从 glibc 在 2000 年加入香港字 (同时包括 big5hkscs 和 unicode 码两者的转换表) 的支持后,就几乎没有再更新过,其中的 Big5 部份更是来自年代久远的 Big5 / Unicode 转换码表,当中有不少错误之处,令一些文件和网页无论使用 Big5 还是 Big5HKSCS 转换至 Unicode 都会出现错误。暂时未有任何更新。相反地,如果单是使用 unicode 作为系统编码,处理香港字则没有问题。
桌面环境方面,
KDE 3.x 桌面因为使用 QT 3.x,而 QT 3.x 内部使用 UCS-2 储存字符,因此 KDE 3.x 只能有限度地显示少部份香港字。这情况期望在 KDE 4.0 解决。
GNOME 没有这方面的问题,只要是使用 Unicode,在 2004 至 05 年间就已经能够显示所有 BMP 以外的字符。
Mac OS X 10.0 至 10.2 版本支持的版本为 HKSCS 1999,暂时未知道最新版的 Mac OS X 支持哪个版本。
使用地区
除了香港使用香港字以外,现在
台湾的中文电脑也有少部分使用它的 (台湾也有自己的一两套外字集)。而同样使用
粤语和
繁体字的澳门当然也使用这套字集,也许还有其它华语地区会使用。
评价
香港增补字符集因为一直需要和 Big5 码相容,所以可以说是一套先天不足的字集。它要处理前期许多遗留下来的问题,也有外字字数上限,致使香港政府打算在 2007-08 年放弃它的 Big5 编码。如果系统使用 Unicode 编码,用它反而较好。当今的趋势是使用 Unicode,它有足够的字符,几乎可以满足文字学家、字典专家的用字要求。但因为相容性的关系,要将整个系统由使用 Big5 码转换至 Unicode 颇费时,因此还会有人暂时不愿意转换。