Commit Graph

6592 Commits

Author SHA1 Message Date
oleibman a7a2fcb83c Add Some Blank Lines
Although I have not noticed a problem with mkdocs and relatives, some markdown viewers will, under circumstances that I cannot reliably predict, not render correctly a "fenced" block (starting with 3 backticks) if it is not preceded by a blank line. "Correct" this situation wherever I was able to find it.
2026-09-02 15:22:13 -07:00
oleibman fb1ef805ad Small Improvement to Bookmarklet 2026-09-02 00:05:40 -07:00
oleibman 5019e54cfc Update Changelog 2026-09-01 23:07:29 -07:00
oleibman 284aff8d40 More Tweaks
Use a white, rather than transparent, background for logo, making it viewable in dark mode.

A bit better emulation of dark mode in the readthedocs theme, which does not handle it "naturally".
2026-09-01 16:51:23 -07:00
oleibman d4ebbe9a59 Logo Displayed Poorly in Dark Mode 2026-08-31 22:50:46 -07:00
oleibman 36f0544a34 Tweak for Materialx 2026-08-31 17:02:21 -07:00
oleibman cd0b13861b Two More Files for Completeness 2026-08-31 11:28:09 -07:00
oleibman 0f860ce843 Material Working, Zensical Working, Continue to Use Readthedocs 2026-08-31 00:17:41 -07:00
oleibman 3c46b9fc07 One More Zensical Experiment 2026-08-31 00:11:40 -07:00
oleibman 04ca14c580 Zensical Still Not Working, Try Material 2026-08-30 23:56:05 -07:00
oleibman bbb12e7fcd Another Zensical Experiment 2026-08-30 23:22:08 -07:00
oleibman c5898ac9cd Better Syntax Highlighting in Zensical/Material 2026-08-30 21:05:24 -07:00
oleibman fdf3a9b262 Merge branch 'master' into readthedocs 2026-08-26 23:02:57 -07:00
oleibman 882f8c63d7 More Doc Updates 2026-08-26 22:56:33 -07:00
oleibman 001c557f1c Readthedocs Theme - Support Dark/Light Preference Without Toggle 2026-08-24 21:02:33 -07:00
oleibman 2319124ff6 WIP Docs Experiment with Properdocs and Copy Clipboard
Experiment with Properdocs as a substitute for the troubled Mkdocs package. Alternate approach to PR #4971.

Also add javascript for copy-to-clipboard functionality for readthedocs and mkdocs themes. A little less aesthetic than material themes, but it should work.

Still unable to add dark mode to readthedocs theme.
2026-08-23 20:33:34 -07:00
oleibman 11645d54ac Merge pull request #4972 from oleibman/doctypo
Minor Documentation Updates
2026-08-22 05:00:37 +00:00
oleibman b9f5c37ec4 Minor Documentation Updates 2026-08-21 21:55:09 -07:00
oleibman 1f3ed4977a Merge pull request #4960 from oleibman/odsmoredates
Slight Improvement in Ods Reader Date Handling
2026-08-20 03:26:27 +00:00
oleibman 7a4832f59f Update CHANGELOG.md 2026-08-19 20:22:41 -07:00
oleibman f0e7a67c3d Merge branch 'master' into odsmoredates 2026-08-19 20:13:24 -07:00
oleibman 5619827ae9 Merge pull request #4956 from oleibman/odsdrawings2
Drawings for ODS
2026-08-20 03:05:23 +00:00
oleibman 56631e36d3 Merge pull request #4962 from saifulferoz/fix/issue-4454-ods-strings
Ods Writer: do not convert inside string literals
2026-08-20 03:03:56 +00:00
oleibman 16c49b80db Merge pull request #4958 from JulienChavee/master
Avoid getStyle on every setValueExplicit quote-prefix check
2026-08-20 01:10:00 +00:00
Julien Chavée 241635d8c9 Fix quote-prefix numeric test to cover clearing behavior 2026-08-19 22:23:29 +02:00
Julien Chavée 5083bf023f Merge branch 'master' into master 2026-08-19 22:01:59 +02:00
oleibman 930293a32a Merge pull request #4965 from oleibman/reflect86
Php8.6 Deprecation in Reflection::invokeArgs
2026-08-17 04:01:42 +00:00
oleibman 96d442ab66 Php8.6 Deprecation in Reflection::invokeArgs
Affects one test member, no source code.
2026-08-16 20:55:28 -07:00
oleibman 746430695c Merge branch 'master' into odsmoredates 2026-08-16 20:09:53 -07:00
oleibman 3b6f63599e Handle Dates A Bit Better 2026-08-16 19:41:14 -07:00
saifulislamferoz 416cc52a94 Assert round-tripped values rather than Ods xml
Rewrite the test to write the spreadsheet, read it back and check
getValue() and getCalculatedValue(), following DurationTest, instead of
matching against the generated content.xml.
2026-08-15 15:28:08 +06:00
saifulislamferoz d3ae79dfaf Ods Writer: do not convert inside string literals
convertFormula() ran the cell reference, defined name and function name
conversions over the whole formula, so anything that looked like a reference
inside a quoted string was rewritten: ="THIS IS E1" was written out as
="THIS IS [.E1]". The comma to semicolon replacement had the same problem,
turning =IF(A1>1,"yes, really","no") into a formula whose text reads
"yes; really".

