这个问题挺有意思。涉及到两个基本要点:
第一,对于任何一种文字,它的排序方式,是否为和它的写法一样的一种天然属性?其他语言在移植这套文字时,是否必须一并移植这套文字本身的排序方式?
第二,汉语拼音本来的排序应该是怎样的?它是否能够用来实行任何排序的操作?
我们先看第二个问题,这个问题相对简单,这是在新华字典里都会注明的,也是目前台湾地区使用的注音符号的排序:
声母 bpmf dtnl gkh jqx zhchshr zcs (0)
基本韵母 aoeiuü
这个有一个非常重要的点,汉语音韵的一个最基本的“原始设定”是,所有音节都必须有声母。对于写成a、o、e、i(yi)、u(wu)、ü(yu)的拼音,他们实际要共同归在一个称为“零声母”的字母下,按照拼音(注音符号)的排序和古代音韵学的惯例,应该排在上面序列的最后一位(即上面的0)。
拼音的这套排序系统大体来自古代的声母排序,唇音放在首位,后续分组则按现代语言学进行了修正,比如软腭音gkh前提,来母和日母归并入舌音和齿音等。所以如果要把拼音用于排序功能,那应该按bo楼,po楼,mo楼,fo楼这个顺序来讲,每个字母都要带一个韵母。至于零声母到底是什么符号,读成什么,这个拼音没规定,注音符号也没讲,可以视为不参与排序功能。
但一个问题在于,作为字典检索的排序和作为语言上代替数字的排序,这两者是不一样的。语言排序是为了消除数字表达数量和序号两重功能的歧义引入的,它的唯一功能就是表达序号,所以语言排序最重要的是必须有明显的区分,尤其是前几个最常用的字母必须有高度的区分。从希腊、拉丁、西里尔到阿拉伯、希伯来、天城,世界文字涉及排序时,至少一开始的几个都有很明显的差异(这也是alphabet、abjad、abugida的来历)。但bo/po/mo/fo这个系统显然很不适合赋予语言意义的排序职能,尤其是作为前四位这种极为高频的排序。要知道即便英语ABCD在语言上差别已经挺大了,B和D在大规模使用时都还经常会混淆,更别说放四个唇声母字,尤其bo/po这种仅差一个送气的对立形式作为高频使用的排序区分会造成多少混乱。比如一串选择题答案是“bo mo po po fo bo po po fo mo”,这一串让带着各种口音的高中老师读下来,你说能记下来多少?
我们可以参考韩文的排序(写成类似汉语拼音的形式):g n d l b s 0 j q k t p h,韩文有零声母的符号,放在中间的位置。可以看出韩文也刻意隔开了相同部位的字母,并且韩文对每个字母的读音,设置了双音节,前者头音后者尾音的读法,比如ㄱ(g)读作“gi-yeog”(기역),可以说做了非常大的努力来区别排序时的语言。但拼音的同组声母比韩文多太多,模仿韩文这套系统的话就太不好记忆了。而且,替代数字排序90%以上场合用到的就是前面的不超过5个字母,所以真正有用的排序字母其实很少,但为了严谨我们又必须把拼音所有声母打乱并排出一个偏随机且只能死记的顺序,比如b/d/g/s/j/zh/p/t……之类,这显然没什么意义。
我们再回到第一个问题,既然拼音使用了拉丁字母,是否要一并移植拉丁字母的顺序?主观上说是的,因为目前拼音并没有一套自己的区分性排序语言,我们只能借用拉丁字母这套现成的语言。客观上说,这也是不得已的,因为拉丁字母的顺序已经被全世界普遍认可(某种程度上是替代数字的排序语言的lingua franca),像unicode这样的统一编码也已经默认了字母的顺序。拼音如果想在拉丁字母的基础上自立一套顺序,比如按上面b/p/m/f的方式强行规定b是字母表的第一位,在现在的计算机环境下似乎不太可能(基于注音符号也许还可以)。
另一个问题是,实际应用中,移植拉丁字母排序,我们实质上一并移植了英语的读音。这也许是另一个矛盾的方面,理论上说我们应当把排序语言读成“啊波呲得”,使用时说成“啊楼”“这题选波”,小学教学拼音的时候都会强调这是字典的“音序”。但上面说了,这套顺序只是不得已移植的,拼音根本没有适应这套系统的语言准备,所以久之它的读音也就归并入了另一个“lingua franca”——英语之中,这应该是全世界非原生使用拉丁字母语言的惯例。