diff --git a/nw/core/tohtml.py b/nw/core/tohtml.py
index 2434b55c..1198ea1b 100644
--- a/nw/core/tohtml.py
+++ b/nw/core/tohtml.py
@@ -331,23 +331,84 @@ class ToHtml(Tokenizer):
if not self.cssStyles:
return theStyles
+ mScale = self.lineHeight/1.15
textAlign = "justify" if self.doJustify else "left"
theStyles.append("body {font-family: '%s'; font-size: %dpt;}" % (
self.textFont, self.textSize
))
- theStyles.append("p {text-align: %s; line-height: %d%%;}" % (
- textAlign, round(100 * self.lineHeight)
+ theStyles.append((
+ "p {"
+ "text-align: %s; line-height: %d%%; "
+ "margin-top: %.2fem; margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ textAlign,
+ round(100 * self.lineHeight),
+ mScale * self.marginText[0],
+ mScale * self.marginText[1],
))
- theStyles.append("h1, h2 {color: rgb(66, 113, 174);}")
- theStyles.append("h3, h4 {color: rgb(50, 50, 50);}")
- theStyles.append("h1, h2, h3, h4 {page-break-after: avoid;}")
+ theStyles.append((
+ "h1 {"
+ "color: rgb(66, 113, 174); "
+ "page-break-after: avoid; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ mScale * self.marginHead1[0], mScale * self.marginHead1[1]
+ ))
+ theStyles.append((
+ "h2 {"
+ "color: rgb(66, 113, 174); "
+ "page-break-after: avoid; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ mScale * self.marginHead2[0], mScale * self.marginHead2[1]
+ ))
+ theStyles.append((
+ "h3 {"
+ "color: rgb(50, 50, 50); "
+ "page-break-after: avoid; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ mScale * self.marginHead3[0], mScale * self.marginHead3[1]
+ ))
+ theStyles.append((
+ "h4 {"
+ "color: rgb(50, 50, 50); "
+ "page-break-after: avoid; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ mScale * self.marginHead4[0], mScale * self.marginHead4[1]
+ ))
+ theStyles.append((
+ ".title {"
+ "font-size: 2.5em; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;"
+ "}"
+ ) % (
+ mScale * self.marginTitle[0], mScale * self.marginTitle[1]
+ ))
+ theStyles.append((
+ ".sep, .skip {"
+ "text-align: center; "
+ "margin-top: %.2fem; "
+ "margin-bottom: %.2fem;}"
+ ) % (
+ mScale, mScale
+ ))
+
theStyles.append("a {color: rgb(66, 113, 174);}")
- theStyles.append(".title {font-size: 2.5em;}")
theStyles.append(".tags {color: rgb(245, 135, 31); font-weight: bold;}")
theStyles.append(".break {text-align: left;}")
- theStyles.append(".sep {text-align: center; margin-top: 1em; margin-bottom: 1em;}")
- theStyles.append(".skip {margin-top: 1em; margin-bottom: 1em;}")
theStyles.append(".synopsis {font-style: italic;}")
theStyles.append(".comment {font-style: italic; color: rgb(100, 100, 100);}")