unicode_types 0.2.0

A mapping of all the unicode characters into convenience types (one enum per block of characters with one variant per character).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830

/// An enum to represent all characters in the Dingbats block.
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum Dingbats {
    /// \u{2700}: '✀'
    BlackSafetyScissors,
    /// \u{2701}: '✁'
    UpperBladeScissors,
    /// \u{2702}: '✂'
    BlackScissors,
    /// \u{2703}: '✃'
    LowerBladeScissors,
    /// \u{2704}: '✄'
    WhiteScissors,
    /// \u{2705}: '✅'
    WhiteHeavyCheckMark,
    /// \u{2706}: '✆'
    TelephoneLocationSign,
    /// \u{2707}: '✇'
    TapeDrive,
    /// \u{2708}: '✈'
    Airplane,
    /// \u{2709}: '✉'
    Envelope,
    /// \u{270a}: '✊'
    RaisedFist,
    /// \u{270b}: '✋'
    RaisedHand,
    /// \u{270c}: '✌'
    VictoryHand,
    /// \u{270d}: '✍'
    WritingHand,
    /// \u{270e}: '✎'
    LowerRightPencil,
    /// \u{270f}: '✏'
    Pencil,
    /// \u{2710}: '✐'
    UpperRightPencil,
    /// \u{2711}: '✑'
    WhiteNib,
    /// \u{2712}: '✒'
    BlackNib,
    /// \u{2713}: '✓'
    CheckMark,
    /// \u{2714}: '✔'
    HeavyCheckMark,
    /// \u{2715}: '✕'
    MultiplicationX,
    /// \u{2716}: '✖'
    HeavyMultiplicationX,
    /// \u{2717}: '✗'
    BallotX,
    /// \u{2718}: '✘'
    HeavyBallotX,
    /// \u{2719}: '✙'
    OutlinedGreekCross,
    /// \u{271a}: '✚'
    HeavyGreekCross,
    /// \u{271b}: '✛'
    OpenCentreCross,
    /// \u{271c}: '✜'
    HeavyOpenCentreCross,
    /// \u{271d}: '✝'
    LatinCross,
    /// \u{271e}: '✞'
    ShadowedWhiteLatinCross,
    /// \u{271f}: '✟'
    OutlinedLatinCross,
    /// \u{2720}: '✠'
    MalteseCross,
    /// \u{2721}: '✡'
    StarOfDavid,
    /// \u{2722}: '✢'
    FourTeardropDashSpokedAsterisk,
    /// \u{2723}: '✣'
    FourBalloonDashSpokedAsterisk,
    /// \u{2724}: '✤'
    HeavyFourBalloonDashSpokedAsterisk,
    /// \u{2725}: '✥'
    FourClubDashSpokedAsterisk,
    /// \u{2726}: '✦'
    BlackFourPointedStar,
    /// \u{2727}: '✧'
    WhiteFourPointedStar,
    /// \u{2728}: '✨'
    Sparkles,
    /// \u{2729}: '✩'
    StressOutlinedWhiteStar,
    /// \u{272a}: '✪'
    CircledWhiteStar,
    /// \u{272b}: '✫'
    OpenCentreBlackStar,
    /// \u{272c}: '✬'
    BlackCentreWhiteStar,
    /// \u{272d}: '✭'
    OutlinedBlackStar,
    /// \u{272e}: '✮'
    HeavyOutlinedBlackStar,
    /// \u{272f}: '✯'
    PinwheelStar,
    /// \u{2730}: '✰'
    ShadowedWhiteStar,
    /// \u{2731}: '✱'
    HeavyAsterisk,
    /// \u{2732}: '✲'
    OpenCentreAsterisk,
    /// \u{2733}: '✳'
    EightSpokedAsterisk,
    /// \u{2734}: '✴'
    EightPointedBlackStar,
    /// \u{2735}: '✵'
    EightPointedPinwheelStar,
    /// \u{2736}: '✶'
    SixPointedBlackStar,
    /// \u{2737}: '✷'
    EightPointedRectilinearBlackStar,
    /// \u{2738}: '✸'
    HeavyEightPointedRectilinearBlackStar,
    /// \u{2739}: '✹'
    TwelvePointedBlackStar,
    /// \u{273a}: '✺'
    SixteenPointedAsterisk,
    /// \u{273b}: '✻'
    TeardropDashSpokedAsterisk,
    /// \u{273c}: '✼'
    OpenCentreTeardropDashSpokedAsterisk,
    /// \u{273d}: '✽'
    HeavyTeardropDashSpokedAsterisk,
    /// \u{273e}: '✾'
    SixPetalledBlackAndWhiteFlorette,
    /// \u{273f}: '✿'
    BlackFlorette,
    /// \u{2740}: '❀'
    WhiteFlorette,
    /// \u{2741}: '❁'
    EightPetalledOutlinedBlackFlorette,
    /// \u{2742}: '❂'
    CircledOpenCentreEightPointedStar,
    /// \u{2743}: '❃'
    HeavyTeardropDashSpokedPinwheelAsterisk,
    /// \u{2744}: '❄'
    Snowflake,
    /// \u{2745}: '❅'
    TightTrifoliateSnowflake,
    /// \u{2746}: '❆'
    HeavyChevronSnowflake,
    /// \u{2747}: '❇'
    Sparkle,
    /// \u{2748}: '❈'
    HeavySparkle,
    /// \u{2749}: '❉'
    BalloonDashSpokedAsterisk,
    /// \u{274a}: '❊'
    EightTeardropDashSpokedPropellerAsterisk,
    /// \u{274b}: '❋'
    HeavyEightTeardropDashSpokedPropellerAsterisk,
    /// \u{274c}: '❌'
    CrossMark,
    /// \u{274d}: '❍'
    ShadowedWhiteCircle,
    /// \u{274e}: '❎'
    NegativeSquaredCrossMark,
    /// \u{274f}: '❏'
    LowerRightDropDashShadowedWhiteSquare,
    /// \u{2750}: '❐'
    UpperRightDropDashShadowedWhiteSquare,
    /// \u{2751}: '❑'
    LowerRightShadowedWhiteSquare,
    /// \u{2752}: '❒'
    UpperRightShadowedWhiteSquare,
    /// \u{2753}: '❓'
    BlackQuestionMarkOrnament,
    /// \u{2754}: '❔'
    WhiteQuestionMarkOrnament,
    /// \u{2755}: '❕'
    WhiteExclamationMarkOrnament,
    /// \u{2756}: '❖'
    BlackDiamondMinusWhiteX,
    /// \u{2757}: '❗'
    HeavyExclamationMarkSymbol,
    /// \u{2758}: '❘'
    LightVerticalBar,
    /// \u{2759}: '❙'
    MediumVerticalBar,
    /// \u{275a}: '❚'
    HeavyVerticalBar,
    /// \u{275b}: '❛'
    HeavySingleTurnedCommaQuotationMarkOrnament,
    /// \u{275c}: '❜'
    HeavySingleCommaQuotationMarkOrnament,
    /// \u{275d}: '❝'
    HeavyDoubleTurnedCommaQuotationMarkOrnament,
    /// \u{275e}: '❞'
    HeavyDoubleCommaQuotationMarkOrnament,
    /// \u{275f}: '❟'
    HeavyLowSingleCommaQuotationMarkOrnament,
    /// \u{2760}: '❠'
    HeavyLowDoubleCommaQuotationMarkOrnament,
    /// \u{2761}: '❡'
    CurvedStemParagraphSignOrnament,
    /// \u{2762}: '❢'
    HeavyExclamationMarkOrnament,
    /// \u{2763}: '❣'
    HeavyHeartExclamationMarkOrnament,
    /// \u{2764}: '❤'
    HeavyBlackHeart,
    /// \u{2765}: '❥'
    RotatedHeavyBlackHeartBullet,
    /// \u{2766}: '❦'
    FloralHeart,
    /// \u{2767}: '❧'
    RotatedFloralHeartBullet,
    /// \u{2768}: '❨'
    MediumLeftParenthesisOrnament,
    /// \u{2769}: '❩'
    MediumRightParenthesisOrnament,
    /// \u{276a}: '❪'
    MediumFlattenedLeftParenthesisOrnament,
    /// \u{276b}: '❫'
    MediumFlattenedRightParenthesisOrnament,
    /// \u{276c}: '❬'
    MediumLeftDashPointingAngleBracketOrnament,
    /// \u{276d}: '❭'
    MediumRightDashPointingAngleBracketOrnament,
    /// \u{276e}: '❮'
    HeavyLeftDashPointingAngleQuotationMarkOrnament,
    /// \u{276f}: '❯'
    HeavyRightDashPointingAngleQuotationMarkOrnament,
    /// \u{2770}: '❰'
    HeavyLeftDashPointingAngleBracketOrnament,
    /// \u{2771}: '❱'
    HeavyRightDashPointingAngleBracketOrnament,
    /// \u{2772}: '❲'
    LightLeftTortoiseShellBracketOrnament,
    /// \u{2773}: '❳'
    LightRightTortoiseShellBracketOrnament,
    /// \u{2774}: '❴'
    MediumLeftCurlyBracketOrnament,
    /// \u{2775}: '❵'
    MediumRightCurlyBracketOrnament,
    /// \u{2776}: '❶'
    DingbatNegativeCircledDigitOne,
    /// \u{2777}: '❷'
    DingbatNegativeCircledDigitTwo,
    /// \u{2778}: '❸'
    DingbatNegativeCircledDigitThree,
    /// \u{2779}: '❹'
    DingbatNegativeCircledDigitFour,
    /// \u{277a}: '❺'
    DingbatNegativeCircledDigitFive,
    /// \u{277b}: '❻'
    DingbatNegativeCircledDigitSix,
    /// \u{277c}: '❼'
    DingbatNegativeCircledDigitSeven,
    /// \u{277d}: '❽'
    DingbatNegativeCircledDigitEight,
    /// \u{277e}: '❾'
    DingbatNegativeCircledDigitNine,
    /// \u{277f}: '❿'
    DingbatNegativeCircledNumberTen,
    /// \u{2780}: '➀'
    DingbatCircledSansDashSerifDigitOne,
    /// \u{2781}: '➁'
    DingbatCircledSansDashSerifDigitTwo,
    /// \u{2782}: '➂'
    DingbatCircledSansDashSerifDigitThree,
    /// \u{2783}: '➃'
    DingbatCircledSansDashSerifDigitFour,
    /// \u{2784}: '➄'
    DingbatCircledSansDashSerifDigitFive,
    /// \u{2785}: '➅'
    DingbatCircledSansDashSerifDigitSix,
    /// \u{2786}: '➆'
    DingbatCircledSansDashSerifDigitSeven,
    /// \u{2787}: '➇'
    DingbatCircledSansDashSerifDigitEight,
    /// \u{2788}: '➈'
    DingbatCircledSansDashSerifDigitNine,
    /// \u{2789}: '➉'
    DingbatCircledSansDashSerifNumberTen,
    /// \u{278a}: '➊'
    DingbatNegativeCircledSansDashSerifDigitOne,
    /// \u{278b}: '➋'
    DingbatNegativeCircledSansDashSerifDigitTwo,
    /// \u{278c}: '➌'
    DingbatNegativeCircledSansDashSerifDigitThree,
    /// \u{278d}: '➍'
    DingbatNegativeCircledSansDashSerifDigitFour,
    /// \u{278e}: '➎'
    DingbatNegativeCircledSansDashSerifDigitFive,
    /// \u{278f}: '➏'
    DingbatNegativeCircledSansDashSerifDigitSix,
    /// \u{2790}: '➐'
    DingbatNegativeCircledSansDashSerifDigitSeven,
    /// \u{2791}: '➑'
    DingbatNegativeCircledSansDashSerifDigitEight,
    /// \u{2792}: '➒'
    DingbatNegativeCircledSansDashSerifDigitNine,
    /// \u{2793}: '➓'
    DingbatNegativeCircledSansDashSerifNumberTen,
    /// \u{2794}: '➔'
    HeavyWideDashHeadedRightwardsArrow,
    /// \u{2795}: '➕'
    HeavyPlusSign,
    /// \u{2796}: '➖'
    HeavyMinusSign,
    /// \u{2797}: '➗'
    HeavyDivisionSign,
    /// \u{2798}: '➘'
    HeavySouthEastArrow,
    /// \u{2799}: '➙'
    HeavyRightwardsArrow,
    /// \u{279a}: '➚'
    HeavyNorthEastArrow,
    /// \u{279b}: '➛'
    DraftingPointRightwardsArrow,
    /// \u{279c}: '➜'
    HeavyRoundDashTippedRightwardsArrow,
    /// \u{279d}: '➝'
    TriangleDashHeadedRightwardsArrow,
    /// \u{279e}: '➞'
    HeavyTriangleDashHeadedRightwardsArrow,
    /// \u{279f}: '➟'
    DashedTriangleDashHeadedRightwardsArrow,
    /// \u{27a0}: '➠'
    HeavyDashedTriangleDashHeadedRightwardsArrow,
    /// \u{27a1}: '➡'
    BlackRightwardsArrow,
    /// \u{27a2}: '➢'
    ThreeDashDTopDashLightedRightwardsArrowhead,
    /// \u{27a3}: '➣'
    ThreeDashDBottomDashLightedRightwardsArrowhead,
    /// \u{27a4}: '➤'
    BlackRightwardsArrowhead,
    /// \u{27a5}: '➥'
    HeavyBlackCurvedDownwardsAndRightwardsArrow,
    /// \u{27a6}: '➦'
    HeavyBlackCurvedUpwardsAndRightwardsArrow,
    /// \u{27a7}: '➧'
    SquatBlackRightwardsArrow,
    /// \u{27a8}: '➨'
    HeavyConcaveDashPointedBlackRightwardsArrow,
    /// \u{27a9}: '➩'
    RightDashShadedWhiteRightwardsArrow,
    /// \u{27aa}: '➪'
    LeftDashShadedWhiteRightwardsArrow,
    /// \u{27ab}: '➫'
    BackDashTiltedShadowedWhiteRightwardsArrow,
    /// \u{27ac}: '➬'
    FrontDashTiltedShadowedWhiteRightwardsArrow,
    /// \u{27ad}: '➭'
    HeavyLowerRightDashShadowedWhiteRightwardsArrow,
    /// \u{27ae}: '➮'
    HeavyUpperRightDashShadowedWhiteRightwardsArrow,
    /// \u{27af}: '➯'
    NotchedLowerRightDashShadowedWhiteRightwardsArrow,
    /// \u{27b0}: '➰'
    CurlyLoop,
    /// \u{27b1}: '➱'
    NotchedUpperRightDashShadowedWhiteRightwardsArrow,
    /// \u{27b2}: '➲'
    CircledHeavyWhiteRightwardsArrow,
    /// \u{27b3}: '➳'
    WhiteDashFeatheredRightwardsArrow,
    /// \u{27b4}: '➴'
    BlackDashFeatheredSouthEastArrow,
    /// \u{27b5}: '➵'
    BlackDashFeatheredRightwardsArrow,
    /// \u{27b6}: '➶'
    BlackDashFeatheredNorthEastArrow,
    /// \u{27b7}: '➷'
    HeavyBlackDashFeatheredSouthEastArrow,
    /// \u{27b8}: '➸'
    HeavyBlackDashFeatheredRightwardsArrow,
    /// \u{27b9}: '➹'
    HeavyBlackDashFeatheredNorthEastArrow,
    /// \u{27ba}: '➺'
    TeardropDashBarbedRightwardsArrow,
    /// \u{27bb}: '➻'
    HeavyTeardropDashShankedRightwardsArrow,
    /// \u{27bc}: '➼'
    WedgeDashTailedRightwardsArrow,
    /// \u{27bd}: '➽'
    HeavyWedgeDashTailedRightwardsArrow,
    /// \u{27be}: '➾'
    OpenDashOutlinedRightwardsArrow,
}

