others.py 712 B

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. """其他几个拼音风格实现:
  3. Style.NORMAL
  4. Style.FIRST_LETTER
  5. """
  6. from __future__ import unicode_literals
  7. from pypinyin.constants import Style
  8. from pypinyin.style import register
  9. from pypinyin.style._utils import replace_symbol_to_no_symbol
  10. class OthersConverter(object):
  11. def to_normal(self, pinyin, **kwargs):
  12. pinyin = replace_symbol_to_no_symbol(pinyin)
  13. return pinyin
  14. def to_first_letter(self, pinyin, **kwargs):
  15. # 用数字表示声调
  16. pinyin = self.to_normal(pinyin)
  17. return pinyin[0]
  18. converter = OthersConverter()
  19. register(Style.NORMAL, func=converter.to_normal)
  20. register(Style.FIRST_LETTER, func=converter.to_first_letter)