Fix syllable+IPA combination: strip bracket content before IPA guard
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 35s
CI / test-go-edu-search (push) Successful in 34s
CI / test-python-klausur (push) Failing after 2m16s
CI / test-python-agent-core (push) Successful in 17s
CI / test-nodejs-website (push) Successful in 18s
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 35s
CI / test-go-edu-search (push) Successful in 34s
CI / test-python-klausur (push) Failing after 2m16s
CI / test-python-agent-core (push) Successful in 17s
CI / test-nodejs-website (push) Successful in 18s
The _IPA_RE check in _syllabify_text() skipped entire cells containing any IPA character. After German IPA insertion adds [bɪltʃøn], the check blocked syllabification entirely. Now strips bracket content before checking, so programmatically inserted IPA doesn't prevent syllable divider insertion on the surrounding text. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -150,8 +150,11 @@ def _syllabify_text(text: str, hyph_de, hyph_en) -> str:
|
|||||||
if not text:
|
if not text:
|
||||||
return text
|
return text
|
||||||
|
|
||||||
# Skip cells that contain IPA transcription characters
|
# Skip cells that contain IPA transcription characters outside brackets.
|
||||||
if _IPA_RE.search(text):
|
# Bracket content like [bɪltʃøn] is programmatically inserted and should
|
||||||
|
# not block syllabification of the surrounding text.
|
||||||
|
text_no_brackets = re.sub(r'\[[^\]]*\]', '', text)
|
||||||
|
if _IPA_RE.search(text_no_brackets):
|
||||||
return text
|
return text
|
||||||
|
|
||||||
# Phase 1: strip existing pipe dividers for clean normalization
|
# Phase 1: strip existing pipe dividers for clean normalization
|
||||||
|
|||||||
Reference in New Issue
Block a user