Skip to content

声母 Y 和 W 的问题 #27

Closed
Closed

Description

@ultimate010

类似

pinyin(u'中心', style=pypinyin.INITIALS) # 设置拼音风格
[['zh'], ['x']]

代码中声母表

_INITIALS = 'b,p,m,f,d,t,n,l,g,k,h,j,q,x,zh,ch,sh,r,z,c,s,'.split(',')

没有y和w。如果碰到Y和W开头的字,相应的字会返回空。
例如:

pinyin(u'火影忍者', style=pypinyin.INITIALS)
[[u'h'], [u''], [u'r'], [u'zh']]

我查了下资料,有的说声母不包括Y和W,所以这个返回是正常,但这样处理导致应用不好做,只能用首字母模式替代。是否新加一个接口,加上Y和W的返回,或者,说明上告知这个情况,以免别人使用的时候碰到问题。

Activity

  1. mozillazg commented on Oct 21, 2015

    @mozillazg
    Owner

    嗯,谢谢你的建议。我之后会加一个 FAQ ,并把这个问题加到 FAQ 中。

  2. mozillazg commented on Nov 12, 2015

    @mozillazg
    Owner
  3. hotoo commented on Mar 23, 2016

    @hotoo

    @ultimate010 你的需求是否使用首字母风格更合适点?

    不仅是 y, w 开头的拼音有这个问题,还有些没有声母的(比如 啊,饿,按,昂 等)情况也可能会给你带来困扰。

  4. ultimate010 commented on Mar 24, 2016

    @ultimate010
    Author

    @hotoo 嗯,我的需求首字母确实更合适,不过一般情况下可能不知道声母中的Y、W问题,导致想当然的使用声母模式,结果出错。

  5. Artoria2e5 commented on Sep 19, 2016

    @Artoria2e5
    Contributor

    有的说声母不包括Y和W

    汉语拼音的声母当然包含 y, w……又不是注音里面要另分一类介母容纳 [iy] [uw]。

  6. gumblex commented on Sep 19, 2016

    @gumblex
    Contributor

    @Artoria2e5 汉语拼音的声母当然不包含 y, w。参见《汉语拼音方案》

  7. Artoria2e5 commented on Sep 19, 2016

    @Artoria2e5
    Contributor

    @gumblex 欸,也算介母吗……(

  8. zaqzrh commented on Feb 15, 2017

    @zaqzrh

    应严格按《汉字拼音方案》来做才是正道的!

  9. zgdlime commented on Sep 1, 2018

    @zgdlime
  10. pinned this issue on Dec 30, 2018
  11. charlesXu86 commented on Apr 29, 2020

    @charlesXu86

    还有一个问题,就是复韵母的问题,比如:ai2->爱,这类问题目前无法识别

  12. charlesXu86 commented on Apr 29, 2020

    @charlesXu86

    @ultimate010 你的需求是否使用首字母风格更合适点?

    不仅是 y, w 开头的拼音有这个问题,还有些没有声母的(比如 啊,饿,按,昂 等)情况也可能会给你带来困扰。

    对,这类复韵母的问题没有解决

  13. mozillazg commented on Apr 30, 2020

    @mozillazg
    Owner

    @charlesXu86 没明白你说的问题是啥,如果说的是没声母的问题的话,复韵母获取不到声母是预期的,因为它确实没有声母。

  14. JohnHerry commented on Apr 2, 2022

    @JohnHerry
        感觉拼音方案的声韵母划分,很多时候确实是反声学直觉的。拼音方案就有声母,韵母,介母,整体认读音节 这样的划分。但是这样的分类,没办法直接映射到声学的音素类型划分【清音、浊音或者元音、辅音】上。它就是一个注音拼写方案。
        但是这个方案有多方便吗?也不是。比如 “火影忍者” 的第二个汉字。一般情况下 Y是声母吗?是声母。比如ya3, yan3,它就是声母。但是“火影”的“影”,拼音是ying3, 它是汉语拼音十六个整体认读音节之一,发的是其韵母部分 ing的音,y相当于没有发音,或者被涵盖到整体发音里了。所以认为这个拼音没有声母,y不是声母。其实如果跟 a[啊], an【安】一样,把ing也作为一个独立音节韵母,影就拼音成 ing3 就不至于发生这种问题。但是拼音方案就这么写的,没有办法。
        其实如果不是把“**整体认读**”作为跟声、韵母一个级别的分类的话,认为 “影”的声母是Y,也是没问题的。拼写上它占了声母的位置,认为它是声母也不影响发音。
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions