ScratchAddons / ScratchAddons

All-in-one browser extension for Scratch.
https://scratchaddons.com
GNU General Public License v3.0
688 stars 364 forks source link

Font Customization #1646

Open Philipuss1 opened 3 years ago

Philipuss1 commented 3 years ago

Just a suggestion. Would it be possible for you to add an addon that allows you to customize the font on the website?

It's nothing that is really useful, but I think it would make it look better to the eyes.

mxmou commented 3 years ago

This was mentioned in #645, but I don't plan to include fonts in the initial implementation of that issue so this can stay separate.

I think this would be an interesting addition, but it would only be possible to include a limited set of fonts (e.g. from Google Fonts) because there is no way to get a list of all fonts installed on a user's device.

Genius398 commented 3 years ago

Just a suggestion. Would it be possible for you to add an addon that allows you to customize the font on the website?

It's nothing that is really useful, but I think it would make it look better to the eyes.

Useful! Maybe @WorldLanguages or @TheColaber can help us.

TheColaber commented 3 years ago

no way to get a list of all fonts installed on a user's device.

Chrome has an API for this (no need to include btw)

Useful! Maybe @WorldLanguages or @TheColaber can help us.

Anyone can make this, it's so simple. The main focus is probably the UI, which is probably hard because of the way SA was made. This is probably better to have for stylus and more.

Genius398 commented 3 years ago

no way to get a list of all fonts installed on a user's device.

Chrome has an API for this (no need to include btw)

Useful! Maybe @WorldLanguages or @TheColaber can help us.

Anyone can make this, it's so simple. The main focus is probably the UI, which is probably hard because of the way SA was made. This is probably better to have for stylus and more.

ok. I'm new to website making BTW

Secret-chest commented 3 years ago

Hope this will not lead to mandatory Sora on the website

Genius398 commented 3 years ago

Hope this will not lead to mandatory Sora on the website

What is Sora?

retronbv commented 3 years ago

Hope this will not lead to mandatory Sora on the website

What is Sora?

A font

Genius398 commented 3 years ago

Hope this will not lead to mandatory Sora on the website

What is Sora?

A font

ok

WorldLanguages commented 3 years ago

Hope this will not lead to mandatory Sora on the website

Of course not, no changes to the Scratch website are mandatory... (do I need to explain this lol)

Genius398 commented 3 years ago

Hope this will not lead to mandatory Sora on the website

Of course not, no changes to the Scratch website are mandatory... (do I need to explain this lol)

hahaha

Hans5958 commented 3 years ago

Hope this will not lead to mandatory Sora on the website

What is Sora?

Specifically, it's the font that is used on the extension.

Genius398 commented 3 years ago

Hope this will not lead to mandatory Sora on the website

What is Sora?

Specifically, it's the font that is used on the extension.

ok

Philipuss1 commented 3 years ago

Whoa, so many comments. This was just a small suggestion. Simply a "we do not plan to make it a feature" could've been enough. ;)

Genius398 commented 3 years ago

Whoa, so many comments. This was just a small suggestion. Simply a "we do not plan to make it a feature" could've been enough. ;)

We love to take stuff to great lengths

Philipuss1 commented 3 years ago

Haha

On Tue, Feb 23, 2021 at 1:04 PM Anantjit notifications@github.com wrote:

Whoa, so many comments. This was just a small suggestion. Simply a "we do not plan to make it a feature" could've been enough. ;)

We love to take stuff to great lengths

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ScratchAddons/ScratchAddons/issues/1646#issuecomment-784118755, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOOYXEHYUSXFSNCR5XMAZCLTAODSFANCNFSM4YAIFKMA .

RedGuy12 commented 3 years ago

We never said "we do not plan to make it a feature"...it's a great idea...

Philipuss1 commented 3 years ago

I know. I said, that if you were to say it, it would've been enough since this conversation is getting quite long.

On Tue, Feb 23, 2021 at 4:08 PM Paul Reid notifications@github.com wrote:

We never said "we do not plan to make it a feature"...it's a great idea...


