diff --git a/src/interpreter/html/mod.rs b/src/interpreter/html/mod.rs
index b5065e77..ba6f1fcc 100644
--- a/src/interpreter/html/mod.rs
+++ b/src/interpreter/html/mod.rs
@@ -43,14 +43,15 @@ pub enum HeaderType {
}
impl HeaderType {
- pub fn text_size(&self) -> f32 {
- match &self {
- Self::H1 => 32.,
- Self::H2 => 24.,
- Self::H3 => 18.72,
- Self::H4 => 16.,
- Self::H5 => 13.28,
- Self::H6 => 10.72,
+ // https://html.spec.whatwg.org/multipage/rendering.html#sections-and-headings
+ pub fn size_multiplier(&self) -> f32 {
+ match self {
+ HeaderType::H1 => 2.0,
+ HeaderType::H2 => 1.5,
+ HeaderType::H3 => 1.17,
+ HeaderType::H4 => 1.0,
+ HeaderType::H5 => 0.83,
+ HeaderType::H6 => 0.67,
}
}
}
diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs
index 241232ab..56cf4c93 100644
--- a/src/interpreter/mod.rs
+++ b/src/interpreter/mod.rs
@@ -848,7 +848,7 @@ impl HtmlInterpreter {
}
for elem in self.state.element_stack.iter().rev() {
if let InterpreterElement::Header(header) = elem {
- self.current_textbox.font_size = header.ty.text_size();
+ self.current_textbox.font_size *= header.ty.size_multiplier();
text = text.make_bold(true);
break;
}