-
NEW 命令行程序支持通过 -s 指定新增的
Tone3和FinalsTone3拼音风格$ pinyin -s Tone3 请至少输入一个汉字 qing3 zhi4 shao3 shu1 ru4 yi1 ge4 han4 zi4 $ pinyin -s FinalsTone3 请至少输入一个汉字 ing3 i4 ao3 u1 u4 i1 e4 an4 i4 -
Changed use pinyin-data v0.4.1
-
Changed 不再使用
0表示轻声(因为之前并没有正确的实现这个功能, 同时也觉得这个功能没必要)。 顺便修复了 Tone2 中ü标轻声的问题(像侵略 -> qi1n lv0e4) -
NEW 新增
Tone3和FinalsTone3拼音风格。hans := "中国人" args := pinyin.NewArgs() args.Style = pinyin.Tone3 fmt.Println("Tone3:", pinyin.Pinyin(hans, args)) // Output: Tone3: [[zhong1] [guo2] [ren2]] args.Style = pinyin.FinalsTone3 fmt.Println("FinalsTone3:", pinyin.Pinyin(hans, args)) // Output: FinalsTone3: [[ong1] [uo2] [en2]]
- Changed use pinyin-data v0.4.0
- NEW 新增
func Convert(s string, a *Args) [][]string - NEW 新增
func LazyConvert(s string, a *Args) []string
之所以增加这两个函数是希望 a 参数支持 nil
- Changed use pinyin-data v0.3.0
- Changed use pinyin-data v0.2.0
- Improved golint and gofmt
-
NEW 命令行程序支持指定拼音风格:
$ pinyin -s Normal 你好 ni hao
-
Bugfixed 解决韵母 i, u, ü 的问题:根据以下拼音方案,还原出正确的韵母 #8, python-pinyin#26
i 行的韵母,前面没有声母的时候,写成:yi(衣),yɑ(呀),ye(耶), yɑo(腰),you(忧),yɑn(烟),yin(因),yɑnɡ(央),yinɡ(英),yonɡ(雍)。
u 行的韵母,前面没有声母的时候,写成wu(乌),wɑ(蛙),wo(窝), wɑi(歪),wei(威),wɑn(弯),wen(温),wɑnɡ(汪),wenɡ(翁)。
ü行的韵母跟声母j,q,x拼的时候,写成ju(居),qu(区),xu(虚), ü上两点也省略;但是跟声母l,n拼的时候,仍然写成lü(吕),nü(女)。
注意
y既不是声母也不是韵母。详见 汉语拼音方案 -
Bugfixed 解决未正确处理鼻音 ḿ, ń, ň, ǹ 的问题:包含鼻音的拼音不应该有声母
-
CHANGE 改为使用来自 pinyin-data 的拼音数据。
-
NEW 命令行程序支持从标准输入读取数据(支持管道和重定向输入):
$ echo "你好" | pinyin nǐ hǎo $ pinyin < hello.txt nǐ hǎo
- NEW
Args结构体新增 field:Fallback func(r rune, a Args) []string用于处理没有拼音的字符(默认忽略没有拼音的字符):a := pinyin.NewArgs() a.Fallback = func(r rune, a pinyin.Args) []string { return []string{string(r + 1)} } fmt.Println(pinyin.Pinyin("中国人abc", a)) // Output: [[zhong] [guo] [ren] [b] [c] [d]] // or pinyin.Fallback = func(r rune, a pinyin.Args) []string { return []string{string(r)} } fmt.Println(pinyin.Pinyin("中国人abc", pinyin.NewArgs())) // Output: [[zhong] [guo] [ren] [a] [b] [c]]
- fix "当字符串中有非中文的时候,会出现下标越界的情况"(影响
pinyin.LazyPinyin和pinyin.Slug(#1)) - 调整对非中文字符的处理:当遇到没有拼音的字符时,直接忽略
// before fmt.Println(pinyin.Pinyin("中国人abc", pinyin.NewArgs())) [[zhong] [guo] [ren] [] [] []] // after fmt.Println(pinyin.Pinyin("中国人abc", pinyin.NewArgs())) [[zhong] [guo] [ren]]
yu,y,w不是声母
- 新增
func NewArgs() Args - 解决
Args.Separator无法赋值为""的 BUG - 规范命名:
NORMAL->NormalTONE->ToneTONE2->Tone2INITIALS->InitialsFIRST_LETTER->FirstLetterFINALS->FinalsFINALS_TONE->FinalsToneFINALS_TONE2->FinalsTone2
- 更新拼音库
- Initial Release