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