• ANNOUNCE: ooxml 1.12 released

    From =?UTF-8?Q?Alexander_Sch=C3=B6pe?=@ete-sep@mxbo.de to comp.lang.tcl on Thu Jul 2 22:09:35 2026
    From Newsgroup: comp.lang.tcl

    ANNOUNCE: ooxml 1.12 released
    =============================

    ooxml is a pure Tcl extension for reading and writing ECMA-376 Office
    Open XML files, best known as the Excel .xlsx format. Developed by
    Alexander Schoepe with contributions by Rolf Ade and Harald Oehlmann, it requires only Tcl 8.6.7+ and tdom.

    Highlight of this release: an entirely new subsystem for generating WordprocessingML documents rCo ooxml now writes Word .docx files, shipped
    as the new packages ooxml::docx and ooxml::docx::lib.

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


    English
    -------

    New features since 1.10:

    * docx writer: the new packages ooxml::docx and ooxml::docx::lib
    generate ECMA-376 WordprocessingML documents (.docx) readable by
    Microsoft Word (2016/365) and LibreOffice. Documents are created from
    scratch or from an existing .docx file used as a template. Development
    was driven by Rolf Ade, with great contributions by Miguel Ba|#||n.
    * Paragraph and character formatting: named styles, highlighting, superscript/subscript, emboss effect, background/shading,
    bidi/right-to-left support and more.
    * Tables: simple and complex tables with individually formatted cells, horizontal and vertical cell spanning, nested tables, cell backgrounds
    and margins, row properties, header rows repeated across page breaks, conditional table styling.
    * Images: inline or anchored with text wrapping and distance control,
    also in headers and footers.
    * Headers and footers, footnotes and endnotes.
    * Comments: simple comments as well as comments spanning a range of text (commentrangestart/commentrangeend/simplecommentrangeend).
    * Fields: page number, number of pages ("page x of y"), REF, SEQ, TOC
    and more rCo including styled fields.
    * Hyperlinks to external URLs and in-document targets, bookmarks.
    * Lists and numbering, including restart of numbering.
    * Textboxes and text frames.
    * Math formulas via Office Math Markup Language (OMML) in a separate
    module, contributed by Miguel Ba|#||n.
    * Document settings (settings method), page and section setup, page margins.
    * Power tools: appendTo (append content to already created tables, rows, cells, headers/footers, footnotes, comments and textboxes), addXML,
    replace, xmlparts, selectNodes/xpath.
    * The docx writer requires tdom >= 0.9.6.

    Fixes:

    * xlsx: ScanDateTime uses a reworked regular expression for date/time
    parsing (ticket 74309ca5fb8c3a1d) and evaluates the UTC flag for dates
    = 1970.
    * xlsx: presetsheets reads the worksheets in the correct order.

    Build and installation:

    * Compatibility with tdom 0.9.6 and preparation for the upcoming tdom 0.9.7.
    * Updated to autoconf 2.72.
    * make all / make doc no longer fail when pandoc is not installed.
    * make archive creates clean archives without macOS metadata (ticket 21be6e112ec34758).
    * Helper scripts use tclsh and thus also work on Tcl 9-only systems.

    Documentation, examples and tests:

    * New user documentation for the docx writer (doc/ooxml-docx.md) plus developer notes (doc/ooxml-docx-dev.md), enormously enhanced with the
    help of Miguel Ba|#||n; new, much improved CSS for the HTML documentation, courtesy of Thorsten Berg.
    * Twelve new docx example scripts (examples/docx-example*.tcl), each
    annotated with the features it covers.
    * The xlsx example scripts were renamed (xlsx- prefix), annotated as
    well and now run from any directory.
    * A dedicated test suite for the docx subsystem, initiated by Miguel
    Ba|#||n, covering the core methods, the math methods and the option
    handling infrastructure.


    Deutsch
    -------

    Neue Features seit 1.10:

    * docx-Writer: Die neuen Pakete ooxml::docx und ooxml::docx::lib
    erzeugen ECMA-376-WordprocessingML-Dokumente (.docx), lesbar mit
    Microsoft Word (2016/365) und LibreOffice. Dokumente werden von Grund
    auf neu erstellt oder gehen von einer bestehenden .docx-Datei als
    Vorlage aus. Die Entwicklung wurde von Rolf Ade geleitet, mit
    gro|fartigen Beitr|ngen von Miguel Ba|#||n.
    * Absatz- und Zeichenformatierung: benannte Stile, Hervorhebung, Hoch-/Tiefstellung, Relief-Effekt, Hintergrund/Schattierung, Bidi-/Rechts-nach-links-Unterst|+tzung und mehr.
    * Tabellen: einfache und komplexe Tabellen mit individuell formatierten Zellen, horizontales und vertikales Verbinden von Zellen, verschachtelte Tabellen, Zellhintergr|+nde und -r|nnder, Zeileneigenschaften, bei Seitenumbruch wiederholte Kopfzeilen, bedingte Tabellenformatierung.
    * Bilder: eingebettet (inline) oder verankert mit Textumfluss und Abstandssteuerung, auch in Kopf- und Fu|fzeilen.
    * Kopf- und Fu|fzeilen, Fu|fnoten und Endnoten.
    * Kommentare: einfache Kommentare sowie Kommentare |+ber Textbereiche (commentrangestart/commentrangeend/simplecommentrangeend).
    * Felder: Seitennummer, Seitenanzahl (rCRSeite x von yrCL), REF, SEQ, TOC
    und weitere rCo inklusive formatierter Felder.
    * Hyperlinks auf externe URLs und Sprungziele innerhalb des Dokuments, Lesezeichen (Bookmarks).
    * Listen und Nummerierung, inklusive Neustart der Nummerierung.
    * Textboxen und Textrahmen.
    * Mathematische Formeln |+ber Office Math Markup Language (OMML) in einem eigenen Modul, beigesteuert von Miguel Ba|#||n.
    * Dokumenteinstellungen (settings-Methode), Seiten- und
    Abschnitts-Setup, Seitenr|nnder.
    * Werkzeuge f|+r Fortgeschrittene: appendTo (nachtr|ngliches Anf|+gen von Inhalt an bereits erzeugte Tabellen, Zeilen, Zellen, Kopf-/Fu|fzeilen, Fu|fnoten, Kommentare und Textboxen), addXML, replace, xmlparts, selectNodes/xpath.
    * Der docx-Writer ben||tigt tdom >= 0.9.6.

    Fehlerbehebungen:

    * xlsx: ScanDateTime verwendet einen |+berarbeiteten regul|nren Ausdruck
    f|+r das Datum/Zeit-Parsing (Ticket 74309ca5fb8c3a1d) und wertet das
    UTC-Flag f|+r Datumswerte ab 1970 aus.
    * xlsx: presetsheets liest die Arbeitsbl|ntter in der korrekten Reihenfolge.

    Build und Installation:

    * Kompatibilit|nt mit tdom 0.9.6 und Vorbereitung auf das kommende tdom
    0.9.7.
    * Aktualisierung auf autoconf 2.72.
    * make all / make doc bricht nicht mehr mit Fehler ab, wenn pandoc nicht installiert ist.
    * make archive erzeugt saubere Archive ohne macOS-Metadaten (Ticket 21be6e112ec34758).
    * Hilfsskripte verwenden tclsh und funktionieren damit auch auf
    Systemen, auf denen nur Tcl 9 installiert ist.

    Dokumentation, Beispiele und Tests:

    * Neue Benutzerdokumentation f|+r den docx-Writer (doc/ooxml-docx.md)
    plus Entwicklernotizen (doc/ooxml-docx-dev.md), mit Hilfe von Miguel
    Ba|#||n enorm erweitert; neues, deutlich verbessertes CSS f|+r die HTML-Dokumentation, mit Dank an Thorsten Berg.
    * Zw||lf neue docx-Beispielskripte (examples/docx-example*.tcl), jeweils
    mit Hinweisen auf die abgedeckten Features.
    * Die xlsx-Beispielskripte wurden umbenannt (Pr|nfix xlsx-), ebenfalls kommentiert und laufen jetzt aus jedem Verzeichnis heraus.
    * Eine eigene Testsuite f|+r das docx-Teilsystem, initiiert von Miguel Ba|#||n, deckt die Kernmethoden, die Mathematik-Methoden und die Options-Infrastruktur ab.
    --- Synchronet 3.22a-Linux NewsLink 1.2