Commit Graph

39 Commits

Author SHA1 Message Date
jkriege2
868d6dcdf4 fixed several compile warnings 2024-01-23 13:09:37 +01:00
jkriege2
f07c013c7f FIXed slicing warning, by making the slice-operation explicit 2024-01-11 14:22:46 +01:00
jkriege2
09e07cb12a NEW/REWORKED: extended the set of functions like JKQTMathTextGetTightBoundingRect(): These use an internal, thread-safe cache and capsule calls to QFontMetricsF-instances. This significantly improves speed in (parallelized) plotting. 2024-01-08 17:16:31 +01:00
jkriege2
9662ed2d69 MODIFIED: Synchronization of JKQTMathText and JKQTBasePlotter over threads: using read/write lockers now and removed some unnecessary mutexes by using a kind of singleton pattern 2024-01-05 23:26:47 +01:00
jkriege2
a1408ccbd0 JKQTMathText: Update several layouting nodes (especially braces) 2023-07-01 15:57:57 +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
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
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
6fa5dd65ed JKQTMathText: Code Cleanup: using JKQTMathTextNodeSize for all size-calculation functions and got rid of all functions that take the output parameters with call-by-reference
JKQTMathText: JKQTMathTextBraceNode now properly supports different opening and closing braces e.g. |...> for bra-vetors
2022-08-16 23:05:04 +02:00
jkriege2
74cf8046ce code cleanup: Removed Parameter prevNodeSize from JKQTMathTextNode::draw() and JKQTMathTextNode::getSize()/JKQTMathTextNode::getSizeInternal(), since it is only really necessary for JKQTMathTextSubscriptNode and JKQTMathTextSuperscriptNode
bugfixed possible crash in JKQTMathTextWhitespaceNode (QMap[n1]=QMap[n2]=something; does not work for some reason)
2022-08-14 16:59:03 +02:00
jkriege2
04beafb1a6 JKQTMathText: text/narrow-math-operators have less space around the, 2022-08-12 13:28:34 +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
05d791502b fixed \min & \max + docfix 2022-08-11 15:22:48 +02:00
jkriege2
8876c361cf bugfix QSet <--> QList conversion + docfix 2022-08-11 15:12:11 +02:00
jkriege2
bfee90b4fe JKQTMathText: added long arrow symbols 2022-08-11 14:17:39 +02:00
jkriege2
c7b0185735 JKQTMathtext: added several new symbols that were missing so far 2022-08-11 11:33:29 +02:00
jkriege2
84f02e3ab6 JKQTMathText: improved symbol listing (auto-generated) 2022-08-11 09:06:06 +02:00
jkriege2
3de6cf59d2 JKQTMathtext: bugfixed symbols for registered and copyright (had wrong codepoint) 2022-08-10 12:09:13 +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
8af79cb927 JKQTMathTextSymbolNode: bugfixed bar-drawing for hbar 2022-08-07 17:49:46 +02:00
jkriege2
200c538a49 JKQTMathText: improved HTML export (now color and font-family are supported) 2022-08-02 11:38:40 +02:00
jkriege2
de80fa666b JKQTMathText: added support for -- and --- for en- and em-dashes 2022-08-01 11:47:20 +02:00
jkriege2
671e25b33b removed some compiler warnings and fixed construction problems 2022-07-22 16:24:24 +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
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
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
fc557c9aff IMPROVEMENT: JKQTMathText: added x-correction for sub/superscript above/below/besides integrals 2022-06-27 22:57:49 +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
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
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
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