Pikchr

All files named "pikchr.y"
Login

History for pikchr.y

2024-02-12
20:10
[abdc29860b] part of check-in [ae3317b0ec] Fix (harmless) typos reported by forum post 3a76eb4395. (check-in: [ae3317b0ec] user: drh branch: trunk, size: 175880)
2024-02-09
21:28
[5802a1e187] part of check-in [ac94035c32] For the "pikchr" command-line tool, the --dont-stop flag always results in a zero exit code. Fix the MSVC Makefile so that "nmake test" works. (check-in: [ac94035c32] user: drh branch: trunk, size: 175880)
2024-02-08
20:41
[b94fdea4a8] part of check-in [ad1f8186cd] Fix the autofit functionality for the diamond object. New test cases for the same. (check-in: [ad1f8186cd] user: drh branch: trunk, size: 175808)
15:11
[87ece80591] part of check-in [36751abee2] Add support for the "diamond" primitive. (check-in: [36751abee2] user: drh branch: diamond, size: 175557)
2023-12-24
17:39
[5d9d5eb33e] part of check-in [4bb035e213] Increase an snprintf() output buffer size by a few bytes to squelch a warning from gcc 12.2 reported in fossil /chat. (check-in: [4bb035e213] user: stephan branch: trunk, size: 173437)
2023-08-23
15:57
[3546153448] part of check-in [5b5ad53f27] Fix text positioning of lines with negative thickness. (check-in: [5b5ad53f27] user: drh branch: trunk, size: 173437)
15:33
[598351b52d] part of check-in [f30f1fe186] Zero-thickness objects draw the background but not the outline. (check-in: [f30f1fe186] user: drh branch: trunk, size: 173407)
2023-08-12
19:20
[c4e71ab8e0] part of check-in [62b766efe8] It seems like the "same" operator should not mess with layout direction. See forum thread 75a2220c44. (check-in: [62b766efe8] user: drh branch: trunk, size: 173317)
2023-05-18
16:57
[2444a733e5] part of check-in [03664a38cf] Remove the artificial enlargement of "mono" text, as that seems not to be necessary when the output is rendered by Fossil. Must be some kind of CSS issue. (check-in: [03664a38cf] user: drh branch: trunk, size: 173381)
14:10
[859d9322d2] part of check-in [22e2a2c622] Adjust the font size and text length computations for monospace. (check-in: [22e2a2c622] user: drh branch: monospace, size: 173410)
13:07
[72f60c3732] part of check-in [0204bf9187] Experimental support for the "mono" and "monospace" text attributes. (check-in: [0204bf9187] user: drh branch: monospace, size: 173360)
2022-12-07
11:14
[64b6310fe1] part of check-in [21ca6b843d] Avoid unnecessary rounding of coordinates in the generated SVG. Forum post b571590af6. (check-in: [21ca6b843d] user: drh branch: trunk, size: 172754)
2022-07-28
14:40
[90bcc7df74] part of check-in [ca92b3a952] Allow any value for HEADING. Convert it to -360..360 before use. Forum post 56140a59018db001 (check-in: [ca92b3a952] user: drh branch: trunk, size: 172849)
2022-06-20
06:51
[7e75b99f3a] part of check-in [d9ee756594] Help text typo fix and added a mention that all output goes to stdout, as suggested in [e3a1e165ab799e64]. No code changes. (check-in: [d9ee756594] user: stephan branch: trunk, size: 172944)
2022-06-14
17:41
[8d9940660d] part of check-in [a28bee7108] Expanded [43eb7d998415] to permit digits in HTML entities after the first character, to allow for sup2, frac12, and similar entities. Reported in [dcf1418ef16f]. (check-in: [a28bee7108] user: stephan branch: trunk, size: 172909)
15:25
[f9c4770946] part of check-in [b5a5779c8d] Minor doc correction and code style tweak to the previous checkin. No functional changes. (check-in: [b5a5779c8d] user: stephan branch: trunk, size: 172755)
14:32
[44574668b3] part of check-in [43eb7d9984] When outputing HTML-escaped text and an ampersand is encountered, only transform it to an HTML entity if it looks like it's not one already. HTML entities are left as is, noting that we do only a syntactic check and not a test for whether the entity is a standard/known one. This replaces [aca3d2dc1a00], reverting the doc changes made by that checkin. (check-in: [43eb7d9984] user: stephan branch: trunk, size: 172751)
09:33
[231f59b035] part of check-in [aca3d2dc1a] Replaced ampersand-deg-semicolon escape sequences in pikchr string literals in various docs with a degree symbol to work around that escape sequence having been broken by [641b4ff2e552183c]. Extended the comment about ampersand escaping in pik_append_text(). No code changes. (check-in: [aca3d2dc1a] user: stephan branch: mistake, size: 171965)
2022-04-25
01:28
[d883500e56] part of check-in [3d15c0920a] Correctly adjust the bounding box when the size of a circle is set using "diameter". Fix for ticket [4449371aa4d8ed2b]. (check-in: [3d15c0920a] user: drh branch: trunk, size: 171837)
2022-04-05
14:39
[56f4c006f8] part of check-in [221988914e] Limit the number of tokens that can be processed in a single script to avoid an exponential macro-expansion attack, such as described by forum thread 6b9b95de35. (check-in: [221988914e] user: drh branch: trunk, size: 171816)
2022-03-28
13:37
[05b1ded4ba] part of check-in [18ae3a4ab5] Fix the built-in abs() function so that it actually works. Add a test case. (check-in: [18ae3a4ab5] user: drh branch: trunk, size: 171393)
2021-12-24
04:09
[9e499084a3] part of check-in [641b4ff2e5] Escape ampersands when emitting text nodes, per report in forum post 37584617be. (check-in: [641b4ff2e5] user: stephan branch: trunk, size: 171393)
2021-11-04
18:36
[b18e6e4735] part of check-in [b79ce27929] Fix a compiler warning: decimal constant is unsigned only in ISO C90" (check-in: [b79ce27929] user: drh branch: trunk, size: 171391)
2021-07-17
23:49
[b93ac06ffc] part of check-in [bf026695a0] Fix a potential division by zero. Harmless in practice but still UB so we might as well fix it. (check-in: [bf026695a0] user: drh branch: trunk, size: 171387)
19:36
[1fe07fff1c] part of check-in [6f3e2f6141] Comment improvements. No changes to executable code. (check-in: [6f3e2f6141] user: drh branch: trunk, size: 171376)
19:25
[9a9b855fec] part of check-in [2090a12c76] The starting and ending objects of a line are remembered and used by the "chop" feature so that the line is chopped by the correct object in the case where two or more objects have the same center. Forum post 1d46e3a0bc (check-in: [2090a12c76] user: drh branch: trunk, size: 171235)
17:27
[37ead8097d] part of check-in [6210a902d5] Improve the auto-chop algorithm so that the object that does the chopping must not contain the next point along the line. This is a partial fix to the bug reported by forum post 73eea815afda0715 but more work is needed. (check-in: [6210a902d5] user: drh branch: trunk, size: 170051)
2021-07-12
16:51
[31463fed31] part of check-in [cf12e257ba] Makefile for MSVC. Fix the pik_round() routine so that it works with MSVC. (check-in: [cf12e257ba] user: drh branch: trunk, size: 169529)
16:24
[1ce6573a74] part of check-in [340e69b9fc] Convert NaN into 0 for floating-point to integer conversion, to avoid harmless UBSAN warnings. (check-in: [340e69b9fc] user: drh branch: trunk, size: 169530)
2021-07-09
16:53
[b6620d2321] part of check-in [f528c80c14] Improved fuzzing. Reduce fuzzer warnings by adding pik_round() to do floating-point to integer conversion in a well-defined way. (check-in: [f528c80c14] user: drh branch: trunk, size: 169503)
16:41
[dcb54e78c0] part of check-in [62c4c4a65a] Avoid unnecessary calls to realloc() by correctly remembering the size of the output buffer from the previous allocation. (check-in: [62c4c4a65a] user: drh branch: trunk, size: 169280)
2021-07-08
19:22
[d22e54bf6e] part of check-in [99d536494d] Fix a possible NULL pointer dereference that became possible due to the "this" enhancement of check-in [4a13f3a46ed297a6]. (check-in: [99d536494d] user: drh branch: trunk, size: 169277)
18:59
[67253efbcb] part of check-in [4271de68b6] Use a seperate routine to convert floating point values to integers that does proper truncation of the value if the input is out of range, in order to avoid (harmless) UBSAN warnings. (check-in: [4271de68b6] user: drh branch: trunk, size: 169225)
2021-06-11
16:53
[fd6a5a9fa0] part of check-in [2cd4029e14] Provide default values for the PACKAGE_NAME and PACKAGE_VERSION macros if they are not provided on the command line. (check-in: [2cd4029e14] user: drh branch: trunk, size: 168966)
15:29
[7e668476a5] part of check-in [e6916a054c] Accept unicode arrow characters and/or HTML entity names as substitute spellings for the arrow tokens "<-", "->", and "<->". This avoids problems with using "<" in a pikchr script that is embedded inside of HTML. (check-in: [e6916a054c] user: drh branch: trunk, size: 168845)
2021-06-10
18:00
[717fbb3595] part of check-in [1e359f8ed5] Provide keywords "rarr", "larr" and "leftrightarrow" as alternative spellings for tokens "->", "<-", and "<->" (the names are based on HTML entity names) to make it easier to embed Pikchr source text within a larger HTML document without running into quoting issues with the "<" and ">" characters. (check-in: [1e359f8ed5] user: drh branch: html-defense, size: 167655)
2021-02-14
00:32
[208f853bad] part of check-in [3542e32d0b] Accept the object name "this" referring to the object under construction. See forum post 48cec7c89e for an explanation of why this might be useful. I'm still somewhat dubious, since not all attributes of "this" are necessarily defined at the point when it is invoked. Need to thing about this. (check-in: [3542e32d0b] user: drh branch: this-keyword, size: 167478)
2021-02-02
01:54
[b6d6c2e11b] part of check-in [8d39358520] Fix harmless compiler warnings. (check-in: [8d39358520] user: drh branch: trunk, size: 167363)
2021-01-31
17:56
[09ba0e83c9] part of check-in [2706287472] Do a better job of showing the context of syntax errors that appear at the very end of input. Forum post 7f904237ca (check-in: [2706287472] user: drh branch: trunk, size: 167354)
15:26
[83df0aefe3] part of check-in [812efbcda8] Fix rendering of cylinders with oversize radii. See forum post 983b36dbcf. (check-in: [812efbcda8] user: drh branch: trunk, size: 167038)
2021-01-29
14:16
[ae31ef54cf] part of check-in [4eaa29827e] Fix a problem with the "-" argument processing in the pikchr shell program. (check-in: [4eaa29827e] user: drh branch: trunk, size: 166960)
2021-01-25
20:18
[f52ca5f5f9] part of check-in [ac6a4549de] If the "bgcolor" variable is set, then replace any 0xffffff color value with the the value in bgcolor. (check-in: [ac6a4549de] user: drh branch: trunk, size: 166961)
2021-01-24
17:36
[f1eeb14b8b] part of check-in [b702e4b762] Enhance the command-line "pikchr" program so that if an input filename is "-" it reads standard input. (check-in: [b702e4b762] user: drh branch: trunk, size: 166604)
2020-12-04
21:07
[764bfe1c3d] part of check-in [a264ebcf89] Fix harmless compiler warning. Fix the Makefile so that it does not fail if the piktcl directory already exists. (check-in: [a264ebcf89] user: drh branch: piktcl-package-build-fix, size: 165939)
20:27
[44c39b5ce6] part of check-in [c85d8111c2] Extended Makefile with target `piktcl`. This target builds a Tcl package from the library. Fixed the missing `Tcl_PkgProvide()` call in the relevant initializer function. (check-in: [c85d8111c2] user: aku branch: piktcl-package-build-fix, size: 165919)
2020-11-28
21:26
[bb91962e0b] part of check-in [b8fa9aed02] Ignore excessive (and senseless) scale factors. (check-in: [b8fa9aed02] user: drh branch: trunk, size: 165861)
2020-11-27
21:52
[3066ddd2e2] part of check-in [8bf08592ca] Minor code changes to avoid harmless compiler warnings. (check-in: [8bf08592ca] user: drh branch: trunk, size: 165811)
2020-11-20
18:50
[ced69764cd] part of check-in [cca4fea4cf] Further improvements to text layout and "fit" with cylinder objects. (check-in: [cca4fea4cf] user: drh branch: trunk, size: 165642)
17:56
[a77a733b4d] part of check-in [d81581d8c8] Do not put the text label of a cylinder directly in the geometric center of the object, but rather shift it downward by 75% of the radius, as that makes the text appear to be more centered and have a more pleasing appearance. See forum post d623f2faa4. (check-in: [d81581d8c8] user: drh branch: trunk, size: 165622)
2020-11-13
18:20
[aef5658746] part of check-in [2309e4b4bd] Improved handling of dark mode in cases where the foreground and background colors are the same. (check-in: [2309e4b4bd] user: drh branch: trunk, size: 165513)
2020-11-10
14:12
[fd40fd3d3d] part of check-in [4b36d1278e] If the "fgcolor" variable is set to a valid color, then convert all black foreground text into that color before and instead of implementing dark-mode color translation. This permits an application to add a line like "fgcolor=COLOR;" to the beginning of every Pikchr script in order to implement an alternative foreground color that works regardless of the dark-mode setting. (check-in: [4b36d1278e] user: drh branch: trunk, size: 164457)
2020-11-09
20:44
[2f54fbba7f] part of check-in [5d1dfa831f] Improvements to dark-mode color inversion. (check-in: [5d1dfa831f] user: drh branch: trunk, size: 164116)
19:09
[f732710a3f] part of check-in [d3409e5db7] Add the PIKCHR_DARK_MODE flag. (check-in: [d3409e5db7] user: drh branch: trunk, size: 163832)
2020-10-29
22:10
[792ea8e8ff] part of check-in [b738db71f1] Updated the old "140 HTML colors" we map to RGB values to cover the current standards thru CSS Color Module 4. Basically, this adds seven new "grey" variants for the "gray"s we previously had plus the honorary "Rebecca purple": https://en.wikipedia.org/wiki/Shades_of_purple#Rebecca_purple

