[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 关于中文locale中汉字的排序



Hi hashao, nice to talk you again.

On Wed, Sep 13, 2000 at 06:45:00AM +0800, hashao wrote:
> 
> 我觉得这一点正是我们之间的分歧所在,我不知道我的观点时否正确。我在
> 这里说一下我的看法。
> 
> 我以为中文 collate 实际上是与中文程序无关的,它并不是给中文程序员来
> 用的,它是给不懂中文的程序员,或者说不懂外文的程序员用来写国际化
> 程序来用的。中文程序员要想写中文排序,大可以用一个拼音表,或者笔画
> 表来做直接排序,根本不用 collation ,那么我们岂不是根本不需要在 locale
> 里有这么一项了?因为程序员根本不用,同理, locale 中其他部分也并不
> 需要, CTYPE, MESSAGE 等等都可以直接嵌入程序而不依靠任何 locale or
> XLOCALE ,一样可以写成符合中文习惯的程序。
> 

locale的各个catogery被认为是反映文化习惯的基本方面. 但具体到各语言每个
catogery的重要性不尽相同. Collation 是 alphabetical语言特有的东西, 在那
些语言里不遵寻某种特定的规则, 就是错. 作为ideographical语言汉字本没有内
在的顺序, 从这个意义上来讲, collation对中文地确可有可无.

似乎您设想的情形是有程序简单的用strcoll将汉字排序再输出. 您认为以拼音为序
输出才符合中文习惯. 未必吧. 我觉得在这种简单的情况下怎麽排序都无所谓. 说
实话, 我在日常生活中见过以姓氏笔画排序的, 还真没见过哪怕一次以拼音排序的.

如果这就是您墙(damn it, chinpu3里没那个字!)调使用拼音排序的原因, 恕我不敢苟同.

当我请教大家拼音排序是否有助于中文程序, 我心中想的是使用与拼音有关的输入法
的中文输入程序, 因为我个人觉得这是唯一拼音排序有可能有帮住的地方.


> 空口无凭,总是要个例子来说明拼音排序的问题。譬如我们使用的电邮
> 软件,在目录中的排序,如果以 subject 来进行,譬如在 mutt 下,
> 设定 LC_COLLATE = zh_CN.GB2312 ,如果使用部首笔画排序,则需要
> 数笔画,然后再从部首中判断我们要找的条目。而程序不会告诉我们
> 目前所在位置的笔画数是多少,比我们想要的数是多还是少,这里,
> 我们又要数目前条目的笔画。用拼音排序,基本上是一样,只是用拼
> 音代替了数笔画,而拼音是快很多了。这是从用户角度,而从程序员

为什么会快呢? 在我看来: 如果你的程序不提供检索功能, 凭眼睛看, 两者
应该没什么区别吧. 如果程序提供检索, 输入要检索的以后, 快慢要看检索
程序怎麽写得了.

> 鱼与熊掌,如何兼得?正如 saka 前面说过,我们可以利用不同
> 的 collate 环境来解决,如可以在使用拼音排序时用
> LC_COLLATE = zh_CN.GB2312,在笔画排序时用 LC_COLLATE = iso10651.GB2312
> 既然 unicode 中汉字本身是笔画排序,直接就用也没
> 有什么问题。啊,又多了一个 locale ,他们可能不接受。

hashao兄在说笑吧?

> 
> 鉴于目前没有完整的拼音对照表,目前只能使用笔画排序,我只是
> 提议对日后使用拼音排序加以考虑。因为中文化依靠的是国际化,
> 仅仅是纯中文程序是不够的。

"日后......加以考虑"?! 情况恐怕只会越来越怀. 现在有7000字无拼音, 等
SuperCJK出来大概会有50,000字没拼音了. 我怀疑有些字连专家都不知道怎麽
念.


Regards,
Rigel


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




Reply to: