Commit Graph

110 Commits

Author SHA1 Message Date
jkriege2
868d6dcdf4 fixed several compile warnings 2024-01-23 13:09:37 +01:00
jkriege2
3fee9609fb NEW: Added CMake option JKQtPlotter_BUILD_WITH_TIMING_INFO_OUTPUT, which activates several runtime-measurement guards of type JKQTPAutoOutputTimer (output via qDebug()) 2024-01-08 17:14:03 +01:00
jkriege2
122371e743 NEW: Added JKQTMathText::setFontOptions(), which allows to make fonts initially e.g. bold, italic, ... and extended JKQTMathText::setFontSpecial() accordingly 2023-08-16 13:52:29 +02:00
jkriege2
8719208acf iproved JKQTMathText::drawIntoPixmap() and drawIntoPicture(): using ARGB32_Premultiplied for QPixmap + enabled QPainter::VerticalSubpixelPositioning when available 2023-07-01 14:49:56 +02:00
jkriege2
3fc8951851 made more STATIC data members thread_local or secured them by a std::mutex. This was at least JKQTMathText and JKQTBasePlotter should be usable in several threads 2023-06-30 13:52:17 +02:00
jkriege2
75db7cff42 dox update/fix 2022-09-19 21:55:12 +02:00
jkriege2
4bd7444c66 JKQTMathText: resetting pen and brush before drawing, so the previously set pen/brush does not influence the rendering result 2022-09-01 22:22:17 +02:00
jkriege2
6ebd8743ca JKQTMathText:
- NEW: Added the Fira Math fonts as sans-serif symbol font to the library (as a ressource) and added JKQTMathText::useFiraMath()
  - NEW: Added JKQTMathText::useGuiFonts()</li>
JKQTPlotter:
  - NEW: Using JKQTMathText::useGuiFonts() for FONT rendering by default
2022-09-01 14:36:34 +02:00
jkriege2
cffa7189d4 doc update 2022-08-21 21:34:05 +02:00
jkriege2
07d3fdcd99 JKQTMAthText: improvements in font handling and documentation 2022-08-21 14:49:48 +02:00
jkriege2
6273e469cd BREAKING/REWORKED: Separated the LaTeX parser into JKQTMathTextLatexParser from JKQTMathText 2022-08-20 16:19:40 +02:00
jkriege2
5722970496 JKQTMathText:
- NEW: added environment-modifying commands for font sizes: \c \\tiny ... \c \\normalsize ... \c \\Huge
- NEW: added environment-modifying commands for text color: \c {\\color{COL}...}
- NEW: added environment-modifying commands for text formatting: \c {\\bfseries...}, \c {\\itshape...}, \c {\\bf...}, \c {\\it...}, \c {\\sffamily...}, \c {\\ttfamily...}, ...
- REFACTORING: split up several .h/.cpp-files in nodes subdirectory
2022-08-19 12:16:00 +02:00
jkriege2
dde8deb56f JKQTMathText: improved placement of sub-/superscript nodes by using JKQTMathtextNodeSize::baselineXCorrection to shift subscript to the left for e.g. preceding italic text or symbols that require such a shift
JKQTMathText: moved sub-/superscripts placed below/above a bit further apart from the central symbol/node
2022-08-17 22:56:57 +02:00
jkriege2
b5459a90d9 Merge branch 'master' of https://github.com/jkriege2/JKQtPlotter
# Conflicts:
#	lib/jkqtmathtext/jkqtmathtext.cpp
#	lib/jkqtmathtext/jkqtmathtext.h
2022-08-16 23:11:44 +02:00
jkriege2
e757e26503 JKQTMathText: ensure mini size of \left/\right braces, when contained text is very small, e.g. only lower-case
JKQTMathText: improve width-calculation of \left/\right braces
2022-08-13 21:56:09 +02:00
jkriege2
f83a3468b1 JKQTMathText:
- new options interface for JKQTMathText::parse()
  - breaking: removed JKQTMathtext::unparsedNode
  - several minor improvements
2022-08-13 19:43:39 +02:00
jkriege2
9819a8c4be new options interface for JKQTMathText::parse()
breaking: removed JKQTMathtext::unparsedNode
2022-08-13 15:32:31 +02:00
jkriege2
ce6637fb4b NEW: JKQTMathText::parse() by default allows linebreaks in the LaTeX string to be parsed. This can be switched off by a parameter
NEW: TabSize can be set in JKQTMathTextVerbatimNode
2022-08-13 14:36:49 +02:00
jkriege2
c58fc985ce JKQTMathText: optimized frac/sub/super spacing 2022-08-12 16:50:26 +02:00
jkriege2
67579da1bc JKQTMathText: NEW: array/tabular-environments have limited support for formatting string like l|r|c and for \hline , \hdashline , \toprule , \midrule , \bottomrule 2022-08-12 12:54:10 +02:00
jkriege2
868b89a99e JKQTMathText:
NEW: added \c \\snugshade{...}
  NEW: added \c \\snugbox{...}
  NEW: added \c \\phantom{xXy} , \c \\vphantom{xXy} and \c \\hphantom{xXy} instructions for whitespaces with the size of \c xXy