impl Into<char> for Dingbats {
    fn into(self) -> char {
        match self {
            Dingbats::BlackSafetyScissors => '',
            Dingbats::UpperBladeScissors => '',
            Dingbats::BlackScissors => '',
            Dingbats::LowerBladeScissors => '',
            Dingbats::WhiteScissors => '',
            Dingbats::WhiteHeavyCheckMark => '',
            Dingbats::TelephoneLocationSign => '',
            Dingbats::TapeDrive => '',
            Dingbats::Airplane => '',
            Dingbats::Envelope => '',
            Dingbats::RaisedFist => '',
            Dingbats::RaisedHand => '',
            Dingbats::VictoryHand => '',
            Dingbats::WritingHand => '',
            Dingbats::LowerRightPencil => '',
            Dingbats::Pencil => '',
            Dingbats::UpperRightPencil => '',
            Dingbats::WhiteNib => '',
            Dingbats::BlackNib => '',
            Dingbats::CheckMark => '',
            Dingbats::HeavyCheckMark => '',
            Dingbats::MultiplicationX => '',
            Dingbats::HeavyMultiplicationX => '',
            Dingbats::BallotX => '',
            Dingbats::HeavyBallotX => '',
            Dingbats::OutlinedGreekCross => '',
            Dingbats::HeavyGreekCross => '',
            Dingbats::OpenCentreCross => '',
            Dingbats::HeavyOpenCentreCross => '',
            Dingbats::LatinCross => '',
            Dingbats::ShadowedWhiteLatinCross => '',
            Dingbats::OutlinedLatinCross => '',
            Dingbats::MalteseCross => '',
            Dingbats::StarOfDavid => '',
            Dingbats::FourTeardropDashSpokedAsterisk => '',
            Dingbats::FourBalloonDashSpokedAsterisk => '',
            Dingbats::HeavyFourBalloonDashSpokedAsterisk => '',
            Dingbats::FourClubDashSpokedAsterisk => '',
            Dingbats::BlackFourPointedStar => '',
            Dingbats::WhiteFourPointedStar => '',
            Dingbats::Sparkles => '',
            Dingbats::StressOutlinedWhiteStar => '',
            Dingbats::CircledWhiteStar => '',
            Dingbats::OpenCentreBlackStar => '',
            Dingbats::BlackCentreWhiteStar => '',
            Dingbats::OutlinedBlackStar => '',
            Dingbats::HeavyOutlinedBlackStar => '',
            Dingbats::PinwheelStar => '',
            Dingbats::ShadowedWhiteStar => '',
            Dingbats::HeavyAsterisk => '',
            Dingbats::OpenCentreAsterisk => '',
            Dingbats::EightSpokedAsterisk => '',
            Dingbats::EightPointedBlackStar => '',
            Dingbats::EightPointedPinwheelStar => '',
            Dingbats::SixPointedBlackStar => '',
            Dingbats::EightPointedRectilinearBlackStar => '',
            Dingbats::HeavyEightPointedRectilinearBlackStar => '',
            Dingbats::TwelvePointedBlackStar => '',
            Dingbats::SixteenPointedAsterisk => '',
            Dingbats::TeardropDashSpokedAsterisk => '',
            Dingbats::OpenCentreTeardropDashSpokedAsterisk => '',
            Dingbats::HeavyTeardropDashSpokedAsterisk => '',
            Dingbats::SixPetalledBlackAndWhiteFlorette => '',
            Dingbats::BlackFlorette => '',
            Dingbats::WhiteFlorette => '',
            Dingbats::EightPetalledOutlinedBlackFlorette => '',
            Dingbats::CircledOpenCentreEightPointedStar => '',
            Dingbats::HeavyTeardropDashSpokedPinwheelAsterisk => '',
            Dingbats::Snowflake => '',
            Dingbats::TightTrifoliateSnowflake => '',
            Dingbats::HeavyChevronSnowflake => '',
            Dingbats::Sparkle => '',
            Dingbats::HeavySparkle => '',
            Dingbats::BalloonDashSpokedAsterisk => '',
            Dingbats::EightTeardropDashSpokedPropellerAsterisk => '',
            Dingbats::HeavyEightTeardropDashSpokedPropellerAsterisk => '',
            Dingbats::CrossMark => '',
            Dingbats::ShadowedWhiteCircle => '',
            Dingbats::NegativeSquaredCrossMark => '',
            Dingbats::LowerRightDropDashShadowedWhiteSquare => '',
            Dingbats::UpperRightDropDashShadowedWhiteSquare => '',
            Dingbats::LowerRightShadowedWhiteSquare => '',
            Dingbats::UpperRightShadowedWhiteSquare => '',
            Dingbats::BlackQuestionMarkOrnament => '',
            Dingbats::WhiteQuestionMarkOrnament => '',
            Dingbats::WhiteExclamationMarkOrnament => '',
            Dingbats::BlackDiamondMinusWhiteX => '',
            Dingbats::HeavyExclamationMarkSymbol => '',
            Dingbats::LightVerticalBar => '',
            Dingbats::MediumVerticalBar => '',
            Dingbats::HeavyVerticalBar => '',
            Dingbats::HeavySingleTurnedCommaQuotationMarkOrnament => '',
            Dingbats::HeavySingleCommaQuotationMarkOrnament => '',
            Dingbats::HeavyDoubleTurnedCommaQuotationMarkOrnament => '',
            Dingbats::HeavyDoubleCommaQuotationMarkOrnament => '',
            Dingbats::HeavyLowSingleCommaQuotationMarkOrnament => '',
            Dingbats::HeavyLowDoubleCommaQuotationMarkOrnament => '',
            Dingbats::CurvedStemParagraphSignOrnament => '',
            Dingbats::HeavyExclamationMarkOrnament => '',
            Dingbats::HeavyHeartExclamationMarkOrnament => '',
            Dingbats::HeavyBlackHeart => '',
            Dingbats::RotatedHeavyBlackHeartBullet => '',
            Dingbats::FloralHeart => '',
            Dingbats::RotatedFloralHeartBullet => '',
            Dingbats::MediumLeftParenthesisOrnament => '',
            Dingbats::MediumRightParenthesisOrnament => '',
            Dingbats::MediumFlattenedLeftParenthesisOrnament => '',
            Dingbats::MediumFlattenedRightParenthesisOrnament => '',
            Dingbats::MediumLeftDashPointingAngleBracketOrnament => '',
            Dingbats::MediumRightDashPointingAngleBracketOrnament => '',
            Dingbats::HeavyLeftDashPointingAngleQuotationMarkOrnament => '',
            Dingbats::HeavyRightDashPointingAngleQuotationMarkOrnament => '',
            Dingbats::HeavyLeftDashPointingAngleBracketOrnament => '',
            Dingbats::HeavyRightDashPointingAngleBracketOrnament => '',
            Dingbats::LightLeftTortoiseShellBracketOrnament => '',
            Dingbats::LightRightTortoiseShellBracketOrnament => '',
            Dingbats::MediumLeftCurlyBracketOrnament => '',
            Dingbats::MediumRightCurlyBracketOrnament => '',
            Dingbats::DingbatNegativeCircledDigitOne => '',
            Dingbats::DingbatNegativeCircledDigitTwo => '',
            Dingbats::DingbatNegativeCircledDigitThree => '',
            Dingbats::DingbatNegativeCircledDigitFour => '',
            Dingbats::DingbatNegativeCircledDigitFive => '',
            Dingbats::DingbatNegativeCircledDigitSix => '',
            Dingbats::DingbatNegativeCircledDigitSeven => '',
            Dingbats::DingbatNegativeCircledDigitEight => '',
            Dingbats::DingbatNegativeCircledDigitNine => '',
            Dingbats::DingbatNegativeCircledNumberTen => '',
            Dingbats::DingbatCircledSansDashSerifDigitOne => '',
            Dingbats::DingbatCircledSansDashSerifDigitTwo => '',
            Dingbats::DingbatCircledSansDashSerifDigitThree => '',
            Dingbats::DingbatCircledSansDashSerifDigitFour => '',
            Dingbats::DingbatCircledSansDashSerifDigitFive => '',
            Dingbats::DingbatCircledSansDashSerifDigitSix => '',
            Dingbats::DingbatCircledSansDashSerifDigitSeven => '',
            Dingbats::DingbatCircledSansDashSerifDigitEight => '',
            Dingbats::DingbatCircledSansDashSerifDigitNine => '',
            Dingbats::DingbatCircledSansDashSerifNumberTen => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitOne => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitTwo => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitThree => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitFour => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitFive => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitSix => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitSeven => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitEight => '',
            Dingbats::DingbatNegativeCircledSansDashSerifDigitNine => '',
            Dingbats::DingbatNegativeCircledSansDashSerifNumberTen => '',
            Dingbats::HeavyWideDashHeadedRightwardsArrow => '',
            Dingbats::HeavyPlusSign => '',
            Dingbats::HeavyMinusSign => '',
            Dingbats::HeavyDivisionSign => '',
            Dingbats::HeavySouthEastArrow => '',
            Dingbats::HeavyRightwardsArrow => '',
            Dingbats::HeavyNorthEastArrow => '',
            Dingbats::DraftingPointRightwardsArrow => '',
            Dingbats::HeavyRoundDashTippedRightwardsArrow => '',
            Dingbats::TriangleDashHeadedRightwardsArrow => '',
            Dingbats::HeavyTriangleDashHeadedRightwardsArrow => '',
            Dingbats::DashedTriangleDashHeadedRightwardsArrow => '',
            Dingbats::HeavyDashedTriangleDashHeadedRightwardsArrow => '',
            Dingbats::BlackRightwardsArrow => '',
            Dingbats::ThreeDashDTopDashLightedRightwardsArrowhead => '',
            Dingbats::ThreeDashDBottomDashLightedRightwardsArrowhead => '',
            Dingbats::BlackRightwardsArrowhead => '',
            Dingbats::HeavyBlackCurvedDownwardsAndRightwardsArrow => '',
            Dingbats::HeavyBlackCurvedUpwardsAndRightwardsArrow => '',
            Dingbats::SquatBlackRightwardsArrow => '',
            Dingbats::HeavyConcaveDashPointedBlackRightwardsArrow => '',
            Dingbats::RightDashShadedWhiteRightwardsArrow => '',
            Dingbats::LeftDashShadedWhiteRightwardsArrow => '',
            Dingbats::BackDashTiltedShadowedWhiteRightwardsArrow => '',
            Dingbats::FrontDashTiltedShadowedWhiteRightwardsArrow => '',
            Dingbats::HeavyLowerRightDashShadowedWhiteRightwardsArrow => '',
            Dingbats::HeavyUpperRightDashShadowedWhiteRightwardsArrow => '',
            Dingbats::NotchedLowerRightDashShadowedWhiteRightwardsArrow => '',
            Dingbats::CurlyLoop => '',
            Dingbats::NotchedUpperRightDashShadowedWhiteRightwardsArrow => '',
            Dingbats::CircledHeavyWhiteRightwardsArrow => '',
            Dingbats::WhiteDashFeatheredRightwardsArrow => '',
            Dingbats::BlackDashFeatheredSouthEastArrow => '',
            Dingbats::BlackDashFeatheredRightwardsArrow => '',
            Dingbats::BlackDashFeatheredNorthEastArrow => '',
            Dingbats::HeavyBlackDashFeatheredSouthEastArrow => '',
            Dingbats::HeavyBlackDashFeatheredRightwardsArrow => '',
            Dingbats::HeavyBlackDashFeatheredNorthEastArrow => '',
            Dingbats::TeardropDashBarbedRightwardsArrow => '',
            Dingbats::HeavyTeardropDashShankedRightwardsArrow => '',
            Dingbats::WedgeDashTailedRightwardsArrow => '',
            Dingbats::HeavyWedgeDashTailedRightwardsArrow => '',
            Dingbats::OpenDashOutlinedRightwardsArrow => '',
        }
    }
}

