From ac34921d3b4b41f332343edb8eed980c6cf66563 Mon Sep 17 00:00:00 2001 From: Alex-Wengg Date: Thu, 9 Jul 2026 15:04:23 -0400 Subject: [PATCH] feat(tn/en/word): align symbol names with NeMo symbol.tsv (+1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the missing symbol→word mappings from NeMo's whitelist/symbol.tsv (§→section, ™→trademark, ®→registered trademark, ©→copyright, ^→circumflex, |→vertical bar, °/º→degree, _→underscore, *→asterisk, ~→tilde) and correct "=" to "equal sign". Split "§" interior so "§-" → "section-". en TN punctuation_match_input 6->7. No regressions. --- src/lib.rs | 2 +- src/tn/en/word.rs | 14 ++++++++++++-- tests/parity_baseline.tsv | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index f43e983..0eea6de 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1064,7 +1064,7 @@ fn is_split_punct(c: char) -> bool { fn is_interior_hard(c: char) -> bool { matches!( c, - '!' | '?' | '(' | ')' | '[' | ']' | '{' | '}' | '\'' | '\u{2013}' + '!' | '?' | '(' | ')' | '[' | ']' | '{' | '}' | '\'' | '\u{2013}' | '§' ) } diff --git a/src/tn/en/word.rs b/src/tn/en/word.rs index ebda7bb..6604a25 100644 --- a/src/tn/en/word.rs +++ b/src/tn/en/word.rs @@ -10,7 +10,7 @@ use super::spell_digits; -/// Spoken name for a standalone symbol. +/// Spoken name for a standalone symbol (NeMo whitelist/symbol.tsv). fn symbol_word(c: char) -> Option<&'static str> { Some(match c { '$' => "dollar", @@ -23,8 +23,18 @@ fn symbol_word(c: char) -> Option<&'static str> { '/' => "slash", '&' => "and", '+' => "plus", - '=' => "equals", + '=' => "equal sign", '@' => "at", + '_' => "underscore", + '*' => "asterisk", + '~' => "tilde", + '^' => "circumflex", + '|' => "vertical bar", + '§' => "section", + '™' => "trademark", + '®' => "registered trademark", + '©' => "copyright", + '°' | 'º' => "degree", _ => return None, }) } diff --git a/tests/parity_baseline.tsv b/tests/parity_baseline.tsv index 46ff06d..83bf0c0 100644 --- a/tests/parity_baseline.tsv +++ b/tests/parity_baseline.tsv @@ -59,7 +59,7 @@ en tn money 71 71 en tn normalize_with_audio 40 58 en tn ordinal 27 27 en tn punctuation 43 63 -en tn punctuation_match_input 6 13 +en tn punctuation_match_input 7 13 en tn range 20 20 en tn roman 4 4 en tn serial 29 32