2022-08-10 14:36:16 +02:00
jkriege2
5283a1a995 JKQTMathText: IMPROVED/REWORKED rendering of blackboard font: now several different rendering modes can be selected using JKQTMathText::setFontBlackboradMode() 2022-08-10 12:12:30 +02:00
jkriege2
030cdfe2e5 bugfixed JKQTMathText::drawIntoImage(), some code-cleanup in the other draw() functions + update of autogenerated doc-images 2022-08-08 10:12:59 +02:00
jkriege2
d3b0e88bb8 jkqtmathtext_render: added option to generate listing of all symbols + fixed some bugs 2022-08-07 22:13:31 +02:00
jkriege2
baeb7f9e38 bugfixed: \left....\right) didn't work 2022-08-07 20:39:45 +02:00
jkriege2
3d0183f6e9 bugfixed possible crash 2022-08-07 20:33:48 +02:00
jkriege2
afa14cbbfb NEW: additional method JKQTMathtext::getSizeDetail() that returns all size-properties as a convenient struct, also added matching varinat JKQTMathTextNode::getSize()
NEW: additional method JKQTMathtext::drawIntoPixmap(), JKQTMathtext::drawIntoPicture(), JKQTMathtext::drawIntoImage() which returns a QPixmap, QPicture and QImage respectively that contains the render result of the currently parsed markup
2022-08-07 17:57:52 +02:00
jkriege2
7d686f0c9a JKQTMathText:
- BREAKING/REWORKED: The \\verb!...!-command now works the same as in LaTeX
  - NEW: added support for \\begin{verbatim}...\\end{verbatim}, \\begin{verbatim*}...\\end{verbatim*}
2022-08-03 16:12:19 +02:00
jkriege2
c7ffdacfcc JKQTMathText: added support for \\bigl,\\bigr,\\Bigr,... commands for fixed-size but enlarged paramtheses 2022-08-03 09:55:45 +02:00
jkriege2
79c5b26642 revert: JKQTMathText: modified initial values for operator sizes 2022-08-02 12:10:59 +02:00
jkriege2
93399cead9 JKQTMathText: modified initial values for operator sizes 2022-08-02 11:39:52 +02:00
jkriege2
7e12fb331e JKQTMathText: added support for \c \\char"HEX , \c \\char'OCTAL and \c \\charDECIMAL for inserting any uicode character code 2022-08-01 13:39:34 +02:00
jkriege2
de80fa666b JKQTMathText: added support for -- and --- for en- and em-dashes 2022-08-01 11:47:20 +02:00
jkriege2
22c45bcdea JKQTMathText: added support for framed/shaded/snugshade-environments with linebreaks and framed 2022-07-31 08:17:45 +02:00
jkriege2
816a97f88f JKQTMathText: added support for flushleft/flushright/center-environments with linebreaks 2022-07-31 07:56:13 +02:00
jkriege2
326ba7313c JKQTMathText:
- NEW: JKQTMathTextVerticalListNode allows to typeset a vertical list of lines
- NEW: added \substack[lcr]{...\\...}, \lsubstack{...\\...}, \rsubstack{...\\...} instructions
2022-07-30 23:30:47 +02:00
jkriege2
2ec3d12507 JKQTMathText: added \unicode{XXXX} instruction 2022-07-24 23:22:54 +02:00
jkriege2
18b0ef61f1 JKQTMathText: added instruction \\userfont 2022-07-24 22:31:38 +02:00
jkriege2
d132009679 added some additional accent-control-sequences 2022-07-18 15:01:42 +02:00
jkriege2
a8da6caf0d IMPROVED JKQTMathText: tokenizing and parsing of text in text-mode: now a lot of accents with commands like \"a, \'e and variants (e.g. {\"a}, \"{a}, ...) are supported now
NEW in JKQTMathText: added \acute{X}, \grave{X}, \acute{X}
2022-07-10 22:01:11 +02:00
jkriege2
5dee5ae93d JKQTMathText: refactored \\instruction parsing
JKQTMathText: added \shaded{color}{...}, \ovalbox{}, ... commands
2022-07-08 23:15:42 +02:00
jkriege2
36aeec13aa refactored/simplified JKQTMathText::parseLatexString()
bugfixed regression: JKQTMathText displays \left.\right)-type braces and \sum,\int,... with and without \limits correctly again
2022-07-06 22:44:02 +02:00
jkriege2
0ab3626f4d refactored symbol node, should also fix issue #78 2022-07-05 22:03:08 +02:00
jkriege2
2ef181301b NEW: JKQTMathText: added functions to set the font-size in pixels (as alternative to the existing functions that set them in points), implements request #76 2022-07-04 21:02:43 +02:00
jkriege2
9a13e5127a JKQTMathText: improve documentation (fixes issue #74), add new draw()-variant, which accepts a QPointF 2022-07-03 21:30:12 +02:00
jkriege2
0f958cc2d6 - JKQTMathText: IMPROVED/breaking: refactored symbol node JKQTMathTextSymbolNode and changed font-lookup!
- JKQTMathText: IMPROVED/NEW/breaking: refactored whitespace-processing node JKQTMathTextWhitespaceNode, now all major LaTeX whitespace commands are supported properly
2022-07-03 20:30:12 +02:00
jkriege2
8814523e63 BUGFIX: JKQTMathText: corrected size-calculation and drawing of decorations 2022-06-28 23:14:31 +02:00
jkriege2
9a7e44889f IMPROVED: JKQTMathText: optional parameter of \sqrt is properly parsed now 2022-06-28 21:59:50 +02:00
jkriege2
6c26e250da IMPROVED: JKQTMathText: rendering of sqrt 2022-06-28 12:00:20 +02:00
jkriege2
b83e0a3292 NEW: JKQTMathText: added \underbracket and \overbracket 2022-06-28 10:15:54 +02:00