This commit also fixes some capitalization in colors where compound nouns were "spelled" as two words with an intercap: honeydew, firebrick, cornflower, goldenrod, etc. These are single words, so they should not have the intercap. (check-in: [b738db71f1] user: wyoung branch: trunk, size: 163014)

13:35
[ff16e294d4] part of check-in [7364250d71] Ensure that the token length field is always initialized when processing macro errors. (check-in: [7364250d71] user: drh branch: trunk, size: 162548)
01:45
[6c0616e2eb] part of check-in [05abb6ccce] The "close" attribute uses the default fill color. (check-in: [05abb6ccce] user: drh branch: trunk, size: 162466)
01:30
[a2ecc98846] part of check-in [727a6a56a3] Fix the "close" attribute on lines so that it works even if the line radius is non-zero. (check-in: [727a6a56a3] user: drh branch: trunk, size: 162560)
2020-10-21
16:30
[3cd49bd9f4] part of check-in [ac0ee529a8] Fix harmless compiler warnings. (check-in: [ac0ee529a8] user: mistachkin branch: trunk, size: 162384)
2020-10-10
20:31
[40049fc4a7] part of check-in [084a575436] Restore top and bottom margins to auto-fit lost in the previous check-in. (check-in: [084a575436] user: drh branch: trunk, size: 162372)
20:23
[8a9b645b59] part of check-in [6c7e991bdc] Improvements to vertical text layout when the font size is big or small. (check-in: [6c7e991bdc] user: drh branch: trunk, size: 162352)
2020-10-07
10:56
[4061510780] part of check-in [b747c5a29e] Set the exit code for the pikchr utility program even when running in --svg-only mode. (check-in: [b747c5a29e] user: drh branch: trunk, size: 161003)
08:28
[496b416636] part of check-in [083f9c9bfd] Applied [1278cb9154] to pikchr.y (was previously only applied to the generated pikchr.c). Also a thoroughly pedantic main() result code portability tweak. (check-in: [083f9c9bfd] user: stephan branch: trunk, size: 160997)
2020-10-06
20:05
[b38d7d84aa] part of check-in [893ad17472] If the PIKCHR_PLAINTEXT_ERRORS flag is set, then render error messages as text/plain instead of as text/html. (check-in: [893ad17472] user: drh branch: trunk, size: 160965)
11:37
[4098776da9] part of check-in [e13cade368] The "pikchr" command-line tool returns non-zero following any error. (check-in: [e13cade368] user: drh branch: trunk, size: 160046)
2020-10-01
19:22
[b71828b433] part of check-in [b1de53d92c] Add an optional TCL interface, enabled using the -DPIKCHR_TCL compile-time option. (check-in: [b1de53d92c] user: drh branch: trunk, size: 159965)
16:00
[2938009ac2] part of check-in [6fad667e73] Make sure to reset the path on a "same" line that has a "to" attribute. (check-in: [6fad667e73] user: drh branch: trunk, size: 158208)
2020-09-30
10:35
[d9ddda1e4a] part of check-in [610e58885f] The $1, $2, ..., $9 parameters can be used (alone) as arguments to submacros. (check-in: [610e58885f] user: drh branch: trunk, size: 158183)
01:50
[f66b30f145] part of check-in [d175d9c524] Add the "solid" property that sets line thinkness back to the default and disables any dashed or dotted properties. (check-in: [d175d9c524] user: drh branch: trunk, size: 157545)
2020-09-29
11:43
[61126ae5ac] part of check-in [56ae6cc97a] Fix backslash processing on text annotations. (check-in: [56ae6cc97a] user: drh branch: trunk, size: 157341)
2020-09-27
23:36
[55b95fd86b] part of check-in [80ac3e36cb] A width or height of zero or less causes an auto-fit to the surrounding text. (check-in: [80ac3e36cb] user: drh branch: trunk, size: 157237)
23:00
[a255824649] part of check-in [fb18d88c18] Fixes and test cases for macros. (check-in: [fb18d88c18] user: drh branch: trunk, size: 156408)
22:50
[3b09d1d86b] part of check-in [fdd4d2be34] Fix error messages for macros. (check-in: [fdd4d2be34] user: drh branch: trunk, size: 156408)
22:37
[0095da398b] part of check-in [057f4e9011] Bug fix: Allow "with end" and "with start". (check-in: [057f4e9011] user: drh branch: trunk, size: 156408)
20:47
[4937fb4d4b] part of check-in [b6fa1776c6] Improved error messages with things go wrong with macros. test61.txt is currently failing. New tests needed for context overflow. (check-in: [b6fa1776c6] user: drh branch: trunk, size: 156214)
18:58
[ed96b581f4] part of check-in [f50877a402] Fix a tokenizer issue. (check-in: [f50877a402] user: drh branch: trunk, size: 154234)
18:46
[814bf51d93] part of check-in [62d134dd59] Add support for PIC-style macro processing. More testing needed. Documentation has yet to be updated. (check-in: [62d134dd59] user: drh branch: trunk, size: 154202)
16:45
[9f11b94246] part of check-in [3067d5c115] Refactor internal names for consistent usage of "Statement" of "Object" and avoiding the PIC-term of "Element". "Statement" means a unit of the input text. "Object" means a graphics object. There should be no changes in behavior or in the public interface. (check-in: [3067d5c115] user: drh branch: trunk, size: 149385)
2020-09-24
17:15
[2080046257] part of check-in [8a236675c9] For an empty input file, just return a comment - no SVG element. (check-in: [8a236675c9] user: drh branch: trunk, size: 150270)
13:09
[636fc43721] part of check-in [536ffedbc8] Identify unknown variables - fixing a bug in previous check (check-in: [536ffedbc8] user: drh branch: trunk, size: 150175)
12:38
[eb4fe49fa3] part of check-in [d7c76d88ee] Make it possible to set the fill color to "None" or "Off" (check-in: [d7c76d88ee] user: drh branch: trunk, size: 150174)
2020-09-23
18:11
[42817adb2b] part of check-in [36476557fe] Debugging feature: If the "debug_label_color" is set to a color name, then position of every label is drawn on the graph, in the specified color. If you also set "color=LightGray" this can be an very useful aid in keeping track of the main labels of a complex diagram. (check-in: [36476557fe] user: drh branch: trunk, size: 150172)
12:34
[c406f87245] part of check-in [fe48d9a808] Tiny typos. (check-in: [fe48d9a808] user: stephan branch: trunk, size: 149358)
2020-09-21
17:55
[a9ff621906] part of check-in [9434594e58] Fix an error in a comment. No changes to code. (check-in: [9434594e58] user: drh branch: trunk, size: 149355)
14:15
[103e689a97] part of check-in [167da117a6] Fix a layout bug introduced by check-in [39b7f8faf3dc6d96] (check-in: [167da117a6] user: drh branch: trunk, size: 149355)
14:10
[2bb624659c] part of check-in [4e5592c390] Add an xmlns header to the <svg> element. (check-in: [4e5592c390] user: drh branch: trunk, size: 149353)
12:59
[a51eed0c24] part of check-in [e46c7bdd64] Improved validation of the PElem.eWith value in the xOffset() method. Add the cZeroPoint for point (0,0) and use it as an initializer. (check-in: [e46c7bdd64] user: drh branch: trunk, size: 149317)
12:51
[cbe4ee8e3a] part of check-in [39b7f8faf3] Fix uninitialized PElem.eWith value, possibly causing errors via the use of uninitialized values. (check-in: [39b7f8faf3] user: drh branch: trunk, size: 149205)
07:47
[1b50d542ed] part of check-in [2beb671cae] New feature: Function `intersect` of two lines. (check-in: [2beb671cae] user: aku branch: new-feature-func-intersect, size: 151904)
2020-09-20
22:43
[265e68f767] part of check-in [f6305ed99c] Allow "of the way between" position forms to have a fraction that is less than 0.0 or greater than 1.0. Grammar updates. (check-in: [f6305ed99c] user: drh branch: trunk, size: 149155)
15:05
[9e62ace000] part of check-in [1f921fa3af] More work on the pathattr.md document. Fix the assert() statement to work on any "position", not just places. (check-in: [1f921fa3af] user: drh branch: trunk, size: 149201)
13:30
[0d0fb36152] part of check-in [31cac8431d] Add the --dont-stop flag to the command-line shell. (check-in: [31cac8431d] user: drh branch: trunk, size: 149189)
2020-09-19
18:37
[c97c7ddf1c] part of check-in [5a6868431f] Improve comments to clarify the difference in ".end" points for closed lines. (check-in: [5a6868431f] user: drh branch: trunk, size: 148954)
17:54
[fb66b347a9] part of check-in [b4ce4c2d69] New variables to match "rightmargin": "leftmargin", "topmargin", and "bottommargin". (check-in: [b4ce4c2d69] user: drh branch: trunk, size: 148677)
13:03
[d47c262c11] part of check-in [21d6ab90ec] Variables "color", "fill", and "thickness" are also keywords, which means they cannot be used in an expression. But, they are (as of this check-in) usable in an expression as long as they are enclosed in parentheses. (check-in: [21d6ab90ec] user: drh branch: trunk, size: 148669)
04:28
[cfe87bf91c] part of check-in [1ca8147fc3] Do not crash on a bad "behind" argument. (check-in: [1ca8147fc3] user: drh branch: trunk, size: 148596)
04:08
[0c90ae3bc0] part of check-in [96e42d1ff4] Add the dist(PLACE,PLACE) function. Fix "same" so that it also copies the layer. (check-in: [96e42d1ff4] user: drh branch: trunk, size: 148582)
2020-09-18
22:54
[a63d214411] part of check-in [f9c0f4dcdc] Improved estimates for the width of bounding boxes on text. (check-in: [f9c0f4dcdc] user: drh branch: trunk, size: 148193)
20:03
[c86c6f41cc] part of check-in [8bb62c9e24] When the scale variable is not 1.0, let SVG itself do the scaling for us, since it is way better at doing the font scaling. (check-in: [8bb62c9e24] user: drh branch: trunk, size: 146456)
19:27
[cac8e638b9] part of check-in [fdf4a6d1c0] Fix bounding-box computations for rotated text. (check-in: [fdf4a6d1c0] user: drh branch: trunk, size: 146228)
15:18
[1d3453e735] part of check-in [75e399eb41] The pikchr command-line shell now outputs HTML that uses click to view the original source code. The --svg-only option is available to output pure SVG. (check-in: [75e399eb41] user: drh branch: trunk, size: 145505)
2020-09-16
20:03
[42cb87ea0d] part of check-in [68d6363ec3] Minor fixes for "fit" and for "fill" on file and cylinder objects. (check-in: [68d6363ec3] user: drh branch: trunk, size: 145298)
18:59
[dd7caac148] part of check-in [972d366695] Fix the bounding box and center and text alignment on chopped lines. (check-in: [972d366695] user: drh branch: trunk, size: 145065)
16:23
[02389a06aa] part of check-in [96f1706310] Fix harmless compiler warnings. Add -Wextra to the makefile. Remove dead code. (check-in: [96f1706310] user: drh branch: trunk, size: 145029)
15:30
[f17b98f5ca] part of check-in [82755ddcd1] More tokenizer bug fixes. (check-in: [82755ddcd1] user: drh branch: trunk, size: 145333)
15:22
[99ea4b7031] part of check-in [139ab37ee9] Fix a bug in tokenizing hexadecimal integer literals. (check-in: [139ab37ee9] user: drh branch: trunk, size: 145260)
15:19
[c40140f428] part of check-in [6e27d5b47c] Fix a bug in the tokenizer for an early end to numeric literals. (check-in: [6e27d5b47c] user: drh branch: trunk, size: 145260)
15:12
[6c4bef62d4] part of check-in [6a486324bb] Bug fix in the tokenizer looking for ".x" and ".y" tokens. (check-in: [6a486324bb] user: drh branch: trunk, size: 145252)
15:09
[6eb4d4267d] part of check-in [f47467165f] Always pass the Pik class into the chopper method. (check-in: [f47467165f] user: drh branch: trunk, size: 145240)
12:19
[229ef582b3] part of check-in [6631b85842] Use stroke-linejoin=round on multi-segment lines. Fix the header on the boundary-point test case to say "11 boundary" points instead of 9, because there really are 11. (check-in: [6631b85842] user: drh branch: trunk, size: 145213)
12:09
[e6f3609908] part of check-in [9f39c4c772] On a "same as" for a line, the path is copied, but if the target subsequently changes the path, the copied-in path is completely overwritten. (check-in: [9f39c4c772] user: drh branch: trunk, size: 145105)
10:35
[becf9c418c] part of check-in [2e7f9a2521] Bug fix: doing a "same" of a dashed object was making the new object dotted. (check-in: [2e7f9a2521] user: drh branch: trunk, size: 144586)
04:14
[82a5a9abad] part of check-in [c77dfc2203] Remove some obsolete code. Continuing work on the user manual. (check-in: [c77dfc2203] user: drh branch: trunk, size: 144586)
02:39
[5301e611de] part of check-in [fa61426193] Improvements to comments to explain the differences in layout direction change behavior between PIC and Pikchr. (check-in: [fa61426193] user: drh branch: trunk, size: 144746)
2020-09-15
20:40
[b7a8509aa3] part of check-in [e4341aeb73] Fix a typo in a comment. (check-in: [e4341aeb73] user: drh branch: trunk, size: 144227)
13:24
[d7e90ab278] part of check-in [8fa7c91a51] Include the source text in the generated output if the PIKCHR_INCLUDE_SOURCE flag is provided to the pikchr() routine. Make that flag discoverable by makeheaders. Futher interface improvements are pending. (check-in: [8fa7c91a51] user: drh branch: trunk, size: 144222)
04:15
[75ab10036d] part of check-in [a2f110ece0] Comment typo fixes. Remove unused fields from the Pik object. (check-in: [a2f110ece0] user: drh branch: trunk, size: 143126)
2020-09-14
20:38
[dd36415bfb] part of check-in [4860729b9c] Merged in trunk. Changed pikchr svg metadata namespace URL to point to grammar.md. Lowercased namespace metadata XML nodes based on advice from around the net on the topic vis a vis compatibility with HTML5. (check-in: [4860729b9c] user: stephan branch: pikchr-src-in-metadata, size: 143817)
17:02
[13e3a1eab4] part of check-in [26c4c8dc45] Dot objects cause no change the exit point from the previous object. (check-in: [26c4c8dc45] user: drh branch: trunk, size: 143195)
16:45
[e0ebcf0214] part of check-in [5a8158500f] Fix handling of a "to" without a "from". (check-in: [5a8158500f] user: drh branch: trunk, size: 142917)
16:25
[b755f55559] part of check-in [6d3f68fe79] The magic "#breakpoint" comment invokes pik_breakpoint() where one can set a breakpoint to simplify debugging. Fix a problem with "to" ignoring the prior "then". (check-in: [6d3f68fe79] user: drh branch: trunk, size: 142861)
16:07
[4a3dabface] part of check-in [58aa2dd42d] Fix handling of redundant points at the end of a line. (check-in: [58aa2dd42d] user: drh branch: trunk, size: 142153)
15:52
[59c34909f1] part of check-in [ad2ecdf550] Fix bounding boxes for arc objects. (check-in: [ad2ecdf550] user: drh branch: trunk, size: 142163)
07:13
[7259b924e7] part of check-in [d5f7032b0c] Added a class attribute to the pikchr:src metadata node because JS does not seem to be able to select namespace-qualified nodes by node name. (Edit: not needed - branching off and closing it.) (check-in: [d5f7032b0c] user: stephan branch: mistake, size: 141803)
06:56
[5306922a43] part of check-in [ac8d73bc6a] Added Pik::mFlags, set via pikchr()'s 3rd arg. Added original pikchr source code in a metadata tag, which survives loading and re-saving via inkscape. That needs to be fixed to only emit when a certain flag is set, but how to properly add such flags to the public API is not clear. (check-in: [ac8d73bc6a] user: stephan branch: pikchr-src-in-metadata, size: 141573)
06:50
[ada6acddde] part of check-in [42f0c4c6eb] Fixed another snprintf() warning from gcc and added a missing space before a style attribute upon which my local SVG viewer choked. (check-in: [42f0c4c6eb] user: stephan branch: trunk, size: 140967)
05:25
[4e66ef5fe1] part of check-in [dd8c6dbf50] Fix the description comment on the PRel object. (check-in: [dd8c6dbf50] user: drh branch: trunk, size: 140966)
04:03
[8bb34549f3] part of check-in [a28d73cd53] Consistently allow percentage changes to distances. (check-in: [a28d73cd53] user: drh branch: trunk, size: 140789)
2020-09-13
22:44
[3953ef4ba1] part of check-in [af9cc3457d] Attempt to silence compiler warning having to do with snprintf(). (check-in: [af9cc3457d] user: drh branch: trunk, size: 142037)
22:39
[8db9cfec90] part of check-in [1511967cfb] Test cases for boundary points on lines. (check-in: [1511967cfb] user: drh branch: trunk, size: 142029)
21:05
[ed93d6a179] part of check-in [8ddae3e4d2] Test case updates. (check-in: [8ddae3e4d2] user: drh branch: trunk, size: 141297)
20:55
[d74e708f46] part of check-in [6b7607e1bf] Make ".center" work to describe the center of an object. (check-in: [6b7607e1bf] user: drh branch: trunk, size: 141280)
17:55
[438c379f86] part of check-in [ed8fe5b2c8] Fix the // commenting so that it does not absorb the newline at the end. (check-in: [ed8fe5b2c8] user: drh branch: trunk, size: 140854)
17:45
[6dbe0675b3] part of check-in [9a88622de7] Improvements to the grammar. Add the doc/grammar.md documentation file. (check-in: [9a88622de7] user: drh branch: trunk, size: 140881)
15:00
[d196b986b0] part of check-in [79c5ef49aa] Remove the non-standard "(x of place)" construct and similar. Fix up test cases. (check-in: [79c5ef49aa] user: drh branch: trunk, size: 140607)
14:46
[7d8c0264a3] part of check-in [ece95a43d0] Add the --no-echo option to the testing interface and use it for "make test". (check-in: [ece95a43d0] user: drh branch: trunk, size: 140970)
14:29
[3412cf4684] part of check-in [50861552e7] Simplified grammar for expressions. Added the assert() statement for testing purposes. (check-in: [50861552e7] user: drh branch: trunk, size: 140554)
11:30
[4fb73e0028] part of check-in [1abeb30348] Output text spaces as U+0080 instead of "&nbsp;" since the entity is not valid for XML. See fossil forum post c8e3b12fd4 and follow-ups. (check-in: [1abeb30348] user: drh branch: trunk, size: 138819)
00:55
[ecdba562e3] part of check-in [b47930d1e4] Restore the "expr < position,position >" syntax as a shorthand for "expr of the way between position and position". (check-in: [b47930d1e4] user: drh branch: trunk, size: 138669)
00:47
[135d2edf47] part of check-in [11ca6d3f73] Simplify the grammar for the "with" clause. Abandon the idea of being able to set multiple constraints using "with" (check-in: [11ca6d3f73] user: drh branch: trunk, size: 138475)
00:39
[2fca30fde9] part of check-in [e0edd8bfda] Add the "behind <object>" syntax. (check-in: [e0edd8bfda] user: drh branch: trunk, size: 138520)
2020-09-12
23:14
[0e0bf487bf] part of check-in [b4e618899c] Use the hypot() function instead of sqrt() when computing distances between two points. (check-in: [b4e618899c] user: drh branch: trunk, size: 138112)
18:03
[b5524cfab6] part of check-in [314861073a] Allow access to .start and .end for block elements. (check-in: [314861073a] user: drh branch: trunk, size: 138150)
03:57
[af8b150bbe] part of check-in [3d4eed4f2d] Add the "go dist heading angle" syntax for adding new vertexes to a line. This makes examples/objects.txt easier to understand. I suspect it will also make syntax diagrams easier to draw. (check-in: [3d4eed4f2d] user: drh branch: trunk, size: 138300)
02:20
[f5bb8a4b75] part of check-in [f2f098afbd] Fixes to text spacing and alignment. Improvements to test cases and example cases. (check-in: [f2f098afbd] user: drh branch: trunk, size: 135784)
01:49
[68c770e307] part of check-in [424454a256] Make "previous" an alias for "last" since "2cm right of previous" reads better than "2cm right of last". Begin adding examples. The current examples show a problem with text layout. (check-in: [424454a256] user: drh branch: trunk, size: 135634)
2020-09-11
23:56
[70f5349312] part of check-in [914e474cce] Improved text justification rules, especially for text inside of boxes. (check-in: [914e474cce] user: drh branch: trunk, size: 135585)
20:54
[6aa8f2e14f] part of check-in [01221a9e5c] Add the "file" class. (check-in: [01221a9e5c] user: drh branch: trunk, size: 133833)
19:42
[63a5739714] part of check-in [9d069854e0] New attributes "thick" and "thin" and text attributes "big" and "small" (check-in: [9d069854e0] user: drh branch: trunk, size: 131349)
17:32
[aa56e9ce96] part of check-in [b0fb277485] Generate SVG in a viewBox to be more mobile-friendly. (check-in: [b0fb277485] user: drh branch: trunk, size: 130338)
01:36
[5b6dcec5bb] part of check-in [45e6c38f4e] Do a better job of estimating the bounding boxes on text. (check-in: [45e6c38f4e] user: drh branch: trunk, size: 130315)
2020-09-10
22:55
[17d910eaf5] part of check-in [90042280b6] Make the default size of arrowheads a little shorter and a little wider. (check-in: [90042280b6] user: drh branch: trunk, size: 129201)
20:48
[ad03c0e1f3] part of check-in [ad112120df] Modularize the computation of text length, for possible use to improve computation of bounding boxes on text. (check-in: [ad112120df] user: drh branch: trunk, size: 129201)
20:34
[53338b749d] part of check-in [30ffe8d589] Support for the "fontscale" variable. (check-in: [30ffe8d589] user: drh branch: trunk, size: 129069)
17:18
[1d76fa465e] part of check-in [c629e766b1] Add necessary spaces to circles and ellipses (check-in: [c629e766b1] user: drh branch: trunk, size: 128420)
16:51
[b4aedfd716] part of check-in [810e25e4b9] Fix a bug in text formatting wherein "bold" and "italic" is lost for multi-line text objects. (check-in: [810e25e4b9] user: drh branch: trunk, size: 128418)
16:12
[16665f1372] part of check-in [b61a32b23e] Allow up to 5 text strings on each object. Improved layout of those strings. Fix the variable assignment so that you can change and "print" the "thickness" variable. (check-in: [b61a32b23e] user: drh branch: trunk, size: 128417)
03:54
[d057f9212f] part of check-in [75898a7ca5] Fix a problem with the "*=" operator on built-in variables. (check-in: [75898a7ca5] user: drh branch: trunk, size: 125554)
03:43
[b17d0c6226] part of check-in [0373b26e94] Increase the default "thickness" by 50%. (check-in: [0373b26e94] user: drh branch: trunk, size: 125524)
01:04
[5cf7b82b0d] part of check-in [f5370b4bb7] Fix an issue with the auto-chopper. (check-in: [f5370b4bb7] user: drh branch: trunk, size: 125524)
2020-09-09
18:48
[05682423a5] part of check-in [465405e51d] Fix a harmless compiler warning. (check-in: [465405e51d] user: drh branch: trunk, size: 125497)
15:24
[fdf665843d] part of check-in [b0262dc570] Manually define M_PI on platforms that lack it. (check-in: [b0262dc570] user: drh branch: trunk, size: 125493)
13:46
[1463bb0699] part of check-in [3120b0a321] Fix the BETWEEN operator - it scaled in the wrong direction. (check-in: [3120b0a321] user: drh branch: trunk, size: 125437)
13:07
[f88e541e54] part of check-in [8651af337b] Try for a more accurate estimate of the text width for the "fit" operator. (check-in: [8651af337b] user: drh branch: trunk, size: 125437)
12:48
[391f30725d] part of check-in [4d1c59fc67] Fix text rotation so that it does not translate the text. Change the "above" and "below" settings to make use of "charht". (check-in: [4d1c59fc67] user: drh branch: trunk, size: 124955)
12:33
[1cdb6144eb] part of check-in [3a6c8ea730] Bold, italic, and aligned text (check-in: [3a6c8ea730] user: drh branch: trunk, size: 124902)
09:31
[ae7a144487] part of check-in [86f4484ff7] Tweak the default "charwid" value. (check-in: [86f4484ff7] user: drh branch: trunk, size: 123763)
09:25
[10d4bcd313] part of check-in [00b70f2f3a] The scale variable also affects the font-size for text. (check-in: [00b70f2f3a] user: drh branch: trunk, size: 123763)
02:12
[26f3907095] part of check-in [6ed251e626] Allow surplus whitespace in between the \\ and the \n (check-in: [6ed251e626] user: drh branch: trunk, size: 123523)
01:29
[931514d70e] part of check-in [1718ae0857] Add the "fit" attribute. (check-in: [1718ae0857] user: drh branch: trunk, size: 123507)
2020-09-08
23:24
[726669f8f7] part of check-in [53bc6d1611] The "until even with" clause accepts a position, not just a place. (check-in: [53bc6d1611] user: drh branch: trunk, size: 120459)
23:00
[e79dd74c5a] part of check-in [7a53bf6cb4] Add the abs() function and the "DIRECTION until even with PLACE" clause. (check-in: [7a53bf6cb4] user: drh branch: trunk, size: 120456)
19:55
[c6606d8916] part of check-in [58192b476f] Radius and thickness can be set independently. (check-in: [58192b476f] user: drh branch: trunk, size: 119090)
19:53
[b4ab7eebf2] part of check-in [05e61edff2] The linerad variable can change the line radius for all subsequent lines. (check-in: [05e61edff2] user: drh branch: trunk, size: 119090)
19:26
[ae56a5baf8] part of check-in [5a4d65c388] Allow "first" in place of "1st". (check-in: [5a4d65c388] user: drh branch: trunk, size: 119000)
19:13
[f8f22d32ee] part of check-in [7e49385680] Setting a radius on a line turns it into a spline. Tighter corners for smaller radiuses. (check-in: [7e49385680] user: drh branch: trunk, size: 118889)
16:58
[283c6d6430] part of check-in [8a4dbcae37] Autochop for all objects. (check-in: [8a4dbcae37] user: drh branch: trunk, size: 118156)
16:23
[d6bcd7949e] part of check-in [85650614a8] xChop implementation for ellipses. (check-in: [85650614a8] user: drh branch: trunk, size: 117041)
15:28
[b759dc7ca5] part of check-in [092d3cd9a1] Implement auto-chop for circle objects. (check-in: [092d3cd9a1] user: drh branch: trunk, size: 116557)
14:27
[0f806f51c2] part of check-in [f1f04abd9a] Fix the .ne corner and similar for ovals and boxes with rounded corners. (check-in: [f1f04abd9a] user: drh branch: trunk, size: 115498)
13:56
[19289737d3] part of check-in [1198e65b65] Rounded corners on boxes. (check-in: [1198e65b65] user: drh branch: trunk, size: 114541)
13:02
[a3d77387c1] part of check-in [81e746baeb] Get rid of .ry and .rx. There is now only .radius (and its alias .rad). Improved header comments. (check-in: [81e746baeb] user: drh branch: trunk, size: 113204)
04:45
[150de7eab7] part of check-in [8af2a9b3e9] Fixes for fuzzer finds. (check-in: [8af2a9b3e9] user: drh branch: trunk, size: 107936)
04:31
[9934217866] part of check-in [5d19d2db77] Fix a double-free in error recovery. (check-in: [5d19d2db77] user: drh branch: trunk, size: 107753)
04:08
[74eee1ca03] part of check-in [fea09f1235] Add basic fuzzer capabilities. (check-in: [fea09f1235] user: drh branch: trunk, size: 107662)
03:37
[2a3b67e185] part of check-in [b5dc348b76] Add support for "+=" assignment, and similar. (check-in: [b5dc348b76] user: drh branch: trunk, size: 107259)
03:20
[1962efd4e9] part of check-in [5054db2a61] Add support for the "PLACENAME : POSITION" element, creating a noop object that can be referenced later. All of the BWK graphs now work, with minor tweaks for spacing and whatnot. (check-in: [5054db2a61] user: drh branch: trunk, size: 106410)
02:00
[bae87bf902] part of check-in [16d4257f72] Add the ability to advance a line object by a non-standard amount by putting a number after that object name. Percentages are also allowed. (check-in: [16d4257f72] user: drh branch: trunk, size: 105325)
2020-09-07
23:20
[b312988911] part of check-in [900da9ca51] Layout works for the complex BWK examples. (check-in: [900da9ca51] user: drh branch: trunk, size: 104387)
22:57
[cf6f6b408b] part of check-in [f7450edc90] Bring the positional expressions (ex: .t, .bot) into compliance with the BWK examples. (check-in: [f7450edc90] user: drh branch: trunk, size: 104153)
17:08
[f7bee876c8] part of check-in [36d9deb381] Fix a bug in the ellipse boundary computation. (check-in: [36d9deb381] user: drh branch: trunk, size: 102886)
16:58
[ee841bf408] part of check-in [e74f9ae5a2] Implement arcs using a spline approximation. (check-in: [e74f9ae5a2] user: drh branch: trunk, size: 102886)
14:44
[d300b1ab7c] part of check-in [dbcfc6e975] Transition to using DIR_RIGHT and similar in place of T_RIGHT. (check-in: [dbcfc6e975] user: drh branch: trunk, size: 101672)
13:40
[19118afdd0] part of check-in [9ce9f4ce64] Add the "NTH vertex of OBJECT.x" and ".y" syntax. (check-in: [9ce9f4ce64] user: drh branch: trunk, size: 101232)
13:31
[e54a0be395] part of check-in [d4ffba0bad] Support for the "NTH vertex of OBJECT" syntax. (check-in: [d4ffba0bad] user: drh branch: trunk, size: 100965)
12:55
[c80f6ebcf6] part of check-in [293203ff7e] Move tests into a subdirectory. Add the "dot" object. (check-in: [293203ff7e] user: drh branch: trunk, size: 100153)
12:31
[8933a24411] part of check-in [ff7223f7a4] Add support for "leftmargin = EXPR" (check-in: [ff7223f7a4] user: drh branch: trunk, size: 100031)
12:20
[3045b36779] part of check-in [e8a8cb1d79] Bug fix in the position offset computation. (check-in: [e8a8cb1d79] user: drh branch: trunk, size: 99937)
12:06
[cd5a4c6652] part of check-in [6499bae46f] Initial support for "same" and "same as". (check-in: [6499bae46f] user: drh branch: trunk, size: 99937)
05:18
[1b856ebe64] part of check-in [60d785fe63] Only show debugging comments in output if the "debug = 1;" command is used. (check-in: [60d785fe63] user: drh branch: trunk, size: 98353)
05:00
[d64a9fbf7d] part of check-in [6f2e51c38e] Add the "close" option to turn a line into a polygon. (check-in: [6f2e51c38e] user: drh branch: trunk, size: 98136)
04:41
[dbd436288b] part of check-in [3ff79e1c36] Fix a problem in direction changing introduced by the previous commit. (check-in: [3ff79e1c36] user: drh branch: trunk, size: 97232)
04:32
[5f676b9031] part of check-in [eca4aa207c] An attempt to refactor the layout logic. (check-in: [eca4aa207c] user: drh branch: trunk, size: 96634)
2020-09-06
16:24
[fd1713f353] part of check-in [a472455d54] refactor "EDGE" to "EDGEPT" (check-in: [a472455d54] user: drh branch: trunk, size: 93376)
16:19
[c3f4d2bd7d] part of check-in [208646c0f7] WITH clause with multiple terms. Syntax only. Semantic implementation is TBD. (check-in: [208646c0f7] user: drh branch: trunk, size: 93364)
15:29
Renamed pic.y → pikchr.y. [9d88ae824d] part of check-in [6ca8afc6a9] Rebrand all of the code as "pikchr" so that this project is not confused with legacy "PIC" and to avoid any possibility of trademark infringement. (check-in: [6ca8afc6a9] user: drh branch: trunk, size: 93211)