带条件的前置路径V2.0

河图4.18.0和洛书2.7.0中带条件的前置路径带来一次重要的升级,引入了*语法和!语法

其中*语法是最重要的更新,!语法只是作为*语法的对称性语法;

所谓*语法,就是声明与指定韵母匹配的所有声母(除零声母外),如:

*ang:a=ang
//该式等同于b/c/d/f/g/h/k/l/n/m/p/r/s/t/w/y/z/sh/ch/zh:a=ang
//或~j/q/x/0:a=ang

使用*语法能够有效提高自定义双拼方案的表达式可读性。

在不使用*语法时自然码方案的表达式如下:

~0:u=u
sh/zh/g/h/k:w=ua
~b/f/j/l/n/m/p/q/w/x/y/0:v=ui
j/l/n/q/x/y:t=ue
~b/f/j/m/p/q/w/x/y/0:o=uo
~b/f/n/m/p/w/0:p=un
sh/ch/zh/g/h/k:y=uai
~b/f/m/p/w/0:r=uan
sh/ch/zh/g/h/k:d=uang
l/n:v=v
~f/g/h/k/w/0:i=i
d/j/l/q/x:w=ia
b/d/j/l/n/m/p/q/t/x:x=ie
b/j/l/n/m/p/q/x/y:n=in
d/j/l/n/m/q/x:q=iu
b/d/j/l/n/m/p/q/t/x/y:y=ing
b/d/j/l/n/m/p/q/t/x:m=ian
b/d/j/l/n/m/p/q/t/x:c=iao
j/l/n/q/x:d=iang
j/q/x:s=iong
~j/q/r/x:a=a
~f/j/q/r/x/y:l=ai
~j/q/x:j=an
~f/j/q/w/x:k=ao
~j/q/x:h=ang
~b/f/j/p/q/w/x:e=e
~ch/zh/c/j/q/r/s/t/x/y:z=ei
~d/j/l/q/t/x/y:f=en
~j/q/x/y/0:g=eng
b/f/m/p/w/y/0:o=o
~b/j/q/w/x:b=ou
~sh/b/f/j/m/p/q/w/x/0:s=ong
i=ch
u=sh
v=zh
a:a=a
o:o=o
e:e=e
a:n=an
e:r=er
e:n=en
o:u=ou
a:o=ao
a:i=ai
e:i=ei
a:h=ang
e:g=eng

而使用*语法,则可以写成下面的形式:

*u:u=u
*ua:w=ua
*ui:v=ui
*ue:t=ue
*uo:o=uo
*un:p=un
*uai:y=uai
*uan:r=uan
*uang:d=uang
*v:v=v
*i:i=i
*ia:w=ia
*ie:x=ie
*in:n=in
*iu:q=iu
*ing:y=ing
*ian:m=ian
*iao:c=iao
*iang:d=iang
*iong:s=iong
*a:a=a
*ai/0:l=ai
*an/0:j=an
*ao/0:k=ao
*ang/0:h=ang
*e/0:e=e
*ei/0:z=ei
*en/0:f=en
*eng/0:g=eng
*o/0:o=o
*ou/0:b=ou
*ong:s=ong
i=ch
u=sh
v=zh
a:n=an
e:r=er
e:n=en
o:u=ou
a:o=ao
a:i=ai
e:i=ei
a:h=ang
e:g=eng

效果可谓立竿见影;

另一个升级是解除了对输入部分不能是拼音的限制,比如自然码中无声母拼音可以写成a:n=0an,其中0是声明了零声母。这个写法能有效防止在后续的输入中误触发其它带条件的前置路径。这里举一个微软双拼的例子。

在微软双拼中,无声母拼音都是以o开头的:

微软双拼图示

这里我仅取其中两个来举例:

o:o=o
o:a=a

此时如果我们先输入o再输入a,会出现只剩下a的情况:

我们需要调整一下表达式的输入部分:

o:o=0o
o:a=0a

输入结果就能够符合预期了,而且带有零声母的拼音结果也更符合输入者的实际意图。

results matching ""

    No results matching ""