看板: BudaTech ◎ 佛典电子化讨论 板主: HeavenChow |
阅读文章: 第 725/2032 篇 | 上篇 | 下篇 | 回覆 | 转寄 | 转贴 | m H d | 返回 |
发信人: maha <maha@tpts1.seed.net.tw>, 信区: BudaTech 标 题: 关於中文造字档在WIN95上的安装 发信站: 国立中山大学网路组 Mailing List (Mon Jul 7 12:00:10 1997) 转信站: Lion!ccnews.nsysu!news.nsysu!buda-tech@sccid.nsysu 来 源: sccid.nsysu.edu.tw 甲、前言 近来把玩了两片制作极佳的中文电子佛典产品,一片是佛光山所出品的《 佛光大辞典》,一片是资功会所出品的《金刚经专集》,只是两者都给中 文造字档的安装程序打败了。「运气好」的人不会感觉到有何失败,但我 相信不少人的电脑状况不会这麽幸运,尤其是一些常玩电脑的人。如果尝 到失败了,可能是看不到造字(佛光大辞典),或者无法进行安装(金刚 经专集)。 对於一个不是专业的程式设计师,我以几近「土法炼钢」的方式,提出这 个问题的可能解决方式,希望对专精程式设计者能有一些参考价值。 我所用的方法,主要是在 reg档上面下功夫。WIN95 上面的 reg,是个纯 文字档,可以直接执行,但要非常小心,因为它会去修改系统的登录资料 (存在於system.dat、user.dat的设定值)。 乙、佛光大辞典 以下是《佛光大辞典》的eudc.reg(不包含每行前面的3个bytes,这些编 号是方便讨论用的): 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC] 4 5 [HKEY_CURRENT_USER\EUDC\950] 6 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 7 8 [HKEY_USERS\.Default\EUDC] 9 10 [HKEY_USERS\.Default\EUDC\950] 11 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 12 这个 reg档,其实只要保留1、2、5、6、12五行就可以了,或是保留1、2 、10、11、12五行也可以,其它的都可以删掉。因为3、8两行在这里没作 用;而只要5、6行产生作用,系统会马上自动更新10、11(反之亦然)。 所以5、6或10、11这两组保留一组就可以了。也就是说,可以精简为如下: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 以上这五行的作用,1、2、5是格式上必须如此。3、4是去设定系统所使 用的中文造字档,这里是想把造字档设定为"C:\\WINDOWS\\EUDC.TTE"。 位於WINDOWS目录下的 EUDC.TTE,是系统内定的造字档名称。当我们刚安 装好 WIN95,在还没有安装任何中文造字档,以及还没去造字程式执行 [档案]/[关联]/[不指定对应字体]/[确定]前,系统登录资讯是这样的: [HKEY_CURRENT_USER\EUDC\950] "SystemDefaultEUDCFont"="" 也就是系统尚未指定任何造字档。如果使用者的 WIN95系统属於这一类, 那麽佛光大辞典的造字档可以顺利安装,而且安装後马上可以看到造字。 但是,当我们不符合以上条件,已经安装过其它中文造字档,或是已经在 造字程式上执行过所说的步骤,那麽在要安装佛光大辞典前,这时系统登 录资讯可能是这样: [HKEY_CURRENT_USER\EUDC\950] "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 系统已经有所指定。佛光大辞典在安装时,试图将原造字档易名,然後再 把自己的EUDC.TTE造字档覆盖上去。当要易名时却遭系统拒绝,因为这个 档案正在使用中,根本无法被易名或搬移或删除,可是安装程式并没有报 告出这项讯息,而继续它下面该完成的程序。但是,当您以後再以这片光 碟的 AUTORUN功能执行时,它每次都会问使用者要不要安装造字档(如果 已经安装好,是不会这样的)。若是把整片光碟内容复制到硬碟,执行 fkdict.exe却不会有询问安装造字档画面,大概是以 AUTORUN方式会进行 一些必要的检查吧! 丙、金刚经专集 资功会这片光碟是在WIN3.1环境上发展的,在光碟上找不到相关的 reg档 。但是,如前所述,若使用者的电脑环境够「幸运」,它会透过其它的方 式去修改系统登录档,在一次重开机後,即可顺利把造字档安装成功。 那麽,如果「不幸」呢?它会出现一个警告视窗——「EUDC.TTE档案无法 安装」,然後让使用者选择[异常终止]或[重试]或[略过];可是任你选择 哪一个,结果都是会再告诉你——「原造字档使用中,请重新开机後再行 安装」。待你重新开机,问题还是一样卡在那里,所以你根本无法玩这片 光碟。 丁、中国海字集 刚好我手上有一片轻松输入法 for windows95光碟,当中有个中国海字集 ,也是个中文造字档。这片光碟里面有个Chinatte.reg,当中相关的段落 有以下七行: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "细明体"="C:\\CHINASEA\\cswsmin.tte" 5 "新细明体"="C:\\CHINASEA\\cswsmin.tte" 6 "楷体_GB2312"="C:\\CHINASEA\\cswkai.tte" 7 跟佛光山经过精简後的 reg档相比,多出三行,但少了下面这一行: "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 中国海这个 reg档的作用,它不管使用者原先在"SystemDefaultEUDCFont" 的设定为何,都予以保留,但加入了4、5、6三行,使得当系统欲显示"细 明体"、"新细明体"、"楷体_GB2312"时,会采用它的中国海造字。 假设我先安装好了佛光山造字,然後再安装中国海造字,那麽我这部份的 系统登录会变成如下: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 "细明体"="C:\\CHINASEA\\cswsmin.tte" 6 "新细明体"="C:\\CHINASEA\\cswsmin.tte" 7 "楷体_GB2312"="C:\\CHINASEA\\cswkai.tte" 8 这会造成什麽结果呢?系统同时采用了四个造字档,当遇到"细明体"造字 跟"新细明体"造字时即使用 cswsmin.tte,当遇到"楷体_GB2312"造字时即使用 cswkai.tte,当遇到不是以上三种字体时即使用EUDC.TTE(原佛光山造字 )。这种结果对佛光造字是不利的,因为一般使用者在执行《佛光大辞典 》时,会运用到字体大概都逃脱不了以上三种系统字型,所以使用者会发 觉大辞典应有的造字都被中国海造字取代了。 中国海字集这个方法值得学习,它不会有eudc.tte档案正在使用中而动弹 不得的情况。但是它有一个很大的缺点,当使用者不是使用以上三种字体 时,比如一般的排版作业,他所看到的造字可能就有问题了。 戊、另一种安装法 网友ChrisTorng曾提供一个cswsmin.reg供我参考: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="c:\\winfont\\cswsmin.TTE" 5 针对系统内定造字档,如果能像这样由使用者任意指定,那我们的问题就 简单多了。可是,经我的实验,做了以上设定後,只要使用者再去操作造 字程式後,马上就自动改回成: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 这样,原来所设定的造字档就用不到了。 己、一些可能的做法 综合以上讨论,可以了解,一个比较彻底的安装方法是:当欲对EUDC.TTE 进行汰旧换新时,安装程式要有办法解除旧EUDC.TTE正为系统使用中而不 可异动的限制。然後执行底下这样的一个 reg档: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 "细明体"="" 6 "新细明体"="" 7 "楷体_GB2312"="" 8 第 5、6、7行是为了解除类似上述中国海字集的设定,以免有装等於没装。 这样设定,如果是在一次开机内设定完成,而使用者的系统原有内定造字 档,那麽新的EUDC.TTE无法马上发生作用,也就是使用者在萤幕上看到的 是旧造字档。这可能是旧造字档在本次开机时已被系统所载入,使用者必 须等下一次重开机後才能达到预期目标。 如果在程式设计上无法控制系统对使用中档案的保护,也就是说无法在一 次开机中解决EUDC.TTE汰旧换新的问题,那麽倒是可以分两次来做。也就 是先执行类似以下的 reg: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="c:\\winfont\\cswsmin.TTE" 5 然後在重新开机後,这时候位於 WINDOWS目录下的原造字档EUDC.TTE就可 以顺利异动了,在处理玩旧档备份及新档覆盖後,即可以执行以下 reg: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 "细明体"="" 6 "新细明体"="" 7 "楷体_GB2312"="" 8 庚、一个比较可行的做法 如果觉得以上做法有所困难或略嫌麻烦,而我们也排除中国海字集那种轻 松做法,倒是可以试试以下这个设计流程: 一、先执行以下的1st.reg: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="C:\\WINDOWS\\EUDC.TTE" 5 "细明体"="" 6 "新细明体"="" 7 "楷体_GB2312"="" 8 针对原先系统并没有指定造字档的使用者而言,这样就有效了,且系 统马上就可以使用这个新造字档。 二、如果上述步骤执行时产生错误,则安装程式自动改成执行类似以下的 2nd.reg: 1 REGEDIT4 2 3 [HKEY_CURRENT_USER\EUDC\950] 4 "SystemDefaultEUDCFont"="c:\\winfont\\cswsmin.TTE" 5 如果因为系统对使用者造字档已先有所指定,那麽 1st.reg执行时会 产生错误。这时候我们改采这个 2nd.reg,目的在於暂时转移系统对 造字档的设定,以便在下次重开机时再执行 1st.reg。 当执行完 2nd.reg後,安装程式应出现一个警告视窗,请使用者关机 後再重新安装一次。当使用者听从指示,重新关机再安装,这时候 1st.reg 就可以执行无误了。 辛、结语 安装各种不同的中文造字档,是个不得已的手段。站在中文电子佛典的立 场,很希望有一共同造字档可以供大家采用。不然,像目前这样,当我把 《佛光大辞典》上面的资讯拷贝下来,这份资讯可以跟别人交换流通吗? 如果对方是采用《金刚经专集》或是其它的造字档,这份资讯是相当不可 靠的;因为同样的造字内码,却极可能对应出相异的造字字形。 本文主要是提供给程式设计者参考,一般使用者若有类似造字档无法安装 的困扰,底下这个方法应该也可以得到某种程度的解决:「请在 WIN95关 机时选择[重新启动在MS-DOS模式](不是一般在 WIN95里面的那个MS-DOS 视窗或全萤幕模式),然後备份旧造字档、复制新造字档,再执行EXIT指 令回到 WIN95即可。」 至於造字档的各个输入法要如何安装,请参考<关於中文造字档输入法在 WIN95 上的安装与解除>一文。 maha 7/7/97 |
阅读文章: 第 725/2032 篇 | 上篇 | 下篇 | 回覆 | 转寄 | 转贴 | m H d | 返回 |
□ 台大狮子吼佛学专站 http://buddhaspace.org |