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ยง

pub use crate::arabic_mathematical::try_as_arabic_mathematical;
pub use crate::bold::try_as_bold;
pub use crate::bold_italic::try_as_bold_italic;
pub use crate::bold_fraktur::try_as_bold_fraktur;
pub use crate::bold_script::try_as_bold_script;
pub use crate::circled::try_as_circled;
pub use crate::comma::try_as_comma;
pub use crate::double_struck::try_as_double_struck;
pub use crate::fraktur::try_as_fraktur;
pub use crate::full_stop::try_as_full_stop;
pub use crate::fullwidth::try_as_fullwidth;
pub use crate::italic::try_as_italic;
pub use crate::looped::try_as_looped;
pub use crate::monospace::try_as_monospace;
pub use crate::negative_circled::try_as_negative_circled;
pub use crate::negative_squared::try_as_negative_squared;
pub use crate::regional::try_as_regional;
pub use crate::segmented::try_as_segmented;
pub use crate::other::try_as_other;
pub use crate::parenthesized::try_as_parenthesized;
pub use crate::sans_serif_bold_italic::try_as_sans_serif_bold_italic;
pub use crate::sans_serif_bold::try_as_sans_serif_bold;
pub use crate::sans_serif_italic::try_as_sans_serif_italic;
pub use crate::sans_serif::try_as_sans_serif;
pub use crate::script::try_as_script;
pub use crate::small_capital::try_as_small_capital;
pub use crate::superscript::try_as_superscript;
pub use crate::subscript::try_as_subscript;
pub use crate::stretched::try_as_stretched;
pub use crate::squared::try_as_squared;
pub use crate::tailed::try_as_tailed;
pub use crate::wide::try_as_wide;
pub use variant::Variant;
pub use plain::try_as_plain;

Modulesยง

arabic_mathematical
Variant of Unicode symbols.
bold
Variant of Unicode symbols.
bold_fraktur
Variant of Unicode symbols.
bold_italic
Variant of Unicode symbols.
bold_script
Variant of Unicode symbols.
circled
Variant of Unicode symbols.
comma
Variant of Unicode symbols.
double_struck
Variant of Unicode symbols.
fraktur
Variant of Unicode symbols.
full_stop
Variant of Unicode symbols.
fullwidth
Variant of Unicode symbols.
italic
Variant of Unicode symbols.
looped
Variant of Unicode symbols.
monospace
Variant of Unicode symbols.
negative_circled
Variant of Unicode symbols.
negative_squared
Variant of Unicode symbols.
other
Variant of Unicode symbols.
parenthesized
Variant of Unicode symbols.
plain
Plain variant of Unicode symbols.
regional
Variant of Unicode symbols.
sans_serif
Variant of Unicode symbols.
sans_serif_bold
Variant of Unicode symbols.
sans_serif_bold_italic
Variant of Unicode symbols.
sans_serif_italic
Variant of Unicode symbols.
script
Variant of Unicode symbols.
segmented
Variant of Unicode symbols.
small_capital
Variant of Unicode symbols.
squared
Variant of Unicode symbols.
stretched
Variant of Unicode symbols.
subscript
Variant of Unicode symbols.
superscript
Variant of Unicode symbols.
tailed
Variant of Unicode symbols.
variant
Font variants.
wide
Variant of Unicode symbols.