text/
text.rs

1use escpos_md::command::{CharMagnification, Font, UnderlineThickness};
2use escpos_md::{PrinterConfig, Result};
3use std::io;
4
5fn main() -> Result<()> {
6    let mut printer = PrinterConfig::tm_t20ii().build(io::stdout())?;
7
8    macro_rules! example {
9        ($header:literal, $func:ident, $param:expr) => {
10            printer
11                .reset()?
12                .println(format!("═══ {} ═══", $header))?
13                .$func($param)?
14                .println("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec bibendum, turpis vitae feugiat")?
15                .println("")?;
16        };
17    }
18
19    example!("FontA", font, Font::FontA);
20    example!("FontB", font, Font::FontB);
21    example!("Bold", bold, true);
22    example!("Underline 1 Dot", underline, UnderlineThickness::OneDot);
23    example!("Underline 2 Dot", underline, UnderlineThickness::TwoDot);
24    example!("Double Strike", double_strike, true);
25    example!("White/Black Reversed", white_black_reverse, true);
26    example!("Double Width", char_size, CharMagnification::new(2, 1)?);
27    example!("Double Height", char_size, CharMagnification::new(1, 2)?);
28    example!(
29        "Double Width/Height",
30        char_size,
31        CharMagnification::new(2, 2)?
32    );
33    example!("Char Spacing 6", char_spacing, 6);
34    example!("Line Spacing 100", line_spacing, Some(100));
35    example!("Split Words Disabled", split_words, false);
36
37    printer.cut()?;
38
39    Ok(())
40}