Recent posts

#1
General Discussion / Re: A discussion about the typ...
Last post by Lynn - Today at 03:48:48 PM
It's only light thread necromancy this time, so I feel like I'm in the clear. The reason I use Scribus is that it is the only desktop publishing program which is officially supported on Linux; I use it for typesetting novels for hobby bookbinding. For non-Linux hobbyists, the alternate choice is usually Affinity Studio now that it's available for free.

My needs overlap somewhat with professional book typesetters, but not completely (since it's a hobby, I'm willing to put a lot more time into any given project; since I am self-printing only a few books a year I make designs much more complex and image-rich than a typical paperback).

Two of the things discussed above would be enormously helpful to me: Contextual paragraph and character styles, additional hyphenation rules to prevent hyphenating the last word of a paragraph.

Most people in my bookbinding club use Affinity Publisher for typesetting. We were talking over the various features that Scribus and Affinity have and there are a few that Scribus has that are actually big plusses over Affinity for books.
  • The ability to unlink frames/cut text is great for splitting documents per chapter without needing to import chapters separately.
  • The ability to use fonts that aren't installed is amazing for testing designs.
  • User scripts are big for me - affinity still doesn't support macros.
  • And somehow it doesn't let the user provide a list of hyphenation exceptions for proper nouns!

A lot of the Affinity features I think are unecessary if you typeset "traditionally" (making a design first, editing your text before importing and then applying the design to the finalized text as the last step). But there's also some features that they have that sound really convenient:
  • "Next Paragraph" setting in the paragraph style definition allows you to set that the ChapterOpener will always follow the ChapterTitle
  • "First Characters" setting in the paragraph style applies a character style for a set number of characters, words or up till a delimiter - that allows you to set the first few words of a chapter in small caps. In typesetting plays, it would let you set the speaker in a custom style.
  • "Start Paragraph On" setting allows you to automatically insert a page break (or two, if you want all your chapters to start on the right) before chapter titles, which would be a big time-saver
  • Regex searching
  • And paragraph decorations (either fill behind a paragraph, next to it, an outline box etc) is actually used heavily for typesetting modern era stories that include a lot of text messages. Being able to make a rounded-corner box beneath a paragraph automatically makes that easy in Affinity.
  • (oh I forgot - automatic running headers based on styles. I have a script that makes these so I forgot Scribus doesn't do it natively)

Most of the features Affinity has would be a pain to implement, but I figured people might find the perspective from my hobby interesting. I attached some slides I made for a group presentation I was giving with pros for each
#2
Features / Native Text Hyperlink Support ...
Last post by Pexim SLani - February 13, 2026, 10:36:25 PM
Integrating Native Hyperlink Support into Scribus Text Engine
(Right-Click → Insert Hyperlink)


1. Problem Statement

Currently in Scribus, hyperlinks in PDF documents are implemented as separate PDF Annotation objects that are manually positioned over text frames.

This creates several workflow limitations:

  • Hyperlinks are not part of the text model.
  • If text reflows, annotations must be manually repositioned.
  • No "Insert Hyperlink" option exists in the text context menu.
  • Managing many links (e.g., TOC, references, external URLs) is inefficient.
  • Hyperlink styling cannot be directly tied to character styles.

In professional DTP workflows (books, magazines, technical documentation, hybrid print/digital PDFs), hyperlink support is expected to be integrated into the text engine, similar to:

  • Adobe InDesign
  • Affinity Publisher
  • LibreOffice Draw/Writer

This proposal outlines a possible architectural approach to implement native hyperlink support in Scribus.


2. Architectural Overview
Current Model (Simplified)

Scribus currently separates:

  • Text Engine (StoryText / text frames)
  • PDF Annotation System
  • PDF Export Layer

Hyperlinks exist only at the annotation level, not within text attributes.


3. Proposed Architectural Enhancement
Goal:

Add hyperlink as a character-level text attribute, similar to:

  • font
  • size
  • style
  • color


4. Core Implementation Layers
4.1 Text Engine Layer

Add a new character attribute:

struct HyperlinkAttribute {
    enum LinkType {
        ExternalURI,
        InternalPage,
        NamedDestination,
        Email
    };

    LinkType type;
    QString target;
};


This attribute should:

  • Attach to character ranges
  • Be stored inside StoryText
  • Move and reflow with text
  • Be serializable in the .sla format

4.2 UI Layer
Context Menu

When text is selected:

  • Right Click → Insert Hyperlink

If selection already contains hyperlink:

  • Edit Hyperlink
  • Remove Hyperlink


4.3 Hyperlink Dialog

Minimal dialog structure:

Fields:

Link Type:

External URL

Page

Named Destination

Email

Target (dynamic input depending on type)

Optional:

Checkbox: Apply "Hyperlink" character style



4.4 Styling System Integration

Hyperlinks should:

  • Be compatible with Character Styles
  • Allow a default "Hyperlink" style
  • Not hard-code visual formatting
  • Rendering should visually indicate hyperlink if styled accordingly.


4.5 PDF Export Layer

During PDF export:

For each text frame:

  • Iterate through character runs
  • Detect HyperlinkAttribute ranges
  • Compute bounding boxes for those ranges
  • Automatically generate corresponding PDF Annotation objects

QuotePseudo-code:

for each textFrame in document:
    for each textRun in textFrame:
        if textRun.hasHyperlink():
            rect = layoutEngine.calculateBoundingBox(textRun)
            pdfExporter.createLinkAnnotation(rect, textRun.hyperlinkTarget)

Important:

  • Must handle multi-line hyperlink ranges.
  • Must handle text across frames (linked frames).
  • Must respect rotated frames.


5. Backward Compatibility

  • Existing annotation workflow must remain functional.
  • Old documents must load without change.
  • New hyperlink attributes must not break SLA compatibility.


6. Optional Phase 2 Enhancements

  • Auto-detect URLs in pasted text.
  • Automatic TOC hyperlink generation.
  • Hyperlink panel (list all hyperlinks in document).
  • Convert annotation → text hyperlink tool.
  • Named destination manager.



Benefits

  • Professional digital publishing workflow
  • Reliable interactive PDFs
  • Easier TOC and cross-reference creation
  • Alignment with industry-standard DTP tools
  • Stronger adoption for hybrid print/digital projects


Conclusion

Native hyperlink support inside the text engine would significantly modernize Scribus' PDF workflow.

Even a minimal implementation (character attribute + export mapping) would dramatically improve usability and reduce manual annotation management.

This feature would elevate Scribus from "print-focused DTP with annotation workaround" to a fully capable hybrid publishing tool.
#3
Features / Re: Styles, Master pages, Scra...
Last post by Lynn - February 13, 2026, 07:40:16 PM
Using loops it is possible to iterate through the page and apply operations (whether finding or resizing/relocating items) to only the items on the page.

I don't really see an advantage to trying to do an operation to all the items simultaneously over iterating through the pages and doing it once per page - the script should take the same amount of time regardless.

Personally I would look for a match that's the same size and the same location, but you could have a variable that controlled whether it looked for one or both of those.
#4
Text and Typography / Re: Outline text without the t...
Last post by PhilipL - February 13, 2026, 06:56:30 PM
Oops. My eyesight is going!
#5
Features / Re: Styles, Master pages, Scra...
Last post by joseb - February 13, 2026, 05:19:37 PM
Quote from: a.l.e on February 12, 2026, 09:15:04 PMan even better solution could be:

-first select the item with the new position and size
- then add to the selection the next item with the old position / size
- all following items with matching position / size to the second item will be changed to match the first item in the selection.

A script like the second one suggested could be very interesting (in my opinion).


BY SAME POSITION vs BY SELECTION
I like that it automatically searches for other objects with the same position. Selecting them one by one may be fine, but I always think of long documents where it is time-consuming to scroll through all the pages, even with a zoom from afar to select many objects.


BY KEYWORDS CONTAINED IN THE NAME
I have suggested that the script search for keywords within the name of each object for the following advantages:

1_ It is not necessary to manually go through the entire document to select the objects to be changed.

2_ You can play around with different keywords to "filter" various objects. Imagine objects called:
- "Text_Central"
- "Image_Central"
- "Text_Lateral"
- "Side_Image
When you run the script for the keyword "Central," both objects named 'Central_Text' and "Central_Image" will change.
When you run the script for the keyword "Text," 'Text_Central' and "Text_Lateral" will be synchronized.

This may not make much sense to most users and may be contaminated with my way of working.


MY PROBLEMS WITH SCRIPTS THAT SELECT MULTIPLE OBJECTS
I tried to generate a script to synchronize all the selected objects myself, but I had problems. That's why I decided to base the script on keywords within the name of each object.

Then I tried to generate a script that would rename all the objects I had selected... but I couldn't get that to work either... I could only rename the objects that were on the same page.

The problem was always that I don't know how to work with many selected objects on multiple pages:
- I think that currently the scripting API only allows access to the selection on the active page using selectionCount() and getSelectedObject(i).
- I don't know if there is a function similar to getSelectedObjects() that returns all the objects selected in the document. Or if selectionCount() operates on the global selection. Optionally, a getObjectPage(obj) or isSelected(obj) function.

OTHER IMPROVEMENTS THAT COULD HELP SCRIPTS OR SIMPLY BETTER ORGANIZE A SCRIBUS FILE
I would love for Scribus to allow renaming many objects at once. For example:
- I select three objects.
- In the properties panel, I change the name to "A".
- Scribus renames the three objects as "A_001," "A_002," and "A_003".
#6
Text and Typography / Re: Outline text without the t...
Last post by a.l.e - February 13, 2026, 04:06:06 PM
Sc-ri-bu-s

...
#7
Text and Typography / Re: Outline text without the t...
Last post by PhilipL - February 13, 2026, 03:42:22 PM
Well, I must be pretty thick. Can't work out how Scribus does not have 6 letters. Had to wait for a different question to reply.
#8
Linux / Re: Disappearing Action Search...
Last post by Lynn - February 13, 2026, 02:06:01 PM
Changing the name and relaunching Scribus works to make a new preferences template & that template seems to retain new keyboard shortcuts I add. I pulled up a file difference checker to see what was different and it appears that if I generate the .rc file in the 1.6.4 appimage vs the 1.5.8 I have installed a lot of the components are in slightly different orders.

I wonder if that's what confused it - I'd been pulling up 1.6.4 to test a script I was writing that needed scripter commands that weren't in my installed version. But I tested alternating back and forth just now and it didn't seem to cause any issues with shortcuts disappearing. It's also possible that the original .rc file was from a very long time ago and had gotten corrupted somewhere along the way through various computer upgrades.

Regardless, thanks for the tip, everything seems to work now. I'll set up my preferences again so it saves to the new file.
#9
Text and Typography / Re: Lorem Ipsum in Spanish
Last post by joseb - February 13, 2026, 12:49:59 PM
Hello, I am Spanish and I am 36 years old.

I believe that Don Quijote de la Mancha can be recognised as a "lorem ipsum" perfectly well by many Spanish speakers. The first sentence is known by 99% of Spanish speakers (En un lugar de la Mancha, de cuyo nombre no quiero acordarme...)

As the novel Don Quijote de la Mancha is very long, the sample text should be limited to the first paragraph (or the first and second paragraphs if more text is needed).

I am copying the first paragraph, where the first words are the best known:

En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lantejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo mesmo, y los días de entresemana se honraba con su vellorí de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. Frisaba la edad de nuestro hidalgo con los cincuenta años; era de complexión recia, seco de carnes, enjuto de rostro, gran madrugador y amigo de la caza. Quieren decir que tenía el sobrenombre de Quijada, o Quesada, que en esto hay alguna diferencia en los autores que deste caso escriben; aunque, por conjeturas verosímiles, se deja entender que se llamaba Quejana. Pero esto importa poco a nuestro cuento; basta que en la narración dél no se salga un punto de la verdad.
#10
General Discussion / Scribus e QuarkXPress
Last post by Alina_P - February 13, 2026, 11:06:27 AM
Utilizzo QuarkXpress da 25 anni, ma vorrei capire come funziona Scribus rispetto appunto a XPress. Fra le altre cose volevo chiedere: come si comporta Scribus con la sillabazione (è semplice ottenere il testo giustificato inserendo le lineette degli a capo dove si vuole?). Nel caso di libri c'è la possibilità di avere la funzione libro con i capitoli inseriti in una sorta appunto di raccoglitore-libro come nel caso di X-Press? C'è qualche utente di QuarkXPress che mi può dare qualche informazione?
I file di QuarkXpress non si aprono con Scribus (penso sia inevitabile)?
Grazie infinite...