For a tour of text normalization across all categories, see Text normalization. For specific patterns Rime doesn’t expand cleanly, see Pre-normalizing text.
Numbers
Currency
Dozens of currency symbols and ISO codes are supported, including
$, €, £, ¥, ₹, ₺, ₪, ₩, CHF, HK$, AUD$, US$, and three-letter codes such as USD, EUR, GBP, JPY. Scale abbreviations K, M, B, bn are recognized.
Ranges
Ranges with hyphens or en-dashes between numeric values read as “X to Y,” with shared units on the right:13-50, 35-58 mph, 49-56 °C, 78-84%, 67-77 mg.
Measurements
Phone numbers
US and international formats both work natively, with parentheses, hyphens, or spaces as separators.Roman numerals
English does not expand Roman numerals. They pass through as written, with or without a context word (the sole exception is the whitelist entryWorld War II, read as “World War two”). Use spell() or write the number out.
Known gaps
A few specific patterns aren’t reliably expanded. The most common are bare 5+ digit runs without separators (10000000), a bare m with no denominator (1m reads as “one million”), ampere and joule units (5A, J), and Roman numerals. For the full list and a drop-in prompt template to handle them, see Pre-normalizing text.
Related
- Symbols and percentages for standalone
$,%,&,# - Dates and times for years and clock times
- Addresses, URLs, and emails for ZIP codes
- Spell function for forced letter-by-letter reading of IDs, account numbers, and codes

