diff --git a/doc/dox/jkqtmathtext_supportedlatex.dox b/doc/dox/jkqtmathtext_supportedlatex.dox
index 5f9b30d088..dc3dadd696 100644
--- a/doc/dox/jkqtmathtext_supportedlatex.dox
+++ b/doc/dox/jkqtmathtext_supportedlatex.dox
@@ -42,8 +42,10 @@
.
- \c \\script{...} \c \\textscript{...} \c \\mathscript{...} : draw the contained text in a script font face \image html jkqtmathtext/jkqtmathtext_fonts.png
- \c \\sc{...} : draw the text in small caps \image html jkqtmathtext/jkqtmathtext_sc.png
- - \c \\ul{...} \c \\underline{...} \c \\underlined{...} : draw the text with underlining \image html jkqtmathtext/jkqtmathtext_ul.png
+ - \c \\ul{...} , \c \\underline{...} , \c \\uline{...} \c \\underlined{...} : draw the text with underlining \image html jkqtmathtext/jkqtmathtext_ul.png
- \c \\uul{...} : draw the text with double-underlining \image html jkqtmathtext/jkqtmathtext_uul.png
+ - \c \\dashuline{...} : draw the text with dashed underlining \image html jkqtmathtext/jkqtmathtext_dashuline.png
+ - \c \\dotuline{...} : draw the text with dotted underlining \image html jkqtmathtext/jkqtmathtext_dotuline.png
- \c \\ol{...} \c \\overline{...} \c \\overlined{...} : draw the text with overlining \image html jkqtmathtext/jkqtmathtext_ol.png
- \c \\ool{...} : draw the text with double-overlining \image html jkqtmathtext/jkqtmathtext_ool.png
- \c \\tt{...} \c \\texttt{...} \c \\mathtt{...} : draw text in typewriter font \image html jkqtmathtext/jkqtmathtext_fonts.png
diff --git a/doc/dox/whatsnew.dox b/doc/dox/whatsnew.dox
index 7d353f6d7b..381d992b2d 100644
--- a/doc/dox/whatsnew.dox
+++ b/doc/dox/whatsnew.dox
@@ -72,6 +72,8 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
NEW: added \c \\snugshade{...}
NEW: added \c \\snugbox{...}
NEW: added \c \\acute{X}, \c \\grave{X}, \c \\acute{X}
+ NEW: added \c \\dashuline{X}, \c \\dotuline{X}
+ NEW: added \c \\underleftarrow{X}, \c \\underrightarrow{X}, \c \\underleftrightarrow{X}, \c \\overleftarrow{X}, \c \\overrightarrow{X}, \c \\overleftrightarrow{X}
NEW: added functions to set the font-size in pixels (as alternative to the existing functions that set them in points), implements request #76 from user:igormironchik
NEW: added \c \\userfont{SystemFontName}{Text} instruction
NEW: added \c \\unicode{HEX} and \c \\utfeight{HEX} instruction to draw unicide characters by code
diff --git a/doc/images/jkqtmathtext/MTDarrow.png b/doc/images/jkqtmathtext/MTDarrow.png
index dce514218a..f1b94a83df 100644
Binary files a/doc/images/jkqtmathtext/MTDarrow.png and b/doc/images/jkqtmathtext/MTDarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDbar.png b/doc/images/jkqtmathtext/MTDbar.png
index 77d2713e4c..637975878c 100644
Binary files a/doc/images/jkqtmathtext/MTDbar.png and b/doc/images/jkqtmathtext/MTDbar.png differ
diff --git a/doc/images/jkqtmathtext/MTDbcancel.png b/doc/images/jkqtmathtext/MTDbcancel.png
index 6a99661810..98816d6ddd 100644
Binary files a/doc/images/jkqtmathtext/MTDbcancel.png and b/doc/images/jkqtmathtext/MTDbcancel.png differ
diff --git a/doc/images/jkqtmathtext/MTDcancel.png b/doc/images/jkqtmathtext/MTDcancel.png
index de750a173f..e84af3f41a 100644
Binary files a/doc/images/jkqtmathtext/MTDcancel.png and b/doc/images/jkqtmathtext/MTDcancel.png differ
diff --git a/doc/images/jkqtmathtext/MTDdoubleoverline.png b/doc/images/jkqtmathtext/MTDdoubleoverline.png
index b4aaaf2459..8b8d2639ae 100644
Binary files a/doc/images/jkqtmathtext/MTDdoubleoverline.png and b/doc/images/jkqtmathtext/MTDdoubleoverline.png differ
diff --git a/doc/images/jkqtmathtext/MTDdoubleunderline.png b/doc/images/jkqtmathtext/MTDdoubleunderline.png
index f435e2a7e7..a10657bb44 100644
Binary files a/doc/images/jkqtmathtext/MTDdoubleunderline.png and b/doc/images/jkqtmathtext/MTDdoubleunderline.png differ
diff --git a/doc/images/jkqtmathtext/MTDoverleftarrow.png b/doc/images/jkqtmathtext/MTDoverleftarrow.png
new file mode 100644
index 0000000000..e152baa340
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDoverleftarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDoverleftrightarrow.png b/doc/images/jkqtmathtext/MTDoverleftrightarrow.png
new file mode 100644
index 0000000000..2be52e00f5
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDoverleftrightarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDoverline.png b/doc/images/jkqtmathtext/MTDoverline.png
index 995b57c098..9ace625c4b 100644
Binary files a/doc/images/jkqtmathtext/MTDoverline.png and b/doc/images/jkqtmathtext/MTDoverline.png differ
diff --git a/doc/images/jkqtmathtext/MTDoverrightarrow.png b/doc/images/jkqtmathtext/MTDoverrightarrow.png
new file mode 100644
index 0000000000..12db07ccdd
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDoverrightarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderleftarrow.png b/doc/images/jkqtmathtext/MTDunderleftarrow.png
new file mode 100644
index 0000000000..43cd38460a
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDunderleftarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderleftrightarrow.png b/doc/images/jkqtmathtext/MTDunderleftrightarrow.png
new file mode 100644
index 0000000000..9462532446
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDunderleftrightarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderline.png b/doc/images/jkqtmathtext/MTDunderline.png
index f4aa725b91..5ff5a6a236 100644
Binary files a/doc/images/jkqtmathtext/MTDunderline.png and b/doc/images/jkqtmathtext/MTDunderline.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderlineDashed.png b/doc/images/jkqtmathtext/MTDunderlineDashed.png
new file mode 100644
index 0000000000..c61514d8ac
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDunderlineDashed.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderlineDotted.png b/doc/images/jkqtmathtext/MTDunderlineDotted.png
new file mode 100644
index 0000000000..bc5bb16b2e
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDunderlineDotted.png differ
diff --git a/doc/images/jkqtmathtext/MTDunderrightarrow.png b/doc/images/jkqtmathtext/MTDunderrightarrow.png
new file mode 100644
index 0000000000..4fad1a5141
Binary files /dev/null and b/doc/images/jkqtmathtext/MTDunderrightarrow.png differ
diff --git a/doc/images/jkqtmathtext/MTDvec.png b/doc/images/jkqtmathtext/MTDvec.png
index 88537a5add..e0cb740c35 100644
Binary files a/doc/images/jkqtmathtext/MTDvec.png and b/doc/images/jkqtmathtext/MTDvec.png differ
diff --git a/doc/images/jkqtmathtext/MTDwidecheck.png b/doc/images/jkqtmathtext/MTDwidecheck.png
index bd00a08a89..c1c91f4f4c 100644
Binary files a/doc/images/jkqtmathtext/MTDwidecheck.png and b/doc/images/jkqtmathtext/MTDwidecheck.png differ
diff --git a/doc/images/jkqtmathtext/MTDwidehat.png b/doc/images/jkqtmathtext/MTDwidehat.png
index 7cadcbd4cb..0d046950dc 100644
Binary files a/doc/images/jkqtmathtext/MTDwidehat.png and b/doc/images/jkqtmathtext/MTDwidehat.png differ
diff --git a/doc/images/jkqtmathtext/MTDwidetilde.png b/doc/images/jkqtmathtext/MTDwidetilde.png
index 42a0ba1b00..d66b46a909 100644
Binary files a/doc/images/jkqtmathtext/MTDwidetilde.png and b/doc/images/jkqtmathtext/MTDwidetilde.png differ
diff --git a/doc/images/jkqtmathtext/MTDxcancel.png b/doc/images/jkqtmathtext/MTDxcancel.png
index d713bd62f0..26c4eb3fe7 100644
Binary files a/doc/images/jkqtmathtext/MTDxcancel.png and b/doc/images/jkqtmathtext/MTDxcancel.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_dashuline.png b/doc/images/jkqtmathtext/jkqtmathtext_dashuline.png
new file mode 100644
index 0000000000..28f10132ce
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_dashuline.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_dotuline.png b/doc/images/jkqtmathtext/jkqtmathtext_dotuline.png
new file mode 100644
index 0000000000..496016802e
Binary files /dev/null and b/doc/images/jkqtmathtext/jkqtmathtext_dotuline.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_mathaccents.png b/doc/images/jkqtmathtext/jkqtmathtext_mathaccents.png
index f48a94696e..c9dd28841a 100644
Binary files a/doc/images/jkqtmathtext/jkqtmathtext_mathaccents.png and b/doc/images/jkqtmathtext/jkqtmathtext_mathaccents.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_mathdeco.png b/doc/images/jkqtmathtext/jkqtmathtext_mathdeco.png
index b7348d92cb..29e66423b0 100644
Binary files a/doc/images/jkqtmathtext/jkqtmathtext_mathdeco.png and b/doc/images/jkqtmathtext/jkqtmathtext_mathdeco.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_ool.png b/doc/images/jkqtmathtext/jkqtmathtext_ool.png
index 9e698f6b87..eb9b9dc347 100644
Binary files a/doc/images/jkqtmathtext/jkqtmathtext_ool.png and b/doc/images/jkqtmathtext/jkqtmathtext_ool.png differ
diff --git a/doc/images/jkqtmathtext/jkqtmathtext_uul.png b/doc/images/jkqtmathtext/jkqtmathtext_uul.png
index d1299d5bf2..e2c58eaec4 100644
Binary files a/doc/images/jkqtmathtext/jkqtmathtext_uul.png and b/doc/images/jkqtmathtext/jkqtmathtext_uul.png differ
diff --git a/doc/jkqtmathtext_docimages_accents.jkmt b/doc/jkqtmathtext_docimages_accents.jkmt
index ea933a9603..741c4146ef 100644
--- a/doc/jkqtmathtext_docimages_accents.jkmt
+++ b/doc/jkqtmathtext_docimages_accents.jkmt
@@ -56,6 +56,30 @@ $\widehat{x}\widehat{i}\widehat{X}\widehat{\psi}\widehat{abc}$
MTDwidetilde.png
$\widetilde{x}\widetilde{i}\widetilde{X}\widetilde{\psi}\widetilde{abc}$
---
+MTDoverleftarrow.png
+$\overleftarrow{x}\overleftarrow{i}\overleftarrow{X}\overleftarrow{\psi}\overleftarrow{abc}$
+---
+MTDoverrightarrow.png
+$\overrightarrow{x}\overrightarrow{i}\overrightarrow{X}\overrightarrow{\psi}\overrightarrow{abc}$
+---
+MTDoverleftrightarrow.png
+$\overleftrightarrow{x}\overleftrightarrow{i}\overleftrightarrow{X}\overleftrightarrow{\psi}\overleftrightarrow{abc}$
+---
+MTDunderleftarrow.png
+$\underleftarrow{x}\underleftarrow{i}\underleftarrow{X}\underleftarrow{\psi}\underleftarrow{abc}$
+---
+MTDunderrightarrow.png
+$\underrightarrow{x}\underrightarrow{i}\underrightarrow{X}\underrightarrow{\psi}\underrightarrow{abc}$
+---
+MTDunderleftrightarrow.png
+$\underleftrightarrow{x}\underleftrightarrow{i}\underleftrightarrow{X}\underleftrightarrow{\psi}\underleftrightarrow{abc}$
+---
+MTDunderlineDashed.png
+\dashuline{dashed underlined}, math: $\dashuline{abc}$
+---
+MTDunderlineDotted.png
+\dotuline{dotted underlined}, math: $\dotuline{abc}$
+---
jkqtmathtext_mathdeco.png
$\vec{x}\ \dot{x}\ \ddot{x}\ \overline{x}\ \underline{x}\ \hat{x}\ \tilde{x}\ \uul{x}\ \ool{x}\ \bar{x}\ \arrow{x}\ \widehat{x}\ \widetilde{x}\ ...$
---
@@ -83,4 +107,8 @@ jkqtmathtext_mathaccents.png
{\backslash}uul\{A\}: & $\uul{A}\uul{a}$ & {\backslash}ool\{A\}: & $\ool{A}\ool{a}$ \\
{\backslash}ocirc\{A\}: & $\ocirc{A}\ocirc{a}$ & {\backslash}breve\{A\}: & $\breve{A}\breve{a}$ \\
{\backslash}arrow\{A\}: & $\arrow{A}\arrow{a} & & \\
+{\backslash}overleftarrow\{A\}: & $\overleftarrow{A}\overleftarrow{a} & {\backslash}overrightarrow\{A\}: & $\overrightarrow{A}\overrightarrow{a} \\
+{\backslash}overleftrightarrow\{A\}: & $\overleftrightarrow{A}\overleftrightarrow{a} & &\\
+{\backslash}underleftarrow\{A\}: & $\underleftarrow{A}\underleftarrow{a} & {\backslash}underrightarrow\{A\}: & $\underrightarrow{A}\underrightarrow{a} \\
+{\backslash}underleftrightarrow\{A\}: & $\underleftrightarrow{A}\underleftrightarrow{a} & &\\
\end{array}
diff --git a/doc/jkqtmathtext_docimages_formating.jkmt b/doc/jkqtmathtext_docimages_formating.jkmt
index 3a4c0594f1..6522b3847e 100644
--- a/doc/jkqtmathtext_docimages_formating.jkmt
+++ b/doc/jkqtmathtext_docimages_formating.jkmt
@@ -43,6 +43,12 @@ jkqtmathtext_bb_unicode_or_simulate.png
jkqtmathtext_ol.png
{\backslash}ol: \ol{overlined text}
---
+jkqtmathtext_dashuline.png
+{\backslash}dashuline: \dashuline{underlined text}
+---
+jkqtmathtext_dotuline.png
+{\backslash}dotuline: \dotuline{underlined text}
+---
jkqtmathtext_ool.png
{\backslash}ool: \ool{double-overlined text}
---
diff --git a/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.cpp b/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.cpp
index ec63fe1cdf..03414214d3 100644
--- a/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.cpp
+++ b/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.cpp
@@ -86,6 +86,22 @@ QString JKQTMathTextDecoratedNode::DecorationType2String(JKQTMathTextDecoratedNo
return "xcancel";
case MTDstrike:
return "strike";
+ case MTDoverleftarrow:
+ return "overleftarrow";
+ case MTDoverrightarrow:
+ return "overrightarrow";
+ case MTDoverleftrightarrow:
+ return "overleftrightarrow";
+ case MTDunderleftarrow:
+ return "underleftarrow";
+ case MTDunderrightarrow:
+ return "underrightarrow";
+ case MTDunderleftrightarrow:
+ return "underleftrightarrow";
+ case MTDunderlineDashed:
+ return "underlineDashed";
+ case MTDunderlineDotted:
+ return "MTDunderlineDotted";
}
return "unknown";
}
@@ -135,10 +151,12 @@ void JKQTMathTextDecoratedNode::getSizeInternal(QPainter& painter, JKQTMathTextE
double ascent=cbaselineHeight;
if (decoration==MTDbar) {
ascent=std::max(baselineHeight+decoSeparation, decoAboveAscent_ypos)+linewidth/2.0;
- } else if (decoration==MTDunderline) {
+ } else if (decoration==MTDunderline || decoration==MTDunderlineDashed || decoration==MTDunderlineDotted) {
descent=std::max(decobelow_ypos, cDescent)+linewidth/2.0;
} else if (decoration==MTDdoubleunderline) {
- descent=std::max(decobelow_ypos, cDescent)+2.5*linewidth;
+ descent=std::max(decobelow_ypos, cDescent)+3.5*linewidth;
+ } else if (decoration==MTDunderleftarrow || decoration==MTDunderrightarrow || decoration==MTDunderleftrightarrow) {
+ descent=std::max(decobelow_ypos, cDescent)+0.5*linewidth+deco_height;
} else {
ascent=deco_ypos+deco_height;
}
@@ -161,6 +179,8 @@ void JKQTMathTextDecoratedNode::fillInstructions()
instructions["underline"]=MTDunderline;
instructions["uline"]=MTDunderline;
instructions["ul"]=MTDunderline;
+ instructions["dashuline"]=MTDunderlineDashed;
+ instructions["dotuline"]=MTDunderlineDotted;
instructions["uuline"]=MTDdoubleunderline;
instructions["uul"]=MTDdoubleunderline;
instructions["ooline"]=MTDdoubleoverline;
@@ -195,6 +215,13 @@ void JKQTMathTextDecoratedNode::fillInstructions()
instructions["strike"]=MTDstrike;
instructions["st"]=MTDstrike;
instructions["sout"]=MTDstrike;
+ instructions["overleftarrow"]=MTDoverleftarrow;
+ instructions["overrightarrow"]=MTDoverrightarrow;
+ instructions["overleftrightarrow"]=MTDoverleftrightarrow;
+ instructions["underleftarrow"]=MTDunderleftarrow;
+ instructions["underrightarrow"]=MTDunderrightarrow;
+ instructions["underleftrightarrow"]=MTDunderleftrightarrow;
+
}
double JKQTMathTextDecoratedNode::draw(QPainter& painter, double x, double y, JKQTMathTextEnvironment currentEv, const JKQTMathTextNodeSize* /*prevNodeSize*/) {
@@ -210,6 +237,7 @@ double JKQTMathTextDecoratedNode::draw(QPainter& painter, double x, double y, JK
const double width_dot=fm.boundingRect(".").width()/2.0;
const double decoSeparation=parentMathText->getDecorationSeparationFactor()*fm.ascent();
const double linewidth=qMax(parentMathText->ABS_MIN_LINEWIDTH, fm.lineWidth());
+ const double linewidthArrow=linewidth*0.65;
const double deco_height=parentMathText->getDecorationHeightFactor()*fm.ascent();
const double decoAboveAscent_ypos=y-fm.ascent()-decoSeparation;
const double strike_ypos=y-cbaselineHeight/2.0;
@@ -236,10 +264,16 @@ double JKQTMathTextDecoratedNode::draw(QPainter& painter, double x, double y, JK
QPen pold=painter.pen();
QPen p=pold;
p.setColor(ev.color);
- p.setWidthF(linewidth*0.75);
- p.setCapStyle(Qt::RoundCap);
+ p.setWidthF(linewidthArrow);
+ p.setCapStyle(Qt::SquareCap);
p.setJoinStyle(Qt::RoundJoin);
+ QPen pul=p;
+ pul.setWidthF(linewidth);
+ pul.setCapStyle(Qt::SquareCap);
+
+
+
double xnew=getChild()->draw(painter, x, y, ev);
auto fDrawFontAccent=[&](QChar aDirect=QChar(), QChar aFallback=QChar()) -> bool {
@@ -289,32 +323,34 @@ double JKQTMathTextDecoratedNode::draw(QPainter& painter, double x, double y, JK
painter.drawPolyline(poly);
painter.setPen(pold);
} else if (decoration==MTDoverline) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decotop_xstart, deco_ytopbot, decotop_xend, deco_ytopbot);
if (l.length()>0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDbar) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decotop_xstart, decoAboveAscent_ypos, decotop_xend, decoAboveAscent_ypos);
if (l.length()>0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDdoubleoverline) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decotop_xstart, deco_ytopbot, decotop_xend, deco_ytopbot);
if (l.length()>0) painter.drawLine(l);
- const QLineF l2(decotop_xstart, deco_ytopbot-3.0*p.widthF(), decotop_xend, deco_ytopbot-3.0*p.widthF());
+ const QLineF l2(decotop_xstart, deco_ytopbot-2.5*pul.widthF(), decotop_xend, deco_ytopbot-2.5*pul.widthF());
if (l2.length()>0) painter.drawLine(l2);
painter.setPen(pold);
- } else if (decoration==MTDunderline) {
- painter.setPen(p);
+ } else if (decoration==MTDunderline || decoration==MTDunderlineDashed || decoration==MTDunderlineDotted) {
+ if (decoration==MTDunderlineDashed) pul.setStyle(Qt::DashLine);
+ if (decoration==MTDunderlineDotted) pul.setStyle(Qt::DotLine);
+ painter.setPen(pul);
const QLineF l(decobot_xstart, decobelow_ypos, decobot_xend, decobelow_ypos);
if (l.length()>0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDdoubleunderline) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decobot_xstart, decobelow_ypos, decobot_xend, decobelow_ypos);
if (l.length()>0) painter.drawLine(l);
- QLineF l2(decobot_xstart, decobelow_ypos+3.0*p.widthF(), decobot_xend, decobelow_ypos+3.0*p.widthF());
+ QLineF l2(decobot_xstart, decobelow_ypos+2.5*pul.widthF(), decobot_xend, decobelow_ypos+2.5*pul.widthF());
if (l2.length()>0) painter.drawLine(l2);
painter.setPen(pold);
} else if (decoration==MTDarrow) {
@@ -325,6 +361,36 @@ double JKQTMathTextDecoratedNode::draw(QPainter& painter, double x, double y, JK
poly<0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDcancel) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decobot_xstart, decobelow_ypos, decotop_xend, deco_ytopbot);
if (l.length()>0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDbcancel) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decobot_xstart, deco_ytopbot, decotop_xend, decobelow_ypos);
if (l.length()>0) painter.drawLine(l);
painter.setPen(pold);
} else if (decoration==MTDxcancel) {
- painter.setPen(p);
+ painter.setPen(pul);
const QLineF l(decobot_xstart, deco_ytopbot, decotop_xend, decobelow_ypos);
if (l.length()>0) painter.drawLine(l);
const QLineF l1(decobot_xstart, decobelow_ypos, decotop_xend, deco_ytopbot);
diff --git a/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h b/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h
index 86ecaf05eb..06bd7aeae6 100644
--- a/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h
+++ b/lib/jkqtmathtext/nodes/jkqtmathtextdecoratednode.h
@@ -57,7 +57,9 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextDecoratedNode: public JKQTMathTextSing
MTDoverline, /*!< \brief overline over block \image html jkqtmathtext/MTDoverline.png */
MTDdoubleoverline, /*!< \brief double overline over block \image html jkqtmathtext/MTDdoubleoverline.png */
MTDunderline, /*!< \brief underline under block \image html jkqtmathtext/MTDunderline.png */
- MTDdoubleunderline, /*!< \brief double underline under block \image html jkqtmathtext/MTDdoubleunderline.png */
+ MTDunderlineDashed, /*!< \brief dashed line under block \image html jkqtmathtext/MTDunderlineDashed.png */
+ MTDunderlineDotted, /*!< \brief dotted line under block \image html jkqtmathtext/MTDunderlineDotted.png */
+ MTDdoubleunderline, /*!< \brief double line under block \image html jkqtmathtext/MTDdoubleunderline.png */
MTDtilde, /*!< \brief small tilde over block \image html jkqtmathtext/MTDtilde.png */
MTDwidetilde, /*!< \brief full width tilde over block \image html jkqtmathtext/MTDwidetilde.png */
MTDacute, /*!< \brief small acute accent over block \image html jkqtmathtext/MTDacute.png */
@@ -65,7 +67,13 @@ class JKQTMATHTEXT_LIB_EXPORT JKQTMathTextDecoratedNode: public JKQTMathTextSing
MTDcancel, /*!< \brief cancel text with sloped line \image html jkqtmathtext/MTDcancel.png */
MTDbcancel, /*!< \brief cancel text with backward sloped line \image html jkqtmathtext/MTDbcancel.png */
MTDxcancel, /*!< \brief cancel text with X \image html jkqtmathtext/MTDxcancel.png */
- MTDstrike /*!< \brief strikethrough text \image html jkqtmathtext/MTDstrike.png */
+ MTDstrike, /*!< \brief strikethrough text \image html jkqtmathtext/MTDstrike.png */
+ MTDoverleftarrow, /*!< \brief left-pointing arrow over everything text \image html jkqtmathtext/MTDoverleftarrow.png */
+ MTDoverrightarrow, /*!< \brief right-pointing arrow over everything text \image html jkqtmathtext/MTDoverrightarrow.png */
+ MTDoverleftrightarrow, /*!< \brief left/right-pointing arrow over everything text \image html jkqtmathtext/MTDoverleftrightarrow.png */
+ MTDunderleftarrow, /*!< \brief left-pointing arrow under everything text \image html jkqtmathtext/MTDunderleftarrow.png */
+ MTDunderrightarrow, /*!< \brief right-pointing arrow under everything text \image html jkqtmathtext/MTDunderrightarrow.png */
+ MTDunderleftrightarrow, /*!< \brief left/right-pointing arrow under everything text \image html jkqtmathtext/MTDunderleftrightarrow.png */
};
/** \brief convert a DecorationType into a string
*/