mod constants {
pub const ACCOUNT_OF: char = '℀';
pub const ADDRESSED_TO_THE_SUBJECT: char = '℁';
pub const DOUBLE_DASH_STRUCK_CAPITAL_C: char = 'ℂ';
pub const DEGREE_CELSIUS: char = '℃';
pub const CENTRE_LINE_SYMBOL: char = '℄';
pub const CARE_OF: char = '℅';
pub const CADA_UNA: char = '℆';
pub const EULER_CONSTANT: char = 'ℇ';
pub const SCRUPLE: char = '℈';
pub const DEGREE_FAHRENHEIT: char = '℉';
pub const SCRIPT_SMALL_G: char = 'ℊ';
pub const SCRIPT_CAPITAL_H: char = 'ℋ';
pub const BLACK_DASH_LETTER_CAPITAL_H: char = 'ℌ';
pub const DOUBLE_DASH_STRUCK_CAPITAL_H: char = 'ℍ';
pub const PLANCK_CONSTANT: char = 'ℎ';
pub const PLANCK_CONSTANT_OVER_TWO_PI: char = 'ℏ';
pub const SCRIPT_CAPITAL_I: char = 'ℐ';
pub const BLACK_DASH_LETTER_CAPITAL_I: char = 'ℑ';
pub const SCRIPT_CAPITAL_L: char = 'ℒ';
pub const SCRIPT_SMALL_L: char = 'ℓ';
pub const L_B_BAR_SYMBOL: char = '℔';
pub const DOUBLE_DASH_STRUCK_CAPITAL_N: char = 'ℕ';
pub const NUMERO_SIGN: char = '№';
pub const SOUND_RECORDING_COPYRIGHT: char = '℗';
pub const SCRIPT_CAPITAL_P: char = '℘';
pub const DOUBLE_DASH_STRUCK_CAPITAL_P: char = 'ℙ';
pub const DOUBLE_DASH_STRUCK_CAPITAL_Q: char = 'ℚ';
pub const SCRIPT_CAPITAL_R: char = 'ℛ';
pub const BLACK_DASH_LETTER_CAPITAL_R: char = 'ℜ';
pub const DOUBLE_DASH_STRUCK_CAPITAL_R: char = 'ℝ';
pub const PRESCRIPTION_TAKE: char = '℞';
pub const RESPONSE: char = '℟';
pub const SERVICE_MARK: char = '℠';
pub const TELEPHONE_SIGN: char = '℡';
pub const TRADE_MARK_SIGN: char = '™';
pub const VERSICLE: char = '℣';
pub const DOUBLE_DASH_STRUCK_CAPITAL_Z: char = 'ℤ';
pub const OUNCE_SIGN: char = '℥';
pub const OHM_SIGN: char = 'Ω';
pub const INVERTED_OHM_SIGN: char = '℧';
pub const BLACK_DASH_LETTER_CAPITAL_Z: char = 'ℨ';
pub const TURNED_GREEK_SMALL_LETTER_IOTA: char = '℩';
pub const KELVIN_SIGN: char = 'K';
pub const ANGSTROM_SIGN: char = 'Å';
pub const SCRIPT_CAPITAL_B: char = 'ℬ';
pub const BLACK_DASH_LETTER_CAPITAL_C: char = 'ℭ';
pub const ESTIMATED_SYMBOL: char = '℮';
pub const SCRIPT_SMALL_E: char = 'ℯ';
pub const SCRIPT_CAPITAL_E: char = 'ℰ';
pub const SCRIPT_CAPITAL_F: char = 'ℱ';
pub const TURNED_CAPITAL_F: char = 'Ⅎ';
pub const SCRIPT_CAPITAL_M: char = 'ℳ';
pub const SCRIPT_SMALL_O: char = 'ℴ';
pub const ALEF_SYMBOL: char = 'ℵ';
pub const BET_SYMBOL: char = 'ℶ';
pub const GIMEL_SYMBOL: char = 'ℷ';
pub const DALET_SYMBOL: char = 'ℸ';
pub const INFORMATION_SOURCE: char = 'ℹ';
pub const ROTATED_CAPITAL_Q: char = '℺';
pub const FACSIMILE_SIGN: char = '℻';
pub const DOUBLE_DASH_STRUCK_SMALL_PI: char = 'ℼ';
pub const DOUBLE_DASH_STRUCK_SMALL_GAMMA: char = 'ℽ';
pub const DOUBLE_DASH_STRUCK_CAPITAL_GAMMA: char = 'ℾ';
pub const DOUBLE_DASH_STRUCK_CAPITAL_PI: char = 'ℿ';
pub const DOUBLE_DASH_STRUCK_N_DASH_ARY_SUMMATION: char = '⅀';
pub const TURNED_SANS_DASH_SERIF_CAPITAL_G: char = '⅁';
pub const TURNED_SANS_DASH_SERIF_CAPITAL_L: char = '⅂';
pub const REVERSED_SANS_DASH_SERIF_CAPITAL_L: char = '⅃';
pub const TURNED_SANS_DASH_SERIF_CAPITAL_Y: char = '⅄';
pub const DOUBLE_DASH_STRUCK_ITALIC_CAPITAL_D: char = 'ⅅ';
pub const DOUBLE_DASH_STRUCK_ITALIC_SMALL_D: char = 'ⅆ';
pub const DOUBLE_DASH_STRUCK_ITALIC_SMALL_E: char = 'ⅇ';
pub const DOUBLE_DASH_STRUCK_ITALIC_SMALL_I: char = 'ⅈ';
pub const DOUBLE_DASH_STRUCK_ITALIC_SMALL_J: char = 'ⅉ';
pub const PROPERTY_LINE: char = '⅊';
pub const TURNED_AMPERSAND: char = '⅋';
pub const PER_SIGN: char = '⅌';
pub const AKTIESELSKAB: char = '⅍';
pub const TURNED_SMALL_F: char = 'ⅎ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum LetterlikeSymbols {
AccountOf,
AddressedToTheSubject,
DoubleDashStruckCapitalC,
DegreeCelsius,
CentreLineSymbol,
CareOf,
CadaUna,
EulerConstant,
Scruple,
DegreeFahrenheit,
ScriptSmallG,
ScriptCapitalH,
BlackDashLetterCapitalH,
DoubleDashStruckCapitalH,
PlanckConstant,
PlanckConstantOverTwoPi,
ScriptCapitalI,
BlackDashLetterCapitalI,
ScriptCapitalL,
ScriptSmallL,
LBBarSymbol,
DoubleDashStruckCapitalN,
NumeroSign,
SoundRecordingCopyright,
ScriptCapitalP,
DoubleDashStruckCapitalP,
DoubleDashStruckCapitalQ,
ScriptCapitalR,
BlackDashLetterCapitalR,
DoubleDashStruckCapitalR,
PrescriptionTake,
Response,
ServiceMark,
TelephoneSign,
TradeMarkSign,
Versicle,
DoubleDashStruckCapitalZ,
OunceSign,
OhmSign,
InvertedOhmSign,
BlackDashLetterCapitalZ,
TurnedGreekSmallLetterIota,
KelvinSign,
AngstromSign,
ScriptCapitalB,
BlackDashLetterCapitalC,
EstimatedSymbol,
ScriptSmallE,
ScriptCapitalE,
ScriptCapitalF,
TurnedCapitalF,
ScriptCapitalM,
ScriptSmallO,
AlefSymbol,
BetSymbol,
GimelSymbol,
DaletSymbol,
InformationSource,
RotatedCapitalQ,
FacsimileSign,
DoubleDashStruckSmallPi,
DoubleDashStruckSmallGamma,
DoubleDashStruckCapitalGamma,
DoubleDashStruckCapitalPi,
DoubleDashStruckNDashArySummation,
TurnedSansDashSerifCapitalG,
TurnedSansDashSerifCapitalL,
ReversedSansDashSerifCapitalL,
TurnedSansDashSerifCapitalY,
DoubleDashStruckItalicCapitalD,
DoubleDashStruckItalicSmallD,
DoubleDashStruckItalicSmallE,
DoubleDashStruckItalicSmallI,
DoubleDashStruckItalicSmallJ,
PropertyLine,
TurnedAmpersand,
PerSign,
Aktieselskab,
TurnedSmallF,
}
impl Into<char> for LetterlikeSymbols {
fn into(self) -> char {
use constants::*;
match self {
LetterlikeSymbols::AccountOf => ACCOUNT_OF,
LetterlikeSymbols::AddressedToTheSubject => ADDRESSED_TO_THE_SUBJECT,
LetterlikeSymbols::DoubleDashStruckCapitalC => DOUBLE_DASH_STRUCK_CAPITAL_C,
LetterlikeSymbols::DegreeCelsius => DEGREE_CELSIUS,
LetterlikeSymbols::CentreLineSymbol => CENTRE_LINE_SYMBOL,
LetterlikeSymbols::CareOf => CARE_OF,
LetterlikeSymbols::CadaUna => CADA_UNA,
LetterlikeSymbols::EulerConstant => EULER_CONSTANT,
LetterlikeSymbols::Scruple => SCRUPLE,
LetterlikeSymbols::DegreeFahrenheit => DEGREE_FAHRENHEIT,
LetterlikeSymbols::ScriptSmallG => SCRIPT_SMALL_G,
LetterlikeSymbols::ScriptCapitalH => SCRIPT_CAPITAL_H,
LetterlikeSymbols::BlackDashLetterCapitalH => BLACK_DASH_LETTER_CAPITAL_H,
LetterlikeSymbols::DoubleDashStruckCapitalH => DOUBLE_DASH_STRUCK_CAPITAL_H,
LetterlikeSymbols::PlanckConstant => PLANCK_CONSTANT,
LetterlikeSymbols::PlanckConstantOverTwoPi => PLANCK_CONSTANT_OVER_TWO_PI,
LetterlikeSymbols::ScriptCapitalI => SCRIPT_CAPITAL_I,
LetterlikeSymbols::BlackDashLetterCapitalI => BLACK_DASH_LETTER_CAPITAL_I,
LetterlikeSymbols::ScriptCapitalL => SCRIPT_CAPITAL_L,
LetterlikeSymbols::ScriptSmallL => SCRIPT_SMALL_L,
LetterlikeSymbols::LBBarSymbol => L_B_BAR_SYMBOL,
LetterlikeSymbols::DoubleDashStruckCapitalN => DOUBLE_DASH_STRUCK_CAPITAL_N,
LetterlikeSymbols::NumeroSign => NUMERO_SIGN,
LetterlikeSymbols::SoundRecordingCopyright => SOUND_RECORDING_COPYRIGHT,
LetterlikeSymbols::ScriptCapitalP => SCRIPT_CAPITAL_P,
LetterlikeSymbols::DoubleDashStruckCapitalP => DOUBLE_DASH_STRUCK_CAPITAL_P,
LetterlikeSymbols::DoubleDashStruckCapitalQ => DOUBLE_DASH_STRUCK_CAPITAL_Q,
LetterlikeSymbols::ScriptCapitalR => SCRIPT_CAPITAL_R,
LetterlikeSymbols::BlackDashLetterCapitalR => BLACK_DASH_LETTER_CAPITAL_R,
LetterlikeSymbols::DoubleDashStruckCapitalR => DOUBLE_DASH_STRUCK_CAPITAL_R,
LetterlikeSymbols::PrescriptionTake => PRESCRIPTION_TAKE,
LetterlikeSymbols::Response => RESPONSE,
LetterlikeSymbols::ServiceMark => SERVICE_MARK,
LetterlikeSymbols::TelephoneSign => TELEPHONE_SIGN,
LetterlikeSymbols::TradeMarkSign => TRADE_MARK_SIGN,
LetterlikeSymbols::Versicle => VERSICLE,
LetterlikeSymbols::DoubleDashStruckCapitalZ => DOUBLE_DASH_STRUCK_CAPITAL_Z,
LetterlikeSymbols::OunceSign => OUNCE_SIGN,
LetterlikeSymbols::OhmSign => OHM_SIGN,
LetterlikeSymbols::InvertedOhmSign => INVERTED_OHM_SIGN,
LetterlikeSymbols::BlackDashLetterCapitalZ => BLACK_DASH_LETTER_CAPITAL_Z,
LetterlikeSymbols::TurnedGreekSmallLetterIota => TURNED_GREEK_SMALL_LETTER_IOTA,
LetterlikeSymbols::KelvinSign => KELVIN_SIGN,
LetterlikeSymbols::AngstromSign => ANGSTROM_SIGN,
LetterlikeSymbols::ScriptCapitalB => SCRIPT_CAPITAL_B,
LetterlikeSymbols::BlackDashLetterCapitalC => BLACK_DASH_LETTER_CAPITAL_C,
LetterlikeSymbols::EstimatedSymbol => ESTIMATED_SYMBOL,
LetterlikeSymbols::ScriptSmallE => SCRIPT_SMALL_E,
LetterlikeSymbols::ScriptCapitalE => SCRIPT_CAPITAL_E,
LetterlikeSymbols::ScriptCapitalF => SCRIPT_CAPITAL_F,
LetterlikeSymbols::TurnedCapitalF => TURNED_CAPITAL_F,
LetterlikeSymbols::ScriptCapitalM => SCRIPT_CAPITAL_M,
LetterlikeSymbols::ScriptSmallO => SCRIPT_SMALL_O,
LetterlikeSymbols::AlefSymbol => ALEF_SYMBOL,
LetterlikeSymbols::BetSymbol => BET_SYMBOL,
LetterlikeSymbols::GimelSymbol => GIMEL_SYMBOL,
LetterlikeSymbols::DaletSymbol => DALET_SYMBOL,
LetterlikeSymbols::InformationSource => INFORMATION_SOURCE,
LetterlikeSymbols::RotatedCapitalQ => ROTATED_CAPITAL_Q,
LetterlikeSymbols::FacsimileSign => FACSIMILE_SIGN,
LetterlikeSymbols::DoubleDashStruckSmallPi => DOUBLE_DASH_STRUCK_SMALL_PI,
LetterlikeSymbols::DoubleDashStruckSmallGamma => DOUBLE_DASH_STRUCK_SMALL_GAMMA,
LetterlikeSymbols::DoubleDashStruckCapitalGamma => DOUBLE_DASH_STRUCK_CAPITAL_GAMMA,
LetterlikeSymbols::DoubleDashStruckCapitalPi => DOUBLE_DASH_STRUCK_CAPITAL_PI,
LetterlikeSymbols::DoubleDashStruckNDashArySummation => DOUBLE_DASH_STRUCK_N_DASH_ARY_SUMMATION,
LetterlikeSymbols::TurnedSansDashSerifCapitalG => TURNED_SANS_DASH_SERIF_CAPITAL_G,
LetterlikeSymbols::TurnedSansDashSerifCapitalL => TURNED_SANS_DASH_SERIF_CAPITAL_L,
LetterlikeSymbols::ReversedSansDashSerifCapitalL => REVERSED_SANS_DASH_SERIF_CAPITAL_L,
LetterlikeSymbols::TurnedSansDashSerifCapitalY => TURNED_SANS_DASH_SERIF_CAPITAL_Y,
LetterlikeSymbols::DoubleDashStruckItalicCapitalD => DOUBLE_DASH_STRUCK_ITALIC_CAPITAL_D,
LetterlikeSymbols::DoubleDashStruckItalicSmallD => DOUBLE_DASH_STRUCK_ITALIC_SMALL_D,
LetterlikeSymbols::DoubleDashStruckItalicSmallE => DOUBLE_DASH_STRUCK_ITALIC_SMALL_E,
LetterlikeSymbols::DoubleDashStruckItalicSmallI => DOUBLE_DASH_STRUCK_ITALIC_SMALL_I,
LetterlikeSymbols::DoubleDashStruckItalicSmallJ => DOUBLE_DASH_STRUCK_ITALIC_SMALL_J,
LetterlikeSymbols::PropertyLine => PROPERTY_LINE,
LetterlikeSymbols::TurnedAmpersand => TURNED_AMPERSAND,
LetterlikeSymbols::PerSign => PER_SIGN,
LetterlikeSymbols::Aktieselskab => AKTIESELSKAB,
LetterlikeSymbols::TurnedSmallF => TURNED_SMALL_F,
}
}
}
impl std::convert::TryFrom<char> for LetterlikeSymbols {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
ACCOUNT_OF => Ok(LetterlikeSymbols::AccountOf),
ADDRESSED_TO_THE_SUBJECT => Ok(LetterlikeSymbols::AddressedToTheSubject),
DOUBLE_DASH_STRUCK_CAPITAL_C => Ok(LetterlikeSymbols::DoubleDashStruckCapitalC),
DEGREE_CELSIUS => Ok(LetterlikeSymbols::DegreeCelsius),
CENTRE_LINE_SYMBOL => Ok(LetterlikeSymbols::CentreLineSymbol),
CARE_OF => Ok(LetterlikeSymbols::CareOf),
CADA_UNA => Ok(LetterlikeSymbols::CadaUna),
EULER_CONSTANT => Ok(LetterlikeSymbols::EulerConstant),
SCRUPLE => Ok(LetterlikeSymbols::Scruple),
DEGREE_FAHRENHEIT => Ok(LetterlikeSymbols::DegreeFahrenheit),
SCRIPT_SMALL_G => Ok(LetterlikeSymbols::ScriptSmallG),
SCRIPT_CAPITAL_H => Ok(LetterlikeSymbols::ScriptCapitalH),
BLACK_DASH_LETTER_CAPITAL_H => Ok(LetterlikeSymbols::BlackDashLetterCapitalH),
DOUBLE_DASH_STRUCK_CAPITAL_H => Ok(LetterlikeSymbols::DoubleDashStruckCapitalH),
PLANCK_CONSTANT => Ok(LetterlikeSymbols::PlanckConstant),
PLANCK_CONSTANT_OVER_TWO_PI => Ok(LetterlikeSymbols::PlanckConstantOverTwoPi),
SCRIPT_CAPITAL_I => Ok(LetterlikeSymbols::ScriptCapitalI),
BLACK_DASH_LETTER_CAPITAL_I => Ok(LetterlikeSymbols::BlackDashLetterCapitalI),
SCRIPT_CAPITAL_L => Ok(LetterlikeSymbols::ScriptCapitalL),
SCRIPT_SMALL_L => Ok(LetterlikeSymbols::ScriptSmallL),
L_B_BAR_SYMBOL => Ok(LetterlikeSymbols::LBBarSymbol),
DOUBLE_DASH_STRUCK_CAPITAL_N => Ok(LetterlikeSymbols::DoubleDashStruckCapitalN),
NUMERO_SIGN => Ok(LetterlikeSymbols::NumeroSign),
SOUND_RECORDING_COPYRIGHT => Ok(LetterlikeSymbols::SoundRecordingCopyright),
SCRIPT_CAPITAL_P => Ok(LetterlikeSymbols::ScriptCapitalP),
DOUBLE_DASH_STRUCK_CAPITAL_P => Ok(LetterlikeSymbols::DoubleDashStruckCapitalP),
DOUBLE_DASH_STRUCK_CAPITAL_Q => Ok(LetterlikeSymbols::DoubleDashStruckCapitalQ),
SCRIPT_CAPITAL_R => Ok(LetterlikeSymbols::ScriptCapitalR),
BLACK_DASH_LETTER_CAPITAL_R => Ok(LetterlikeSymbols::BlackDashLetterCapitalR),
DOUBLE_DASH_STRUCK_CAPITAL_R => Ok(LetterlikeSymbols::DoubleDashStruckCapitalR),
PRESCRIPTION_TAKE => Ok(LetterlikeSymbols::PrescriptionTake),
RESPONSE => Ok(LetterlikeSymbols::Response),
SERVICE_MARK => Ok(LetterlikeSymbols::ServiceMark),
TELEPHONE_SIGN => Ok(LetterlikeSymbols::TelephoneSign),
TRADE_MARK_SIGN => Ok(LetterlikeSymbols::TradeMarkSign),
VERSICLE => Ok(LetterlikeSymbols::Versicle),
DOUBLE_DASH_STRUCK_CAPITAL_Z => Ok(LetterlikeSymbols::DoubleDashStruckCapitalZ),
OUNCE_SIGN => Ok(LetterlikeSymbols::OunceSign),
OHM_SIGN => Ok(LetterlikeSymbols::OhmSign),
INVERTED_OHM_SIGN => Ok(LetterlikeSymbols::InvertedOhmSign),
BLACK_DASH_LETTER_CAPITAL_Z => Ok(LetterlikeSymbols::BlackDashLetterCapitalZ),
TURNED_GREEK_SMALL_LETTER_IOTA => Ok(LetterlikeSymbols::TurnedGreekSmallLetterIota),
KELVIN_SIGN => Ok(LetterlikeSymbols::KelvinSign),
ANGSTROM_SIGN => Ok(LetterlikeSymbols::AngstromSign),
SCRIPT_CAPITAL_B => Ok(LetterlikeSymbols::ScriptCapitalB),
BLACK_DASH_LETTER_CAPITAL_C => Ok(LetterlikeSymbols::BlackDashLetterCapitalC),
ESTIMATED_SYMBOL => Ok(LetterlikeSymbols::EstimatedSymbol),
SCRIPT_SMALL_E => Ok(LetterlikeSymbols::ScriptSmallE),
SCRIPT_CAPITAL_E => Ok(LetterlikeSymbols::ScriptCapitalE),
SCRIPT_CAPITAL_F => Ok(LetterlikeSymbols::ScriptCapitalF),
TURNED_CAPITAL_F => Ok(LetterlikeSymbols::TurnedCapitalF),
SCRIPT_CAPITAL_M => Ok(LetterlikeSymbols::ScriptCapitalM),
SCRIPT_SMALL_O => Ok(LetterlikeSymbols::ScriptSmallO),
ALEF_SYMBOL => Ok(LetterlikeSymbols::AlefSymbol),
BET_SYMBOL => Ok(LetterlikeSymbols::BetSymbol),
GIMEL_SYMBOL => Ok(LetterlikeSymbols::GimelSymbol),
DALET_SYMBOL => Ok(LetterlikeSymbols::DaletSymbol),
INFORMATION_SOURCE => Ok(LetterlikeSymbols::InformationSource),
ROTATED_CAPITAL_Q => Ok(LetterlikeSymbols::RotatedCapitalQ),
FACSIMILE_SIGN => Ok(LetterlikeSymbols::FacsimileSign),
DOUBLE_DASH_STRUCK_SMALL_PI => Ok(LetterlikeSymbols::DoubleDashStruckSmallPi),
DOUBLE_DASH_STRUCK_SMALL_GAMMA => Ok(LetterlikeSymbols::DoubleDashStruckSmallGamma),
DOUBLE_DASH_STRUCK_CAPITAL_GAMMA => Ok(LetterlikeSymbols::DoubleDashStruckCapitalGamma),
DOUBLE_DASH_STRUCK_CAPITAL_PI => Ok(LetterlikeSymbols::DoubleDashStruckCapitalPi),
DOUBLE_DASH_STRUCK_N_DASH_ARY_SUMMATION => Ok(LetterlikeSymbols::DoubleDashStruckNDashArySummation),
TURNED_SANS_DASH_SERIF_CAPITAL_G => Ok(LetterlikeSymbols::TurnedSansDashSerifCapitalG),
TURNED_SANS_DASH_SERIF_CAPITAL_L => Ok(LetterlikeSymbols::TurnedSansDashSerifCapitalL),
REVERSED_SANS_DASH_SERIF_CAPITAL_L => Ok(LetterlikeSymbols::ReversedSansDashSerifCapitalL),
TURNED_SANS_DASH_SERIF_CAPITAL_Y => Ok(LetterlikeSymbols::TurnedSansDashSerifCapitalY),
DOUBLE_DASH_STRUCK_ITALIC_CAPITAL_D => Ok(LetterlikeSymbols::DoubleDashStruckItalicCapitalD),
DOUBLE_DASH_STRUCK_ITALIC_SMALL_D => Ok(LetterlikeSymbols::DoubleDashStruckItalicSmallD),
DOUBLE_DASH_STRUCK_ITALIC_SMALL_E => Ok(LetterlikeSymbols::DoubleDashStruckItalicSmallE),
DOUBLE_DASH_STRUCK_ITALIC_SMALL_I => Ok(LetterlikeSymbols::DoubleDashStruckItalicSmallI),
DOUBLE_DASH_STRUCK_ITALIC_SMALL_J => Ok(LetterlikeSymbols::DoubleDashStruckItalicSmallJ),
PROPERTY_LINE => Ok(LetterlikeSymbols::PropertyLine),
TURNED_AMPERSAND => Ok(LetterlikeSymbols::TurnedAmpersand),
PER_SIGN => Ok(LetterlikeSymbols::PerSign),
AKTIESELSKAB => Ok(LetterlikeSymbols::Aktieselskab),
TURNED_SMALL_F => Ok(LetterlikeSymbols::TurnedSmallF),
_ => Err(()),
}
}
}
impl Into<u32> for LetterlikeSymbols {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for LetterlikeSymbols {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for LetterlikeSymbols {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl LetterlikeSymbols {
pub fn new() -> Self {
LetterlikeSymbols::AccountOf
}
pub fn name(&self) -> &str {
match self {
LetterlikeSymbols::AccountOf => "account of",
LetterlikeSymbols::AddressedToTheSubject => "addressed to the subject",
LetterlikeSymbols::DoubleDashStruckCapitalC => "double-struck capital c",
LetterlikeSymbols::DegreeCelsius => "degree celsius",
LetterlikeSymbols::CentreLineSymbol => "centre line symbol",
LetterlikeSymbols::CareOf => "care of",
LetterlikeSymbols::CadaUna => "cada una",
LetterlikeSymbols::EulerConstant => "euler constant",
LetterlikeSymbols::Scruple => "scruple",
LetterlikeSymbols::DegreeFahrenheit => "degree fahrenheit",
LetterlikeSymbols::ScriptSmallG => "script small g",
LetterlikeSymbols::ScriptCapitalH => "script capital h",
LetterlikeSymbols::BlackDashLetterCapitalH => "black-letter capital h",
LetterlikeSymbols::DoubleDashStruckCapitalH => "double-struck capital h",
LetterlikeSymbols::PlanckConstant => "planck constant",
LetterlikeSymbols::PlanckConstantOverTwoPi => "planck constant over two pi",
LetterlikeSymbols::ScriptCapitalI => "script capital i",
LetterlikeSymbols::BlackDashLetterCapitalI => "black-letter capital i",
LetterlikeSymbols::ScriptCapitalL => "script capital l",
LetterlikeSymbols::ScriptSmallL => "script small l",
LetterlikeSymbols::LBBarSymbol => "l b bar symbol",
LetterlikeSymbols::DoubleDashStruckCapitalN => "double-struck capital n",
LetterlikeSymbols::NumeroSign => "numero sign",
LetterlikeSymbols::SoundRecordingCopyright => "sound recording copyright",
LetterlikeSymbols::ScriptCapitalP => "script capital p",
LetterlikeSymbols::DoubleDashStruckCapitalP => "double-struck capital p",
LetterlikeSymbols::DoubleDashStruckCapitalQ => "double-struck capital q",
LetterlikeSymbols::ScriptCapitalR => "script capital r",
LetterlikeSymbols::BlackDashLetterCapitalR => "black-letter capital r",
LetterlikeSymbols::DoubleDashStruckCapitalR => "double-struck capital r",
LetterlikeSymbols::PrescriptionTake => "prescription take",
LetterlikeSymbols::Response => "response",
LetterlikeSymbols::ServiceMark => "service mark",
LetterlikeSymbols::TelephoneSign => "telephone sign",
LetterlikeSymbols::TradeMarkSign => "trade mark sign",
LetterlikeSymbols::Versicle => "versicle",
LetterlikeSymbols::DoubleDashStruckCapitalZ => "double-struck capital z",
LetterlikeSymbols::OunceSign => "ounce sign",
LetterlikeSymbols::OhmSign => "ohm sign",
LetterlikeSymbols::InvertedOhmSign => "inverted ohm sign",
LetterlikeSymbols::BlackDashLetterCapitalZ => "black-letter capital z",
LetterlikeSymbols::TurnedGreekSmallLetterIota => "turned greek small letter iota",
LetterlikeSymbols::KelvinSign => "kelvin sign",
LetterlikeSymbols::AngstromSign => "angstrom sign",
LetterlikeSymbols::ScriptCapitalB => "script capital b",
LetterlikeSymbols::BlackDashLetterCapitalC => "black-letter capital c",
LetterlikeSymbols::EstimatedSymbol => "estimated symbol",
LetterlikeSymbols::ScriptSmallE => "script small e",
LetterlikeSymbols::ScriptCapitalE => "script capital e",
LetterlikeSymbols::ScriptCapitalF => "script capital f",
LetterlikeSymbols::TurnedCapitalF => "turned capital f",
LetterlikeSymbols::ScriptCapitalM => "script capital m",
LetterlikeSymbols::ScriptSmallO => "script small o",
LetterlikeSymbols::AlefSymbol => "alef symbol",
LetterlikeSymbols::BetSymbol => "bet symbol",
LetterlikeSymbols::GimelSymbol => "gimel symbol",
LetterlikeSymbols::DaletSymbol => "dalet symbol",
LetterlikeSymbols::InformationSource => "information source",
LetterlikeSymbols::RotatedCapitalQ => "rotated capital q",
LetterlikeSymbols::FacsimileSign => "facsimile sign",
LetterlikeSymbols::DoubleDashStruckSmallPi => "double-struck small pi",
LetterlikeSymbols::DoubleDashStruckSmallGamma => "double-struck small gamma",
LetterlikeSymbols::DoubleDashStruckCapitalGamma => "double-struck capital gamma",
LetterlikeSymbols::DoubleDashStruckCapitalPi => "double-struck capital pi",
LetterlikeSymbols::DoubleDashStruckNDashArySummation => "double-struck n-ary summation",
LetterlikeSymbols::TurnedSansDashSerifCapitalG => "turned sans-serif capital g",
LetterlikeSymbols::TurnedSansDashSerifCapitalL => "turned sans-serif capital l",
LetterlikeSymbols::ReversedSansDashSerifCapitalL => "reversed sans-serif capital l",
LetterlikeSymbols::TurnedSansDashSerifCapitalY => "turned sans-serif capital y",
LetterlikeSymbols::DoubleDashStruckItalicCapitalD => "double-struck italic capital d",
LetterlikeSymbols::DoubleDashStruckItalicSmallD => "double-struck italic small d",
LetterlikeSymbols::DoubleDashStruckItalicSmallE => "double-struck italic small e",
LetterlikeSymbols::DoubleDashStruckItalicSmallI => "double-struck italic small i",
LetterlikeSymbols::DoubleDashStruckItalicSmallJ => "double-struck italic small j",
LetterlikeSymbols::PropertyLine => "property line",
LetterlikeSymbols::TurnedAmpersand => "turned ampersand",
LetterlikeSymbols::PerSign => "per sign",
LetterlikeSymbols::Aktieselskab => "aktieselskab",
LetterlikeSymbols::TurnedSmallF => "turned small f",
}
}
}