From: Philip notifications@github.com Sent: Tuesday, February 23, 2021 5:05:12 AM To: ScratchAddons/ScratchAddons ScratchAddons@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: Re: [ScratchAddons/ScratchAddons] Font Customization (#1646)

Haha

On Tue, Feb 23, 2021 at 1:04 PM Anantjit notifications@github.com wrote:

Whoa, so many comments. This was just a small suggestion. Simply a "we do not plan to make it a feature" could've been enough. ;)

We love to take stuff to great lengths

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/ScratchAddons/ScratchAddons/issues/1646#issuecomment-784118755 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AOOYXEHYUSXFSNCR5XMAZCLTAODSFANCNFSM4YAIFKMA

.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub< https://github.com/ScratchAddons/ScratchAddons/issues/1646#issuecomment-784119416>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AOT5DETUKDXYJZ3Q6LNXOC3TAODWRANCNFSM4YAIFKMA

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ScratchAddons/ScratchAddons/issues/1646#issuecomment-784227959, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOOYXECXB4URMKMYNWVMHPLTAOZG7ANCNFSM4YAIFKMA .

mxmou commented 3 years ago

@WorldLanguages Is this rejected? https://github.com/ScratchAddons/ScratchAddons/pull/1764#issuecomment-796027234

WorldLanguages commented 3 years ago

@mxmou Not sure. If there's a non-sketchy available extension that lets you customize a website's font, and it works fine with Scratch, then it likely is.

Secret-chest commented 3 years ago

@mxmou Not sure. If there's a non-sketchy available extension that lets you customize a website's font, and it works fine with Scratch, then it likely is.

Yes, Stylus works just fine

Genius398 commented 3 years ago

lol

qbjl commented 3 years ago

I already made a userscript for Tampermonkey some of the @match attributes I ~stole~ borrowed from someone else's userscript for dark mode (because I would've never thought of aero-a.github.io and /*)

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://scratch.mit.edu/*
// @match        https://scratch.mit.edu/projects/*
// @match        https://scratch.org/projects/*
// @match        https://aero-a.github.io/scratch-gui/*
// @exclude      https://scratch.mit.edu/join
// @exclude      https://scratch.mit.edu/accounts/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    document.querySelector("html").style.fontFamily = "Segoe UI";
    document.querySelector("body").style.fontFamily = "Segoe UI";
    document.querySelector("*").style.fontFamily = "Segoe UI";
})();

W_L hope this helps

(Edit: this is a really flexible, and this won't be the last update to the code)

Secret-chest commented 3 years ago

No. Stylus does not work fine. Nor Tampermonkey. I think I can get it right, I have a little userstyle which changes the font to Lato... (without any stage text bugs)

xAspirus commented 2 years ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

mxmou commented 2 years ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

I think the current version of this PR changes the font size of blocks to prevent that. Redrawing the blocks using the new font for measurements would be better if that's possible.

sfederici commented 1 year ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

The possibility to customize the UI font, for example by allowing to switch to "Dyslexic Font", would be of great help for people with Learning Disorders such as Dyslexia, as you can also read at https://scratch.mit.edu/discuss/topic/411561/

sfederici commented 1 year ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

The possibility to customize the UI font, for example by allowing to switch to "Dyslexic Font", would be of great help for people with Learning Disorders such as Dyslexia, as you can also read at https://scratch.mit.edu/discuss/topic/411561/

I managed to download and install the OpenDyslexic font from https://www.dafont.com/open-dyslexic.font. Then I changed the Chrome font to OpenDyslexic using the Fonts Changer extension.

I have set the "Standard font" to OpenDyslexic and "Minimum font size" to 10.

Whereas in English some text in the blocks sticks to the block's left and right side, when I switch to Italian the visualization is perfect. Only drawbacks for now:

Secret-chest commented 1 year ago

@sfederici editing text in vector editor is weird

sfederici commented 1 year ago

@sfederici editing text in vector editor is weird

Thanks for your feedback. What do you mean? As for the Stage, I only see standard Scratch fonts in the vector editor. I tried adding a text box and I edited it without any trouble.

Secret-chest commented 1 year ago

@sfederici editing text in vector editor is weird

Thanks for your feedback. What do you mean? As for the Stage, I only see standard Scratch fonts in the vector editor. I tried adding a text box and I edited it without any trouble.

try moving your cursor

sfederici commented 1 year ago

I found out that, if I select the last (Korean?) font in the editor, I see the OpenDyslexic font. I tried moving the cursor but nothing special happens. Can you add a short video to show the trouble? Thanks in advance.

Secret-chest commented 1 year ago

@sfederici Your students would like a lot of stuff SA will never add. How hard is it to merge this? Seriously.

sfederici commented 1 year ago

@sfederici Your students would like a lot of stuff SA will never add. How hard is it to merge this? Seriously.

No idea about the time. But dyslexic people are more than 10% of population. That means 800,000,000 people in the world.

Secret-chest commented 1 year ago

@sfederici Your students would like a lot of stuff SA will never add. How hard is it to merge this? Seriously.

No idea about the time. But dyslexic people are more than 10% of population. That means 800,000,000 people in the world.

I agree with you. Also Arial gets replaced by a UGLY font on Linux and changing it to Roboto would be nice.

Secret-chest commented 1 year ago

bump

WorldLanguages commented 1 year ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

I believe #5917 found a way to solve that issue

Secret-chest commented 10 months ago

Bump

WorldLanguages commented 10 months ago

the problem with this, is that the blocks are rendered according to the width of the text assuming the font is the default font, if i use a userstyle to set font to a monospaced font, it will overflow, this should be accounted by this addon (if ever implemented)

PR #5917 was merged and I think the function that rerenders all blocks again would mean we can support any font families with any font sizes.

WorldLanguages commented 10 months ago

We never figured out how to build a proper UI experience on choosing a font from Google Fonts, though. There's too many fonts to list, and it would take some work to add validation to a string setting in the settings page.

WorldLanguages commented 10 months ago

The possibility to customize the UI font, for example by allowing to switch to "Dyslexic Font", would be of great help for people with Learning Disorders such as Dyslexia, as you can also read at https://scratch.mit.edu/discuss/topic/411561/

cc @DNin01 maybe we could both work on this, as the next accessibility step for the "customizable block text style" addon

Secret-chest commented 10 months ago

We never figured out how to build a proper UI experience on choosing a font from Google Fonts, though. There's too many fonts to list, and it would take some work to add validation to a string setting in the settings page.

Mark it as beta and allow typing system fonts too, even if there were no autocomplete.

Secret-chest commented 10 months ago

Also, the dsylexic font is not on Google.

Secret-chest commented 10 months ago

cc @DNin01 maybe we could both work on this, as the next accessibility step for the "customizable block text style" addon

It shouldn't be limited to blocks, and it shouldn't be limited to a few fonts only.

WorldLanguages commented 10 months ago

It shouldn't be limited to blocks

Sure, it shouldn't. But it's probably a good idea to support 1. a font for the website, 2. a font for the editor and 3. a font for the block palette and blocks. So that the user can choose a different one for each.

it shouldn't be limited to a few fonts only

We probably can't do all due to licensing issues, but we should support local fonts. There's also some new browser APIs, available in Chromium (unsure about Firefox) that let you see the list of local fonts.

BroJac5246 commented 10 months ago

Also, the dsylexic font is not on Google.

https://opendyslexic.org/

Secret-chest commented 10 months ago

https://opendyslexic.org/

I mean not on Google Fonts.

sfederici commented 10 months ago

We probably can't do all due to licensing issues, but we should support local fonts. There's also some new browser APIs, available in Chromium (unsure about Firefox) that let you see the list of local fonts.

A least the dyslexic font, being free, could be added by default to the list and to the distribution?

BroJac5246 commented 10 months ago

https://opendyslexic.org/

I mean not on Google Fonts.

Open Dyslexic will likely be the most-used font from this addon, so we can almost certainly package it with the extension, host it ourselves, or find somewhere online that we can request it from.

Secret-chest commented 10 months ago

A least the dyslexic font, being free, could be added by default to the list and to the distribution?

Yes, but please allow system fonts.