Decrease/increase text size proportionally of all selected characters (writer)?

Hi, I have a document containing a variety of text sizes, I want to decrease them all by the same amount (1 text size), how do I go about achieving this?


Doing this once is easy: there is FormatTextIncrease (Decrease) Size (Ctrl+]/Ctrl+[) tool (with corresponding buttons on Edit toolbar, hidden by default). This is direct (manual) formatting, though, and is suitable for one-time change.

Creating your style hierarchy with all child styles having relative sizes (i.e., defining default style’s text size size to a value (like 10 pt), and children size as 120% instead of 12 pt) allows you to proportionally change all text sizes at once by modifying default style’s size.

It works! I searched for the answer, but yet was surprised that LibreOfiice does this.

If the text was set with direct formatting, you can’t. At least, not easily. By using styles it’s really easy, though: when you modify/create a paragraph or character style, you can set a “parent/child” relation, so the “child” style inherits some characteristics of the “parent” style. In that situation you can set the font size in the “child” style to be a percentage of the font size in the “parent” style. Then, you change the font size in the “parent” style and everything updates automatically.

If your document is already set with direct formatting, then your only hope is to resort to macros or hacking the odt file… better use styles next time.

You can use Find to select all text with the same font size: search for .*, select More options, tick Regular expressions, click Format, set a font size. Click Find all, close the Find window, apply a paragraph or character style according to your needs. Repeat for all font sizes except the body text. Then remove the direct formatting by selecting chunks of text and pressing Ctrl+M. Take care that you don’t remove italic s and the like in single words.

There is a marked difference between Ctrl+[ or Ctrl+] and doing with styles as parent-child.
When Ctrl+[ or Ctrl+] is used, you may notice that suppose there are 3 paras have 10, 12 and 14 as font size. When Ctrl+] is used, the font sizes are increased but the difference between the sizes will remain as +2, +2. This is not the proportionate increase. After pressing Ctrl+] once the results will be 12, 14, 16.
If styles are followed and parent-child relation is well set, you will get the increment or decrease in the values with quite a different proportion according to the percentage you have set. If the parent is changed from 10 to 12, the increase is 20%. If the child is 100% of the parent then 12 will become 14.4 and 14 will become 16.8. The child can be set to any percentage one desires. Hence, the changes will be proportionate or more logical. However, Ctrl+] is just dumb as compared to styles. Only difficulty with styles is you need to have the things is styles and also parent-child relationship.
Imagine a document of 100 pages having at least 5 different font sizes here and there. If the parent-child is well set, just by changing the default font size the entire document will change proportionately, which is generally expected. All the styles given by libre are already set is parent-child relationship, I suppose. Hence, if we don’t make any manual change to the existing styles, any change to the default will be implemented all over.