コード例 #1
0
ファイル: zh.py プロジェクト: loco-lab/pyglossary
def pinyin_indexes(content):
	pinyin = find_pinyin(content)
	# assert type(pinyin) == unicode

	if not pinyin or pinyin == "_":
		return ()

	indexes = set()

	# multiple pronunciations
	for pinyin in re.split(r",|;", pinyin):

		# find all pinyin ranges, use them to rip pinyin out
		py = [
			r._slice(pinyin)
			for r in color.ranges_of_pinyin_in_string(pinyin)
		]

		# maybe no pinyin here
		if not py:
			return ()

		# just pinyin, with diacritics, separated by whitespace
		indexes.add("%s." % color.utf(" ".join(py)))

		# pinyin with diacritics replaced by tone numbers
		indexes.add("%s." % color.utf(" ".join(
			["%s%d" % (
				color.lowercase_string_by_removing_pinyin_tones(p),
				color.determine_tone(p)) for p in py])))
	return indexes
コード例 #2
0
ファイル: zh.py プロジェクト: Forwardboy009/pyglossary
def pinyin_indexes(content):
    pinyin = find_pinyin(content)
    # assert type(pinyin) == unicode

    if not pinyin or pinyin == '_':
        return ()

    indexes = set()

    # multiple pronunciations
    for pinyin in re.split(r',|;', pinyin):

        # find all pinyin ranges, use them to rip pinyin out
        py = [r._slice(pinyin) for r in color.ranges_of_pinyin_in_string(pinyin)]

        # maybe no pinyin here
        if not py:
            return ()

        # just pinyin, with diacritics, separated by whitespace
        indexes.add('%s.' % color.utf(' '.join(py)))

        # pinyin with diacritics replaced by tone numbers
        indexes.add('%s.' % color.utf(' '.join(
            ['%s%d' % (
                color.lowercase_string_by_removing_pinyin_tones(p),
                color.determine_tone(p)) for p in py])))
    return indexes
コード例 #3
0
ファイル: zh.py プロジェクト: magnum79/pyglossary
def pinyin_indexes(content):
    pinyin = find_pinyin(content)
    # assert type(pinyin) == unicode

    if not pinyin or pinyin == '_':
        return ()

    indexes = set()

    # multiple pronunciations
    for pinyin in re.split(r',|;', pinyin):

        # find all pinyin ranges, use them to rip pinyin out
        py = [
            r._slice(pinyin) for r in color.ranges_of_pinyin_in_string(pinyin)
        ]

        # maybe no pinyin here
        if not py:
            return ()

        # just pinyin, with diacritics, separated by whitespace
        indexes.add('%s.' % color.utf(u' '.join(py)))

        # pinyin with diacritics replaced by tone numbers
        indexes.add('%s.' % color.utf(u' '.join(
            map(
                lambda p: '%s%d' %
                (color.lowercase_string_by_removing_pinyin_tones(p),
                 color.determine_tone(p)),
                # for each sub word
                py))))
    return indexes
コード例 #4
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testFristTone(self):
     self.assertEqual(1, colorize_pinyin.determine_tone('fāng'))
     self.assertEqual(1, colorize_pinyin.determine_tone('yī'))
コード例 #5
0
 def testMixedPinyin(self):
     self.assertEqual(3, colorize_pinyin.determine_tone('bǎiwén'))
コード例 #6
0
 def testNonPinyin(self):
     self.assertEqual(0, colorize_pinyin.determine_tone('бурда'))
コード例 #7
0
 def testZeroTone(self):
     self.assertEqual(0, colorize_pinyin.determine_tone('de'))
     self.assertEqual(0, colorize_pinyin.determine_tone('ning'))
コード例 #8
0
 def testFourthTone(self, ):
     self.assertEqual(4, colorize_pinyin.determine_tone('àn'))
     self.assertEqual(4, colorize_pinyin.determine_tone('dìnggòu'))
コード例 #9
0
 def testThirdTone(self):
     self.assertEqual(3, colorize_pinyin.determine_tone('fǎn'))
     self.assertEqual(3, colorize_pinyin.determine_tone('lǚ'))
コード例 #10
0
 def testSecondTone(self):
     self.assertEqual(2, colorize_pinyin.determine_tone('gán'))
     self.assertEqual(2, colorize_pinyin.determine_tone('xún'))
コード例 #11
0
 def testFristTone(self):
     self.assertEqual(1, colorize_pinyin.determine_tone('fāng'))
     self.assertEqual(1, colorize_pinyin.determine_tone('yī'))
コード例 #12
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testSecondTone(self):
     self.assertEqual(2, colorize_pinyin.determine_tone('gán'))
     self.assertEqual(2, colorize_pinyin.determine_tone('xún'))
コード例 #13
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testMixedPinyin(self):
     self.assertEqual(3, colorize_pinyin.determine_tone('bǎiwén'))
コード例 #14
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testNonPinyin(self):
     self.assertEqual(0, colorize_pinyin.determine_tone('бурда'))
コード例 #15
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testZeroTone(self):
     self.assertEqual(0, colorize_pinyin.determine_tone('de'))
     self.assertEqual(0, colorize_pinyin.determine_tone('ning'))
コード例 #16
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testFourthTone(self, ):
     self.assertEqual(4, colorize_pinyin.determine_tone('àn'))
     self.assertEqual(4, colorize_pinyin.determine_tone('dìnggòu'))
コード例 #17
0
ファイル: test.py プロジェクト: ratijas/colorize_pinyin
 def testThirdTone(self):
     self.assertEqual(3, colorize_pinyin.determine_tone('fǎn'))
     self.assertEqual(3, colorize_pinyin.determine_tone('lǚ'))