Project font convert doesn't work on files within unexpanded folders

Recently, I changed from Windows to Mac and moved my project to the Mac version of Scrivener. In the course of reviewing the individual “text” documents I noticed a couple different fonts in use (unintentional); that may have been my doing. Anyway, when I tried to convert all text documents to Helvetica 12 I followed these steps:

  1. I selected/highlighted all the documents and folders.
  2. I went to Documents>Convert>Text to Default Formatting>Convert font only>OK

The conversion seemed to have worked, but today I found unconverted text documents still in Courier font. Those documents were without exception all within folders that were not open (i.e., folder icon preceded by a right arrow). Initially I thought the unconverted font documents were random, but then I noticed all of them were in “unopened” folders. All text documents in open folders did reflect the project font change.

I did read the bug report post before posting this, but if I missed something, please let me know. Thanks! This is my first post. :crazy_face:

Hey, welcome to the forum!

It’s not even a matter of opened versus unopened, though I suppose if you did a ⌘A that would seem to be the case. It’s the selection that matters, we assume nothing beyond that. Here is how this command is described in the user manual (Appendix A.9):

Resets the text of the selected files and folders (or the text in the active editor session, including multiple documents in Scrivenings) to the default formatting used for new files.

(Emphasis added.)

This command is already fairly destructive, and has no undo, so it very much requires you to point out exactly what you want changed. Toward that, here are three different efficient methods for doing so, depending on the scale of what you want changed:

Bulk selection tips

All text in project (simple)

If you don’t care at all about how the binder is expanded or collapsed:

  1. Click in Binder and use View ▸ Outline ▸ Expand All.
  2. ⌘A.

All text descending from selected group(s)

This method will be suitable for a more selective approach that impacts all descendants of a higher level parent group, rather than cases where the goal is to convert the entire project:

  1. Select the group(s) you wish to convert all contents for.
  2. Use the Edit ▸ Select ▸ Select with Subdocuments menu command.

Preserving expansion states of groups in binder/outliner

This is my preferred method these days, as it will not disturb how I have the binder or outliner set up in terms of expansion levels (which would take me far more effort to restore than the below checklist). It will pull up a simple flat list of everything in the project so we can easily select it all and convert it.

  1. Open Project Search and type in a single asterisk (*), which means “find all within the given scope”.

  2. Click on the magnifying glass icon to the left of the typing area, and make sure the scope is as wide as desired, via the “Reset Search Options” choice toward the very bottom.

    So at this point with the scope set to the whole project, and searching for something that returns everything, we now have a flat list of the entire project (even things you can’t convert, like pictures, but that’s okay; it’ll skip over them).

    A likely alternative: by selecting the Search Draft Only constraint we can avoid overriding the formatting of more stylised documents, that might not be “normal text” on purpose. Notes, imported research papers, character sheets, etc.

  3. Clicking into the search result list, press ⌘A followed by using the Documents ▸ Convert ▸ Text to Default Formatting... command.

Skipping formalities

One last thing to be aware of, as this trick unfortunately never made it into the Windows version: you can skip the whole dialogue box itself if you already have it set up the way you want, but holding down the Option key on your keyboard, while clicking on the menu command.

This also happens to work (by nature of how Mac shortcuts work), if you assign a shortcut to this command that includes the Option key in the shortcut.

1 Like

I am thinking that leveraging Scrivenings View would also preserve the open/closed state of the Binder. Select the Draft folder, enable Scrivenings View to load the whole draft into the editor pane. Give the editor pane focus. (Maybe a Select All (cmd-A) in the editor pane would be wanted then?) Then the Convert should do the whole job.

For that one scenario you suggest, Draft-only or I suppose within any single folder, that can work (you don’t even have to Select All in the editor). But in general Scrivenings is a bit trickier as a method for this process, for two reasons:

  1. If one wants to update the font across the whole project, then the way Scrivenings works kind of gets in the way of that. If your selection contains a mix of groups and regular items, it becomes literal about the selection, as the command itself would be. Collapsed folders in other words, would exist in the session as single entry, but none of anything below them, since those things are not selected. For a full top to bottom entire project Scrivenings session you’d have to be careful to close everything, and no text items could be at the top level of the binder—or expand everything, but then we might as well just use the selection and not spend time forming a large session.
  2. And that leads to the next thing that can be problematic: depending on the size of the project of course, it might actually take a long time to build the session. Long enough that it makes more sense to just use some other method to select all the items in the project.

Lastly, this is largely a Mac-only technique, owing to technical limitations in how Scrivenings work on Windows. If you run the command from the editor, where all of the text is, it only works on one item at a time—so you might as well just trudge through one by one at that point rather than using Scrivenings. And of course if you run the command from the Binder then it is selection that matters, not whatever an editor may or may not be doing with it, and in this case your selection is the Draft folder, which disables the command. So for Windows you definitely need a literal selection to do a bulk update.

1 Like

Thank you for your replies! I’ve much to learn, so I appreciate your help.

1 Like