作者rickhsu (TINNMINN/RBSAUD)
看板PCman
标题[转录]Re: 有关 PTT 是否能输入韩文的问题
时间Thu Feb 28 18:10:29 2008
※ [本文转录自 HANGUKMAL 看板]
作者: albyu () 看板: HANGUKMAL
标题: Re: 有关 PTT 是否能输入韩文的问题
时间: Thu Feb 28 18:01:49 2008
看来大家对这个能够显示韩文的 client 的需求倒是挺迫切的
虽然我现在能够控制 PCMan X 让它在某些情况下改用 EUC-KR 来显示韩文
但目前仍属实验性的阶段,也还不能直接用输入法在 PCMan X 输入韩文
那张截图上的韩文,是我先用别的 client 打进去,PCMan X 目前只能显示而已
关於输入韩文的部分我现在正在研究中,已有了些许眉目
还有一个重要的问题,PCMan X 目前仅能在 Linux 和 FreeBSD 上面运作
由於我个人并不使用微软 Windows 作业系统
因此在 Windows 平台上的 client 开发可能暂时不会这麽快动手
我预计会从 Windows 上的 Open PCMan 着手来改
不过 Open PCMan 和 PCMan X 是完全不同的东西
内部的程式码和编码处理架构截然不同,等於是要写两份程式
如果有人要参与的话,我想基本的能力可能还是需要熟悉 C++ 程式语言
因为 PCMan X 和 Open PCMan 都是用 C++ 撰写的
至少要能够看懂 C++ 的语法,才能了解它的处理方式并着手修改
关於我上一篇文章,为什麽能够让中文和韩文同时出现,我简单说明一下
基本上我的作法很简单,我先找出 PCMan X 的程式码里面
哪个部分是负责将 BIG-5 转换成 UTF-8 让系统可以显示出中文来
而後我再加了几行程式码,让 PCMan X 在绘制萤幕的某些地方的文字时
不是从 BIG-5 转到 UTF-8,而是从韩文的 EUC-KR 编码转到 UTF-8
这样,只要 EUC-KR 的字串出现在某些位置
PCMan X 就会把它们从 EUC-KR 转成 UTF-8,从而显示出正常的韩文出来
不过,光是只有在特定位置显示出韩文还是不够
主要还有几件事情要做:
一、设计编码切换的 control sequence
这是要通知 client 的终端机何时要切换到韩文,何时要回到中文的控制码
我正在考虑的是,是不是要利用 ANSI 控制码的方式来控制编码的切换
也就是设计一个特殊的 ANSI 控制码,当 client 读到这个控制码时
就会进行显示编码的切换
若要设计成具有通用性,则控制码本身最好能带有欲切换的编码名称
比如说名称为 EUC-KR 就能切到韩文,名称为 KOI-8 就能切到俄文等等
这个地方是未来使用上最重要的部分,可能要先有完善的规画
二、编码切换控制码的处理函式
订定了切换的控制码,接下来就是要写程式,修改 PCMan X
让它能够认得切换控制码,并做显示编码的切换
三、输入文字之编码切换
上面的步骤仅实作让终端机能够显示出韩文,但还不能输入韩文
还需要再修改 PCMan X 接受使用者输入内容时的编码转换的程式部分
这部分应该是最大的困难点之所在
终端机必须要能够知道使用者现在是在输入哪一种文字
可能的方法有几个,一个是设计一个选单,让使用者选择要输入何种文字
另一个方法就是自动侦测,不过相对地难度也高
现在我们在 PCMan、KKMan、PieTTY 等程式里面不能输入韩文的原因就在这里
系统接收到韩文的输入,但没办法把它转成 BIG-5 的编码
这部分可能要花不少时间来实作
有兴趣的人,或是有任何建议,非常欢迎一起来讨论
有能力开发 Windows 程式的人,请不吝参与修改 Open PCMan 的行列
因为我实在是不大会使用 Windows.....
希望在 BBS 能够自由自在输入各种语言文字的那天早一点到来啊!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.80.33
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.105.201.25
1F:推 neopro:第2点不难 第3点已实作~openpcman能很好的处理unicode输入 02/28 19:01
2F:→ rickhsu:希望有空闲的高手可以去HANGUKMAL版看看给他些意见 02/29 19:28
3F:→ rickhsu:一直转文可能很占版面...在此先谢谢各位高手.. 02/29 19:30