I've bought a OLED monitor, which has four subpixels I believe arranged as RWBG, looks like this:

Interestingly you may notice these 4 subpixels never all lit up simultaneously, which is very logical.
Mactype have no corresponding subpixel rendering option for this layout, neither RGB nor GBR look good, so I switched to grayscale rendering. It looks ok with this option in most places, but the troublesome Chrome's rendering can't be altered, here's what it looks like:

My doubt is: if Chrome's rendering can't be altered by Mactype's config file, that means it's not rendered by Mactype, then why it stuck in subpixel rendering? who does that? I've tried adjust Windows' cleartype settings, no effect at all, and the cleartype preview is also not subpixel rendered. So who does that? Is there any way I can have it switches to grayscale rendering?
It also took me quite a few time to figure this out.
Please try to modify the command parameters to launch Chrome:
bat
chrome.exe --disable-lcd-text --disable-features=RendererCodeIntegrity --disable-font-subpixel-positioning
And I have not yet found a perfect workaround for this issue.
Some part of the interface is still rendered "colorfully", like #683.
But it is much better at least web pages are now rendered in gray scale.
I also have two presets which use Gray scale rendering.
You can give them a try.
It also took me quite a few time to figure this out.
Please try to modify the command parameters to launch Chrome:
chrome.exe --disable-lcd-text --disable-features=RendererCodeIntegrity --disable-font-subpixel-positioningAnd I have not yet found a perfect workaround for this issue.
Some part of the interface is still rendered "colorfully", like #683.
But it is much better at least web pages are now rendered in gray scale.
dude, u'r awesome! according to my test, --disable-font-subpixel-positioning doesn't work, --disable-features=RendererCodeIntegrity doesn't work either as we already know from #597, only --disable-lcd-text works, but it does work, great!
So is it safe to say Chrome uses it's own rendering engine, so that we can't affect it by adjust windows cleartype settings?
Thank you for your test and verification.
It seems that --disable-font-subpixel-positioning and --disable-features=RendererCodeIntegrity have no effect in recent Chromium builds.
The --disable-lcd-text parameter can also be used to _Electron_-based applications, such as _XMind Zen_, _Visual Studio Code_, _draw.io Desktop_, _Postman_, etc.
I don't know the underlying logic of Chromium's text rendering. What I know is that DirectWrite is used instead of ClearType. Chromium's default LCD text sub-pixel rendering does get my eyes feel painful. However, MacType can affect the rendition effects no matter --disable-lcd-text parameter is provided or not. But somehow the sub-pixel rendition persists without that parameter.
--disable-lcd-text does work for VSCode too! That's nice, thanks for your remind!


But I don't understand how Mactype can partially affect the rendering result of Chrome. I'm not coder, as far as I can understand, Mactype either CAN or CANNOT inject into Chrome, once has it injected, it should completely take over the rendering. According to my test, mactype has no effect on Chrome at all, I'm using Mactype + Mactype patch, and no hinting modified font.
I am sure that MacType somewhat helps provide better text on web pages.
My fonts are not modified and my MacType settings preferred no hinting.
With MacType on, Chinese characters look much more beautiful than with MacType off, on a Chromium-based web browser--Vivaldi--on my screen. At least MacType has control on the font hinting.
However, MacType can not control sub-pixel rendering on those Chromium-based applications. Thus we can see that the menus are still rendered with sub-pixel colorful anti-aliasing when the web pages are rendered gray-scaled.
I am sure that MacType somewhat helps provide better text on web pages.
My fonts are not modified and my MacType settings preferred no hinting.With MacType on, Chinese characters look much more beautiful than with MacType off, on a Chromium-based web browser--Vivaldi--on my screen. At least MacType has control on the font hinting.
However, MacType can not control sub-pixel rendering on those Chromium-based applications. Thus we can see that the menus are still rendered with sub-pixel colorful anti-aliasing when the web pages are rendered gray-scaled.
Oh, I'm using Chrome, maybe that's the difference.
UI and contents are rendered differently, you can see from my above pic of the notepad, although the content rendered grayscale, the title bar is still in subpixel rendering.
The title bar... It never worked on my computer after upgrading to Windows 10.
You may try methods mentioned in this issue #708 anyway.
The title bar... It never worked on my computer after upgrading to Windows 10.
You may try methods mentioned in this issue #708 anyway.
yep, I've tried to comment out the dwm.exe, it works! you're so sweet! I can't recall anywhere in my system rendering wrong now, basically I regard the rendering of my pc is perfect now. If Mactype can be updated with support for more subpixel layout will be better of course.
Considering #708, I think maybe because the OP has the title bar font with pixelated subfont below certain font size, which I've removed from my modified font, or maybe the Mactype patch has stepped in here, you may give it a shot in these two ways.
BTW the #708 OP's subpixel rendering is terrible IMO.
I also have two presets which use Gray scale rendering.
You can give them a try.
DeepGrayNoHinting
it's very helpful!
I just updated to the MacType 2021 rc1.
It seemed --disable-font-subpixel-positioning and (or?) --disable-features=RendererCodeIntegrity are required for MacType to work on Chromium-based browsers.
I just updated to the MacType 2021 rc1.
It seemed
--disable-font-subpixel-positioningand (or?)--disable-features=RendererCodeIntegrityare required for MacType to work on Chromium-based browsers.
Oh, I forgot the new option.
Hi Snowie, what's the _new option_?
I've added a description to the release page. And here it is ArmBreaker
Thanks for mentioning that.
I just helped you to update the contents of the Wiki to include the link under the experimental section.
Thanks for mentioning that.
I just helped you to update the contents of the Wiki to include the link under theexperimentalsection.
You are sweet.
Does the option work for you?
It does not seem to work for me.
I removed the --disable-features=RendererCodeIntegrity from the shortcut of vivaldi.exe and added the following part into the MacType.ini between the [MacType] and [UnloadDll] sections.
ini
[[email protected]]
ArmBreaker=1
I closed the Vivaldi then restarted the MacType service, then the Vivaldi.

From the Chinese characters on the top-right side of the interface, I felt that MacType was not in effect. The correct effect with --disable-features=RendererCodeIntegrity in the shortcut when launching vivaldi was like the following:

However, I saw _MacType*.dll_s in the DLL list from Process Explorer.

You need to check the dll status of all the child processes.
Try to use armbreaker as a global option to see if it works.
I checked the dll status of the child processes: some of them were hooked, some were not.
I removed @vivaldi.exe from the MacType.ini file, so it was like the following:
ini
[experimental]
ArmBreaker=1
It did not work either.
Most helpful comment
It also took me quite a few time to figure this out.
Please try to modify the command parameters to launch Chrome:
bat chrome.exe --disable-lcd-text --disable-features=RendererCodeIntegrity --disable-font-subpixel-positioningAnd I have not yet found a perfect workaround for this issue.
Some part of the interface is still rendered "colorfully", like #683.
But it is much better at least web pages are now rendered in gray scale.