1pub fn print_naive_centered_box(content: &str) {
6 let total_width = 120;
7 let content_width = total_width - 2; let naive_pad = (content_width - content.chars().count()) / 2;
10
11 println!();
12 println!("┏{}┓", "━".repeat(content_width));
13 println!("┃{:width$}┃", "", width = content_width);
14 println!("┃{:pad$}{}{:pad$}┃", "", content, "", pad = naive_pad);
15 println!("┃{:width$}┃", "", width = content_width);
16 println!("┗{}┛", "━".repeat(content_width));
17}
18
19#[rustfmt::skip]
23pub fn print_fixed_centered_box(content: &str) {
24 use runefix_core::RuneDisplayWidth;
25
26 let total_width = 120;
27 let content_width = total_width - 2;
28
29 let width = content.width();
30 let left_pad = (content_width - width) / 2;
31 let right_pad = content_width - width - left_pad;
32
33 println!();
34 println!("┏{}┓", "━".repeat(content_width));
35 println!("┃{:width$}┃", "", width = content_width);
36 println!("┃{:left$}{}{:right$}┃", "", content, "", left = left_pad, right = right_pad);
37 println!("┃{:width$}┃", "", width = content_width);
38 println!("┗{}┛", "━".repeat(content_width));
39}
40
41#[rustfmt::skip]
42fn main() {
43 print_naive_centered_box("[NAIVE] Lorem ipsum dolor sit amet consectetur adipisicing elit.");
45 print_fixed_centered_box("[FIXED] Lorem ipsum dolor sit amet consectetur adipisicing elit.");
46
47 print_naive_centered_box("[NAIVE] National Language: 🇨🇳 🇯🇵 🇰🇷 🇫🇷 🇩🇪 🇪🇸 🇷🇺 🇬🇧 🇸🇬 🇦🇺 🇨🇦 🇺🇸");
49 print_fixed_centered_box("[FIXED] National Language: 🇨🇳 🇯🇵 🇰🇷 🇫🇷 🇩🇪 🇪🇸 🇷🇺 🇬🇧 🇸🇬 🇦🇺 🇨🇦 🇺🇸");
50
51 print_naive_centered_box("[NAIVE]《诗》「字」方正于九州,「かな」散らす桜の韻,「한글」물결처럼 퍼지네~");
53 print_fixed_centered_box("[FIXED]《诗》「字」方正于九州,「かな」散らす桜の韻,「한글」물결처럼 퍼지네~");
54}