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 */