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}