unicode-math-class
Determine the Unicode class of a mathematical character in Rust.
Example
use unicode_math_class::{class, MathClass};
assert_eq!(class('0'), Some(MathClass::Normal));
assert_eq!(class('a'), Some(MathClass::Alphabetic));
assert_eq!(class('𝔸'), Some(MathClass::Alphabetic));
assert_eq!(class('+'), Some(MathClass::Vary));
assert_eq!(class('×'), Some(MathClass::Binary));
assert_eq!(class('('), Some(MathClass::Opening));
assert_eq!(class(','), Some(MathClass::Punctuation));
assert_eq!(class('|'), Some(MathClass::Fence));
assert_eq!(class('😃'), None);
For more details, see Section 5.1 of Unicode Technical Report #25 and this data file.
License
This crate is dual-licensed under the MIT and Apache 2.0 licenses.