impl std::convert::TryFrom<char> for Dingbats {
    type Error = ();
    fn try_from(c: char) -> Result<Self, Self::Error> {
        match c {
            '' => Ok(Dingbats::BlackSafetyScissors),
            '' => Ok(Dingbats::UpperBladeScissors),
            '' => Ok(Dingbats::BlackScissors),
            '' => Ok(Dingbats::LowerBladeScissors),
            '' => Ok(Dingbats::WhiteScissors),
            '' => Ok(Dingbats::WhiteHeavyCheckMark),
            '' => Ok(Dingbats::TelephoneLocationSign),
            '' => Ok(Dingbats::TapeDrive),
            '' => Ok(Dingbats::Airplane),
            '' => Ok(Dingbats::Envelope),
            '' => Ok(Dingbats::RaisedFist),
            '' => Ok(Dingbats::RaisedHand),
            '' => Ok(Dingbats::VictoryHand),
            '' => Ok(Dingbats::WritingHand),
            '' => Ok(Dingbats::LowerRightPencil),
            '' => Ok(Dingbats::Pencil),
            '' => Ok(Dingbats::UpperRightPencil),
            '' => Ok(Dingbats::WhiteNib),
            '' => Ok(Dingbats::BlackNib),
            '' => Ok(Dingbats::CheckMark),
            '' => Ok(Dingbats::HeavyCheckMark),
            '' => Ok(Dingbats::MultiplicationX),
            '' => Ok(Dingbats::HeavyMultiplicationX),
            '' => Ok(Dingbats::BallotX),
            '' => Ok(Dingbats::HeavyBallotX),
            '' => Ok(Dingbats::OutlinedGreekCross),
            '' => Ok(Dingbats::HeavyGreekCross),
            '' => Ok(Dingbats::OpenCentreCross),
            '' => Ok(Dingbats::HeavyOpenCentreCross),
            '' => Ok(Dingbats::LatinCross),
            '' => Ok(Dingbats::ShadowedWhiteLatinCross),
            '' => Ok(Dingbats::OutlinedLatinCross),
            '' => Ok(Dingbats::MalteseCross),
            '' => Ok(Dingbats::StarOfDavid),
            '' => Ok(Dingbats::FourTeardropDashSpokedAsterisk),
            '' => Ok(Dingbats::FourBalloonDashSpokedAsterisk),
            '' => Ok(Dingbats::HeavyFourBalloonDashSpokedAsterisk),
            '' => Ok(Dingbats::FourClubDashSpokedAsterisk),
            '' => Ok(Dingbats::BlackFourPointedStar),
            '' => Ok(Dingbats::WhiteFourPointedStar),
            '' => Ok(Dingbats::Sparkles),
            '' => Ok(Dingbats::StressOutlinedWhiteStar),
            '' => Ok(Dingbats::CircledWhiteStar),
            '' => Ok(Dingbats::OpenCentreBlackStar),
            '' => Ok(Dingbats::BlackCentreWhiteStar),
            '' => Ok(Dingbats::OutlinedBlackStar),
            '' => Ok(Dingbats::HeavyOutlinedBlackStar),
            '' => Ok(Dingbats::PinwheelStar),
            '' => Ok(Dingbats::ShadowedWhiteStar),
            '' => Ok(Dingbats::HeavyAsterisk),
            '' => Ok(Dingbats::OpenCentreAsterisk),
            '' => Ok(Dingbats::EightSpokedAsterisk),
            '' => Ok(Dingbats::EightPointedBlackStar),
            '' => Ok(Dingbats::EightPointedPinwheelStar),
            '' => Ok(Dingbats::SixPointedBlackStar),
            '' => Ok(Dingbats::EightPointedRectilinearBlackStar),
            '' => Ok(Dingbats::HeavyEightPointedRectilinearBlackStar),
            '' => Ok(Dingbats::TwelvePointedBlackStar),
            '' => Ok(Dingbats::SixteenPointedAsterisk),
            '' => Ok(Dingbats::TeardropDashSpokedAsterisk),
            '' => Ok(Dingbats::OpenCentreTeardropDashSpokedAsterisk),
            '' => Ok(Dingbats::HeavyTeardropDashSpokedAsterisk),
            '' => Ok(Dingbats::SixPetalledBlackAndWhiteFlorette),
            '' => Ok(Dingbats::BlackFlorette),
            '' => Ok(Dingbats::WhiteFlorette),
            '' => Ok(Dingbats::EightPetalledOutlinedBlackFlorette),
            '' => Ok(Dingbats::CircledOpenCentreEightPointedStar),
            '' => Ok(Dingbats::HeavyTeardropDashSpokedPinwheelAsterisk),
            '' => Ok(Dingbats::Snowflake),
            '' => Ok(Dingbats::TightTrifoliateSnowflake),
            '' => Ok(Dingbats::HeavyChevronSnowflake),
            '' => Ok(Dingbats::Sparkle),
            '' => Ok(Dingbats::HeavySparkle),
            '' => Ok(Dingbats::BalloonDashSpokedAsterisk),
            '' => Ok(Dingbats::EightTeardropDashSpokedPropellerAsterisk),
            '' => Ok(Dingbats::HeavyEightTeardropDashSpokedPropellerAsterisk),
            '' => Ok(Dingbats::CrossMark),
            '' => Ok(Dingbats::ShadowedWhiteCircle),
            '' => Ok(Dingbats::NegativeSquaredCrossMark),
            '' => Ok(Dingbats::LowerRightDropDashShadowedWhiteSquare),
            '' => Ok(Dingbats::UpperRightDropDashShadowedWhiteSquare),
            '' => Ok(Dingbats::LowerRightShadowedWhiteSquare),
            '' => Ok(Dingbats::UpperRightShadowedWhiteSquare),
            '' => Ok(Dingbats::BlackQuestionMarkOrnament),
            '' => Ok(Dingbats::WhiteQuestionMarkOrnament),
            '' => Ok(Dingbats::WhiteExclamationMarkOrnament),
            '' => Ok(Dingbats::BlackDiamondMinusWhiteX),
            '' => Ok(Dingbats::HeavyExclamationMarkSymbol),
            '' => Ok(Dingbats::LightVerticalBar),
            '' => Ok(Dingbats::MediumVerticalBar),
            '' => Ok(Dingbats::HeavyVerticalBar),
            '' => Ok(Dingbats::HeavySingleTurnedCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavySingleCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyDoubleTurnedCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyDoubleCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyLowSingleCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyLowDoubleCommaQuotationMarkOrnament),
            '' => Ok(Dingbats::CurvedStemParagraphSignOrnament),
            '' => Ok(Dingbats::HeavyExclamationMarkOrnament),
            '' => Ok(Dingbats::HeavyHeartExclamationMarkOrnament),
            '' => Ok(Dingbats::HeavyBlackHeart),
            '' => Ok(Dingbats::RotatedHeavyBlackHeartBullet),
            '' => Ok(Dingbats::FloralHeart),
            '' => Ok(Dingbats::RotatedFloralHeartBullet),
            '' => Ok(Dingbats::MediumLeftParenthesisOrnament),
            '' => Ok(Dingbats::MediumRightParenthesisOrnament),
            '' => Ok(Dingbats::MediumFlattenedLeftParenthesisOrnament),
            '' => Ok(Dingbats::MediumFlattenedRightParenthesisOrnament),
            '' => Ok(Dingbats::MediumLeftDashPointingAngleBracketOrnament),
            '' => Ok(Dingbats::MediumRightDashPointingAngleBracketOrnament),
            '' => Ok(Dingbats::HeavyLeftDashPointingAngleQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyRightDashPointingAngleQuotationMarkOrnament),
            '' => Ok(Dingbats::HeavyLeftDashPointingAngleBracketOrnament),
            '' => Ok(Dingbats::HeavyRightDashPointingAngleBracketOrnament),
            '' => Ok(Dingbats::LightLeftTortoiseShellBracketOrnament),
            '' => Ok(Dingbats::LightRightTortoiseShellBracketOrnament),
            '' => Ok(Dingbats::MediumLeftCurlyBracketOrnament),
            '' => Ok(Dingbats::MediumRightCurlyBracketOrnament),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitOne),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitTwo),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitThree),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitFour),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitFive),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitSix),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitSeven),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitEight),
            '' => Ok(Dingbats::DingbatNegativeCircledDigitNine),
            '' => Ok(Dingbats::DingbatNegativeCircledNumberTen),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitOne),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitTwo),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitThree),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitFour),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitFive),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitSix),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitSeven),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitEight),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifDigitNine),
            '' => Ok(Dingbats::DingbatCircledSansDashSerifNumberTen),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitOne),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitTwo),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitThree),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitFour),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitFive),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitSix),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitSeven),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitEight),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifDigitNine),
            '' => Ok(Dingbats::DingbatNegativeCircledSansDashSerifNumberTen),
            '' => Ok(Dingbats::HeavyWideDashHeadedRightwardsArrow),
            '' => Ok(Dingbats::HeavyPlusSign),
            '' => Ok(Dingbats::HeavyMinusSign),
            '' => Ok(Dingbats::HeavyDivisionSign),
            '' => Ok(Dingbats::HeavySouthEastArrow),
            '' => Ok(Dingbats::HeavyRightwardsArrow),
            '' => Ok(Dingbats::HeavyNorthEastArrow),
            '' => Ok(Dingbats::DraftingPointRightwardsArrow),
            '' => Ok(Dingbats::HeavyRoundDashTippedRightwardsArrow),
            '' => Ok(Dingbats::TriangleDashHeadedRightwardsArrow),
            '' => Ok(Dingbats::HeavyTriangleDashHeadedRightwardsArrow),
            '' => Ok(Dingbats::DashedTriangleDashHeadedRightwardsArrow),
            '' => Ok(Dingbats::HeavyDashedTriangleDashHeadedRightwardsArrow),
            '' => Ok(Dingbats::BlackRightwardsArrow),
            '' => Ok(Dingbats::ThreeDashDTopDashLightedRightwardsArrowhead),
            '' => Ok(Dingbats::ThreeDashDBottomDashLightedRightwardsArrowhead),
            '' => Ok(Dingbats::BlackRightwardsArrowhead),
            '' => Ok(Dingbats::HeavyBlackCurvedDownwardsAndRightwardsArrow),
            '' => Ok(Dingbats::HeavyBlackCurvedUpwardsAndRightwardsArrow),
            '' => Ok(Dingbats::SquatBlackRightwardsArrow),
            '' => Ok(Dingbats::HeavyConcaveDashPointedBlackRightwardsArrow),
            '' => Ok(Dingbats::RightDashShadedWhiteRightwardsArrow),
            '' => Ok(Dingbats::LeftDashShadedWhiteRightwardsArrow),
            '' => Ok(Dingbats::BackDashTiltedShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::FrontDashTiltedShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::HeavyLowerRightDashShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::HeavyUpperRightDashShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::NotchedLowerRightDashShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::CurlyLoop),
            '' => Ok(Dingbats::NotchedUpperRightDashShadowedWhiteRightwardsArrow),
            '' => Ok(Dingbats::CircledHeavyWhiteRightwardsArrow),
            '' => Ok(Dingbats::WhiteDashFeatheredRightwardsArrow),
            '' => Ok(Dingbats::BlackDashFeatheredSouthEastArrow),
            '' => Ok(Dingbats::BlackDashFeatheredRightwardsArrow),
            '' => Ok(Dingbats::BlackDashFeatheredNorthEastArrow),
            '' => Ok(Dingbats::HeavyBlackDashFeatheredSouthEastArrow),
            '' => Ok(Dingbats::HeavyBlackDashFeatheredRightwardsArrow),
            '' => Ok(Dingbats::HeavyBlackDashFeatheredNorthEastArrow),
            '' => Ok(Dingbats::TeardropDashBarbedRightwardsArrow),
            '' => Ok(Dingbats::HeavyTeardropDashShankedRightwardsArrow),
            '' => Ok(Dingbats::WedgeDashTailedRightwardsArrow),
            '' => Ok(Dingbats::HeavyWedgeDashTailedRightwardsArrow),
            '' => Ok(Dingbats::OpenDashOutlinedRightwardsArrow),
            _ => Err(()),
        }
    }
}

impl Into<u32> for Dingbats {
    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 Dingbats {
    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 Dingbats {
    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 Dingbats {
    /// The character with the lowest index in this unicode block
    pub fn new() -> Self {
        Dingbats::BlackSafetyScissors
    }

    /// The character's name, in sentence case
    pub fn name(&self) -> String {
        let s = std::format!("Dingbats{:#?}", self);
        string_morph::to_sentence_case(&s)
    }
}