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

A possibility of using default system fonts for uBlock Origin? #1044

Closed
birdie-github opened this issue May 17, 2020 · 29 comments
Closed

A possibility of using default system fonts for uBlock Origin? #1044

birdie-github opened this issue May 17, 2020 · 29 comments
Labels
enhancement New feature or request fixed issue has been addressed

Comments

@birdie-github
Copy link

The most recent update insists on using custom fonts for all the UI elements of the add-on. Is it too much to ask to add an option to be able to use default system fonts for the text inside the add-on?

Thank you!

@uBlock-user
Copy link
Contributor

The most recent update insists on using custom fonts for all the UI elements of the add-on.

Metropolis for High DPI devices and Inter for Low DPI devices.

@uBlock-user uBlock-user added the enhancement New feature or request label May 17, 2020
@gorhill
Copy link
Member

gorhill commented May 17, 2020

Such requests for visual options which are not beneficial for majority of users are straying too far from the main goal of uBO: be an efficient content blocker and inform as best as possible users about where their browser connects. These options have a maintenance burden cost too which I am not willing to keep taking on. So I prefer to decline.

@birdie-github What is the specific reason for wanting to use system fonts?

@Altsinn
Copy link

Altsinn commented May 18, 2020

@gorhill I wanted to post a similar request but birdie-github already did it. The reason I would appreciate this option is because the new font isn't rendered properly on my side. I'm not sure whether it's uBlock, Firefox or OS issue. I tried to troubleshoot (resetting and changing OS clear type settings, FX font rendering settings ect) but without effect. I don't see this issue on any other addon UI, FX UI, or web pages. I use FX 68 ESR, and Windows 7 x64.

obraz

obraz

@gorhill
Copy link
Member

gorhill commented May 18, 2020

@Altsinn,

For comparison, can you post similar screenshots for when using system fonts? You can either un-check the font-family property from the body element in the browser's DOM inspector, or just install a pre-1.27.0 version of uBO from the Releases section.

@Altsinn
Copy link

Altsinn commented May 18, 2020

@gorhill Below are screenshots from version 1.26.2 I have installed on FX Nightly.

obraz

obraz

@gorhill
Copy link
Member

gorhill commented May 18, 2020

I am going to need more feedback from more people on this. From the screenshots, I am not sure what the issue is precisely. You say the "new font isn't rendered properly on my side", can you be more precise because I am not seeing anything obvious when compared to the system font in the screenshot from uBO 1.26.2.

@gorhill
Copy link
Member

gorhill commented May 18, 2020

I don't see this issue on any other addon UI

About this part, I checked and I can see that both ABP and AdGuard use font faces from their own package, i.e. they also do not use system fonts.

@gwarser
Copy link

gwarser commented May 18, 2020

These [Altsinn] fonts really looks weird. For example top curves on o or on digits are "pointy", and a had this "dent" on bowl (? belly?). Looks like completely different font.

Looks different/good on my side:

Inter
image

Metropolis
image

Unchecked on <body>, defaults to Noto sans

image

@Altsinn
Copy link

Altsinn commented May 18, 2020

From the screenshots, I am not sure what the issue is precisely

Maybe it's nit-picking but in my opinion the rendering of the new font is worse than the system font. It's less sharp, some letters are jagged, the thickness is uneven.

obraz

obraz

obraz

I checked and I can see that both ABP and AdGuard use font faces from their own package, i.e. they also do not use system fonts.

I had just addons installed on my FX in mind, not all other addons/content-blockers. Sorry for not being precise.

@gwarser
Copy link

gwarser commented May 18, 2020

Maybe it's about ttf vs otf? Or Win 7 vs Linux.

@gorhill
Copy link
Member

gorhill commented May 18, 2020

What I am trying to decide here is whether it's such a widespread issue that I should revert to system font by default for all, a common-enough issue that an advanced setting is worth it, or such a rare issue that it's not worth the effort. An advanced setting is not trivial because then it would mean all HTML document pages in uBO need to get the fix.

@gorhill
Copy link
Member

gorhill commented May 18, 2020

Maybe it's about ttf vs otf?

I checked and both ABP and AdGuard uses woff2 format. I figure if they use woff2 surely it must be because there is a consensus that it should be fine on all platforms.

@gorhill
Copy link
Member

gorhill commented May 18, 2020

Relevant to this issue, there was an issue raised with the Metropolis font in the past: gorhill/uBlock@5bee332#commitcomment-38664270.

@gorhill
Copy link
Member

gorhill commented May 18, 2020

Note that I imported the font from the "Inter Web" folder in uBO, but in the package I also see a folder named "Inter Hinted for Windows/Web". Could the solution be that I use the "Inter Hinted for Windows/Web" versions?

gorhill added a commit to gorhill/uBlock that referenced this issue May 19, 2020
Default to `unset`.

