pub trait TextPreprocessor {
// Required methods
fn activate_font(&mut self, font: u32);
fn new_paragraph(&mut self);
fn add_word(&mut self, word: &str, list: &mut Vec<Horizontal>);
fn add_space(&mut self, list: &mut Vec<Horizontal>);
// Provided method
fn add_text(&mut self, text: &str, list: &mut Vec<Horizontal>) { ... }
}