Mojira Archive
MC-263601

Sub-pixel advances in space provider can stretch following characters

The space font provider allows the definition of floats for advances. This is generally very useful, because many players play on gui-scales larger than 1 and this allows for more precise control over spaces between characters. However, when an advance translates to a space that is smaller than 1px, the following character is stretched in a weird way.

 

Observed behavior:

In the following example, I've configured the character 'a' to be a space of 0.5 units:

{
    "providers": [
        {
            "type": "space",
            "advances": {
                "a": 0.5
            }
        }
    ]
} 

When playing on gui-scale 1 and writing `AaA` in the chat, it looks like this:


 
This always happens when `advance * guiScale` is not an integer.

Expected behavior:

I'd expect that `advance * guiScale` would either rounded or truncated to an integer, or that they stack and a space is rendered once they've reached 1px

Unresolved

StudioCode

2023-06-16, 09:20 PM

2024-03-04, 06:47 PM

3

4

Community Consensus

(Unassigned)

1.20.1, 1.20.4, 24w09a

-