[Beta 18] Font problem with iOS version (Bug?)

I mainly use Scrivener on my Windows PC, but sometimes on my iPad. A few betas ago, I got fed up with the font changing everytime I moved from one platform to the other, because the iPad didn’t have the same fonts as my PC. So, I switched the default editor formatting (the “No Style” style, which isn’t really a style) to Georgia, since it exists on both platforms. That worked fine.

However, I haven’t used the iOS version for a couple of months. I opened the current project today on my iPad and all the text was in Helvetica (yuck). And when I opened the project on the PC, it stayed in Helvetica. So, I now have to reformat the files I opened manually.

My understanding (from comments posted elsewhere on these forums, e.g. [url]https://forum.literatureandlatte.com/t/preferences-saving-loading-etc/45988/1]) was that the text defined using “Options | Editing | Formatting” isn’t a style. However, if that is right then the text ought to appear in the standard font defined in my preferences for the specific platform. So, if my Windows prefs say “Georgia”, then any text formatted “No Style” (i.e. unformatted) should appear in Georgia. When I open the same project on the iPad, if it’s prefs say “Helvetica” (although god knows why they would, as I had redefined it as Georgia), then the text should appear in Helvetica. But somehow the formatting is being embedded in the project, which is not how I understood the “No Style” non-style to work.

Not quite sure what’s going on here, but please could the default style be fixed in future update? I know it can’t be done by the time 3.0 ships (not least because you have to get the PC and Mac versions in sync with each other), but please could we have a proper default text format (called “default”) that is defined and applied like every other style, using the Styles palette? The present systems seems needlessly confusing and keeps producing unexpected results.

I would also assume that a proper, named default style would work better when compiling to formats, such as Ms Word, that use such a style (but I may be mistaken – not my area of expertise).

The “no style” formatting has no semantic content. It is not a style, it is not labeled as “no style,” it is simply rich text formatting. As such, no, it will not change to match the platform where the project is opened. Rather, each line of text will carry whatever formatting is specified when that line of text is created.

(Note, however, that you can specify project-level default formatting, which will override the Scrivener-wide defaults.)

The default formatting is not a style precisely because that would make the Compile command more complicated, not less. Among other things, it would add another layer of complexity to even the simplest projects, because you would have to tell the Compile command what to do with the style.

So no, this aspect of things is not going to change.

The real question is why iOS decided to change things to Helvetica in the first place. Without looking at the problem deeply, I suspect it was because the Georgia font had become unavailable for some reason, possibly an iOS update.

Katherine

This font mismatch issue can arise even between Mac and iOS. IOS has hardly any built-in fonts. My solution is to use free fonts and install a version both on my Mac and on my iOS devices.

There are several sources of quality free fonts. Personally I use https://fontsquirrel.com because it lets me install fonts directly to iOS. If you don’t care for it, the iOS app Anyfont https://apps.apple.com/us/app/anyfont/id821560738?mt=8 will accept a zipped font file and install it on your iOS device.

If you only want the fonts for Scrivener and won’t use them in any other iOS apps and use Dropbox sync, you can put a copy of the font file in your Dropbox sync folder to make it available to iOS Scrivener.

Hope this helps!

Yup, unfortunately fonts to be used across platforms need a bit of care and feeding.

I follow the same approach as Silverdragon.

Here is an L&L Knowledge Base article that discusses the challenge and a number of solutions in depth:

https://scrivener.tenderapp.com/help/kb/ios/using-fonts-across-platforms

Best,
Jim

The default formatting (“no style”) is the style applied to any new text entered, unless some other format is used, or the default font is not available.

Once text is entered in Helvetica, it stays that way until you change it.

The text has formatting information with it, even though it has no style.

“No style” doesn’t use a style flag in the RTF file. Now, to show the RTF code to push this point a little –

{\rtf1\ansi\ansicpg1252\uc1\deff0 {\fonttbl{\f0\fnil\fcharset0\fprq2 DejaVuSerif;}} {\colortbl;\red0\green0\blue0;\red255\green255\blue255;\red128\green128\blue128;} \paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\fet2\ftnbj\aenddoc \pgnrestart\pgnstarts0 \pard\plain \tx0\tx360\tx720\tx1080\tx1440\tx1800\tx2160\tx2880\tx3600\tx4320\fi360\sl262\slmult1\ltrch\loch {\f0\fs22\b0\i0 X:13} \par\plain {\f0\fs22\b0\i0 T:Fire on the Mountain}
You can see the font information is carried in the RTF file (second line; Deja Vu Serif is my default font for this project). But there’s no style tag to be seen. Formatting information in plenty. FS22 = font size 11 pts; b0 = no bold; i0 = no italics; f0 = Font # 0 (Deja Vu Serif, in this case).

This is why when you enter text, it stays in the entered format until you change it. The format information is in the RTF code along with the text.

On the other hand, when a style is in the text (I did this just for you all, too; normally, this file has no styles in it), you see something else:

\par\plain \f0\fs22\b0\i0 \par\pard\plain \tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sb260\sl262\slmult1\ltrch\loch {\f1\fs36\b1\i0 <$Scr_Ps::0><$Scr_H::1>X:14<!$Scr_H::1><!$Scr_Ps::0>} \par\pard\plain \tx0\tx360\tx720\tx1080\tx1440\tx1800\tx2160\tx2880\tx3600\tx4320\fi360\sl262\slmult1\ltrch\loch {\f0\fs22\b0\i0 T:Blackthorn Stick, The } \par\plain {\f0\fs22\b0\i0 T:Coach Road to Sligo, The }

There in the 3rd line – <$Scr_Ps::0><$Scr_H::1>X:14<!$Scr_H::1><!$Scr_Ps::0> – that’s the style tag in the RTF. Note, no font information is in the RTF of this text; it’s in the Header RTF, and that’s defined in “styles.xml” in the Files directory of the project.

I hope that helps in understanding what’s going on.

I don’t use iOS at all, so can’t help with that part.

Thanks everyone for the info and clarification. Having learned my trade (so to speak) on Ventura Publisher and Ms Word, I find this weird and irrational – I expect a separate “style sheet” to do all the formatting, not to have formatting embedded in the text. But, at least I know what’s going on and note that there are good reasons for not changing it. Thanks again.

Thanks for the clarification, Katherine. Please could you point me to where I set project-level default formatting? Thanks

Project -> Project Settings -> Formatting.
Click the checkbox that says “Use different formatting…”
… and under “Main Text Formatting”, either choose the formatting you want, or click on “Use Current.”

Thanks for that.