Releases: ruscalinux-dev/ruscawriter
Release list
RuscaWriter 0.99
A large release: everything that changed since 0.3, last published on 4 July.
Typesetting
The PDF export now justifies the text, with optional hyphenation, and
carries real bookmarks — the chapter tree readers show in their sidebar.
A cover generator builds a typographic cover from the title and the
author, with a live preview.
Under View → Fonts you now choose two fonts separately: the one you write
in on screen, and the one the exported PDF is set in. Either of the two
built-in faces, or any TrueType family installed on your machine. The export
font is embedded, so the file reads the same on any computer.
Imported text
Most literary plain text has its lines broken at a fixed column. Taken
literally those are line breaks, and the paragraph will not justify in the PDF
or reflow on an e-reader.
Ctrl+Shift+B tints the paragraphs that are broken this way, and Chapter →
Rejoin paragraphs repairs them — verse, lists and quotations are left alone.
Both follow the same rule, so what you see highlighted is what gets joined.
Importing does not do it on its own: it is your text, so the choice is yours.
Importing a Project Gutenberg file no longer drags its header and licence into
the manuscript — about a tenth of the words in a typical file.
Five themes
Ametista, Rubino, Zaffiro, Giada, Ambra — each in a light
and a dark version. Each has its own paper, ink and night ground.
They were built around one measurement. Pure black on pure white gives the
highest contrast a screen can produce, and it is the most tiring thing to look
at for three hours. Every theme here keeps body text between 12:1 and 14:1,
and none of them uses pure black or pure white. The plum of RuscaLinux was
reworked the same way: its bars keep the full colour, but the page no longer
is 21:1.
You can also write your own — a small text file in
~/.config/ruscawriter/themes/, a name and seven colours. The folder ships a
commented example to copy.
Markdown, read the same way everywhere
The rules now live in one place, shared by the PDF typesetter, the HTML, EPUB,
ODT and DOCX exports, the preview and the live highlighting. They used to be
written out separately in each, and the copies had drifted:
- a heading needs a space after the
#, as the guide has always shown.
#Titlewas a heading in the PDF only, and is now body text everywhere _italic_and__bold__are highlighted while you type, not only formatted
on export- a lone
*, as in3 * 4, no longer turns the rest of the line italic - nested formatting comes out right in HTML and EPUB too
- a link kept its label but lost its address, so a cited source became
unreachable. The address is now printed in full beside the label, and never
as a clickable link — a book gets printed, and on paper nobody can click
A Markdown guide is under Help (Shift+F1).
Fixed
- the writing column could be squeezed into a sliver by the side panels, and
the bad layout copied itself from one session to the next - on the first run the text sat in a narrow column between two huge margins
- a maximised window reopened as an ordinary window the size of the screen,
spilling under the taskbar - Dark theme and Show line breaks are switches, and now carry a tick when on
- on a cover with only a title and an author, the author was printed twice
- a long cover title ran off the edges, and words could be split across lines
Notes
The repository documents are English only from this release; the Italian
versions were removed rather than left describing 0.3. The teaching mini-editor
docs/mini_ruscawriter.py was removed too — both remain in the history and
under the v0.3 tag.
591 automated tests pass. Requires Python 3, PyGObject and GTK 4. Pillow and
Pyphen are optional.
RuscaWriter 0.3
English
New feature release, focused on images inside chapters plus a full
documentation cleanup and an updated security policy.
Added
- Images inside chapters. New Edit → Insert image… (
Ctrl+Shift+I):
the chosen picture (PNG, JPEG or WebP) is copied into the project — it
travels inside the.rwrarchive — and a standard Markdown line
appears in the text. The caption is freely
editable. Every export renders it as a real figure: PDF (centered, italic
caption, automatic page break), EPUB, ODT, DOCX and HTML; the exported
Markdown copies the images to a sibling folder; TXT shows the caption in
square brackets. - WebP covers. The cover image now accepts PNG, JPEG and WebP; the format
is detected from the file content, not from its extension. For Word (which
cannot display WebP) and for the PDF, conversion to JPEG happens
automatically when Pillow is available.
Removed
- The redundant "Update date" button and menu entry (the cover is managed
from the Editorial sections).
Documentation & internal
- English is now the default language for all repository documents, with
the Italian version alongside (README/SECURITY/CONTRIBUTING, each
with an.it.mdcounterpart and cross-links). - The
docs/mini_ruscawriter.pyteaching mini-editor is now fully bilingual
(English first, then Italian); the Italian-only guide was removed. - Updated SECURITY.md for 0.3 (new untrusted inputs: images; verified
security posture; known residual risks). - Deduplicated the Markdown→HTML converter; unified image-format handling
(stdlib only). 102/102 automated tests passing, with and without Pillow.
Program requires Python 3, PyGObject and GTK 4. Pillow is optional.
Italiano
Nuova versione con funzionalità, incentrata sulle immagini nei capitoli,
con una revisione completa della documentazione e una politica di sicurezza
aggiornata.
Aggiunto
- Immagini nei capitoli. Nuova voce Modifica → Inserisci immagine…
(Ctrl+Maiusc+I): l'immagine scelta (PNG, JPEG o WebP) viene copiata
dentro il progetto — viaggia nell'archivio.rwr— e nel testo compare
una riga Markdown standard. La didascalia è
modificabile. Tutti gli export la rendono come figura vera: PDF (centrata,
didascalia in corsivo, salto pagina automatico), EPUB, ODT, DOCX e HTML; il
Markdown esportato copia le immagini in una cartella affiancata; il TXT
mostra la didascalia tra parentesi quadre. - Copertina anche in WebP. L'immagine di copertina accetta ora PNG, JPEG e
WebP; il formato è riconosciuto dal contenuto del file, non dall'estensione.
Per Word (che non visualizza il WebP) e per il PDF la conversione in JPEG
avviene automaticamente quando Pillow è presente.
Rimosso
- Il superfluo pulsante e voce di menu «Aggiorna data» (la copertina si
gestisce dalle Sezioni editoriali).
Documentazione e interno
- L'inglese è ora la lingua predefinita di tutti i documenti del
repository, con l'italiano affiancato (README/SECURITY/
CONTRIBUTING, ciascuno con la controparte.it.mde link incrociati). - Il mini-editor didattico
docs/mini_ruscawriter.pyè ora completamente
bilingue (prima l'inglese, poi l'italiano); la guida solo-italiana è stata
rimossa. - SECURITY.md aggiornato per la 0.3 (nuovi ingressi non fidati: le
immagini; stato di sicurezza verificato; rischi residui noti). - Deduplicato il convertitore Markdown→HTML; gestione unificata dei formati
immagine (solo libreria standard). 102/102 test automatici superati, con
e senza Pillow.
Richiede Python 3, PyGObject e GTK 4. Pillow è opzionale.
RuscaWriter 0.2.1
English
Maintenance release. No new features — only fixes and legal/authorship alignment.
- Fixed the spell-check package names for Debian 13 (Trixie): now
gir1.2-spelling-1(the previously listed names are no longer valid) - Added GPL v3+ license headers to all Python source files
- Added a copyright notice (© 2026 Nunzio Curcuruto) and a note on the development method
- Updated documentation (README, CONTRIBUTING)
Program behaviour is unchanged from 0.2.
Italiano
Release di manutenzione. Nessuna nuova funzionalità: solo correzioni e allineamento legale.
- Corretti i nomi dei pacchetti per il controllo ortografico su Debian 13 (Trixie): ora
gir1.2-spelling-1(i nomi indicati prima non sono più validi) - Aggiunti gli header di licenza GPL v3+ a tutti i file sorgente Python
- Aggiunta la notice di copyright (© 2026 Nunzio Curcuruto) e una nota sul metodo di sviluppo
- Aggiornata la documentazione (README, CONTRIBUTING)
Il comportamento del programma è invariato rispetto alla 0.2.
RuscaWriter 0.2
RuscaWriter 0.2
Highlights / In breve
📐 PDF page sizes — choose among A5, 6×9″, 17×24 cm, A4 and 5×8″, with a graphical preview. Default is now A5.
📐 Formati pagina PDF — scegli tra A5, 6×9″, 17×24 cm, A4 e 5×8″, con anteprima grafica. Il predefinito è ora A5.
📖 Binding margins — separate inner (spine) and outer (trim) margins; text shifts toward the spine on recto/verso while header and page number stay centred.
📖 Margini di rilegatura — margine interno (piega) ed esterno (taglio) distinti; il testo si sposta verso la rilegatura su recto/verso, mentre intestazione e numero restano centrati.
⬜ Blank cover — projects with no cover image and no frontispiece fields export a fully blank opening page instead of the graphic cover.
⬜ Copertina bianca — i progetti senza immagine di copertina né campi del frontespizio esportano una pagina iniziale completamente bianca.
✅ Backwards compatible: 0.1 projects open unchanged, no file-format changes, all 78 tests pass.
✅ Retrocompatibile: i progetti 0.1 si aprono senza modifiche, nessun cambio al formato file, tutti i 78 test superati.
Full changelog: see CHANGELOG.md
v0.1
Initial release of the software. Download the .deb file below to install it on RuscaLinux/Debian.