• ANNOUNCE: ooxml 1.13.2 released

    From =?UTF-8?Q?Alexander_Sch=C3=B6pe?=@ete-sep@mxbo.de to comp.lang.tcl on Fri Jul 24 08:06:14 2026
    From Newsgroup: comp.lang.tcl

    ANNOUNCE: ooxml 1.13.2 released
    ===============================

    ooxml is a pure Tcl extension for reading and writing ECMA-376 Office
    Open XML files: it reads and writes Excel .xlsx spreadsheets and creates
    Word .docx documents. Developed by Alexander Schoepe with contributions
    by Rolf Ade, Harald Oehlmann, Miguel Ba|#||n and Steve Landers, it
    requires only Tcl 8.6.7+ and tdom.

    1.13.2 is a maintenance release: it corrects two details of the
    generated .xlsx files, fixes a docx corner case, and makes the test
    suite run on Windows and on a plain Tcl plus tdom installation.

    Download / Repository: https://fossil.sowaswie.de/ooxml


    English
    -------

    Fixes since 1.13.1:

    * Hyperlinks: a worksheet with the same URL in several cells produced a separate relationship entry per cell. The writer now creates one
    relationship per unique URL and lets the cells share its rId. Tooltips
    remain per cell, so different tooltips on the same URL still work.
    * Shared strings: the count attribute of the sst element now holds the
    total number of string references in the workbook, while uniqueCount
    keeps the number of unique strings. Previously both carried the unique
    count, which does not match ECMA-376.
    * docx: passing the empty string as the optional "start from" document
    to ooxml::docx::docx now yields the same empty document as omitting the argument altogether, instead of failing.

    Tests:

    * The docx tests and the ECMA-376 validator no longer call the external
    unzip program. They read the generated packages through ooxml's own
    built-in zip reader, so the whole suite now also runs on Windows, where
    unzip is not available.
    * The xlsx tests no longer mount the archive themselves via tclvfs or
    zipfs but use the ::ooxml::Zip* helpers as well. Together with the
    built-in zip reader introduced in 1.13 the suite therefore runs on a
    plain Tcl plus tdom installation, without tcllib or tclvfs.
    * The date checks of the core properties are computed instead of
    hardcoded, so they no longer depend on the timezone of the machine, and
    the invalid-UTF8 check matches the message of the built-in reader.
    * Verified on Tcl 8.6.18, 9.0.4 and 9.1b0 in several timezones.

    Thanks to Steve Landers for the hyperlink, shared strings and test
    fixes, to Paul for reporting the failing tests on Windows, and to Rolf
    Ade for the docx fix.


    Deutsch
    -------

    Fehlerbehebungen seit 1.13.1:

    * Hyperlinks: Ein Arbeitsblatt mit derselben URL in mehreren Zellen
    erzeugte pro Zelle einen eigenen Relationship-Eintrag. Der Writer legt
    jetzt eine Relationship je eindeutiger URL an, die Zellen teilen sich
    deren rId. Tooltips bleiben zellbezogen, unterschiedliche Tooltips bei gleicher URL funktionieren also weiterhin.
    * Shared Strings: Das count-Attribut des sst-Elements enth|nlt jetzt die Gesamtzahl der String-Referenzen in der Arbeitsmappe, uniqueCount
    weiterhin die Anzahl der eindeutigen Strings. Zuvor trugen beide den
    Wert f|+r die eindeutigen Strings, was nicht ECMA-376 entspricht.
    * docx: Wird ooxml::docx::docx als optionales "start from"-Dokument ein
    leerer String |+bergeben, entsteht jetzt dasselbe leere Dokument wie ganz
    ohne dieses Argument, statt mit einem Fehler abzubrechen.

    Tests:

    * Die docx-Tests und der ECMA-376-Validator rufen nicht mehr das externe Programm unzip auf. Sie lesen die erzeugten Pakete |+ber ooxmls eigenen eingebauten Zip-Reader, damit l|nuft die gesamte Suite jetzt auch unter Windows, wo unzip nicht zur Verf|+gung steht.
    * Auch die xlsx-Tests mounten das Archiv nicht mehr selbst |+ber tclvfs
    oder zipfs, sondern nutzen ebenfalls die ::ooxml::Zip*-Helfer. Zusammen
    mit dem in 1.13 eingef|+hrten eingebauten Zip-Reader l|nuft die Suite
    damit auf einer reinen Tcl-plus-tdom-Installation, ohne tcllib oder tclvfs.
    * Die Datumspr|+fungen der Core-Properties werden berechnet statt fest verdrahtet und h|nngen damit nicht mehr von der Zeitzone des Rechners ab;
    die Pr|+fung auf ung|+ltiges UTF-8 passt zur Meldung des eingebauten Readers.
    * Gepr|+ft mit Tcl 8.6.18, 9.0.4 und 9.1b0 in mehreren Zeitzonen.

    Dank an Steve Landers f|+r die Korrekturen an Hyperlinks, Shared Strings
    und Tests, an Paul f|+r die Meldung der unter Windows fehlschlagenden
    Tests und an Rolf Ade f|+r den docx-Fix.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Olivier@user1108@newsgrouper.org.invalid to comp.lang.tcl on Fri Jul 24 17:07:04 2026
    From Newsgroup: comp.lang.tcl


    =?UTF-8?Q?Alexander_Sch=C3=B6pe?= <ete-sep@mxbo.de> posted:

    ANNOUNCE: ooxml 1.13.2 released
    ===============================

    ooxml is a pure Tcl extension for reading and writing ECMA-376 Office
    Open XML files: it reads and writes Excel .xlsx spreadsheets and creates
    ...

    I am a bit confused with the "pure Tcl extension" definition as in the README file, it is mentioned "TEA-compatible" ? One needs a compilation step, don't we ?

    Olivier.

    PS : I am a fan of "pure Tcl" extensions since BLT was not maintained anymore
    and cost me months of work to use Plotchart instead.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Emiliano@emiliano@example.invalid to comp.lang.tcl on Fri Jul 24 17:01:57 2026
    From Newsgroup: comp.lang.tcl

    On Fri, 24 Jul 2026 17:07:04 GMT
    Olivier <user1108@newsgrouper.org.invalid> wrote:


    =?UTF-8?Q?Alexander_Sch=C3=B6pe?= <ete-sep@mxbo.de> posted:

    ANNOUNCE: ooxml 1.13.2 released
    ===============================

    ooxml is a pure Tcl extension for reading and writing ECMA-376 Office
    Open XML files: it reads and writes Excel .xlsx spreadsheets and creates ...

    I am a bit confused with the "pure Tcl extension" definition as in the README
    file, it is mentioned "TEA-compatible" ? One needs a compilation step, don't we ?

    Olivier.

    PS : I am a fan of "pure Tcl" extensions since BLT was not maintained anymore
    and cost me months of work to use Plotchart instead.

    BLT is still maintained by the original author here:

    https://sourceforge.net/p/blt/src/ci/master/tree/

    Rbc (forked project from BLT 2.4 series) for Tk 9.0 is available here

    https://chiselapp.com/user/egavilan/repository/rbc-tk9/index

    Regards
    --
    Emiliano
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Olivier@user1108@newsgrouper.org.invalid to comp.lang.tcl on Sat Jul 25 07:45:17 2026
    From Newsgroup: comp.lang.tcl


    Emiliano <emiliano@example.invalid> posted:


    BLT is still maintained by the original author here:

    https://sourceforge.net/p/blt/src/ci/master/tree/

    Rbc (forked project from BLT 2.4 series) for Tk 9.0 is available here

    https://chiselapp.com/user/egavilan/repository/rbc-tk9/index

    Regards


    Thank you ! I saw RBC poped up from Ashok and Paul distributions, but that BLT is still
    maintained is a good surprise because RBC is an underset of BLT in fact.
    I made this change some years ago, so I will probably go back to RBC/BLT if I need
    to deal with large set of data. For the moment I display sqrt(n) data and calculate
    on n cardinal. Up to a vector of 100 000 points , it is workable. Hopefully, processors will stay processors and not TPU, GPU, ...!

    Olivier.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Harald Oehlmann@wortkarg3@yahoo.com to comp.lang.tcl on Sat Jul 25 10:33:51 2026
    From Newsgroup: comp.lang.tcl

    Am 24.07.2026 um 19:07 schrieb Olivier:

    =?UTF-8?Q?Alexander_Sch=C3=B6pe?= <ete-sep@mxbo.de> posted:

    ANNOUNCE: ooxml 1.13.2 released
    ===============================

    ooxml is a pure Tcl extension for reading and writing ECMA-376 Office
    Open XML files: it reads and writes Excel .xlsx spreadsheets and creates
    ...

    I am a bit confused with the "pure Tcl extension" definition as in the README file, it is mentioned "TEA-compatible" ? One needs a compilation step, don't we ?

    Olivier.

    PS : I am a fan of "pure Tcl" extensions since BLT was not maintained anymore
    and cost me months of work to use Plotchart instead.

    TEA can also be used to install scripts.
    In addition, the stuff to get the github/fossil hash into the
    distribution is AFAK from TEA.

    And you need tdom as an additional binary extension.

    The requirement of vfs is gone.

    Take care,
    Harald
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Olivier@user1108@newsgrouper.org.invalid to comp.lang.tcl on Sat Jul 25 15:05:18 2026
    From Newsgroup: comp.lang.tcl


    Harald Oehlmann <wortkarg3@yahoo.com> posted:



    TEA can also be used to install scripts.

    Thank you ... This is the part of your answer that tells me I still have a lot to read and learn !
    --- Synchronet 3.22a-Linux NewsLink 1.2