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