uBlockOrigin / uBlock-issues

This is the community-maintained issue tracker for uBlock Origin
https://github.com/gorhill/uBlock
940 stars 80 forks source link

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

Closed birdie-github closed 4 years ago

birdie-github commented 4 years ago

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 commented 4 years ago

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.

gorhill commented 4 years ago

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 commented 4 years ago

@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 commented 4 years ago

@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 commented 4 years ago

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

obraz

obraz

gorhill commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

gorhill commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

Relevant to this issue, there was an issue raised with the Metropolis font in the past: https://github.com/gorhill/uBlock/commit/5bee33253f4549df7853823fba268d2003d120ae#commitcomment-38664270.

gorhill commented 4 years ago

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?

Altsinn commented 4 years ago

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!

birdie-github commented 4 years ago

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 commented 4 years ago

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

tophf commented 4 years ago

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 commented 4 years ago

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.

It is not only Chrome. In general, fonts need to be manually hinted to look sharp in Windows, especially when not using ClearType (e.g. when the screen is rotated 90°). However, almost none of the freely available Web fonts have been manually hinted. The fonts with manual hinting usually cost a lot of money, probably because the hinting requires actual work, and takes a lot of time too.

I personally use the --disable-remote-fonts flag to disable all Web fonts in Chromium, as their blurriness simply hurts my eyes. This switch also forces uBlock to use the system fonts as well.

birdie-github commented 4 years ago

@tomasz1986

I used this option in the past when the web wasn't as crazily broken as it is now but lots of websites nowadays use web fonts for control elements on the web page which means disabling them makes browsing certain websites impossible.

tomasz1986 commented 4 years ago

I used this option in the past when the web wasn't as crazily broken as it is now but lots of websites nowadays use web fonts for control elements on the web page which means disabling them makes browsing certain websites impossible.

I had this problem too, but recently more and more websites seems to be finally switching to SVG graphics instead of icon fonts (including GitHub itself). Personally, I am now able to browser ~95% of all websites I visit without any major issues, which was not the case 2 or 3 years ago. Also, the major sites (news, shopping, banking, etc.) seem to have never even used icon fonts anyway, as doing so would likely get them in trouble with Web accessibility organisations. Of course, the experience may vary, probably depending much on where you live.

yurikhan commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

Try using !important:

letter-spacing: unset !important;
ariasuni commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

gorhill commented 4 years ago

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.

ariasuni commented 4 years ago

Thanks a lot!