use roman;
use uc::UnicodeCategories;
#[inline]
pub fn is_ascii_alpha(ch: u8) -> bool {
let ch = ch | 0x20;
ch >= b'a' && ch <= b'z'
}
pub fn is_latin(token: &str) -> bool {
token.is_ascii() && token.as_bytes().iter().cloned().any(is_ascii_alpha)
}
pub fn is_punctuation(token: &str) -> bool {
!token.is_empty() && token.chars().any(|ch| ch.is_punctuation())
&& token
.chars()
.all(|ch| ch.is_punctuation() || ch.is_whitespace())
}
pub fn is_roman_number(token: &str) -> bool {
roman::from(token).is_some()
}