Skip to content

Conversation

@wjt
Copy link
Member

@wjt wjt commented Sep 9, 2025

This is a pixel font designed for knitting. As well as looking good and fitting
the game thematically, it has better glyph coverage than our current font, and
has a greater variety of sizes available.

Fixes #201

Our old font, m6x11plus, does not have the ’ glyph. While it is hard to type
this directly into Godot Dialogue Manager (if you don't know the keyboard
shortcuts to type fancy quotes), people often write dialogue in a word processor
(which automatically converts ' to ’) then paste it into Godot.

Replace the straight apostrophe ' with a curly apostrophe ’ in the placeholder
text in the balloon scene; and add some other glyphs that we expect to be used
in dialogue which may not be in all fonts. This makes it easier to see the
result when experimenting with alternative fonts.
@wjt
Copy link
Member Author

wjt commented Sep 9, 2025

Before After
image image
image image
image image
image image

(Notice the ugly fallback glyph for ŋ in the Stella dialogue in the old font.)

@github-actions
Copy link

github-actions bot commented Sep 9, 2025

Play this branch at https://endlessm.github.io/threadbare/branches/endlessm/jersey-font.

(This launches the game from the start, not directly at the change(s) in this pull request.)

@wjt wjt force-pushed the jersey-font branch 2 times, most recently from 1a4550d to f77e301 Compare September 9, 2025 14:58
wjt added 7 commits September 9, 2025 16:01
This is a pixel font designed for knitting. As well as looking good and fitting
the game thematically, it has better glyph coverage than our current font, and
has a greater variety of sizes available.

OFL-1.1 is a free license but requires the license to be displayed in-game. I
will add this to the credits page in a follow-up commit.

The smallest size, Jersey10, is configured with antialiasing and
subpixel rendering disabled. This matches the import settings for
m6x11plus. The larger sizes, to my eye, look better with these enabled,
so I kept the defaults; we can adjust this later if better eyes
disagree!

#201
The sizes in the Jersey variants' names refer to the height of capital letters,
in pixels. The sizes used by Godot are the full height of the font, which
includes padding. I found the correct size values by trial and error.

This preserves the approximate size of text in the game. We will want to change
this in future, given the switch to 720p base resolution. Jersey has more size
variations than m6x11plus, so this will help us to make this switch.

Fixes #201
This UI element doesn't use theme.tres but has its font set directly.

Keep approximately the same size as the current font.

#201
This is based on the size of the text within, which has changed now that
the font has changed.
InteractArea has some custom code to draw an example of what the
interaction prompt will look like in the editor. This isn't what
actually draws the interact prompt while the game is running: that's
part of player.tscn.

Update it for the new font.
This is now unused. It served us well!
@wjt wjt marked this pull request as ready for review September 9, 2025 15:02
@wjt wjt requested a review from a team as a code owner September 9, 2025 15:02
Copy link
Collaborator

@manuq manuq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks very nice to me and is good to know that it has more size variations than the existing font. Can you confirm if the smallest (Jersey10) is 10 pixels high for capital letters?

@jofilizola would you like to take a look? Otherwise I'd say let's merge!

@manuq manuq merged commit 306c257 into main Sep 9, 2025
8 checks passed
@manuq manuq deleted the jersey-font branch September 9, 2025 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace font for the game

3 participants