To allow users to bypass uBO's default CSS styles in
case they are causing issues to specific users. It is
the responsibility of the user to ensure the value of
`uiStyles` contains valid CSS property declarations.
uBO will assign the value to `document.body.style.cssText`.

Related issue:
- uBlockOrigin/uBlock-issues#1044

For example, in the case of the issue above, one could
set `uiStyles` to `font-family: sans-serif` to force uBO
to the system font for its user interface.
@Altsinn
Copy link

Altsinn commented May 19, 2020

I tested the new advanced setting and it works very well. The UI appearance is much better now on my side. Thank you very much for the quick fix!

@uBlock-user uBlock-user added the fixed issue has been addressed label May 19, 2020
@birdie-github
Copy link
Author

birdie-github commented May 27, 2020

I'm now running uBlock Origin 1.27.8 in Firefox and I cannot find this setting.

I've enabled I am an advanced user (required reading) and proceed over there and there's no setting with this name and if I enter it manually it disappears on applying.

@Altsinn @gorhill how exactly does it work? Thank you!

@gorhill
Copy link
Member

gorhill commented May 27, 2020

It's in the dev build. Please refer to release notes to find out what is fixed or not in any given version.

@tophf
Copy link

tophf commented Jun 14, 2020

FWIW Chrome has always been known to render web fonts poorly on a standard single-density display due to a lack of support for embedded font hinting (https://crbug.com/173207) whereas most of the standard system fonts in Windows have good manual hinting. There's also a problem with variable fonts in Windows 7 and 8 (https://crbug.com/953447 was kinda fixed only for Windows 10).

@tomasz1986

This comment has been minimized.

@birdie-github

This comment has been minimized.

@tomasz1986

This comment has been minimized.

@yurikhan
Copy link

I have set uiStyles to font-family: Ubuntu; font-weight: 300 but this only affects the tabs and the buttons still use Metropolis.

The use of consistent fonts throughout the UI is important for me. In fact, one of the reasons I use a content blocker is to prevent sites from forcing their fonts on me (and have to punch holes in that rule for any icon fonts). Having non-system fonts in the UI of the extension that I use for blocking non-system fonts is kinda offensive.

image

@ariasuni
Copy link

ariasuni commented Aug 28, 2020

I can change the font-family for the elements @yurikhan is talking about, but I can’t change the letter-spacing because it’s defined on .tabButton and button

It looks horrible on my computer. It messes up the kerning (see how -oj and -aj look almost separate from the rest of word in «Agordoj», «Listoj», «Miaj» and «Filtriloj»):

bildo

Same thing in the «Advanced Settings» screen… Should I open a new issue or is this still considered to be relevant to this one?

Edit: relevant Firefox issue.

@gorhill
Copy link
Member

gorhill commented Aug 28, 2020

Try using !important:

letter-spacing: unset !important;

@ariasuni
Copy link

Using !important doesn’t work. Apparently, it doesn’t override declarations made on child elements. Anyway, changing the default letter-spacing usually makes text harder to read, because the kerning is of the font is made to look good with the default letter spacing.

If you don’t feel that the letter-spacing is particularly important, many other types of styling are available. You could always make texts a bit more bold (doesn’t seem to work with Inter though) or use more padding for these elements (tab titles and buttons).

@gorhill
Copy link
Member

gorhill commented Aug 29, 2020

What exact CSS string did you use for uiStyles? Never mind, I can see it does not work -- not sure why since the property is inherited.

@gorhill
Copy link
Member

gorhill commented Aug 29, 2020

The letter spacing was not a choice of mine, this was from this feedback thread, and more specifically this panel.

@gorhill
Copy link
Member

gorhill commented Aug 29, 2020

Ok, looking at the linked design pane above, I realize that the letter-spaced instances were all applying to text that was meant to be bold, and that might have been the primary reason for this. Since in the desktop version of uBO the bold text has been dropped, I guess I should also probably drop the letter-spacing change.

gorhill added a commit to gorhill/uBlock that referenced this issue Aug 29, 2020
@ariasuni
Copy link

Thanks a lot!

hawkeye116477 pushed a commit to hawkeye116477/uBlock-for-firefox-legacy that referenced this issue Nov 4, 2020
hawkeye116477 added a commit to hawkeye116477/uBlock-for-firefox-legacy that referenced this issue Nov 4, 2020
Default to `unset`.

To allow users to bypass uBO's default CSS styles in
case they are causing issues to specific users. It is
the responsibility of the user to ensure the value of
`uiStyles` contains valid CSS property declarations.
uBO will assign the value to `document.body.style.cssText`.

Related issue:
- uBlockOrigin/uBlock-issues#1044

For example, in the case of the issue above, one could
set `uiStyles` to `font-family: sans-serif` to force uBO
to the system font for its user interface.

Co-authored-by:  gorhill <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixed issue has been addressed
Projects
None yet
Development

No branches or pull requests

9 participants