///|
fn unicode_roman_expansion(character : Char) -> String? {
match character {
'\u{2160}' | '\u{2170}' => Some("I")
'\u{2161}' | '\u{2171}' => Some("II")
'\u{2162}' | '\u{2172}' => Some("III")
'\u{2163}' | '\u{2173}' => Some("IV")
'\u{2164}' | '\u{2174}' => Some("V")
'\u{2165}' | '\u{2175}' => Some("VI")
'\u{2166}' | '\u{2176}' => Some("VII")
'\u{2167}' | '\u{2177}' => Some("VIII")
'\u{2168}' | '\u{2178}' => Some("IX")
'\u{2169}' | '\u{2179}' => Some("X")
'\u{216a}' | '\u{217a}' => Some("XI")
'\u{216b}' | '\u{217b}' => Some("XII")
'\u{216c}' | '\u{217c}' => Some("L")
'\u{216d}' | '\u{217d}' => Some("C")
'\u{216e}' | '\u{217e}' => Some("D")
'\u{216f}' | '\u{217f}' => Some("M")
_ => None
}
}
///|
fn is_ascii_roman_letter(character : Char) -> Bool {
match character {
'I'
| 'V'
| 'X'
| 'L'
| 'C'
| 'D'
| 'M'
| 'i'
| 'v'
| 'x'
| 'l'
| 'c'
| 'd'
| 'm' => true
_ => false
}
}
///|
fn is_lowercase_roman_letter(character : Char) -> Bool {
match character {
'i' | 'v' | 'x' | 'l' | 'c' | 'd' | 'm' => true
_ => false
}
}
///|
fn is_outer_whitespace(character : Char) -> Bool {
match character {
' ' | '\t' | '\r' | '\n' => true
_ => false
}
}