Skip to content

Commit

Permalink
Merge pull request #22 from i3thuan5/siu-tua-kuaho
Browse files Browse the repository at this point in the history
處理大括號錯誤
  • Loading branch information
a8568730 committed Jan 16, 2024
2 parents 272a26e + 13bd471 commit 9d21d99
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 16 deletions.
14 changes: 14 additions & 0 deletions test/test_tuitse_tsinghap.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from django.test.testcases import TestCase

from tuitse import kiamtsa
from tuitse.html import tuitse_html


class TuaLiongTuiTse(TestCase):

def test_tuitse(self):
tsusin = kiamtsa(
'做代誌愛像走{<華><馬拉松>,沓沓仔來。',
'tsò tāi-tsì ài tshiūnn tsáu <華><馬拉松> kāng-khuán, ta̍uh-ta̍uh-á lâi.',
)
tuitse_html(tsusin)
42 changes: 26 additions & 16 deletions tuitse/html.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

def tuitse_html(kiamtsa_tinliat):
html = ''
htmlsu = ''
tshamsoo = []
su_html = ''
su_tshamsoo = []
kam_ting_tsit_hing_si_lomaji = False
kam_ting_tsit_im_si_lomaji = False
for ji in kiamtsa_tinliat:
Expand All @@ -31,10 +33,11 @@ def tuitse_html(kiamtsa_tinliat):

if ji[2] == THAU_JI:
# Thòo sû ê html
if htmlsu:
html += "<ruby>{}</ruby>".format(htmlsu)
if su_html:
html += "<ruby>{}</ruby>".format(su_html)
tshamsoo += su_tshamsoo
# Html tîng-lâi
htmlsu = _sng_ji_html(ji)
su_html, su_tshamsoo = _sng_ji_html(ji)
continue

if ji[2] == LIAN_JI:
Expand All @@ -45,26 +48,33 @@ def tuitse_html(kiamtsa_tinliat):
raise RuntimeError('一定愛設定頭字、連字、a̍h-sī輕聲')

if kam_im_ai_lian:
htmlsu += "<rb>{}</rb>".format(tiauhu)
su_html += "<rb>{}</rb>"
su_tshamsoo.append(tiauhu)
else:
htmlsu += "<rb>&nbsp;</rb>"
su_html += "<rb>&nbsp;</rb>"

if kam_hing_ai_lian:
htmlsu += "<rt>{}</rt>".format(tiauhu)
su_html += "<rt>{}</rt>"
su_tshamsoo.append(tiauhu)
else:
htmlsu += "<rt></rt>"
su_html += "<rt></rt>"

htmlsu += _sng_ji_html(ji)
sng_html, sng_tshamsoo = _sng_ji_html(ji)
su_html += sng_html
su_tshamsoo += sng_tshamsoo
# Thòo bué sû ê html
html += "<ruby>{}</ruby>".format(htmlsu)
return format_html(html)
html += "<ruby>{}</ruby>".format(su_html)
tshamsoo += su_tshamsoo
return format_html(html, *tshamsoo)


def _sng_ji_html(ji):
if ji[3]:
return "<rb>{}</rb><rt>{}</rt>".format(ji[1], ji[0])
return "<rb>{}</rb><rt>{}</rt>", [ji[1], ji[0]]
if ji[1]:
return "<rb class='fail'>{}</rb><rt class='fail'>{}</rt>".format(
ji[1], ji[0])
return "<rb class='fail'>&nbsp;&nbsp;</rb><rt class='fail'>{}</rt>".format(
ji[0])
return "<rb class='fail'>{}</rb><rt class='fail'>{}</rt>", [
ji[1], ji[0]
]
return "<rb class='fail'>&nbsp;&nbsp;</rb><rt class='fail'>{}</rt>", [
ji[0]
]

0 comments on commit 9d21d99

Please sign in to comment.