Commit Graph

203 Commits

Author SHA1 Message Date
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
ad171c161f whitespacenode: updated drawing/calculating 2022-08-07 17:50:38 +02:00
jkriege2
8af79cb927 JKQTMathTextSymbolNode: bugfixed bar-drawing for hbar 2022-08-07 17:49:46 +02:00
jkriege2
f7ad259aeb JKQTMathText: added JKATMathTextNode::getSize()-Variant with struct return value 2022-08-07 17:48:05 +02:00
jkriege2
715aa4e7d9 JKQTMathText: bugfixed some uninitialized variables 2022-08-07 17:42:43 +02:00
jkriege2
b872fda7f9 added some convenience functions and docufix 2022-08-07 17:41:27 +02:00
jkriege2
06db6633e7 JKQTMathtext: added \st and \sout-instructions 2022-08-07 17:40:19 +02:00
jkriege2
7f2dc5f645 JKQTMathText: made simulated blackboard-font nicer (thinner outline) 2022-08-07 17:38:57 +02:00
jkriege2
00c6e39391 docufix 2022-08-07 17:37:34 +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
0b1af2e8f9 JKQTMathText: REWORKED rendering of text in text- and math-mode. Now it is more consistent with the output of LaTeX itself 2022-08-02 12:17:58 +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
200c538a49 JKQTMathText: improved HTML export (now color and font-family are supported) 2022-08-02 11:38:40 +02:00
jkriege2
b38ccc5fbc JKQTMathText: added \dashbox() and \dotbox{} 2022-08-01 15:17:34 +02:00
jkriege2
66f71ca606 docu fix 2022-08-01 13:55:34 +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
f2e77c3213 docufix 2022-07-31 08:32:36 +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
a819dda4c1 docu improvement 2022-07-31 07:28:28 +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
edd7784d47 JKQTMathText: \\unicode{} now always accepts a codepoint and \utfeight{} a UTF8-seuqnece 2022-07-26 22:27:16 +02:00
jkriege2
e469dbb9ae JKQTMathText: added instruction \\utfeight{HEX} 2022-07-25 23:29:32 +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
f01a198b7b fixed several doxygen errors 2022-07-24 14:50:28 +02:00
jkriege2
c399959774 fixed several (pedantic) compiler warnings
fixed CMake problems
2022-07-23 16:05:13 +02:00
jkriege2
e923a9de7b improved CMake scripts: better output, less warnings 2022-07-23 13:59:23 +02:00
jkriege2
ae3d3b479d better way to reuse PCH in examples, added CMake-Option to (de)activate PCH-usage 2022-07-22 21:44:16 +02:00
jkriege2
671e25b33b removed some compiler warnings and fixed construction problems 2022-07-22 16:24:24 +02:00
jkriege2
8b6e420c56 bugfix: added #define _USE_MATH_DEFINES needed for msvc to use M_PI, M_LN2... 2022-07-21 12:06:22 +02:00
jkriege2
25c55391ab NEW: Using precompiled headers in CMake-build to speed up build times 2022-07-20 22:31:42 +02:00
jkriege2
459c7d7809 bugfixed CMakeLists.txt 2022-07-19 14:21:51 +02:00
jkriege2
d8c1524f61 partly solve issue #81 by making print-support optional. In addition it can be switched off with the CMake-option JKQtPlotter_BUILD_FORCE_NO_PRINTER_SUPPORT=ON 2022-07-18 23:33:20 +02:00
jkriege2
d132009679 added some additional accent-control-sequences 2022-07-18 15:01:42 +02:00
jkriege2
a1a2fcdd3f clean-up of library dependencies 2022-07-18 15:01:12 +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
24cb74fc06 bugfixed Qt5.x problem 2022-07-09 10:57:46 +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
f9370799fc minor bugfix: missing return 2022-07-06 21:00:24 +02:00
jkriege2
fc83ebea4c Wingdings symbols 2022-07-06 21:00:03 +02:00
jkriege2
0ab3626f4d refactored symbol node, should also fix issue #78 2022-07-05 22:03:08 +02:00
jkriege2
341e1ac2ef bugfixed missing QFontMettricsF::width() in newer Qt versions, should fix issue #77 2022-07-05 20:14:51 +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
jkriege2
fc557c9aff IMPROVEMENT: JKQTMathText: added x-correction for sub/superscript above/below/besides integrals 2022-06-27 22:57:49 +02:00
jkriege2
56418f9504 IMPROVEMENTS: JKQTMathText: underbrace/overbrace and angle-braket improvements 2022-06-27 21:09:22 +02:00
jkriege2
ebdc183b2b IMPROVED: JKQTMathText: improved drawing of parantheses, square brackets ... 2022-06-26 23:46:11 +02:00
jkriege2
2d2acc3b19 NEW: JKQTMathText: added top-corner (\ulcorner/\urcorner) and bottom-corner brackets (\llcorner/\lrcorner) 2022-06-26 21:17:42 +02:00
jkriege2
45d6ef373b bugfix: JKQTMathText: \sum and \prod used the wrong symbol in XITS-mode
NEW: JKQTMathText: \limits and \nolimits work as in LaTeX now (before it was simply removed and the functionality implemented for a fixed list of symbols)
remove/breaking: JKQTMathText: \v[a-zA-Z] and shorthand for \vec{a-zA-Z} was removed
improvement: improved typesetting of sub-/supercripts, especially for large math operators and braces
2022-06-26 00:28:49 +02:00
jkriege2
f49714ecb6 JKQTMathText: improved quotation mark symbols 2022-06-20 12:21:38 +02:00
jkriege2
48a9a45af9 JKQTMathText code/documentation cleanup 2022-06-20 12:18:19 +02:00
jkriege2
d8a3539844 bugfix: didn't compile with Qt < 6.0 2022-06-20 09:53:28 +02:00
jkriege2
f9c060af68 FIXED: JKQTMathText: symbol spacing in math mode (and text mode) 2022-06-19 23:34:25 +02:00
jkriege2
03c59d3507 NEW: LaTeX-Parser simplifies parse-tree to increase speed of execution 2022-06-19 22:36:38 +02:00
jkriege2
d885f7f00a NEW: JKQTMathText: LaTeX-Parser understands optional instruction parameters in [...] now 2022-06-19 15:11:06 +02:00
jkriege2
5c255712ce JKQTMathTextBraceNode uses an enum to reference brace types, not a QStrig 2022-06-09 21:37:06 +02:00
jkriege2
c8ef57bb66 JKQTMathText: moved some node-specific enums into the node classes 2022-06-09 20:32:16 +02:00
jkriege2
7b83640a19 moved JKQTMathText images to their own subdirectory 2022-06-09 14:42:25 +02:00
jkriege2
992cad7ff3 MODIFIED: brace node now calculates the extension of the child height above or below the strikeoutPos, in order to center braces around the strikeoutPos
fixed: strikeoutPos was not correctly calculated in sub-/superscript node
NEW: JKQTMathText shows strikeoutPos when drawing Debug-Boxes
2022-06-09 14:31:27 +02:00
jkriege2
143ae54ae8 JKQTMathText: modified text-positions of \sfrac and \stfrac 2022-06-09 11:32:57 +02:00
jkriege2
1a8de1bb2f - NEW: reworked node class tree: inserted base-class nodes for single-child, dual-child!
- NEW: improved frac-rendering: font-scaling takes nesting-level into account, overall-rendering, sizes, if a brace surrounds a frac, the heights are equal above and below to center the brace ...
2022-06-08 23:52:22 +02:00
jkriege2
94ca27aed0 NEW/BREAKING: restructured JKQTMathText: broke up single, large CPP-file into several smaller files
added more examples to jkqtmathtext_test
2022-06-08 15:38:26 +02:00
jkriege2
b0f8a2d0b9 - NEW: JKQTMathText supports new decoration instructions: \cancel, \xcancel, \bcancel, \sout, \ocirc, \widetilde, \widehat, \breve</li>
- NEW: JKQTMathText: reworked drawing of decorations: improved appearance and positioning!
2022-06-06 23:24:05 +02:00
jkriege2
0f0c03772e NEW: JKQTMathText supports new instructions: \cancel, \xcancel, \bcancel, \sout 2022-06-06 14:16:50 +02:00
jkriege2
d6b6a71395 fixes/improvements: JKQTMathText renders several LaTeX strings better (simple braces in math mode, +-*... as symbols with proper sizes in math mode, added some missing instruction aliases, improved size of \vec and \hat, corrrected fonts usage for mathrm, 2022-06-03 13:33:18 +02:00
jkriege2
285814f2e6 fixed: JKQTMathText added a little whitespace before and after the LaTeX-string. This was removed as it disturbed the layout of text in plots 2022-06-02 23:24:41 +02:00
jkriege2
d3b74875db improved Qt6-compatibility by getting rid of deprecated warnings 2022-06-02 22:31:39 +02:00
jkriege2
bf21d53149 improved high-dpr-support in JKQTMathText 2022-06-02 22:17:38 +02:00
jkriege2
cf27b77b6b added JKQTMathTextFontSpecifier struct that describes a font and a math companion 2022-06-02 21:19:16 +02:00
jkriege2
b8088ccc69 improved/bugfixed doxygen documentation 2022-04-24 13:23:59 +02:00
jkriege2
0a5fa42470 more required changes for Qt6 compatibility 2022-04-22 13:27:31 +02:00
jkriege2
4ded1a2028 first round of Qt6 compatibility changes 2022-04-21 10:57:24 +02:00
jkriege2
8835febb96 modified CMakeLists.txt to match Qt6 2022-04-18 23:10:05 +02:00
jkriege2
725d19d616 using Qt's dllexport/import-macros 2022-04-18 22:00:41 +02:00
jkriege2
d51d47b2f4 requiring higher cmake-version, due to CMP0076
using CMAKE_CURRENT_LIST_DIR instead of CMAKE_CURRENT_SOURCE_DIR
2022-04-18 22:00:31 +02:00
jkriege2
2697e66e31 CMakeLists.txt: using target_sources() and making CPP-files private! 2022-04-18 14:19:35 +02:00
Patrick Stewart
29e970ed6f Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
This means that the project can be used with CMake fetchcontent / add_subdriectory
2020-10-02 14:40:47 +01:00
jkriege2
0faa51c9f5 comment formatting fix 2020-09-21 13:52:13 +02:00
jkriege2
87755ce515 diverse code improvements, increased copyright year to 2020 2020-08-26 12:58:23 +02:00
jkriege2
696ce11514 improved code style 2020-08-26 11:00:25 +02:00
jkriege2
7e9bad29b4 fix for issue #45:
- for Qt 5.15: added missing #include statements that became necessary since Qt 5.15
- for Qt 5.15: fixed use of several deprecated functions
- for Qt 5.15/6: removed usage of QMatrix
2020-08-14 14:12:59 +02:00
jkriege2
eb7fd1d524 some bugfixes for VStudio NOMINMAX-problem ... 2020-06-29 08:01:40 +02:00
jkriege2
52d3349199 improvements in CMake setup:
- removed more global settings (these are now target-specific)
- exporting now Config.cmake, which contains find_package(Qt) and loads a separate Targets.cmake
2020-06-28 15:53:26 +02:00
jkriege2
04219ec6d9 fixed issue #37: installing README/LICENSE files now to $PREFIX/doc/JKQtPlotter, instead of $PREFIX/doc/ 2020-06-28 09:53:33 +02:00
jkriege2
f6505e35fc fixed issue #41: "Build error when JKQtPlotter_BUILD_INCLUDE_XITS_FONTS set to OFF", code tried to use XITS-ressources, which were not there oif option is switched off. --> solved by adding optional private preprocessor definition 2020-06-28 09:49:20 +02:00
jkriege2
6c058f73ed improved linewidth calculation in JKQTMathText for SQRT, arrows, ... 2019-11-24 12:53:58 +01:00
jkriege2
97a1780b3d - performance issue fixed in JKQTMathText (the constructor iterated over all available fonts, which can be very slow when many fonts are installed (1-2ms/font, i.e. several seconds for thousands of fonts!), fixes https://github.com/jkriege2/JKQtPlotter/issues/31
- fixed some compiler warnings for obsolete functions in newer Qt (QFontMetrics::width())
2019-11-24 12:48:20 +01:00
jkriege2
4c9db88a2e some more fixes do MSVC build 2019-11-21 21:42:10 +01:00
jkriege2
f3fa587541 reworked CMake build system ... now JKQT...Config.cmake-files are written into the correct directory 2019-11-18 15:59:06 +01:00
jkriege2
61d3108fb8 removed some unneeded debug-messages 2019-11-18 08:15:07 +01:00