diff --git a/Sources/ZMarkupParser/HTML/Processor/HTMLTagAttributeToMarkupStyleVisitor.swift b/Sources/ZMarkupParser/HTML/Processor/HTMLTagAttributeToMarkupStyleVisitor.swift
index 12dabc1..23bef74 100644
--- a/Sources/ZMarkupParser/HTML/Processor/HTMLTagAttributeToMarkupStyleVisitor.swift
+++ b/Sources/ZMarkupParser/HTML/Processor/HTMLTagAttributeToMarkupStyleVisitor.swift
@@ -59,10 +59,47 @@ struct HTMLTagStyleAttributeToMarkupStyleVisitor: HTMLTagStyleAttributeVisitor {
return MarkupStyle(font: MarkupStyleFont(weight: .style(.regular)))
}
case .rawValue(let value):
- return MarkupStyle(font: MarkupStyleFont(weight: .rawValue(value)))
+ /*
+ https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#common_weight_name_mapping
+ Value Common weight name
+ 100 Thin (Hairline)
+ 200 Extra Light (Ultra Light)
+ 300 Light
+ 400 Normal (Regular)
+ 500 Medium
+ 600 Semi Bold (Demi Bold)
+ 700 Bold
+ 800 Extra Bold (Ultra Bold)
+ 900 Black (Heavy)
+ 950 Extra Black (Ultra Black)
+ */
+ switch value {
+ case 100:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.thin)))
+ case 200:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.ultraLight)))
+ case 300:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.light)))
+ case 400:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.regular)))
+ case 500:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.medium)))
+ case 600:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.semibold)))
+ case 700:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.bold)))
+ case 800:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.heavy)))
+ case 900:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.black)))
+ case 950:
+ return MarkupStyle(font: MarkupStyleFont(weight: .style(.black)))
+ default:
+ return MarkupStyle(font: MarkupStyleFont(weight: .rawValue(value)))
+ }
}
}
-
+
func visit(_ styleAttribute: FontFamilyHTMLTagStyleAttribute) -> MarkupStyle? {
// e.g. "Times New Roman", Times, serif
// use first match font