avidyalalala / sunpinyin

Automatically exported from code.google.com/p/sunpinyin
0 stars 0 forks source link

应当接受 ve 作为和 ue 同等的合法拼音 #87

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
本身 v 用来替代 ü 进行输入的,在输入 
“略”时,也应当可以用 ve 输入。

u列的韵母,前面没有声母的时候写成wu(乌),wa(蛙),wo�
��窝),wai(歪),wei(威),wan
(弯),wen(温),wang(汪),weng(翁)。
ü列的韵母,前面没有声母的时候,写成yu(迂),yue(约)�
��yuan(冤),yun(晕)。
ü列的韵母跟声母j,q,x拼的时候,写成ju(居),qu(区)��
�xu(虚),但是跟声母l,n的时候写成lü
(吕),nü(女)。
iou,uei,uen前面加声母的时候,写成iu,ui,un。例如niu(牛��
�,gui(归),lun(论)。

Original issue reported on code.google.com by m...@linzheming.com on 8 Apr 2010 at 9:03

GoogleCodeExporter commented 9 years ago

Original comment by tchai...@gmail.com on 10 Apr 2010 at 12:47

GoogleCodeExporter commented 9 years ago
其它音节的问题似乎解决了,但 lüe 和 nüe 
的问题仍旧存在:输入“lve”时只有被分为“lü 
e”的词出现,输入“nve”时只有被分为“nü 
e”的词出现。(感觉上似乎是开发者在写词法解析器时其它�
��况都考虑到了,就忘了考虑这个情况,这个问题应该很好修
正吧 :))

Original comment by CasperVector on 20 Oct 2010 at 3:36

GoogleCodeExporter commented 9 years ago
我也有这个问题,虐字需要nue输入,不能nve输入。

Original comment by happyaro...@gmail.com on 25 Dec 2010 at 10:58

GoogleCodeExporter commented 9 years ago
写了一个补丁来实现上述要求。
这个补丁是针对 sunpinyin 
主程序的;除此之外,还需要将词表中的 lue、nue 全部改为 
lve、nve,这一部分的细节详见 
http://code.google.com/p/sunpinyin/issues/detail?id=271#c1 中的附件。

Original comment by CasperVector on 15 Aug 2011 at 6:07

Attachments:

GoogleCodeExporter commented 9 years ago
《汉语拼音方案》中规定:
ü 
行的韵母(ü、üe、üan、ün)跟声母j,q,x拼的时候,写成:ju(��
�),qu(区),xu(虚),ü上两点也省略;但是跟声母n,l拼的时�
��,仍然写成:nü(女),lü(吕).
结论:ü、üe、üan、ün跟声母n,l拼的时候是nü lü nüe lüe
二.
GF 3006-2001《汉语拼音方案的通用键盘表示规范》规定:
4.3.2 
汉语拼音方案韵母表中ü行韵母(ü、üe、üan、ün)中的字母
 ü,凡是汉语拼音方案中规定可以省略 
ü上两点写成u的,在通用键盘上用键位 U 
表示;不能省略两点,仍需写作ü的,在通用键盘上用键位 V 
替代表示.
结论:nü lü nüe lüe键盘应输入为nv lv nve lve

所以说本来nve、lve才是正确的拼音,而nue、lue应理解为一种��
�错拼写,是不标准拼写,sunpinyin只认了不标准拼写而不认标�
��拼写是不对的

Original comment by yangkyo...@gmail.com on 9 Nov 2011 at 1:07

GoogleCodeExporter commented 9 years ago
这个patch还是有一些问题,除了在valid_syllable中将ve和ue都对应
起来,在finals中也应该是对应的才对,否则在encode/decode的时�
��可能就会出现问题了…

Original comment by find...@gmail.com on 4 Mar 2012 at 2:05

GoogleCodeExporter commented 9 years ago
finals 和 inner_fuzzy_finals 都改了呀,包括在 pinyin_data.py 和 
pinyin_data.cpp 中……

Original comment by CasperVector on 4 Mar 2012 at 2:17

GoogleCodeExporter commented 9 years ago
但是ve和ue还是会被对应为不同的id,这样在encode/decode的时候�
��能会出错的…

Original comment by find...@gmail.com on 4 Mar 2012 at 2:51

GoogleCodeExporter commented 9 years ago
好吧,其实我只是照葫芦画瓢跟着感觉改的,里面具体的规��
�我也不知道 = =

Original comment by CasperVector on 4 Mar 2012 at 3:00

GoogleCodeExporter commented 9 years ago
以及求问那应该怎么改呢 @@

Original comment by CasperVector on 4 Mar 2012 at 3:12

GoogleCodeExporter commented 9 years ago
需要将finals改为类似map的结构,例如,

finals = { 
{"", 0},
{"a", 1},
{"o", 2},
...
};

其中"ue"和"ve"对应的syllable id是相同的。

并且要修改decodeSyllable这个函数,现在encodeSyllable是直接在piny
in_table里查,所以倒是不用更改。

Original comment by find...@gmail.com on 5 Mar 2012 at 2:55

GoogleCodeExporter commented 9 years ago
呃,到这里我可能就爱莫能助了,对整个 sunpinyin 的 codebase 
不熟悉……
不过我按前面提出的办法 patch 
了之后倒是工作得挺好的。没再发现什么大的问题 @@

Original comment by CasperVector on 5 Mar 2012 at 3:18

GoogleCodeExporter commented 9 years ago
Fixed in latest git; open-gram has been updated accordingly.

Original comment by CasperVector on 24 Aug 2012 at 2:44