Crate unicode_font

source ·
Expand description

Unicode font conversion.

Characters with font variants encoded in Unicode have a best-effort chosen plain variant. Plain unicodes can be converted to different font variants using this crate.

Most of the conversions use mathematical characters. See Variant for the font variants included.

Examples

Transform a character to a few fonts.

assert_eq!(unicode_font::try_as_bold(&'a'), Some(&'\u{1D41A}')); // 𝐚
assert_eq!(unicode_font::try_as_circled(&'a'), Some(&'\u{24D0}')); // ⓐ
assert_eq!(unicode_font::try_as_monospace(&'a'), Some(&'\u{1D68A}')); // 𝚊
assert_eq!(unicode_font::try_as_small_capital(&'a'), None); 
assert_eq!(unicode_font::try_as_small_capital(&'A'), Some(&'\u{1D00}')); // ᴀ
assert_eq!(unicode_font::try_as_squared(&'a'), None);
assert_eq!(unicode_font::try_as_squared(&'A'), Some(&'\u{1F130}')); // 🄰

Transform a &str if all characters transform.

fn as_bold(s: &str) -> Option<String> {
	s.chars().map(|c| unicode_font::try_as_bold(&c).cloned()).collect()
}
 
assert_eq!(as_bold("abc"), Some(String::from("𝐚𝐛𝐜")));

Re-exports

Modules