Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a look-alike font to replace the Scratch font #909

Merged
merged 1 commit into from
Mar 17, 2024

Conversation

valadaptive
Copy link

This is the Life Savers font, but I've modified it to be metrically compatible with the Scratch font, and changed the shapes of some of the glyphs to look more like the Scratch font.

Resolves

Kinda #190

Proposed Changes

This PR adds a version of the Life Savers font which I have modified to be metrically identical (and more visually similar) to the "Scratch" font:

image

It's licensed under the SIL OFL 1.1, which seemingly is okay if the font is bundled with GPL code. This seems to fit what TurboWarp is doing, although if Webpack embeds the fonts as base64 in the bundled JS, it may form a combined work and violate the GPL. In the longer term, you could avoid such silly things as "bundling fonts as base64 is illegal" and stop using a license designed entirely around the semantics of C compilation and linking, and use something like the MPL instead. Projects have re-licensed before, but it would involve asking all previous contributors for permission.

Reason for Changes

This should allow the Scratch font to be rendered properly in projects that use it.

Test Coverage

Tested manually

Browser Coverage

I haven't tested this on Windows, and apparently ligatures that work on Linux may not always work on Windows. When testing on Windows, make sure that ligatures show up (the "gg" ligature is a good one to test with).

Mac

  • Chrome
  • Firefox
  • Safari

Windows

  • Chrome
  • Firefox
  • Edge

Linux

  • Firefox
  • Chrome

Chromebook

  • Chrome

iPad

  • Safari

Android Tablet

  • Chrome

This is the Life Savers font, but I've modified it to be metrically
compatible with the Scratch font, and changed the shapes of some of the
glyphs to look more like the Scratch font.
@GarboMuffin
Copy link
Member

Was going to ask on Discord, thanks. I'll find a Windows computer and some others to check this weekend.

The GPL & SIL OFL situation is indeed very annoying and does nothing for end-user freedom. In the website we ship fonts as separate files so it should be okay here. In the packager we ship them as inline URLs alongside LGPL code: that's probably not okay but we should be able to relicense those parts easily. In the desktop app all the front-end stuff gets shipped in one asar archive (but fonts are separate files in that archive): if that's not okay it'll be very hard to change because it uses a bunch of code from Scratch Addons (GPLv3).

GarboMuffin added a commit to TurboWarp/extensions that referenced this pull request Mar 16, 2024
The GPL family of licenses are not perfect. Notably they are incompatible with
the SIL OFL 1.1 used by the fonts in scratch-render-fonts. In the packager we
'statically link' all of this those fonts into one HTML file. Is that legal?
Seems like you can make an argument that it's not. Who knows. I'm not a lawyer.

MPL 2.0 is a good alternative: It's still copyleft, used by real projects,
backed by a real organization, and GPL compatible.

Related: TurboWarp/scratch-gui#909
GarboMuffin added a commit to TurboWarp/packager that referenced this pull request Mar 16, 2024
The GPL family of licenses are not perfect. Notably they are incompatible with
the SIL OFL 1.1 used by the fonts in scratch-render-fonts. In the packager we
'statically link' all of this those fonts into one HTML file. Is that legal?
Seems like you can make an argument that it's not. Who knows. I'm not a lawyer.

MPL 2.0 is a good alternative: It's still copyleft, used by real projects,
backed by a real organization, and GPL compatible.

Before 604aacc all changes were either by me
or under BSD3c. There are no third-party non-robot LGPL commits. Thus we can
make this switch.

Related: TurboWarp/scratch-gui#909
GarboMuffin added a commit to TurboWarp/scratch-render that referenced this pull request Mar 16, 2024
The GPL family of licenses are not perfect. Notably they are incompatible with
the SIL OFL 1.1 used by the fonts in scratch-render-fonts. In the packager we
'statically link' all of this those fonts into one HTML file. Is that legal?
Seems like you can make an argument that it's not. Who knows. I'm not a lawyer.

MPL 2.0 is a good alternative: It's still copyleft, used by real projects,
backed by a real organization, and GPL compatible.

Before c78e1c0 all changes were either by me
or under BSD3c. There are no third-party LGPL commits. Thus we can make this
switch.

Related: TurboWarp/scratch-gui#909
GarboMuffin added a commit to TurboWarp/scratch-vm that referenced this pull request Mar 16, 2024
The GPL family of licenses are not perfect. Notably they are incompatible with
the SIL OFL 1.1 used by the fonts in scratch-render-fonts. In the packager we
'statically link' all of this those fonts into one HTML file. Is that legal?
Seems like you can make an argument that it's not. Who knows. I'm not a lawyer.

MPL 2.0 is a good alternative: It's still copyleft, used by real projects,
backed by a real organization, and GPL compatible.

Before 9a4afe2 all changes were either by me
or under BSD3c. The only third-party LGPL commit is b6c4208
which is trivial if any copyright dispute should arise. Thus we can make this
switch.

Related: TurboWarp/scratch-gui#909
@GarboMuffin
Copy link
Member

I like it. Thanks!

rename-to-sb3.zip

Windows - Firefox

image

Windows - Edge

image

macOS - desktop app

image

macOS - Safari

image

Android - Chrome

image

Linux Mint - Firefox

image

Linux Mint - Chromium

image

@GarboMuffin GarboMuffin merged commit 91aff13 into TurboWarp:develop Mar 17, 2024
1 check passed
GarboMuffin added a commit to forkphorus/forkphorus that referenced this pull request Mar 17, 2024
@Secret-chest
Copy link

Looks better than the original.

GarboMuffin added a commit to TurboWarp/scratch-render-fonts that referenced this pull request Apr 7, 2024
Already included in TurboWarp/scratch-gui's version of the fonts
From TurboWarp/scratch-gui#909
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.

3 participants