Fix DocX line height setting
This commit is contained in:
@@ -105,6 +105,9 @@ class nwStyles:
|
||||
H_LEVEL = {"H0": 0, "H1": 1, "H2": 2, "H3": 3, "H4": 4}
|
||||
H_SIZES = {0: 2.50, 1: 2.00, 2: 1.75, 3: 1.50, 4: 1.25}
|
||||
|
||||
T_NORMAL = 1.0
|
||||
T_SMALL = 0.8
|
||||
|
||||
T_LABEL = {
|
||||
"H0": QT_TRANSLATE_NOOP("Constant", "Title"),
|
||||
"H1": QT_TRANSLATE_NOOP("Constant", "Heading 1 (Partition)"),
|
||||
|
||||
@@ -521,12 +521,6 @@ class ToDocX(Tokenizer):
|
||||
hScale = self._scaleHeads
|
||||
hColor = _docXCol(self._theme.head) if self._colorHeads else None
|
||||
fSz = self._fontSize
|
||||
fnSz = 0.8 * self._fontSize
|
||||
fSz0 = (nwStyles.H_SIZES[0] * fSz) if hScale else fSz
|
||||
fSz1 = (nwStyles.H_SIZES[1] * fSz) if hScale else fSz
|
||||
fSz2 = (nwStyles.H_SIZES[2] * fSz) if hScale else fSz
|
||||
fSz3 = (nwStyles.H_SIZES[3] * fSz) if hScale else fSz
|
||||
fSz4 = (nwStyles.H_SIZES[4] * fSz) if hScale else fSz
|
||||
|
||||
# Add Normal Style
|
||||
styles.append(DocXParStyle(
|
||||
@@ -545,12 +539,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Title",
|
||||
styleId=S_TITLE,
|
||||
size=fSz0,
|
||||
size=(nwStyles.H_SIZES[0] * fSz) if hScale else fSz,
|
||||
basedOn=S_NORM,
|
||||
nextStyle=S_NORM,
|
||||
before=fSz * self._marginTitle[0],
|
||||
after=fSz * self._marginTitle[1],
|
||||
line=fSz0 * self._lineHeight,
|
||||
line=fSz * self._lineHeight,
|
||||
level=0,
|
||||
bold=self._boldHeads,
|
||||
))
|
||||
@@ -559,12 +553,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Heading 1",
|
||||
styleId=S_HEAD1,
|
||||
size=fSz1,
|
||||
size=(nwStyles.H_SIZES[1] * fSz) if hScale else fSz,
|
||||
basedOn=S_NORM,
|
||||
nextStyle=S_NORM,
|
||||
before=fSz * self._marginHead1[0],
|
||||
after=fSz * self._marginHead1[1],
|
||||
line=fSz1 * self._lineHeight,
|
||||
line=fSz * self._lineHeight,
|
||||
level=0,
|
||||
color=hColor,
|
||||
bold=self._boldHeads,
|
||||
@@ -574,12 +568,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Heading 2",
|
||||
styleId=S_HEAD2,
|
||||
size=fSz2,
|
||||
size=(nwStyles.H_SIZES[2] * fSz) if hScale else fSz,
|
||||
basedOn=S_NORM,
|
||||
nextStyle=S_NORM,
|
||||
before=fSz * self._marginHead2[0],
|
||||
after=fSz * self._marginHead2[1],
|
||||
line=fSz2 * self._lineHeight,
|
||||
line=fSz * self._lineHeight,
|
||||
level=1,
|
||||
color=hColor,
|
||||
bold=self._boldHeads,
|
||||
@@ -589,12 +583,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Heading 3",
|
||||
styleId=S_HEAD3,
|
||||
size=fSz3,
|
||||
size=(nwStyles.H_SIZES[3] * fSz) if hScale else fSz,
|
||||
basedOn=S_NORM,
|
||||
nextStyle=S_NORM,
|
||||
before=fSz * self._marginHead3[0],
|
||||
after=fSz * self._marginHead3[1],
|
||||
line=fSz3 * self._lineHeight,
|
||||
line=fSz * self._lineHeight,
|
||||
level=1,
|
||||
color=hColor,
|
||||
bold=self._boldHeads,
|
||||
@@ -604,12 +598,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Heading 4",
|
||||
styleId=S_HEAD4,
|
||||
size=fSz4,
|
||||
size=(nwStyles.H_SIZES[4] * fSz) if hScale else fSz,
|
||||
basedOn=S_NORM,
|
||||
nextStyle=S_NORM,
|
||||
before=fSz * self._marginHead4[0],
|
||||
after=fSz * self._marginHead4[1],
|
||||
line=fSz4 * self._lineHeight,
|
||||
line=fSz * self._lineHeight,
|
||||
level=1,
|
||||
color=hColor,
|
||||
bold=self._boldHeads,
|
||||
@@ -653,12 +647,12 @@ class ToDocX(Tokenizer):
|
||||
styles.append(DocXParStyle(
|
||||
name="Footnote Text",
|
||||
styleId=S_FNOTE,
|
||||
size=fnSz,
|
||||
size=nwStyles.T_SMALL * fSz,
|
||||
basedOn=S_NORM,
|
||||
before=0.0,
|
||||
after=fnSz * self._marginFoot[1],
|
||||
left=fnSz * self._marginFoot[0],
|
||||
line=fnSz * self._lineHeight,
|
||||
after=fSz * self._marginFoot[1],
|
||||
left=fSz * self._marginFoot[0],
|
||||
line=fSz * self._lineHeight,
|
||||
))
|
||||
|
||||
# Add to Cache
|
||||
@@ -795,6 +789,7 @@ class ToDocX(Tokenizer):
|
||||
_wTag("before"): str(int(20.0 * firstFloat(style.before))),
|
||||
_wTag("after"): str(int(20.0 * firstFloat(style.after))),
|
||||
_wTag("line"): str(int(20.0 * firstFloat(style.line, size))),
|
||||
_wTag("lineRule"): "auto",
|
||||
})
|
||||
if style.left is not None:
|
||||
xmlSubElem(pPr, _wTag("ind"), attrib={
|
||||
|
||||
Reference in New Issue
Block a user