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

Doesn't change text rendering both on Chrome-based and Firefox-based browsers #1054

Open
SwiftyPop opened this issue Jan 1, 2025 · 28 comments

Comments

@SwiftyPop
Copy link

SwiftyPop commented Jan 1, 2025

Issue:
I already followed the workaround for Chrome & Firefox in the wiki and it seems like there's no change in text rendering for both browser.

Steps taken:

  1. I already added --disable-lcd-text --disable-features=RendererCodeIntegrity in Chrome target argument and did the registry tweak as well. I also let the MacType started first and enable the profile and then let Chrome started and still nothing changes.
  2. As for Firefox, changing gfx.font_rendering.cleartype_params.rendering_mode to value of 5 just look like default Windows font rendering with ClearType disabled, changing the profile or enable/disable doesnt do anything for Firefox.

Tested on Win 11 22H2
Chrome ver. 131.0.6778.204
Firefox ver. 133.0.3

I'm wondering if it's still work for you guys?

@q1zhen
Copy link

q1zhen commented Jan 9, 2025

Same FireFox user here. I also experienced this issue.

@snowie2000
Copy link
Owner

Firefox and Chrome are using DirectWrite as their render by default and it can not be changed.

To render Chrome, you don't have to disable integrity check via command line anymore. Just set ArmBreaker=1 (or 2 if 1 doesn't work for you) in the profile.

@happydaf
Copy link

happydaf commented Jan 9, 2025

You may use CentBrowser based on Chrome.
MacType works fine in this browser.

@wmjordan
Copy link

The new Chrome versions do not allow MacType to tamper its processes any more, even if ArmBreaker=1 (or 2) is set.
Sticking with older versions or use another browser like CentBrowser is the way to go.

@snowie2000
Copy link
Owner

snowie2000 commented Jan 10, 2025

Maybe it's because you're on Win11?
Mactype hasn't been tested on any version of Win11 so far. It only works by luck.

The very latest version of Chrome works just fine on Win10 LTSC 2021

qe

@happydaf
Copy link

CentBrowser works on Chrome v.118
DirectWrite and ArmBreaker work well also.
cent

@wmjordan
Copy link

wmjordan commented Jan 11, 2025

It is not working on my MsEdge (latest version, Windows 10) with the latest version of MacType.

I put the following into the ini file:

[[email protected]]
ArmBreaker=1
ClipBoxFix=1

EDIT:
I just read the Wiki and found out that per application experimental feature is not implemented.
I changed the config to the following and everything on Edge became beautiful.

[Experimental]
ArmBreaker=2

@q1zhen
Copy link

q1zhen commented Jan 11, 2025

Is there any way to fix the issue for FireFox?

@snowie2000
Copy link
Owner

It is not working on my MsEdge (latest version, Windows 10) with the latest version of MacType.

I put the following into the ini file:

[[email protected]]
ArmBreaker=1
ClipBoxFix=1

EDIT: I just read the Wiki and found out that per application experimental feature is not implemented. I changed the config to the following and everything on Edge became beautiful.

[Experimental]
ArmBreaker=2

Correct. That will be implemented later.

@snowie2000
Copy link
Owner

Is there any way to fix the issue for FireFox?

My firefox just works without me doing anything. So I've no idea where to start...

@q1zhen
Copy link

q1zhen commented Jan 16, 2025

I am using one of the built-in Grayscale profiles. For the rest of the OS every text is in grayscale, but pixels with different colors are still visible around the texts in Firefox.

I checked the profile configuration, it already has ArmBreaker=2 in it. I have no idea on this occurrence.

@snowie2000
Copy link
Owner

snowie2000 commented Jan 16, 2025

Forcing grayscale in DirectWrite is not fully supported. It only works in some situations.

There was a more detailed discussion about all the possibilities about it: #873

@q1zhen
Copy link

q1zhen commented Jan 16, 2025

Thanks for the CSS solution.

For anyone who wants to make Firefox render text in grayscale, applying filter: opacity(1) to html does not work (text is just rendered as it was). Through testing, however, filter: opacity(0.9999999) works (any value larger than that will be treated as 1) perfectly.

@wmjordan
Copy link

wmjordan commented Jan 16, 2025

That's odd.
I once installed FireFox and MacType worked very well on it. I always prefer grayscale text, any subpixel rendition could get my eyes feel uncomfortable.

However, the user interface of FireFox was not as good as Vivaldi and FireFox used more memory as well. Thus I uninstalled it.

Firefox has quite a few font raster engines. Try them one by one. Maybe one of them will work well with MacType?

@q1zhen
Copy link

q1zhen commented Jan 18, 2025

The CSS filter trick seems to be the current best workaround for me though. No idea why this is happening.

@FernandoMacacari
Copy link

So I still don't understand, so far isn't there any way to make Mactype work directly in Chrome?

@snowie2000
Copy link
Owner

Doesn't armbreaker work for you?

@FernandoMacacari
Copy link

Doesn't armbreaker work for you?

apparently not, I put: [Experimental]
ArmBreaker=2 in the macos profile ini file but everything seems to be as before

@snowie2000
Copy link
Owner

snowie2000 commented Jan 29, 2025

Doesn't armbreaker work for you?

apparently not, I put: [Experimental]
ArmBreaker=2 in the macos profile ini file but everything seems to be as before

Chrome should work, edge may not.

Armbreaker requires a reboot to ensure working.

Armbreaker doesn't work well with include mode.

@wmjordan
Copy link

edge may not.

msedge.exe works very well on my Windows 10.

I place it into the MacType.ini file so it always works when I switch between profiles (although I have not done that for recent years).

@FernandoMacacari
Copy link

Chrome should work, edge may not.

Armbreaker requires a reboot to ensure working.

Armbreaker doesn't work well with include mode.

I tried restarting the computer and the program, maybe it could be because I'm on Windows 11 but I'm not sure

@snowie2000
Copy link
Owner

Can you post a screenshot of your chrome? Together with a process status from the wizard?

@FernandoMacacari
Copy link

Image

compared to GDICchromium

Image

Image

@snowie2000
Copy link
Owner

snowie2000 commented Jan 29, 2025

Can you open some websites writing in CJK? That would be more observable.

@FernandoMacacari
Copy link

Image

Image

GDIChromium has some bugs but overall the difference is noticeable

@snowie2000
Copy link
Owner

If you targeting gdichrome, you'll certainly not get the result you desired. But the rendering is actually working on your chrome.

You need to compare the text before and after mactype. Chrome uses directwrite to render its texts and there is no way to change it (beside making a new one with gdi). What mactype can do so far is to influence the way directwrite works.

I.e. for directwrite apps like chrome and word, mactype works more like a tweak not a rendering overhaul.

@FernandoMacacari
Copy link

damn, it's a shame we can't achieve the same result with the directwrite, but thanks for the support

@snowie2000
Copy link
Owner

snowie2000 commented Jan 29, 2025

I've spent many hours on it years ago, but due to the lack of way to get text background, I didn't find any way to blend texts into the background.

However, a complete gdi rendering of texts with pure color background is actually achievable although its efficiency was not correctly measured since it's not in fact usable at first place.

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

No branches or pull requests

6 participants