New in ChoiceScript: The default Windows font changed to Cambria from Georgia

When you download the latest version of ChoiceScript from Github, you’ll find that the default Windows font is now Cambria. It used to be Georgia.

Believe it or not, switching fonts fixed a bug today

With the release of The Tale of Two Cranes today, we discovered that, on Windows, the “ǒ” in “Yǒng Shì” wasn’t showing up correctly. The “ˇ” is called the “caron,” and it was showing up as as “Yoˇng Shì,” with the caron appearing as a separate letter next to the “o.”

This happened because, on Windows, the Georgia font doesn’t have “ǒ” as its own letter. It has an “o” of course, and it has a caron, but it doesn’t have one letter that combines them both.

I looked over a list of fonts that do support “ǒ” and compared it with the list of fonts that comes with Windows 11.

Only ten fonts appeared on both lists, and most of those were sans-serif fonts, like Arial. The only two serif fonts on the list were Cambria and Times New Roman.

I think Cambria looks a lot nicer than Times New Roman, and so, to ensure that we can display all sorts of Unicode characters in the future, Cambria is now the default ChoiceScript font on Windows.

(On iOS and macOS, we use Palatino, which supports “ǒ” just fine. Windows also has a Palatino font called “Palatino Linotype,” but Palatino Linotype doesn’t support “ǒ” so we can’t use that.)

A user-configurable font switcher would be better, and I want to work on it

I’ve wanted to add a way for users to choose their own fonts for years; it’s just never gotten to the top of my priority heap. (I’d especially like to add support for a dyslexia-friendly font like OpenDyslexic or even just Comic Sans, which is surprisingly useful for folks with dyslexia.)

I think it would also be nice to let authors choose the default font. (It might also be fun to let the author control the font for specific passages, e.g. using a sans-serif font when displaying text messages and a serif font for the rest of the text, but that could interfere with the user’s ability to choose their own font.)

Anyway, there’s stuff to think about there, and changing the default font definitely makes me want to renew my focus on that. Hopefully I’ll have that ready sometime this year!

In the meantime, please enjoy this adorable TikTok about changing the default font.

54 Likes

Great! I had this this problem with Hungarian text on buttons, but I found a workaround. But Cambria supports Hungarian, too.

1 Like

Yes please! As a writer, I’d love to have some more tools to customise and add a little visual flair to my work.

I think allowing authors to control the font in specific passages would be especially useful, too, since that has actual utility beyond just aesthetics. It would be super useful for more clearly differentiating between “game” text and “story” text, for example—think things like those [Skill++] stat increase notifications some games use, or other tutorial text.

And if interference with user choice is a concern, you could always add a setting for users to override/disable custom author fonts, or just have them automatically disabled if the user selects a non-default font.

5 Likes

This may seem small to some people, but something as simple as allowing accented letters to be used without breaking is huge. I personally type “Ō” a lot, so it is reassuring that this will not be an issue in the future. :slightly_smiling_face:

4 Likes

One problem is that many authors might not realize that there’s a setting that users could use to disable the author’s font choices.

Imagine a dialog between a human character and a robot, in which the human uses serif fonts and the robot uses sans-serif fonts.

But then the user selects the OpenDyslexic font, not realizing that the game was going to use fonts to convey plot-relevant information. Suddenly, the whole thing becomes incomprehensible. The player doesn’t know why, doesn’t even know that there were supposed to be different fonts, and so might not even think to report a bug.

Plus, many of our best customers have visual impairments, and play our games using screen readers. Most authors don’t think about that, and you don’t have to think about it, because ChoiceScript is designed to be fully accessible to screen readers by default.

Limiting ChoiceScript’s flexibility ensures that games will “just work” for all of our players.

12 Likes