Change font in multiple text frames

Previous topic - Next topic

Wes

Hello,

Context: I have a large document, each page has an average of 5 text frames. It's become necessary for me to change the font throughout the whole document.

Question: Is it possible to change the font for all text frames in one hit, or will I have to select the text in each text frame individually and do it one-by-one? Is there a quick work around?

PS: I'm using Scribus on Linux Mint.

PatJr

if you used styles to tag the things you want to change you should be able to just change the font in that style tag

I say tag, I don't know what else to call them.

MrB

First.. backup your document.

Ensure the document is closed by Scribus. Open and edit the document in a UTF8 capable text editor and change the FONT="" section. Obviously you can change other parameters too like FONTSIZE etc.

Depending on how your document has been created, it might just be using the default character style.
Eg:
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial Regular" FONTSIZE="12" FONTFEATURES="" FEATURES="inherit" FCOLOR="Black" FSHADE="100" HyphenWordMin="3" SCOLOR="Black" BGCOLOR="None" BGSHADE="100" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="en_GB"/>

If you have manual formatting on many frames, you can do the same replacement.

AdmFubar

Quote from: Wes on July 12, 2023, 04:36:10 PMQuestion: Is it possible to change the font for all text frames in one hit, or will I have to select the text in each text frame individually and do it one-by-one? Is there a quick work around?


Well if the text frames are all linked then you simply click to edit the text in the frames press ctrl-a to select all then select the text properties panel and change the font from there. However if you have other text styled in your document, like bold, underline, italic, etc.. that will all be reset.

If so then the methods above  will be better suited to making the change(s).
Using Scribus 1.5.8 + 1.6.1, openSUSE 15.5
Advanced hobbyist

a.l.e

the right solution is of course to use styles from the beginning!

still, i dare to add a new item in the list of stupid* workarounds:

- close all documents
- in the preferences, deactivate the font you were using
- restart scribus
- open the document
- when you're been asked to replace the font, do it (permanently)
- save and close the document
- in the preferences, enable again the font
- restart scribus
- open the document

if i succeed, later today you might get a more "intelligent" solution... it's on its way...

* stupid: not because the people suggesting them are stupid, but because scribus is stupid and does not allow to use the search and replace dialog (which is a terrible monster in itself) on multiple frames.

Wes

Quote from: PatJr on July 12, 2023, 07:08:16 PMif you used styles to tag the things you want to change you should be able to just change the font in that style tag

I say tag, I don't know what else to call them.


Hello,

Thank you for your reply.

Just to clarify, do you mean that if I change the default paragraph or font style that used for the document, then that change will 'populate' across the whole document in every seperate text frame it is being used in?

Wes

Quote from: MrB on July 12, 2023, 09:51:57 PMFirst.. backup your document.

Ensure the document is closed by Scribus. Open and edit the document in a UTF8 capable text editor and change the FONT="" section. Obviously you can change other parameters too like FONTSIZE etc.

Depending on how your document has been created, it might just be using the default character style.
Eg:
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial Regular" FONTSIZE="12" FONTFEATURES="" FEATURES="inherit" FCOLOR="Black" FSHADE="100" HyphenWordMin="3" SCOLOR="Black" BGCOLOR="None" BGSHADE="100" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="en_GB"/>

If you have manual formatting on many frames, you can do the same replacement.

Thank you for the reply.

So this essentially means I can change the font by replacing the name of the existing font with the desired one, and doing this in the ceded version of the document? Do I have that right? I suppose a "find text and replace all with" search would work.

Wes

Quote from: a.l.e on July 13, 2023, 10:40:16 AMthe right solution is of course to use styles from the beginning!

still, i dare to add a new item in the list of stupid* workarounds:

- close all documents
- in the preferences, deactivate the font you were using
- restart scribus
- open the document
- when you're been asked to replace the font, do it (permanently)
- save and close the document
- in the preferences, enable again the font
- restart scribus
- open the document

if i succeed, later today you might get a more "intelligent" solution... it's on its way...

* stupid: not because the people suggesting them are stupid, but because scribus is stupid and does not allow to use the search and replace dialog (which is a terrible monster in itself) on multiple frames.

This actually sounds like a great solution because it seems to force Scribus to use the font I want by deleting the one actually being used now.

So long as Scribus asks me to select a font, instead of deciding for itself which one it should use instead of the missing one.

I look forward to your update. This might be the best solution.

MrB

Quote from: Wes on July 17, 2023, 12:36:43 PM
Quote from: MrB on July 12, 2023, 09:51:57 PMFirst.. backup your document.

Ensure the document is closed by Scribus. Open and edit the document in a UTF8 capable text editor and change the FONT="" section. Obviously you can change other parameters too like FONTSIZE etc.

Depending on how your document has been created, it might just be using the default character style.
Eg:
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial Regular" FONTSIZE="12" FONTFEATURES="" FEATURES="inherit" FCOLOR="Black" FSHADE="100" HyphenWordMin="3" SCOLOR="Black" BGCOLOR="None" BGSHADE="100" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="en_GB"/>

If you have manual formatting on many frames, you can do the same replacement.

Thank you for the reply.

So this essentially means I can change the font by replacing the name of the existing font with the desired one, and doing this in the ceded version of the document? Do I have that right? I suppose a "find text and replace all with" search would work.

Yes.. exactly.. As long as you get the name correct it will use the named font. If you use a bad name, it will ask you to select a font.

Wes

Quote from: MrB on July 17, 2023, 11:57:44 PMYes.. exactly.. As long as you get the name correct it will use the named font. If you use a bad name, it will ask you to select a font.

If I just deleted/deactivated the font currently being used, wouldn't that effectively achieve the same thing, ie getting Scribus to ask me what font I want to use instead?

MrB

Quote from: Wes on July 18, 2023, 05:06:42 AM
Quote from: MrB on July 17, 2023, 11:57:44 PMYes.. exactly.. As long as you get the name correct it will use the named font. If you use a bad name, it will ask you to select a font.

If I just deleted/deactivated the font currently being used, wouldn't that effectively achieve the same thing, ie getting Scribus to ask me what font I want to use instead?

Yes, sure.. search and replace is probably faster. Just set one text box to the font you want, then search place with that new value. Either way works. Search and replace is an advantage to an open file format. The other is a feature we built in to enable docs to work on computers without the fonts installed.

AdmFubar

>>>
I have Windows 10 and I created the font on a Website called calligraphr
(https://www.calligraphr.com <https://www.calligraphr.com> ),
the fonts are .otf and .tff
<<<

I wonder if the font created is being rejected by scribus and therefore not showing up. Dont have 1.4.x to check, so just speculation.
Using Scribus 1.5.8 + 1.6.1, openSUSE 15.5
Advanced hobbyist