#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum CJKCompatibility {
SquareApaato,
SquareAruhua,
SquareAnpea,
SquareAaru,
SquareIningu,
SquareInti,
SquareUon,
SquareEsukuudo,
SquareEekaa,
SquareOnsu,
SquareOomu,
SquareKairi,
SquareKaratto,
SquareKarorii,
SquareGaron,
SquareGanma,
SquareGiga,
SquareGinii,
SquareKyurii,
SquareGirudaa,
SquareKiro,
SquareKiroguramu,
SquareKiromeetoru,
SquareKirowatto,
SquareGuramu,
SquareGuramuton,
SquareKuruzeiro,
SquareKuroone,
SquareKeesu,
SquareKoruna,
SquareKoopo,
SquareSaikuru,
SquareSantiimu,
SquareSiringu,
SquareSenti,
SquareSento,
SquareDaasu,
SquareDesi,
SquareDoru,
SquareTon,
SquareNano,
SquareNotto,
SquareHaitu,
SquarePaasento,
SquarePaatu,
SquareBaareru,
SquarePiasutoru,
SquarePikuru,
SquarePiko,
SquareBiru,
SquareHuaraddo,
SquareHuiito,
SquareBussyeru,
SquareHuran,
SquareHekutaaru,
SquarePeso,
SquarePenihi,
SquareHerutu,
SquarePensu,
SquarePeezi,
SquareBeeta,
SquarePointo,
SquareBoruto,
SquareHon,
SquarePondo,
SquareHooru,
SquareHoon,
SquareMaikuro,
SquareMairu,
SquareMahha,
SquareMaruku,
SquareMansyon,
SquareMikuron,
SquareMiri,
SquareMiribaaru,
SquareMega,
SquareMegaton,
SquareMeetoru,
SquareYaado,
SquareYaaru,
SquareYuan,
SquareRittoru,
SquareRira,
SquareRupii,
SquareRuuburu,
SquareRemu,
SquareRentogen,
SquareWatto,
IdeographicTelegraphSymbolForHourZero,
IdeographicTelegraphSymbolForHourOne,
IdeographicTelegraphSymbolForHourTwo,
IdeographicTelegraphSymbolForHourThree,
IdeographicTelegraphSymbolForHourFour,
IdeographicTelegraphSymbolForHourFive,
IdeographicTelegraphSymbolForHourSix,
IdeographicTelegraphSymbolForHourSeven,
IdeographicTelegraphSymbolForHourEight,
IdeographicTelegraphSymbolForHourNine,
IdeographicTelegraphSymbolForHourTen,
IdeographicTelegraphSymbolForHourEleven,
IdeographicTelegraphSymbolForHourTwelve,
IdeographicTelegraphSymbolForHourThirteen,
IdeographicTelegraphSymbolForHourFourteen,
IdeographicTelegraphSymbolForHourFifteen,
IdeographicTelegraphSymbolForHourSixteen,
IdeographicTelegraphSymbolForHourSeventeen,
IdeographicTelegraphSymbolForHourEighteen,
IdeographicTelegraphSymbolForHourNineteen,
IdeographicTelegraphSymbolForHourTwenty,
IdeographicTelegraphSymbolForHourTwentyDashOne,
IdeographicTelegraphSymbolForHourTwentyDashTwo,
IdeographicTelegraphSymbolForHourTwentyDashThree,
IdeographicTelegraphSymbolForHourTwentyDashFour,
SquareHpa,
SquareDa,
SquareAu,
SquareBar,
SquareOv,
SquarePc,
SquareDm,
SquareDmSquared,
SquareDmCubed,
SquareIu,
SquareEraNameHeisei,
SquareEraNameSyouwa,
SquareEraNameTaisyou,
SquareEraNameMeizi,
SquareCorporation,
SquarePaAmps,
SquareNa,
SquareMuA,
SquareMa,
SquareKa,
SquareKb,
SquareMb,
SquareGb,
SquareCal,
SquareKcal,
SquarePf,
SquareNf,
SquareMuF,
SquareMuG,
SquareMg,
SquareKg,
SquareHz,
SquareKhz,
SquareMhz,
SquareGhz,
SquareThz,
SquareMuL,
SquareMl,
SquareDl,
SquareKl,
SquareFm,
SquareNm,
SquareMuM,
SquareMm,
SquareCm,
SquareKm,
SquareMmSquared,
SquareCmSquared,
SquareMSquared,
SquareKmSquared,
SquareMmCubed,
SquareCmCubed,
SquareMCubed,
SquareKmCubed,
SquareMOverS,
SquareMOverSSquared,
SquarePa,
SquareKpa,
SquareMpa,
SquareGpa,
SquareRad,
SquareRadOverS,
SquareRadOverSSquared,
SquarePs,
SquareNs,
SquareMuS,
SquareMs,
SquarePv,
SquareNv,
SquareMuV,
SquareMv,
SquareKv,
SquareMvMega,
SquarePw,
SquareNw,
SquareMuW,
SquareMw,
SquareKw,
SquareMwMega,
SquareKOhm,
SquareMOhm,
SquareAm,
SquareBq,
SquareCc,
SquareCd,
SquareCOverKg,
SquareCo,
SquareDb,
SquareGy,
SquareHa,
SquareHp,
SquareIn,
SquareKk,
SquareKmCapital,
SquareKt,
SquareLm,
SquareLn,
SquareLog,
SquareLx,
SquareMbSmall,
SquareMil,
SquareMol,
SquarePh,
SquarePm,
SquarePpm,
SquarePr,
SquareSr,
SquareSv,
SquareWb,
SquareVOverM,
SquareAOverM,
IdeographicTelegraphSymbolForDayOne,
IdeographicTelegraphSymbolForDayTwo,
IdeographicTelegraphSymbolForDayThree,
IdeographicTelegraphSymbolForDayFour,
IdeographicTelegraphSymbolForDayFive,
IdeographicTelegraphSymbolForDaySix,
IdeographicTelegraphSymbolForDaySeven,
IdeographicTelegraphSymbolForDayEight,
IdeographicTelegraphSymbolForDayNine,
IdeographicTelegraphSymbolForDayTen,
IdeographicTelegraphSymbolForDayEleven,
IdeographicTelegraphSymbolForDayTwelve,
IdeographicTelegraphSymbolForDayThirteen,
IdeographicTelegraphSymbolForDayFourteen,
IdeographicTelegraphSymbolForDayFifteen,
IdeographicTelegraphSymbolForDaySixteen,
IdeographicTelegraphSymbolForDaySeventeen,
IdeographicTelegraphSymbolForDayEighteen,
IdeographicTelegraphSymbolForDayNineteen,
IdeographicTelegraphSymbolForDayTwenty,
IdeographicTelegraphSymbolForDayTwentyDashOne,
IdeographicTelegraphSymbolForDayTwentyDashTwo,
IdeographicTelegraphSymbolForDayTwentyDashThree,
IdeographicTelegraphSymbolForDayTwentyDashFour,
IdeographicTelegraphSymbolForDayTwentyDashFive,
IdeographicTelegraphSymbolForDayTwentyDashSix,
IdeographicTelegraphSymbolForDayTwentyDashSeven,
IdeographicTelegraphSymbolForDayTwentyDashEight,
IdeographicTelegraphSymbolForDayTwentyDashNine,
IdeographicTelegraphSymbolForDayThirty,
IdeographicTelegraphSymbolForDayThirtyDashOne,
}
impl Into<char> for CJKCompatibility {
fn into(self) -> char {
match self {
CJKCompatibility::SquareApaato => '㌀',
CJKCompatibility::SquareAruhua => '㌁',
CJKCompatibility::SquareAnpea => '㌂',
CJKCompatibility::SquareAaru => '㌃',
CJKCompatibility::SquareIningu => '㌄',
CJKCompatibility::SquareInti => '㌅',
CJKCompatibility::SquareUon => '㌆',
CJKCompatibility::SquareEsukuudo => '㌇',
CJKCompatibility::SquareEekaa => '㌈',
CJKCompatibility::SquareOnsu => '㌉',
CJKCompatibility::SquareOomu => '㌊',
CJKCompatibility::SquareKairi => '㌋',
CJKCompatibility::SquareKaratto => '㌌',
CJKCompatibility::SquareKarorii => '㌍',
CJKCompatibility::SquareGaron => '㌎',
CJKCompatibility::SquareGanma => '㌏',
CJKCompatibility::SquareGiga => '㌐',
CJKCompatibility::SquareGinii => '㌑',
CJKCompatibility::SquareKyurii => '㌒',
CJKCompatibility::SquareGirudaa => '㌓',
CJKCompatibility::SquareKiro => '㌔',
CJKCompatibility::SquareKiroguramu => '㌕',
CJKCompatibility::SquareKiromeetoru => '㌖',
CJKCompatibility::SquareKirowatto => '㌗',
CJKCompatibility::SquareGuramu => '㌘',
CJKCompatibility::SquareGuramuton => '㌙',
CJKCompatibility::SquareKuruzeiro => '㌚',
CJKCompatibility::SquareKuroone => '㌛',
CJKCompatibility::SquareKeesu => '㌜',
CJKCompatibility::SquareKoruna => '㌝',
CJKCompatibility::SquareKoopo => '㌞',
CJKCompatibility::SquareSaikuru => '㌟',
CJKCompatibility::SquareSantiimu => '㌠',
CJKCompatibility::SquareSiringu => '㌡',
CJKCompatibility::SquareSenti => '㌢',
CJKCompatibility::SquareSento => '㌣',
CJKCompatibility::SquareDaasu => '㌤',
CJKCompatibility::SquareDesi => '㌥',
CJKCompatibility::SquareDoru => '㌦',
CJKCompatibility::SquareTon => '㌧',
CJKCompatibility::SquareNano => '㌨',
CJKCompatibility::SquareNotto => '㌩',
CJKCompatibility::SquareHaitu => '㌪',
CJKCompatibility::SquarePaasento => '㌫',
CJKCompatibility::SquarePaatu => '㌬',
CJKCompatibility::SquareBaareru => '㌭',
CJKCompatibility::SquarePiasutoru => '㌮',
CJKCompatibility::SquarePikuru => '㌯',
CJKCompatibility::SquarePiko => '㌰',
CJKCompatibility::SquareBiru => '㌱',
CJKCompatibility::SquareHuaraddo => '㌲',
CJKCompatibility::SquareHuiito => '㌳',
CJKCompatibility::SquareBussyeru => '㌴',
CJKCompatibility::SquareHuran => '㌵',
CJKCompatibility::SquareHekutaaru => '㌶',
CJKCompatibility::SquarePeso => '㌷',
CJKCompatibility::SquarePenihi => '㌸',
CJKCompatibility::SquareHerutu => '㌹',
CJKCompatibility::SquarePensu => '㌺',
CJKCompatibility::SquarePeezi => '㌻',
CJKCompatibility::SquareBeeta => '㌼',
CJKCompatibility::SquarePointo => '㌽',
CJKCompatibility::SquareBoruto => '㌾',
CJKCompatibility::SquareHon => '㌿',
CJKCompatibility::SquarePondo => '㍀',
CJKCompatibility::SquareHooru => '㍁',
CJKCompatibility::SquareHoon => '㍂',
CJKCompatibility::SquareMaikuro => '㍃',
CJKCompatibility::SquareMairu => '㍄',
CJKCompatibility::SquareMahha => '㍅',
CJKCompatibility::SquareMaruku => '㍆',
CJKCompatibility::SquareMansyon => '㍇',
CJKCompatibility::SquareMikuron => '㍈',
CJKCompatibility::SquareMiri => '㍉',
CJKCompatibility::SquareMiribaaru => '㍊',
CJKCompatibility::SquareMega => '㍋',
CJKCompatibility::SquareMegaton => '㍌',
CJKCompatibility::SquareMeetoru => '㍍',
CJKCompatibility::SquareYaado => '㍎',
CJKCompatibility::SquareYaaru => '㍏',
CJKCompatibility::SquareYuan => '㍐',
CJKCompatibility::SquareRittoru => '㍑',
CJKCompatibility::SquareRira => '㍒',
CJKCompatibility::SquareRupii => '㍓',
CJKCompatibility::SquareRuuburu => '㍔',
CJKCompatibility::SquareRemu => '㍕',
CJKCompatibility::SquareRentogen => '㍖',
CJKCompatibility::SquareWatto => '㍗',
CJKCompatibility::IdeographicTelegraphSymbolForHourZero => '㍘',
CJKCompatibility::IdeographicTelegraphSymbolForHourOne => '㍙',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwo => '㍚',
CJKCompatibility::IdeographicTelegraphSymbolForHourThree => '㍛',
CJKCompatibility::IdeographicTelegraphSymbolForHourFour => '㍜',
CJKCompatibility::IdeographicTelegraphSymbolForHourFive => '㍝',
CJKCompatibility::IdeographicTelegraphSymbolForHourSix => '㍞',
CJKCompatibility::IdeographicTelegraphSymbolForHourSeven => '㍟',
CJKCompatibility::IdeographicTelegraphSymbolForHourEight => '㍠',
CJKCompatibility::IdeographicTelegraphSymbolForHourNine => '㍡',
CJKCompatibility::IdeographicTelegraphSymbolForHourTen => '㍢',
CJKCompatibility::IdeographicTelegraphSymbolForHourEleven => '㍣',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwelve => '㍤',
CJKCompatibility::IdeographicTelegraphSymbolForHourThirteen => '㍥',
CJKCompatibility::IdeographicTelegraphSymbolForHourFourteen => '㍦',
CJKCompatibility::IdeographicTelegraphSymbolForHourFifteen => '㍧',
CJKCompatibility::IdeographicTelegraphSymbolForHourSixteen => '㍨',
CJKCompatibility::IdeographicTelegraphSymbolForHourSeventeen => '㍩',
CJKCompatibility::IdeographicTelegraphSymbolForHourEighteen => '㍪',
CJKCompatibility::IdeographicTelegraphSymbolForHourNineteen => '㍫',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwenty => '㍬',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashOne => '㍭',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashTwo => '㍮',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashThree => '㍯',
CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashFour => '㍰',
CJKCompatibility::SquareHpa => '㍱',
CJKCompatibility::SquareDa => '㍲',
CJKCompatibility::SquareAu => '㍳',
CJKCompatibility::SquareBar => '㍴',
CJKCompatibility::SquareOv => '㍵',
CJKCompatibility::SquarePc => '㍶',
CJKCompatibility::SquareDm => '㍷',
CJKCompatibility::SquareDmSquared => '㍸',
CJKCompatibility::SquareDmCubed => '㍹',
CJKCompatibility::SquareIu => '㍺',
CJKCompatibility::SquareEraNameHeisei => '㍻',
CJKCompatibility::SquareEraNameSyouwa => '㍼',
CJKCompatibility::SquareEraNameTaisyou => '㍽',
CJKCompatibility::SquareEraNameMeizi => '㍾',
CJKCompatibility::SquareCorporation => '㍿',
CJKCompatibility::SquarePaAmps => '㎀',
CJKCompatibility::SquareNa => '㎁',
CJKCompatibility::SquareMuA => '㎂',
CJKCompatibility::SquareMa => '㎃',
CJKCompatibility::SquareKa => '㎄',
CJKCompatibility::SquareKb => '㎅',
CJKCompatibility::SquareMb => '㎆',
CJKCompatibility::SquareGb => '㎇',
CJKCompatibility::SquareCal => '㎈',
CJKCompatibility::SquareKcal => '㎉',
CJKCompatibility::SquarePf => '㎊',
CJKCompatibility::SquareNf => '㎋',
CJKCompatibility::SquareMuF => '㎌',
CJKCompatibility::SquareMuG => '㎍',
CJKCompatibility::SquareMg => '㎎',
CJKCompatibility::SquareKg => '㎏',
CJKCompatibility::SquareHz => '㎐',
CJKCompatibility::SquareKhz => '㎑',
CJKCompatibility::SquareMhz => '㎒',
CJKCompatibility::SquareGhz => '㎓',
CJKCompatibility::SquareThz => '㎔',
CJKCompatibility::SquareMuL => '㎕',
CJKCompatibility::SquareMl => '㎖',
CJKCompatibility::SquareDl => '㎗',
CJKCompatibility::SquareKl => '㎘',
CJKCompatibility::SquareFm => '㎙',
CJKCompatibility::SquareNm => '㎚',
CJKCompatibility::SquareMuM => '㎛',
CJKCompatibility::SquareMm => '㎜',
CJKCompatibility::SquareCm => '㎝',
CJKCompatibility::SquareKm => '㎞',
CJKCompatibility::SquareMmSquared => '㎟',
CJKCompatibility::SquareCmSquared => '㎠',
CJKCompatibility::SquareMSquared => '㎡',
CJKCompatibility::SquareKmSquared => '㎢',
CJKCompatibility::SquareMmCubed => '㎣',
CJKCompatibility::SquareCmCubed => '㎤',
CJKCompatibility::SquareMCubed => '㎥',
CJKCompatibility::SquareKmCubed => '㎦',
CJKCompatibility::SquareMOverS => '㎧',
CJKCompatibility::SquareMOverSSquared => '㎨',
CJKCompatibility::SquarePa => '㎩',
CJKCompatibility::SquareKpa => '㎪',
CJKCompatibility::SquareMpa => '㎫',
CJKCompatibility::SquareGpa => '㎬',
CJKCompatibility::SquareRad => '㎭',
CJKCompatibility::SquareRadOverS => '㎮',
CJKCompatibility::SquareRadOverSSquared => '㎯',
CJKCompatibility::SquarePs => '㎰',
CJKCompatibility::SquareNs => '㎱',
CJKCompatibility::SquareMuS => '㎲',
CJKCompatibility::SquareMs => '㎳',
CJKCompatibility::SquarePv => '㎴',
CJKCompatibility::SquareNv => '㎵',
CJKCompatibility::SquareMuV => '㎶',
CJKCompatibility::SquareMv => '㎷',
CJKCompatibility::SquareKv => '㎸',
CJKCompatibility::SquareMvMega => '㎹',
CJKCompatibility::SquarePw => '㎺',
CJKCompatibility::SquareNw => '㎻',
CJKCompatibility::SquareMuW => '㎼',
CJKCompatibility::SquareMw => '㎽',
CJKCompatibility::SquareKw => '㎾',
CJKCompatibility::SquareMwMega => '㎿',
CJKCompatibility::SquareKOhm => '㏀',
CJKCompatibility::SquareMOhm => '㏁',
CJKCompatibility::SquareAm => '㏂',
CJKCompatibility::SquareBq => '㏃',
CJKCompatibility::SquareCc => '㏄',
CJKCompatibility::SquareCd => '㏅',
CJKCompatibility::SquareCOverKg => '㏆',
CJKCompatibility::SquareCo => '㏇',
CJKCompatibility::SquareDb => '㏈',
CJKCompatibility::SquareGy => '㏉',
CJKCompatibility::SquareHa => '㏊',
CJKCompatibility::SquareHp => '㏋',
CJKCompatibility::SquareIn => '㏌',
CJKCompatibility::SquareKk => '㏍',
CJKCompatibility::SquareKmCapital => '㏎',
CJKCompatibility::SquareKt => '㏏',
CJKCompatibility::SquareLm => '㏐',
CJKCompatibility::SquareLn => '㏑',
CJKCompatibility::SquareLog => '㏒',
CJKCompatibility::SquareLx => '㏓',
CJKCompatibility::SquareMbSmall => '㏔',
CJKCompatibility::SquareMil => '㏕',
CJKCompatibility::SquareMol => '㏖',
CJKCompatibility::SquarePh => '㏗',
CJKCompatibility::SquarePm => '㏘',
CJKCompatibility::SquarePpm => '㏙',
CJKCompatibility::SquarePr => '㏚',
CJKCompatibility::SquareSr => '㏛',
CJKCompatibility::SquareSv => '㏜',
CJKCompatibility::SquareWb => '㏝',
CJKCompatibility::SquareVOverM => '㏞',
CJKCompatibility::SquareAOverM => '㏟',
CJKCompatibility::IdeographicTelegraphSymbolForDayOne => '㏠',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwo => '㏡',
CJKCompatibility::IdeographicTelegraphSymbolForDayThree => '㏢',
CJKCompatibility::IdeographicTelegraphSymbolForDayFour => '㏣',
CJKCompatibility::IdeographicTelegraphSymbolForDayFive => '㏤',
CJKCompatibility::IdeographicTelegraphSymbolForDaySix => '㏥',
CJKCompatibility::IdeographicTelegraphSymbolForDaySeven => '㏦',
CJKCompatibility::IdeographicTelegraphSymbolForDayEight => '㏧',
CJKCompatibility::IdeographicTelegraphSymbolForDayNine => '㏨',
CJKCompatibility::IdeographicTelegraphSymbolForDayTen => '㏩',
CJKCompatibility::IdeographicTelegraphSymbolForDayEleven => '㏪',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwelve => '㏫',
CJKCompatibility::IdeographicTelegraphSymbolForDayThirteen => '㏬',
CJKCompatibility::IdeographicTelegraphSymbolForDayFourteen => '㏭',
CJKCompatibility::IdeographicTelegraphSymbolForDayFifteen => '㏮',
CJKCompatibility::IdeographicTelegraphSymbolForDaySixteen => '㏯',
CJKCompatibility::IdeographicTelegraphSymbolForDaySeventeen => '㏰',
CJKCompatibility::IdeographicTelegraphSymbolForDayEighteen => '㏱',
CJKCompatibility::IdeographicTelegraphSymbolForDayNineteen => '㏲',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwenty => '㏳',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashOne => '㏴',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashTwo => '㏵',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashThree => '㏶',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashFour => '㏷',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashFive => '㏸',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashSix => '㏹',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashSeven => '㏺',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashEight => '㏻',
CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashNine => '㏼',
CJKCompatibility::IdeographicTelegraphSymbolForDayThirty => '㏽',
CJKCompatibility::IdeographicTelegraphSymbolForDayThirtyDashOne => '㏾',
}
}
}
impl std::convert::TryFrom<char> for CJKCompatibility {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'㌀' => Ok(CJKCompatibility::SquareApaato),
'㌁' => Ok(CJKCompatibility::SquareAruhua),
'㌂' => Ok(CJKCompatibility::SquareAnpea),
'㌃' => Ok(CJKCompatibility::SquareAaru),
'㌄' => Ok(CJKCompatibility::SquareIningu),
'㌅' => Ok(CJKCompatibility::SquareInti),
'㌆' => Ok(CJKCompatibility::SquareUon),
'㌇' => Ok(CJKCompatibility::SquareEsukuudo),
'㌈' => Ok(CJKCompatibility::SquareEekaa),
'㌉' => Ok(CJKCompatibility::SquareOnsu),
'㌊' => Ok(CJKCompatibility::SquareOomu),
'㌋' => Ok(CJKCompatibility::SquareKairi),
'㌌' => Ok(CJKCompatibility::SquareKaratto),
'㌍' => Ok(CJKCompatibility::SquareKarorii),
'㌎' => Ok(CJKCompatibility::SquareGaron),
'㌏' => Ok(CJKCompatibility::SquareGanma),
'㌐' => Ok(CJKCompatibility::SquareGiga),
'㌑' => Ok(CJKCompatibility::SquareGinii),
'㌒' => Ok(CJKCompatibility::SquareKyurii),
'㌓' => Ok(CJKCompatibility::SquareGirudaa),
'㌔' => Ok(CJKCompatibility::SquareKiro),
'㌕' => Ok(CJKCompatibility::SquareKiroguramu),
'㌖' => Ok(CJKCompatibility::SquareKiromeetoru),
'㌗' => Ok(CJKCompatibility::SquareKirowatto),
'㌘' => Ok(CJKCompatibility::SquareGuramu),
'㌙' => Ok(CJKCompatibility::SquareGuramuton),
'㌚' => Ok(CJKCompatibility::SquareKuruzeiro),
'㌛' => Ok(CJKCompatibility::SquareKuroone),
'㌜' => Ok(CJKCompatibility::SquareKeesu),
'㌝' => Ok(CJKCompatibility::SquareKoruna),
'㌞' => Ok(CJKCompatibility::SquareKoopo),
'㌟' => Ok(CJKCompatibility::SquareSaikuru),
'㌠' => Ok(CJKCompatibility::SquareSantiimu),
'㌡' => Ok(CJKCompatibility::SquareSiringu),
'㌢' => Ok(CJKCompatibility::SquareSenti),
'㌣' => Ok(CJKCompatibility::SquareSento),
'㌤' => Ok(CJKCompatibility::SquareDaasu),
'㌥' => Ok(CJKCompatibility::SquareDesi),
'㌦' => Ok(CJKCompatibility::SquareDoru),
'㌧' => Ok(CJKCompatibility::SquareTon),
'㌨' => Ok(CJKCompatibility::SquareNano),
'㌩' => Ok(CJKCompatibility::SquareNotto),
'㌪' => Ok(CJKCompatibility::SquareHaitu),
'㌫' => Ok(CJKCompatibility::SquarePaasento),
'㌬' => Ok(CJKCompatibility::SquarePaatu),
'㌭' => Ok(CJKCompatibility::SquareBaareru),
'㌮' => Ok(CJKCompatibility::SquarePiasutoru),
'㌯' => Ok(CJKCompatibility::SquarePikuru),
'㌰' => Ok(CJKCompatibility::SquarePiko),
'㌱' => Ok(CJKCompatibility::SquareBiru),
'㌲' => Ok(CJKCompatibility::SquareHuaraddo),
'㌳' => Ok(CJKCompatibility::SquareHuiito),
'㌴' => Ok(CJKCompatibility::SquareBussyeru),
'㌵' => Ok(CJKCompatibility::SquareHuran),
'㌶' => Ok(CJKCompatibility::SquareHekutaaru),
'㌷' => Ok(CJKCompatibility::SquarePeso),
'㌸' => Ok(CJKCompatibility::SquarePenihi),
'㌹' => Ok(CJKCompatibility::SquareHerutu),
'㌺' => Ok(CJKCompatibility::SquarePensu),
'㌻' => Ok(CJKCompatibility::SquarePeezi),
'㌼' => Ok(CJKCompatibility::SquareBeeta),
'㌽' => Ok(CJKCompatibility::SquarePointo),
'㌾' => Ok(CJKCompatibility::SquareBoruto),
'㌿' => Ok(CJKCompatibility::SquareHon),
'㍀' => Ok(CJKCompatibility::SquarePondo),
'㍁' => Ok(CJKCompatibility::SquareHooru),
'㍂' => Ok(CJKCompatibility::SquareHoon),
'㍃' => Ok(CJKCompatibility::SquareMaikuro),
'㍄' => Ok(CJKCompatibility::SquareMairu),
'㍅' => Ok(CJKCompatibility::SquareMahha),
'㍆' => Ok(CJKCompatibility::SquareMaruku),
'㍇' => Ok(CJKCompatibility::SquareMansyon),
'㍈' => Ok(CJKCompatibility::SquareMikuron),
'㍉' => Ok(CJKCompatibility::SquareMiri),
'㍊' => Ok(CJKCompatibility::SquareMiribaaru),
'㍋' => Ok(CJKCompatibility::SquareMega),
'㍌' => Ok(CJKCompatibility::SquareMegaton),
'㍍' => Ok(CJKCompatibility::SquareMeetoru),
'㍎' => Ok(CJKCompatibility::SquareYaado),
'㍏' => Ok(CJKCompatibility::SquareYaaru),
'㍐' => Ok(CJKCompatibility::SquareYuan),
'㍑' => Ok(CJKCompatibility::SquareRittoru),
'㍒' => Ok(CJKCompatibility::SquareRira),
'㍓' => Ok(CJKCompatibility::SquareRupii),
'㍔' => Ok(CJKCompatibility::SquareRuuburu),
'㍕' => Ok(CJKCompatibility::SquareRemu),
'㍖' => Ok(CJKCompatibility::SquareRentogen),
'㍗' => Ok(CJKCompatibility::SquareWatto),
'㍘' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourZero),
'㍙' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourOne),
'㍚' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwo),
'㍛' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourThree),
'㍜' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourFour),
'㍝' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourFive),
'㍞' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourSix),
'㍟' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourSeven),
'㍠' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourEight),
'㍡' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourNine),
'㍢' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTen),
'㍣' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourEleven),
'㍤' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwelve),
'㍥' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourThirteen),
'㍦' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourFourteen),
'㍧' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourFifteen),
'㍨' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourSixteen),
'㍩' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourSeventeen),
'㍪' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourEighteen),
'㍫' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourNineteen),
'㍬' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwenty),
'㍭' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashOne),
'㍮' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashTwo),
'㍯' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashThree),
'㍰' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForHourTwentyDashFour),
'㍱' => Ok(CJKCompatibility::SquareHpa),
'㍲' => Ok(CJKCompatibility::SquareDa),
'㍳' => Ok(CJKCompatibility::SquareAu),
'㍴' => Ok(CJKCompatibility::SquareBar),
'㍵' => Ok(CJKCompatibility::SquareOv),
'㍶' => Ok(CJKCompatibility::SquarePc),
'㍷' => Ok(CJKCompatibility::SquareDm),
'㍸' => Ok(CJKCompatibility::SquareDmSquared),
'㍹' => Ok(CJKCompatibility::SquareDmCubed),
'㍺' => Ok(CJKCompatibility::SquareIu),
'㍻' => Ok(CJKCompatibility::SquareEraNameHeisei),
'㍼' => Ok(CJKCompatibility::SquareEraNameSyouwa),
'㍽' => Ok(CJKCompatibility::SquareEraNameTaisyou),
'㍾' => Ok(CJKCompatibility::SquareEraNameMeizi),
'㍿' => Ok(CJKCompatibility::SquareCorporation),
'㎀' => Ok(CJKCompatibility::SquarePaAmps),
'㎁' => Ok(CJKCompatibility::SquareNa),
'㎂' => Ok(CJKCompatibility::SquareMuA),
'㎃' => Ok(CJKCompatibility::SquareMa),
'㎄' => Ok(CJKCompatibility::SquareKa),
'㎅' => Ok(CJKCompatibility::SquareKb),
'㎆' => Ok(CJKCompatibility::SquareMb),
'㎇' => Ok(CJKCompatibility::SquareGb),
'㎈' => Ok(CJKCompatibility::SquareCal),
'㎉' => Ok(CJKCompatibility::SquareKcal),
'㎊' => Ok(CJKCompatibility::SquarePf),
'㎋' => Ok(CJKCompatibility::SquareNf),
'㎌' => Ok(CJKCompatibility::SquareMuF),
'㎍' => Ok(CJKCompatibility::SquareMuG),
'㎎' => Ok(CJKCompatibility::SquareMg),
'㎏' => Ok(CJKCompatibility::SquareKg),
'㎐' => Ok(CJKCompatibility::SquareHz),
'㎑' => Ok(CJKCompatibility::SquareKhz),
'㎒' => Ok(CJKCompatibility::SquareMhz),
'㎓' => Ok(CJKCompatibility::SquareGhz),
'㎔' => Ok(CJKCompatibility::SquareThz),
'㎕' => Ok(CJKCompatibility::SquareMuL),
'㎖' => Ok(CJKCompatibility::SquareMl),
'㎗' => Ok(CJKCompatibility::SquareDl),
'㎘' => Ok(CJKCompatibility::SquareKl),
'㎙' => Ok(CJKCompatibility::SquareFm),
'㎚' => Ok(CJKCompatibility::SquareNm),
'㎛' => Ok(CJKCompatibility::SquareMuM),
'㎜' => Ok(CJKCompatibility::SquareMm),
'㎝' => Ok(CJKCompatibility::SquareCm),
'㎞' => Ok(CJKCompatibility::SquareKm),
'㎟' => Ok(CJKCompatibility::SquareMmSquared),
'㎠' => Ok(CJKCompatibility::SquareCmSquared),
'㎡' => Ok(CJKCompatibility::SquareMSquared),
'㎢' => Ok(CJKCompatibility::SquareKmSquared),
'㎣' => Ok(CJKCompatibility::SquareMmCubed),
'㎤' => Ok(CJKCompatibility::SquareCmCubed),
'㎥' => Ok(CJKCompatibility::SquareMCubed),
'㎦' => Ok(CJKCompatibility::SquareKmCubed),
'㎧' => Ok(CJKCompatibility::SquareMOverS),
'㎨' => Ok(CJKCompatibility::SquareMOverSSquared),
'㎩' => Ok(CJKCompatibility::SquarePa),
'㎪' => Ok(CJKCompatibility::SquareKpa),
'㎫' => Ok(CJKCompatibility::SquareMpa),
'㎬' => Ok(CJKCompatibility::SquareGpa),
'㎭' => Ok(CJKCompatibility::SquareRad),
'㎮' => Ok(CJKCompatibility::SquareRadOverS),
'㎯' => Ok(CJKCompatibility::SquareRadOverSSquared),
'㎰' => Ok(CJKCompatibility::SquarePs),
'㎱' => Ok(CJKCompatibility::SquareNs),
'㎲' => Ok(CJKCompatibility::SquareMuS),
'㎳' => Ok(CJKCompatibility::SquareMs),
'㎴' => Ok(CJKCompatibility::SquarePv),
'㎵' => Ok(CJKCompatibility::SquareNv),
'㎶' => Ok(CJKCompatibility::SquareMuV),
'㎷' => Ok(CJKCompatibility::SquareMv),
'㎸' => Ok(CJKCompatibility::SquareKv),
'㎹' => Ok(CJKCompatibility::SquareMvMega),
'㎺' => Ok(CJKCompatibility::SquarePw),
'㎻' => Ok(CJKCompatibility::SquareNw),
'㎼' => Ok(CJKCompatibility::SquareMuW),
'㎽' => Ok(CJKCompatibility::SquareMw),
'㎾' => Ok(CJKCompatibility::SquareKw),
'㎿' => Ok(CJKCompatibility::SquareMwMega),
'㏀' => Ok(CJKCompatibility::SquareKOhm),
'㏁' => Ok(CJKCompatibility::SquareMOhm),
'㏂' => Ok(CJKCompatibility::SquareAm),
'㏃' => Ok(CJKCompatibility::SquareBq),
'㏄' => Ok(CJKCompatibility::SquareCc),
'㏅' => Ok(CJKCompatibility::SquareCd),
'㏆' => Ok(CJKCompatibility::SquareCOverKg),
'㏇' => Ok(CJKCompatibility::SquareCo),
'㏈' => Ok(CJKCompatibility::SquareDb),
'㏉' => Ok(CJKCompatibility::SquareGy),
'㏊' => Ok(CJKCompatibility::SquareHa),
'㏋' => Ok(CJKCompatibility::SquareHp),
'㏌' => Ok(CJKCompatibility::SquareIn),
'㏍' => Ok(CJKCompatibility::SquareKk),
'㏎' => Ok(CJKCompatibility::SquareKmCapital),
'㏏' => Ok(CJKCompatibility::SquareKt),
'㏐' => Ok(CJKCompatibility::SquareLm),
'㏑' => Ok(CJKCompatibility::SquareLn),
'㏒' => Ok(CJKCompatibility::SquareLog),
'㏓' => Ok(CJKCompatibility::SquareLx),
'㏔' => Ok(CJKCompatibility::SquareMbSmall),
'㏕' => Ok(CJKCompatibility::SquareMil),
'㏖' => Ok(CJKCompatibility::SquareMol),
'㏗' => Ok(CJKCompatibility::SquarePh),
'㏘' => Ok(CJKCompatibility::SquarePm),
'㏙' => Ok(CJKCompatibility::SquarePpm),
'㏚' => Ok(CJKCompatibility::SquarePr),
'㏛' => Ok(CJKCompatibility::SquareSr),
'㏜' => Ok(CJKCompatibility::SquareSv),
'㏝' => Ok(CJKCompatibility::SquareWb),
'㏞' => Ok(CJKCompatibility::SquareVOverM),
'㏟' => Ok(CJKCompatibility::SquareAOverM),
'㏠' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayOne),
'㏡' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwo),
'㏢' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayThree),
'㏣' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayFour),
'㏤' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayFive),
'㏥' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDaySix),
'㏦' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDaySeven),
'㏧' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayEight),
'㏨' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayNine),
'㏩' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTen),
'㏪' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayEleven),
'㏫' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwelve),
'㏬' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayThirteen),
'㏭' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayFourteen),
'㏮' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayFifteen),
'㏯' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDaySixteen),
'㏰' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDaySeventeen),
'㏱' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayEighteen),
'㏲' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayNineteen),
'㏳' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwenty),
'㏴' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashOne),
'㏵' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashTwo),
'㏶' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashThree),
'㏷' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashFour),
'㏸' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashFive),
'㏹' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashSix),
'㏺' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashSeven),
'㏻' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashEight),
'㏼' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayTwentyDashNine),
'㏽' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayThirty),
'㏾' => Ok(CJKCompatibility::IdeographicTelegraphSymbolForDayThirtyDashOne),
_ => Err(()),
}
}
}
impl Into<u32> for CJKCompatibility {
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 CJKCompatibility {
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 CJKCompatibility {
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 CJKCompatibility {
pub fn new() -> Self {
CJKCompatibility::SquareApaato
}
pub fn name(&self) -> String {
let s = std::format!("CJKCompatibility{:#?}", self);
string_morph::to_sentence_case(&s)
}
}