tailwind_css_fixes/systems/font_system/
builtin.rs

1use super::*;
2
3impl FontSystem {
4    /// Builtin fonts' config
5    pub fn builtin() -> Self {
6        let mut new = Self::default();
7        new.insert_builtin_size();
8        new.insert_builtin_family();
9        new.insert_builtin_tracking();
10        new
11    }
12    // https://tailwindcss.com/docs/font-size
13    fn insert_builtin_size(&mut self) {
14        self.insert_size("xs", FontSize::new(0.75, 1.0));
15        self.insert_size("sm", FontSize::new(0.875, 1.25));
16        self.insert_size("base", FontSize::new(1.0, 1.5));
17        self.insert_size("md", FontSize::new(1.0, 1.5));
18        self.insert_size("lg", FontSize::new(1.125, 1.75));
19        self.insert_size("xl", FontSize::new(1.25, 1.75));
20        self.insert_size("2xl", FontSize::new(1.5, 2.0));
21        self.insert_size("3xl", FontSize::new(1.875, 2.25));
22        self.insert_size("4xl", FontSize::new(2.25, 2.5));
23        self.insert_size("5xl", FontSize::new(3.0, -100.));
24        self.insert_size("6xl", FontSize::new(3.75, -100.));
25        self.insert_size("7xl", FontSize::new(4.5, -100.));
26        self.insert_size("8xl", FontSize::new(6.0, -100.));
27        self.insert_size("9xl", FontSize::new(8.0, -100.));
28    }
29    fn insert_builtin_family(&mut self) {
30        self.insert_family("sans", r#"ui-sans-serif"#);
31        self.insert_family("serif", r#"ui-serif"#);
32        self.insert_family("mono", r#"ui-sans-monospace"#);
33    }
34    // https://tailwindcss.com/docs/letter-spacing
35    fn insert_builtin_tracking(&mut self) {
36        self.insert_tracking("tightest", -0.75);
37        self.insert_tracking("tighter", -0.05);
38        self.insert_tracking("tight", -0.025);
39        self.insert_tracking("normal", 0.0);
40        self.insert_tracking("wide", 0.025);
41        self.insert_tracking("wider", 0.05);
42        self.insert_tracking("widest", 0.1);
43    }
44}