Split the formula on string literals and convert only the segments outside
of them. A range cannot be interrupted by a string literal, so every
reference still sees the context the conversion relies on.

Fixes #4454
2026-08-15 10:28:48 +06:00
oleibman 65b080eef4 Merge pull request #4952 from oleibman/stancomments
Update Phpstan and Tcpdf
2026-08-11 22:20:21 +00:00
oleibman 84de45c2f4 Slight Improvement in Ods Reader Date Handling
Based on recent discussions in #2938, it can do a bit better with date cells that do not use a recognized date style. Improve differentiating `date` from `date+time`, and in deciding whether 4-digit years have been used in the input cells. This causes a change to one test, where the old result incorrectly expected a 2-digit year (you can verify by opening the spreadsheet in question that it is saved with a 4-digit year).
2026-08-11 14:09:12 -07:00
oleibman 3431af42f9 Reorder Some Tests in RowCellIterator
Prevent exceptions in obscure situations.

Accommodate some differences with Ods format saved by Excel.
2026-08-11 11:45:03 -07:00
oleibman 538ede3aa0 Merge pull request #4959 from oleibman/fix861
First Php8.6 (Extremely Minor) Problem
2026-08-11 04:34:49 +00:00
oleibman ffac2cbe29 First Php8.6 (Extremely Minor) Problem
In 8.6, XmlWriter is declared non-serializable. This changes the result of one unit test (we receive a different exception than we had expected).
2026-08-10 21:27:15 -07:00
oleibman 50654a3e69 Add Xls to Sample 25 2026-08-10 07:14:22 -07:00
Julien Chavée bf9a0210e2 Avoid getStyle on every setValueExplicit quote-prefix check 2026-08-10 11:21:39 +02:00
oleibman e3af14f762 Coverage Tweak
Comment out some uncovered code while I figure out how to execute it.
2026-08-10 01:14:00 -07:00
oleibman 5f40cd3a06 Fix Problem with Multiple Images on Multiple Sheets
Sample 25 now provides better coverage.
2026-08-10 00:40:26 -07:00
oleibman 229ae783df Address Some Coverage Issues
I hoped to address more in Sample 25, but there were some peculiar problems. I will continue to work on those, but no reason to delay what is working.
2026-08-09 18:45:41 -07:00
oleibman 78221785c1 Add Memory Drawing Sample 2026-08-09 09:09:35 -07:00
oleibman cf709f3d3f Drawings for ODS
Fix #4809. This initial work for this PR was done by @xxltomcat-ux in PR #4812. That PR needed some work, and was accidentally closed in a manner that caused all its work to be lost. As compared with that version, this version corrects a write bug when Ods output is added to 27_Images_Xlsx, adds limited support for Read, and adds some tests (more are probably needed). What follows here is the original description from the closed PR.

# Summary

Currently, the ODS writer in PhpSpreadsheet does not support exporting images. Images (Drawing or MemoryDrawing objects) are completely ignored in ODS exports, though they work correctly for XLSX. This issue proposes and provides a full implementation to add support for image/drawing export in ODS, bringing feature parity with the XLSX writer.

# Problem

- ODS exports silently drop images and worksheet graphics
- This is a required feature for interoperability with LibreOffice/OpenOffice users

# Key Implementation:

- Update: Writer/Ods.php to collect/package images into the export ZIP
- Update: Writer/Ods/Content.php to integrate images into content.xml and table cells
- New: Writer/Ods/Drawing.php to manage extraction & XML for worksheet images (Drawing & MemoryDrawing)
- Update: Writer/Ods/MetaInf.php to list all Pictures/ images in the manifest
- Update: Reader/Ods.php to read drawing-related Xml and add those which meet certain criteria to spreadsheet.

# Features

- Exports all worksheet images (Drawing, MemoryDrawing)
- Embeds images in Pictures/ directory inside ODS
- Writes <draw:frame> and <draw:image> elements linked to cell positions
- Updates META-INF/manifest.xml with all images
- Handles cell/row mapping & coordinates
- Supports PNG, JPEG, GIF, BMP
2026-08-09 08:37:59 -07:00
oleibman 585d3c0ce4 Merge branch 'master' into stancomments 2026-08-09 02:42:11 -07:00
oleibman b9f6ba4667 2.2.7 Reported Internal Error on Win11 - Upgrade to 2.2.8 2026-08-09 02:25:59 -07:00
oleibman 33e837480c Tweaks 2026-08-09 01:20:05 -07:00
oleibman 49affe510f Merge pull request #4954 from gaoflow/fix-betainv-underflow-false-convergence
Fix BETAINV false convergence when the Beta CDF underflows
2026-08-09 07:03:04 +00:00
oleibman 3518d40436 Merge branch 'master' into fix-betainv-underflow-false-convergence 2026-08-08 23:59:16 -07:00
oleibman e91b33a638 Merge pull request #4953 from gaoflow/fix-gamma-large-shape
Fix gamma-family overflow for large shape parameters
2026-08-09 03:57:53 +00:00