コード例 #1
0
ファイル: __main__.py プロジェクト: SteveClement/furigana
def print_plaintext(text):
    for pair in split_furigana(text):
        if len(pair)==2:
            kanji,hira = pair
            print("%s(%s)" % (kanja,hira), end='')
        else:
            print(pair[0], end='')
    print('')
コード例 #2
0
def convert_text_to_furigana_html(text):
    for pair in split_furigana(text):
        if len(pair) == 2:
            kanji, hira = pair
            yield ("<ruby><rb>{0}</rb><rt>{1}</rt></ruby>".format(kanji, hira))
        else:
            yield pair[0]
    yield ''
コード例 #3
0
def get_furi(s):
    temp=[]
    for x in s.split(" "):
        try:
            temp.append(conv_final(split_furigana(x)))
        except:
            temp.append(x)

    return " ".join(temp)
コード例 #4
0
ファイル: __main__.py プロジェクト: SteveClement/furigana
def return_html(text):
    output = ""
    for pair in split_furigana(text):
        if len(pair)==2:
            kanji,hira = pair
            output += "<ruby><rb>{0}</rb><rt>{1}</rt></ruby>".
                    format(kanji, hira)
        else:
            output += pair[0]
コード例 #5
0
ファイル: __main__.py プロジェクト: SteveClement/furigana
def print_html(text):
    for pair in split_furigana(text):
        if len(pair)==2:
            kanji,hira = pair
            print("<ruby><rb>{0}</rb><rt>{1}</rt></ruby>".
                    format(kanji, hira), end='')
        else:
            print(pair[0], end='')
    print('')
コード例 #6
0
def pronounce(text: str) -> str:
    result = []
    for pair in split_furigana(text):
        if len(pair) == 2:
            kanji, hira = pair
            result.append(f"<ruby><rb>{kanji}</rb><rt>{hira}</rt></ruby>")
        else:
            result.append(pair[0])
    return "".join(result)
コード例 #7
0
def get_hira_kata(s):
    S=""
    for t in s.split(" "):
        try:
            temp=split_furigana(t)
        except:
            return ""
        for x in temp:
            if len(x)==1:
                S=S+x[0]
            else:
                S=S+x[1]
        S=S+" "
    return " ".join([x for x in re.sub(u"([\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f-\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\U0002f800-\U0002fa1f\u30a0-\u30ff\u2e80-\u2eff\u4e00-\u9fff\u3400-\u4dbf\U00020000-\U0002a6df\U0002a700-\U0002b73f\U0002b740-\U0002b81f\U0002b820-\U0002ceaf]+)", r" \1 ", S).strip().capitalize().split(" ") if x!=""])
コード例 #8
0
ファイル: utils.py プロジェクト: vpodzime/tsubame
def add_furigana(japanese_string):
    """Add furigana to all kanji in a string."""
    from furigana.furigana import split_furigana
    ruby_markup = ""
    # TODO: make the index access sane
    for ch in japanese_string:
        try:
            pair = split_furigana(ch)
        except:
            pair = [(ch, ), (ch, )]
        if len(pair[0]) == 2:
            kanji, hira = pair[1]
            ruby_markup += "<ruby><rb>{}</rb><rt>{}</rt></ruby>".format(
                kanji, hira)
        else:
            ruby_markup += ("{}".format(pair[0][0]))
    return ruby_markup
コード例 #9
0
 def tokenize(text):
     tokens = map(list, split_furigana(text))
     return tokens