1use std::fmt;
2
3#[derive(Debug, Clone, Copy, PartialEq)]
5pub enum Variant {
6 Normal,
7 Italic,
8 Bold,
9 BoldItalic,
10 DoubleStruck,
11 BoldFraktur,
12 Script,
13 BoldScript,
14 Fraktur,
15 SansSerif,
16 BoldSansSerif,
17 SansSerifItalic,
18 SansSerifBoldItalic,
19 Monospace,
20}
21
22impl fmt::Display for Variant {
23 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
24 match self {
25 Variant::Normal => write!(f, "normal"),
26 Variant::Italic => write!(f, "italic"),
27 Variant::Bold => write!(f, "bold"),
28 Variant::BoldItalic => write!(f, "bold-italic"),
29 Variant::DoubleStruck => write!(f, "double-struck"),
30 Variant::BoldFraktur => write!(f, "bold-fraktur"),
31 Variant::Script => write!(f, "script"),
32 Variant::BoldScript => write!(f, "bold-script"),
33 Variant::Fraktur => write!(f, "fraktur"),
34 Variant::SansSerif => write!(f, "sans-serif"),
35 Variant::BoldSansSerif => write!(f, "bold-sans-serif"),
36 Variant::SansSerifItalic => write!(f, "sans-serif-italic"),
37 Variant::SansSerifBoldItalic => write!(f, "sans-serif-bold-italic"),
38 Variant::Monospace => write!(f, "monospace"),
39 }
40 }
41}
42
43#[derive(Debug, Clone, Copy, PartialEq)]
44pub enum Accent {
45 True,
46 False,
47}
48
49impl fmt::Display for Accent {
50 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
51 match self {
52 Accent::True => write!(f, "true"),
53 Accent::False => write!(f, "false"),
54 }
55 }
56}
57
58#[derive(Debug, Clone, Copy, PartialEq)]
59pub enum LineThickness {
60 Thin,
61 Medium,
62 Thick,
63 Length(u8),
64}
65impl fmt::Display for LineThickness {
66 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
67 match self {
68 LineThickness::Thin => write!(f, r#" linethickness="thin""#),
69 LineThickness::Medium => write!(f, r#""#),
70 LineThickness::Thick => write!(f, r#" linethickness="medium""#),
71 LineThickness::Length(l) => write!(f, r#" linethickness="{}""#, l),
72 }
73 }
74}
75
76#[derive(Debug, Clone, Copy, PartialEq, Eq)]
77pub enum ColumnAlign {
78 Center,
79 Left,
80 Right,
81}
82
83impl fmt::Display for ColumnAlign {
84 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
85 match self {
86 ColumnAlign::Center => write!(f, r#""#),
87 ColumnAlign::Left => write!(f, r#" columnalign=left"#),
88 ColumnAlign::Right => write!(f, r#" columnalign=right"#),
89 }
90 }
91}