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

MacType INI Development #651

Open
sammilucia opened this issue Apr 13, 2020 · 264 comments
Open

MacType INI Development #651

sammilucia opened this issue Apr 13, 2020 · 264 comments

Comments

@sammilucia
Copy link
Collaborator

Hi everybody! I hope everyone is staying safe and staying well during the age of COVID−19 that we're all in. With all of us having more time on our hands, I thought I'd post my latest .ini file settings, my customized "Microsoft Sans Serif" font which I've used to replace both Tahoma & micross (Microsoft Sans Serif). My customized font is a duplicate of my glyph-customized SegoeUI font with widths and heights of U&lc being tweaked to provide a more eye-pleasing display on surfaces in the UI that default to Tahoma or micross. The result is a more unified experience across the UI.

My latest tweaks to the .ini file have proven so pleasing across so many different parts of the UI, that I haven't made any changes to it since February 21, 2020 (which is a long time relative to prior attempts). I have a series of steps I go through after each install of the Windows Insiders Fast Ring updates, and so far MacType continues to provide fantastic results (current Windows Insider Build is 19603.1000 released 2020.04.08). These steps are:

(1) Install my customized fonts for SegoeUI and Microsoft Sans Serif in particular.

Thorn Custom Fonts.zip

(2) Run MacWiz to reset the Mode used to "Registry" (I still find this mode to be the best overall way to load and use MacType in my experience, and since it continues to work, I will continue to use it). I also reload/reselect my desired .ini profile (although this appears to be unnecessary since it seems to persist build to build).

ChicoThorn-v1.5.1.0.8.zip

(3) Load my customized font substitutions into the Registry at:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

I exported a registry file with my custom settings a while back, so now after each build I just run that registry file to update Font Substituions more quickly.

Thorn Custom Registry Font Subs.zip

(4) I double-check my scaling options in Windows Settings —
Settings > Display > Scaling and layout = 100% (this setting persists build to build)
Settings > Ease of Access > Make text bigger = 113% (this setting also persists build to build).
I've found that these scaling settings work really well for a number of reasons. First off the 100% scaling makes older .exe apps continue to function properly (case in point is Microsoft Keyboard Layout Creator, which I use to change my keyboard layout to accomodate my customized glyphs. If the scaling is set to anything other than 100% this app no longer displays properly and becomes unusable). The 113% "Make text bigger" setting enlarge most of the Directwrite renderings in the UI (at least I think it's Directwrite, that all gets so confusing to me), including the Taskbar Jumplists, Action Center flyout, the Start Menu, UWP apps, Chromium Edge Canary and others).

(5) I use WinAero Tweaker to change the default font size of Icons from 9pt to 10pt (which also changes the sizes of all filename text displays in File Explorer). 10pt scaling of the Icons and filenames nearly matches perfectly the 113% scaling produced by the Ease of Access setting, thus providing a very uniform overall look and feel within the UI. Here's a link to WinAero for the download (scroll down past the adds for the download link) — Note: When you install WinAero Tweaker Windows will pop up a security warning that it's 'dangerous.' It is not. I have been using Tweaker for over five years with no problems. Sergey Tkachenko is the sole programmer with a small operation. The software is safe and reliable. https://winaero.com/download.php?view.1796
Here is the install files for WinAero Tweaker:

winaerotweaker.zip

(6) I make sure my monitor is adjusted and calibrated properly. — This one is important. It makes a HUGE difference in overall font display quality if monitor gamma, brightness, and contrast are improperly set. This took a little trial and error; but using calibration software (and my own eye) to adjust the overall look I was able to come up with very pleasing results. I imagine these settings would differ from monitor to monitor and brand to brand. For me these monitor settings are (input through the onboard settings of the monitor itself): Brightness=85; Contrast=75; Gamma=Medium. I also adjust the Nvidia Control Panel settings to a vibrancy level of 60%. All of these display/monitor settings have a big impact on display ultimately.

Finally, here are a few screenshots of my current setup at this time:

Screenshot Samples.zip

Edge Canary, Taskbar Jumplist, Action Center sample:
Canary Jumplist ActionCenter

Custom MS Sans Serif Font UI samples:
Custom MS Sans Serif Font Examples

Custom MS Sans Serif Font Examples-2

File Explorer, Taskbar Jumplist, Settings samples:
File Explorer Settings

Light Mode samples:
Light File Explorer Jumplist ActionCenter

Light File Explorer Settings


Thanks for all your hard work on MacType @snowie2000 and @sammilucia ! MacType continues to be the most important add-on to my PC and makes my everyday work so much more pleasurable and tolerable. I'm looking forward to helping out in the future as you develop new versions! Stay well everyone! 😊

Originally posted by @ChicoThorn in #553 (comment)

@sammilucia
Copy link
Collaborator Author

@ChicoThorn I've moved this into a new thread because I think it's going to be better for both the dev AND ini discussions, being both fairly active.

I think ChicoThorn's ini seems to be the most tuned and balanced to my eyes and is probably the best introduction to MacType for new users for the roman fonts. And probably also a good starting point for new users to tune to their own preferences.

However, there are so many MacType users using Japanese/Chinese/Korean/etc ... how does it perform for those. Can anyone comment?

@wmjordan
Copy link

wmjordan commented Apr 14, 2020

However, there are so many MacType users using Japanese/Chinese/Korean/etc ... how does it perform for those. Can anyone comment?

The config did not display very well on my system. Microsoft Yahei, the default system font on Chinese system, has terrible hintings. With that turned on, some characters will appear taller than others. I prefer using No Hinting (HintingMode=1).

And sub-pixel rendering will cause my eyes. I have to turn it off. (AntiAliasMode=1)

Having changed that, the config appeared better. I am comparing it with my own, which had been used for about years.

@sammilucia
Copy link
Collaborator Author

@wmjordan thanks! how does it look with those changes? (and the rest of @ChicoThorn's recommendations?)

@wmjordan
Copy link

@sammilucia
After some more minutes' experience with @ChicoThorn's configuration, I found that the font SimSun (a font used to be the default font in Chinese version of Windows) was rendered too thin, so were some fonts named MingLiU (default font used in Hong Kong). I also copied the [Individual] settings from the default.ini to his config.

I had not yet rebooted my computer to apply the 113% settings.
I will post some screenshots after doing so.

@ChicoThorn
Copy link

I use LibreOfficeDev and discovered something interesting so I thought I'd share it. I don't know exactly how OpenGL works nor Skia — but these settings in LibreOfficeDev really have a huge effect on how text is rendered. Interestingly, it affects all the dialog boxes as well, which is why I used the setting dialog for the comparison screenshots:

With both OpenGL and Skia turned OFF

LibreOfficeWriter - All Rendering OFF

With Only OpenGL turned ON
LibreOfficeWriter - OpenGL ON

With Only Skia turned ON
LibreOfficeWriter - Skia ON

With Both OpenGL and Skia turned ON
LibreOfficeWriter - OpenGL   Skia ON

OpenGL when on, produces light and sketchy text rendering. Skia when on (either alone or combined with OpenGL), produces excessively heavy and dark rendering. It's pretty obvious that OpenGL and Skia must be turned off in order to produce the best text rendering with MacType. Is this something unique to LibreOffice? Or does OpenGL and Skia cause text rendering to behave this way when and wherever it's used? — Thorn

LibreOfficeWriter - OpenGL & Skia.zip

@wmjordan
Copy link

wmjordan commented Apr 16, 2020

After rebooting with the 100% scaling & 113% Make text bigger setting, I found that most text on my laptop with a 14-inch monitor 1920*1080 resolution was too small (icons were so small in many application windows). Therefore, I reverted to use a tool which had been there for years to adjust the entire system resolution to 113% and tried to see whether it was good or OK--previously I was using 125% scaling.

Here is how it looks on my computer now.
sample

Document font: SimSun
Menu bar: Microsoft Yahei + Segeo UI - the official one
Tab bar: Times New Roman
Folder and File list: FZKai (it looked a little blur and pale)

explorer

System font: Microsoft Yahei + Segeo UI

cmd

The dot on the "i" looked quite weird in the command console. The "i" was displayed correctly with the same font in other applications.

Modified settings were listed below:

HintingMode=1
AntiAliasMode=1

[Individual]
宋体=,,30,,,
新宋体=,,30,,,
Batang=,,30,,,
MingLiU=,,30,,,
PMingLiU=,,30,,,
PMingLiU_HKSCS=,,30,,,
MingLiU_ExtB=,,30,,,
PMingLiU_ExtB=,,30,,,
PMingLiU_HKSCS_ExtB=,,30,,,
MS Mincho=,,30,,,
MS PMincho=,,30,,,

Note: The tool which I used to adjust the DPI setting was called XPExplorer - Windows 10 DPI Fix.

DPI Fix tool

@sammilucia
Copy link
Collaborator Author

sammilucia commented Apr 16, 2020

@ChicoThorn hmm, i really really prefer the first one (With both OpenGL and Skia turned OFF)! ... the second one the hinting is all crazy. Third looks like hinting crazy and weight too heavy. Fourth hinting looks fine but weight is too heavy?

@sammilucia
Copy link
Collaborator Author

@wmjordan Explorer looks really nice to me with those settings, but I can't read Chinese so I can't comment as to legibility?

@wmjordan
Copy link

Third looks like hinting crazy and weight too heavy. Fourth hinting looks fine but weight is too heavy?

You must have been gotten tricked. :-P
I pasted the 3rd and the 4th into an image processor and subtracted one with the other. The only difference was the check box and the background surrounding the dialog.
shot

@wmjordan
Copy link

Explorer looks really nice to me with those settings, but I can't read Chinese so I can't comment as to legibility?

I compared this configuration with my own. For this configuration, the legibility was good and strokes were clean, nevertheless, it looked a little bit lacking of contrast that the black characters appeared to be dark gray. Perhaps it is a shortcoming of gray scale rendition compared with sub-pixel rendition--the former is usually a bit lighter than the latter. However, my eyes are too susceptible to colorful pixels and consequently I can't live with sub-pixel rendition. While I worked with documents with a lot of characters for a while, I felt my eyes a bit tired. I think that the configuration needs more tuning for me.

@ChicoThorn
Copy link

ChicoThorn commented Apr 16, 2020

You must have been gotten tricked. :-P

I thought the 3rd and 4th looked the same too... Not sure why, but OpenGL and Skia don't play nice with MacType, at least not in LibreOffice... 😉

I'm really curious also to see what you come up with for tweaking ChicoThorn-v1.5.1.0.8.ini to work better in Chinese.

@sammilucia
Copy link
Collaborator Author

@wmjordan oh wow! isn't that interesting!

i'm an audio engineer (one of my gigs lol), and what i find most interesting about the ears is they're not at all like microphones ... we talk about "psychoacoustics" because it's very easy to 'trick' the ears into hearing what you want ... Any number 1 pop song - they use that extensively to keep you engaged for 3:20 minutes.

It's the same with the eyes... Which is why we need tools like subtraction! Good one! 😜

@sammilucia
Copy link
Collaborator Author

However, my eyes are too susceptible to colorful pixels and consequently I can't live with sub-pixel rendition

I get that... could you give us a screenshot of your normal INI?

@wmjordan
Copy link

wmjordan commented Apr 17, 2020

Hi @ChicoThorn

I thought the 3rd and 4th looked the same too

OMG. I read the same line in both screenshots: GL is currently disabled. They already told us that :)

I'm really curious also to see what you come up with for tweaking ChicoThorn-v1.5.1.0.8.ini to work better in Chinese.

Thank you for sharing your configuration which has demonstrated a better legibility over my existing one. I afterwards began to compare it against and tweaked mine, and compared again and again. I will post my experience later when I am finished.

give us a screenshot of your normal INI?

The specific items for the configuration that I have been using for years are listed below

HintingMode=1
AntiAliasMode=1
NormalWeight=16
ItalicSlant=-2
Contrast=1.7
RenderWeight=1.4

; and some Chinese font specific configurations

Its rendition was deep enough for me. But it did not have the legibility as @ChicoThorn's. Some strokes were stuck together.

Here are some screenshots taken with ChicoThorn's original configuration (I reverted my screen resolution scale from 113% to 125% since it was too small for my laptop).

shot

ChicoThorn's original configuration, with Hinting and SubPixel turned on
The strokes are cleanly separated from each other

problems

The problem of hintings in Microsoft Yahei is that it does provide good legibility but quite a few characters are higher/taller than others, and some are lower/shorter than others--characters do not line up aligned to each other. I enlarged part of the screenshot of Explorer and put two red horizontal lines around the characters to indicate that. The correct rendition by the same font with 59 pixels height was placed below, in dark red.
The color spots around characters by sub-pixel rendition were also obvious when the screenshot was enlarged (my eyes could spot them without enlarging, thus I always try to avoid any sub pixel rendition).

I tried to specify an individual setting for Microsoft Yahei by adding the following lines under [Individual]. Quite unfortunately, it did not work.

微软雅黑=1,,,,,
Microsoft Yahei=1,,,,,

Gotta go. I will post more later.

@wmjordan
Copy link

@sammilucia
From the aspect of "a good starting point for new users to tune to their own preferences", let's define the goal of the ini in our discussion. And then we will try to achieve this by tweaking the configurations.

  1. Universal
    1. It should provide decent display enhancement for ordinary users, most of who just install and run the application.
    2. It should work well for most widely used characters in the world.
    3. It should work well with the most popular system fonts (those installed with Windows), it does not need to install customized fonts to work.
    4. It should work well in most popular applications.
    5. It may work well in different screen resolutions and DPI settings. If it does not work well on all resolutions, it should work well enough on mainstream screen resolutions nowadays (1366768, 19201080, 2560x1440).
  2. Legible
    1. It provides high enough contrast for reading with ease.
    2. It looks pretty, like printed material as much as possible.
    3. Display defects such as characters being partially clipped should be avoided.
  3. Stable
    1. It does not use unstable features, such as font substitution, which may lead to system hanging or application crash.
  4. Performant
    1. It does not use fancy effects to slow down the computer.
    2. It balances well between memory usage and speed.

Please add your comments.

@sammilucia
Copy link
Collaborator Author

@wmjordan wow, yes this is perfect and very well thought out!

It would also be good if DW and GDI are of similar weight/legibility. I.e. consistency between legacy and new rendering.

I don't think it's a problem if we end up with two starter INIs ... one for Character fonts and one for Roman... but it would be amazing if it's possible to have one.

Perhaps we could even provide it in a few weights (3?) to suit people's preferences and screen, then they can tune from there? I'm really just thinking out loud at this point...

@wmjordan
Copy link

wmjordan commented Apr 20, 2020

@sammilucia

It would also be good if DW and GDI are of similar weight/legibility

I have taken some experiments recently among various setting conbinations. I am afraid at this moment it is not so possible.

The HintingMode value is the most important element for legibility of CJK ideograph characters, for most of those characters have quite a few strokes.

I found the default Chinese system font (Microsoft Yahei) was rendered the best when HintingMode=2 (or 3), but unfortunately that settings did not work in DW applications such as Chrome based web browsers, the hinting mode of that font just fell back to as if it was HintingMode=0. I guessed it was the limitation of DW nowadays since HintingMode=2 or 3 was based on FreeType.

Is it possible for MacType to apply some kind of DW-specific individual settings for fonts?
If so, I'd love to apply HintingMode=1 for Microsoft Yahei in DW applications but using 2 for that value in GDI applications.

I don't think it's a problem if we end up with two starter INIs...but it would be amazing if it's possible to have one.

I agree. I think it is possible to have one, if the above issue for hinting modes could be mitigated.

Perhaps we could even provide it in a few weights (3?) to suit people's preferences and screen, then they can tune from there?

I agree. Different monitor screens do need different weights. As @ChicoThorn had mentioned above, the brightness and gamma mattered a lot. I had observed obvious difference after I copied a config which was great (for me) from a Lenovo ThinkPad with a 12-inches TN monitor to an unbranded desktop PC with an IPS screen, on which the config looked too heavy.

@wmjordan
Copy link

wmjordan commented Apr 24, 2020

Test suite of characters

In order to examine the appearances of the rendered characters in various settings, I used a set of characters, including:

  1. all visible ASCII characters (code between 33 and 126),
  2. the full-width counterparts for the above ASCII characters and Chinese punctuation marks,
  3. the most frequently used 2500 Chinese characters sorted by strokes (actually we don't need so many, we could select some them, but I could not predict Microsoft Yahei's weird hinting, thus I used all of them initially). They are used to examine the overall appearance and legibility of the renditions.

For people using Traditional Chinese, Japanese or Korean, they can populate a similar array of characters to experiment their settings.

After some days of experiment, I found that HintingMode=2 for Microsoft Yahei could still render characters taller or shorter than their original shapes, and HintingMode=0 or HintingMode=2 for SimSun (another popular font in Chinese system) could cause square brackets missing their heads at certain sizes. Hereby I'd like to stick to HintingMode=1 for both GDI and DW modes.

Here's the sample character array

The problem of this type of testing is that although it has quite comprehensive character coverage, the sample character array is not alike the typical character sequences we read on the web pages or code editors, among which have punctuation marks and white spaces between lines and paragraphs. We may need a better set of test characters.

@snowie2000
Copy link
Owner

snowie2000 commented Apr 26, 2020

MacType actually was delivered with the GDIBench and a well-covering test file with it.

gdi++11px.txt

@wmjordan
Copy link

wmjordan commented May 13, 2020

MacType actually was delivered with the GDIBench

The GDIBench crashed every time I launched it.

Anyway, after days of experiments, I settled down to my own settings (download at the end of this post). I dropped the idea of making a universal configuration since various monitors do differ a lot each other. I tuned my settings against a poor laptop computer with a very modest TN screen.

Here's a screenshot of it, with Windows Explorer, Command Console, my favorite notepad and the Vivaldi browser (using direct write) at the back.

shot

The configuration began with HintingMode=1 (NoHinting).
Considerations:

  1. the weird hinting of Microsoft Yahei, which caused some characters taller and some shorter, some thicker and others thinner, thus I completely disabled hinting.
  2. Another system font on Chinese system, SimSun, could get cropped at a certain font sizes with some characters (specifically, the square bracket pairs), when hinting was applied.
  3. The default display settings of macOS and iOS appear NOT using hinting very much, by my observation. And nowadays more monitors are having relatively higher resolutions (1920*1080 up) than those in ten years before when GDI++ was invented. The needs to use hinting can get less and less.

Then I stuck to use AntiAliasMode=0 (Gray scale).
Considerations:

  1. My personal experience. I tried various settings which used colorful sub-pixel rendition, provided by other users and also the default settings that came with MacType. My eyes got tired quickly until I got back to gray scale anti-alias mode.
  2. I magnified the screenshots and watched screens of a iPad and a MacBook Pro. Neither of them seemed to be using colorful sub-pixel rendition.

NormalWeight=16, Contrast=2, RenderWeight=2, TextTuning=9
Consideration:

  1. The poor contrast of my monitor.
  2. More and more web pages today are using dark gray instead of black to display contents. Pure black over white is scarcely seen.
  3. I had to read tens of thousands of words a day. Higher contrast of content and background did help me.
  4. The Contrast value and RenderWeight were a bit higher than default ones. To compensate it, using a higher TextTuning value could make the surrounding pixels of every characters lighter. As a result, the black characters over white background like many web pages are now using deeper colors yet legibility is improved.
  5. Even though, the legibility is not yet as high as hinting mode turned on. Here I made a trade-off between legibility and beauty.

ItalicSlant=-2
Consideration: The default italic angle did not look good to me. Thanks to this setting, -2 or -3 could be a nice one.

[DirectWrite]
GammaValue=1, Contrast=1.4, ClearTypeLevel=0
Consideration:

  1. I found that in DirectWrite mode, a higher contrast value could help make the characters deeper. I felt better in Visual Studio after tuning Contrast and GammerValue.
  2. No hinting and no colorful sub-pixel rendition required ClearTypeLevel = 0.

[Individual]
The NormalWeight of SimSun was made 30 (a pretty high value) since that font was very thin on the screen. Maybe 28 or a bit lower were also good.

Download of Deep Gray No Hinting ini

DeepGrayNoHinting.zip

@ChicoThorn
Copy link

ChicoThorn commented Jun 20, 2020

Hi @sammilucia, @snowie2000 !
I hope everyone is continuing to stay well during these most bizarre times. I did my part to help stimulate the economy recently by spending my stimulus check on a new Computer! WooHoo! 😁 It's so much fun and way faster than my old one. It's a Dell XPS 8930 with a 9th Generation Intel i7, Nvidia GeForce GTX 1660ti graphics card, and an SSD system drive. It's been a blast setting it up! Going through this whole process again gave me a few moments to revisit my ChicoThorn ini file. I made a couple small tweaks to it and am sending it along with some screenshots.

Primarily I wanted to thin-out and tone down the stroke widths a bit and to see if I could get it to work better in both light and dark modes. I only changed the [General] settings, leaving the [DirectWrite] settings as I had them before. Specifically, I changed the GammaValue from 1.8 to 1.77 and the RenderWeight from 1.3 to 1.27. Small changes, I know but the difference they made visually to my eye seemed significant enough for me to share them with you. 😊

2020 06 19 - Dark Mode

2020 06 19 - Light Mode

ChicoThorn - v1.5.1.1.0 ini.zip

2020.06.19 - Screenshots.zip

@wmjordan
Copy link

@ChicoThorn Nice to see you back, sir. You may also try various combinations of NormalWeight, Contrast, RenderWeight, TextTuningR/G/B values and see some funny effects. I experimented them and found a better configuration for my own.

I guess Snowie is fine since she's in China.

I also planned to upgrade my laptop to a 13 inch one with a 2K resolution IPS monitor, so I can try to see whether the configurations we developed above work well on nicer and higher DPI monitors.

@ChicoThorn
Copy link

I experimented them and found a better configuration for my own.

Hi @wmjordan! I'd be curious to see what you came up with in your experiments, always trying to find that 'just right' combo you know, lol! 😉 I've got a 1920 x 1080 IPS monitor (HP Pavilion 27 xi), I love it! Viewing angles are fantastic, and the clarity is amazing. I've not seen any 2K monitors, but I looked into 4K monitors, and found out that very little would be gained since Windows doesn't really support them very well. Problems with scaling and legacy programs and such. So I'm sticking with my 1920 x 1080 for now. Looking forward to seeing some of your settings and giving them a go on my monitor! 😃

@ChicoThorn
Copy link

ChicoThorn commented Jun 21, 2020

While adjusting my new computer's monitor settings using the Nvidia Control Panel (NCP),* it suddenly dawned on me that I could use this tool as an easy way to determine visual gamma for text rendering. The slider is dynamic, with the entire screen's appearance changing in real time. It shows you directly how dramatic an effect even a change as small as 0.01 in the gamma setting can have on how rendered text appears onscreen. I opened the Task Manager window on the left of my screen, and the Settings Home page window in Dark Mode on the right. Then using NCP I started at a baseline of 1.00 and moved the slider back or forward 1 tick at a time, all the while observing what affect it had on the black text on white background in Task Manager, and the white text on black background in the Settings Home screen. This provided clues as to where I needed to either increase or decrease the .ini file's gamma, contrast, and/or render weight settings. I reset NCP to its original default settings and closed it. I experimented a bit with my .ini file settings and what I came up with comes closer, I think, to my goal of having all text rendering beautifully on all UI surfaces, in both Dark and Light Modes. I'm really happy with the results! Give this experiment a try on your computer, I'd be curious if it helps in your own fine-tuning. 🙂
——————————
*My system has an Nvidia Graphics card, hence the Nvidia Control Panel... I'm guessing that other graphics cards vendors provide similar adjustment software that would work for this as well.

Screenshot of how I did the adjustment with Nvidia Control Panel:
2020 06 20 - NvidiaGamma-1 - v1 5 1 1 1

Dark Mode — ChicoThorn - v1.5.1.1.1
2020 06 20 - Dark Mode - v1 5 1 1 1

Light Mode — (ChicoThorn - v1.5.1.1.1)
2020 06 20 - Light Mode - v1 5 1 1 1

Zip files with screenshots and the ChicoThorn - v1.5.1.1.1.ini file
2020.06.20 - Screenshots - v1.5.1.1.1.zip

ChicoThorn - v1.5.1.1.1 ini.zip

@wmjordan
Copy link

wmjordan commented Jun 21, 2020

Good.
I prefer to lower the Gamma value to 0.85 on cheap TN monitors to make it look a little better. For IPS monitors, I think Gamma = 1 is OK. While tweaking MacType, I usually do not change the gamma of the video card since it not only changes the text but also the background of the text and other things. Therefore I go directly to modify the values in the ini file.

Be bold to try various values. Make larger range of value changes won't harm. You can always revert them if they do not serve you well. The bold moves can show you some interesting results.

Have you ever compared the rendered results of apps using DirectWrite (like the Windows Settings dialog) with those using GDI (like the Windows Explorer)? If you zoom the above screenshot into a larger proportion, you will see that the Windows Settings dialog is anti-aliased with Gray Scale and the Explorer is done with colorful sub-pixel rendering. How do you feel about those two kinds of anti-alias algorithms?

Also watch out for #653 while you are tweaking the ini files otherwise your CPU could get choked after a few experiments.

@ChicoThorn
Copy link

I usually do not change the gamma of the video card

Ditto! I don't change the video card gamma either, except when I experiment with the gamma slider as I mentioned above. I don't save any of the changes I made during my experimenting, reverting all the video card settings back to their original values.

@ChicoThorn
Copy link

Hi Everybody! This is my latest effort. I've been experimenting with creating settings that will work both in Dark and Light Mode and at a variety of scaling options. I think these .ini settings come pretty close to that goal. It works at 100%, 113%, 117%, and 123%. Lately I've been liking using the larger scaling of 123%. The text matches more closely in size to much of the newer DirectWrite rendering sizes that are being used more frequently both on the web and in UWP apps (plus it's a bit easier on my old eyes!). These latest settings produce a crisper, clearer look for the rendered fonts, rather than a softer more fuzzy look. Check it out with your system and see if it works for you. I'm especially curious how it looks with the Chinese or other Asian fonts.

Samples below are at 123% in both Dark and Light Modes. I've also included the screenshots in the zip so you can view them in Paint on your own computer which will give you the true rendering results (rather than the fuzzy results we see when just viewing them online).

2020 07 26 - Dark Mode - v1 5 1 2 1

2020 07 26-2 - Dark Mode - v1 5 1 2 1

2020 07 26 - Light Mode - v1 5 1 2 1 png

2020 07 26-2 - Light Mode - v1 5 1 2 1 png

2020.07.26 - Dark & Light Samples - v1.5.1.2.1.zip

ChicoThorn ini - t123% - v1.5.1.2.1.zip

Thanks everyone, and I hope you're all continuing to stay well and safe! 😊

@sammilucia
Copy link
Collaborator Author

okay, that looks freaking amazing. and the DW is matching the Freetype perfectly. great work!

@vineetnigam
Copy link

vineetnigam commented Aug 3, 2022

Thanks a lot for solving my problem. I have been using your profiles and find them quite robust and tolerant for different conditions (light, dark, etc, programs). These can be used as is but with the comfort of your far superior work in PUBLISHING the profile, I can safely tweak to my liking.

My hopefully final setup (to be tested for 24 hours) is your profiles as is in 2 modes (AA 2 and 4) , both with RGB 8, Gamma 1.4, Contrast 1.52, Weight 2.22. I prefer gamma of 1.4 as lower gamma darkens for my eyes. I am sensitive to yellowness and blackness and that is why mica and transparency can cause loss of fidelity. That caused a whole lot of work. I am new to this, so I am not sure on my profile below and would love your advice. I have used both AA2 and AA4 and find AA4 more to my liking. There is just a subtle more spacing between glyphs but darker look. Just better to my eye. These settings work for me with Cleartype at 60, Contrast at 1, font smoothing gamma at 1150-60. I prefer cleartype to be on and have put DW settings that are comfortable to me. I do hope that your will review and see if nothing is technically off in DW settings.

My constraints are age of 55 with spectacles power of -1.75/-3.5, very early signs of cataract (yellowness and black spot), reduced eye focus (at morning). Simply put, everything takes longer to warm up- the monitor and my eyes. Once away for some time, it also takes longer to warm up. Dark mode improves focus but can be distracting too.

My monitor is Eizo CS2730 1440p 10-bit which I hardware calibrate with Eizo ColorNavigator software every 2 months. It is done with presets of 2.2 gamma, 6400-6500K, 173-175 cd/m2 (63-65%) and preference for color uniformity. With that, it usually achieves these figures perfectly and I usually get a final figure of 0.2 black, 800-850 contrast, and 0.05-0.1 white point accuracy. In windows, my only work is to go to Nvidia control panel and set output color depth at 10-bit.

Anyway thanks to you, I now have a hopefully nearabout final. I dont like segoe as it does not work on my monitor but works on my laptop (15 inch). Your profile (with tweaks below) looks good to me on my preferred fonts: in excel, Univers Lt St 55, Avenir Lt Pro Medium 65, Frutiger Lt Pro Roman, and Helvetica Neue Lt 65 Medium. Avenir Lt Pro 65 Medium is especially outstanding on your profile in excel with printed look, no tearing, high readabilty at any size. You may try that and I have tested my profile on these fonts. In word, Helvetica still is good. I dont care for rest. My system font is SF Compact Display Medium 9 point, scaling 125%. This font looks straight and has a pleasant look than Segoe. I use SF Compact Display Medium/Roboto 500-700 as a font changer in browsers. Roboto is good in certain situations but not everywhere. Tried other google fonts but came back to Helvetica and now Avenir Lt Pro 65 Medium/Univers Lt Std 55.

Thanks again and do look forward to your feedback. Next job is to work on ChicoSharp (RGB 4 one) which I find the best, and the recent ones with RGB 10.

My final profile is (with full credit to you) . PS: I find AA4 to be better in night light and just more softer.
Name=0.2.08LT 1522
HookChildProcesses=1
Shadow=0,0,0,0x0,0,0x0
LoadOnDemand=1
CacheMaxFaces=256
CacheMaxSizes=12554432
CacheMaxBytes=12108864
Saturation=0
UseMapping=0
GammaMode=0
BolderMode=0
FontLoader=0
FontLink=1
FontSubstitutes=1
DirectWrite=1
; -------------------------------------
LcdFilter=2
AntiAliasMode=2
EnableKerning=1
HintingMode=0
HintSmallFont=0
MaxBitmap=0
; -------------------------------------
NormalWeight=0
BoldWeight=0
ItalicSlant=0
GammaValue=1.40
Contrast=1.52
RenderWeight=2.22
; -------------------------------------
TextTuning=8
TextTuningR=8
TextTuningG=8
TextTuningB=8

[DirectWrite]
GammaValue=1.7
Contrast=1
ClearTypeLevel=0.55
RenderingMode=0
EnhancedContrast=100
GrayscaleEnhancedContrast=100

@vineetnigam
Copy link

vineetnigam commented Aug 6, 2022

Working on Mr Thorn's INI which have finally solved the problem for me but led to some compromises. More on that later. Anyway, I have visually found these combinations of Gamma/CT/weight to be good to me. I would be grateful for advice on fine tuning these. My goal is to achieve the best possible weight (which is lower) for my eyes and also hope to get a good web experience. I have found Fira Sans 600/700 and Nunito Sans 600/700 to be good for web (through Font changer extension)
RGB 5: 1.18/1.46/2.2
RGB 7: 1.2/1.39/2.1, or 1.22/1.48/2.26 . The 2.1 setting really works for me though I am not sure on changing gamma/contrast by 0.01 point.
RGB 8: 1.19/1.59/2.30. Mr Thorn's earlier INI of 1.18/1.5/2.2 works perfectly for me.

I think that RGB 7 leaves a good font stroke and maybe Mr Thorn Hart can look into RGB 7 and 8 settings at a render weight of 2-2.25. It is not too thin and also not too thick and overweight. Nearly all processing leads to loss of fidelity and variation thru the day so perhaps 2-2.2 can be looked at.

The issue for me is the DW settings. With those set at 0 for all in mactype, office works great. So does web browsers (Edge, Chromium GDI, Firefox). The problem is in contrast and vibrancy.

My question is whether I can modify the Direct write settings in mactype as below (changes in bold and relate to Contrast only).
[DirectWrite]
GammaValue=0
Contrast=1
ClearTypeLevel=0
RenderingMode=0
EnhancedContrast=130
GrayscaleEnhancedContrast=100

Thanks and really appreciate all the hard work done by everyone and to Mr. Thorn for fatiguing his eyes so that we all benefit from his work.

@ChicoThorn
Copy link

Hi @vineetnigam — I took a look at your INI file and ran it on my computer to check it out. Overall I thought the rendering achieved is quite good. On my computer and monitor I didn't see too much difference between my original ChicoThorn GDI settings and yours. But by all means, if your tweaked version works best on your monitor then definitely go for it!

I noticed a couple of items in your INI that I've not seen before. Primary of which is a copy of the parameters from the MacType.ini found in the MacType program folder:

[MacType]
RedrawDelay=5000
AutoEnable=1
HideDenied=1
AutoUnload=1
AutoRun=1
LoadType=1
Use64Agent=1
HideACD=1
Language=2

I'm not sure why you put that in there, but I don't think it's necessary... When I ran your INI I didn't see any visual change in text rendering, with or without it. I guess you could leave it in if you want to since your INI works.

The other couple of parameters I've never seen before are in your DirectWrite settings:

EnhancedContrast=100
GrayscaleEnhancedContrast=100

Where did you find these? Am I missing a Wiki somewhere explaining these parameters? Do you know what they are intended to do, and what values are allowed? — I tested them on my computer with different extreme settings but I found no measurable difference in the text rendering one way or the other.

I also experimented with your other DirectWrite settings (RM=0, CTL=0.55, G=1.7, C=1 /100/100). On my computer and monitor there is only the slightest measurable difference in darkness of your DirectWrite settings and my original settings with all the DirectWrite values set at zero (0). The difference between the two was not noticeable at all by my naked eye. I then tested your proposed DirectWrite settings (RM=0, CTL=0, G=0, C=1 /130/100). There was no measurable rendering difference between these settings and my original ones.

I encourage you to keep experimenting. Always save a backup to revert to if necessary, but you sure can't hurt anything by trying new settings. Ultimately, you'll find what works best for you, your system, and your monitor. 🙂

@vineetnigam
Copy link

vineetnigam commented Aug 15, 2022

Dear Mr. Thorn
Thanks for your reply and it has been a great help. I am not technically skilled and so copy/paste from various profiles to build my own. I have discarded the parameters above as they conflict and cause inconsistency. First the background:

  1. Windows default is good for small size low resolution displays, but fonts become progressively worse with scaling/resolution/monitor quality. I have a Dell Ultrasharp 1440p that is acceptable without Mactype. However, when I bought Eizo CS2730 1440p in 2017, it was simply ruthless because it is accurate. Colors are outstanding but font is worse without Mactype. Eizo is used by photographers, printing, advertising where color fidelity and unformity is critical and what you print should be what you see on screen. So images are excellent but text is extremely sharp and needs Mactype. Even on a hardware calibrated display with settings at 2.2 gamma, 175 cd/m2 luminance, color temp of 6500k. By setting these parameters and then hardware calibrating, I usually get a black level of 0.2-0.22, contrast of 820:1, and delta of less than 0.1.
  2. I have accepted that with any processing of fonts/ weight/tuning brings an element of falseness and so what looks good now may look washed out in a different ambient lighting. No way to control that in a non-professional setting. Even with mactype and the great profiles, there is no way I can work everywhere without cleartype.
  3. Trying all profiles works great but somehow CT was messing it up in some situations. Apart from file explorer look as that is overriding, my critical programs are excel, word, browsers (gdi chromium, edge), I have to see how the profile works there.
  4. I am not comfortable with gamma of 1.2 in profile. While that blackens it, it can also be eye straining. So for me gamma of 1.4 in mactype profile is preferred.
  5. Finally, after lot of trying, sleepless nights, and google search, I have found these CT registry settings. I dont know if they are correct but they do seem to work a lot better. I can tweak contrast and gamma values too up and down. The look after without Mactype (with Segoe UI and 125% scaling) is below (light transparent, 125%)

LIGHT TRANSPARENT

edge

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\DISPLAY1]
"PixelStructure"=dword:00000001
"GammaLevel"=dword:00000708
"ClearTypeLevel"=dword:00000064
"EnhancedContrastLevel"=dword:000000d2
"GrayscaleEnhancedContrastLevel"=dword:00000064
"TextContrastLevel"=dword:00000001

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingGamma"=dword:000004b0 (equivalent to decimal of 1200, though I have tried 1800 too)
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002

With these settings, I suddenly found that all of your profiles work better and extratype profile works as is (as a thin, lightly processed option). But somehow gamma of 1.2 was depressing the file explorer and browser fonts. I changed gamma to 1.4 in all profiles and it became more vibrant and very readable and bright. At least less inconsistent across time.

I also tried to change your DW settings for these only (1) RM=5 (2) RM=5, DW=1.4. Both options work but maybe option 1 may be better. I request you to kindly look whether I am doing the right thing.

With extratype as one option used as is AND applying gamma of 1.4, RM=5 with/without DW=1.4, I found these profiles of yours best for me (1) RGB 8, G=1.18 (or 1.4), CT=1.5, RW=2.2 (2) RGB 10, G=1.2/1.4, CT=1.8, RW-2.4 (3) new profile of G=1.4, CT=1.9, RW=2.6. In all these, I used both option 1 and 2 but I am not able to figure out what will work best for me across various use cases.

Beyond this, in Nvidia Control Panel, I change (a) resolution to 10-bit (b) no scaling. I have recently tried to set digital vibrance at 53% and will see how it goes. But default also works fine.

My fonts are Avenir Lt Pro Medium 65, Helvetic
2
a Lt Std, Frutiger Lt Pro 55, Univers Lt Std. They seem best to my eye. For UI, I use SF Compact Display Medium. I use Light or Custom Mode only. Dont prefer transparency but do leave it on. No Mica effect as that leaves a weird cloud on many apps.

I do hope that you will get the time to look into this and suggest any changes. As I believe, your profile (of RGB 4, 8, 10) and extratype seem best to me and I simply do not have your technical skill and experience. I have been trying for 2 months and have given up on getting the `perfect' profile for all situations. That acceptance makes things easier. For the future, once I get some windfall, I am planning to buy a 4K monitor (would prefer 24-25 inch but 27 inch is the only available). Eizo would be my first choice. My thinking is that we can spend thousands on high end systems, but ultimately it all amounts to nothing is we see bad on monitor. So I would spend more on monitor and skimp on other hardware!!, My PC hardware is Ryzen 7 3700x, nvidia 1660ti, enough 32gb ram topped off with Eizo CS2730 monitor.

Thanks a lot again and do let me know if I can improve on (1) CT settings (2) ini/DW settings. I use custom 125% scaling on a 2560*1440 27 inch monitor. Programs use fonts without zoom. Attaching excel shot since excel/word are critical to me and I have given up on getting it right in both at the same time, but your profiles make it nearly there. Thanks and lots of regards
Vineet

2

@vineetnigam
Copy link

vineetnigam commented Aug 21, 2022

I have benefitted a lot from Mactype from 2017 and now from Mr. Hart's sharp profiles. Based on his work and his kind words, I have finally managed to develop profiles that somewhat invert Mr. Hart's profile but the result is quite clean, crisp, and noise free/smudge free. Prior to that, I have just recently calibrated my monitor (Eizo CS2730 27 inch, 1440p) at hardware level with idisplay pro 3. My final calibration settings are Temp=6372K, Brightness=179 cd/m2 (63%), Contrast=841:1, Gamma=2.2, Black level=0.21 cd/m2, delta=0.03. I chose a lower temp level as it improves contrast and black level. After 5 years of using hardware calibration on every monitor/laptop that I own, I can strongly recommend that people who are serious about color and balance must invest in a hardware calibrator and calibrate every 500 hrs or so. The difference is huge even on a laptop and much higher on better monitors. Monitor colors shift with usage and calibration rectifies. All display screens can do better with individual hardware calibration, even though the manufacturer claims to have `factory calibrated'. The human eye is everything in a display, but it cant rectify what is faulty at hardware level.

As to inversion, instead of putting in + RGB values, I tried -RGB values for all relevant parameters. I had done this before but at -1 to -3 RGB values, fonts looked good but desktop fonts looked cut off. The real fun starts at -4, gets better at -6, and is even better at -10. I get pure black without the smudginess and font black leaking out. Plus, the requirement for weights and contrast are much lower. In 5 days of testing, I found it to be much pleasing to my eye and less straining. I simply cant get browser fonts to render well and so I use browser extension.

Before applying the profile, I deleted all cleartype entries (AVALON GRAPHICS) on level, contrast, pixel structure, text contrast. I just put font smoothing gamma at 1100 in [HKEY_CURRENT_USER\Control Panel\Desktop] and that is it.

The final profile is below for 1 case. Hinting=0, Antialiasing mode=4, RGB levels=10 (short form for this post is 0.4.-10). I have also tested 0.4.-6, 2.4.-6, 2.4.-10. Gamma is set at 1.4 in all cases. In DW settings, I have set rendering mode at 5, and all else at 0.

The corresponding different values (in my preference are):

GM=gamma, CT=contrast, RW=render weight.

0.4.-6: GM=1.4, CT=1.32, RW=1.84, RGB (ALL)=-6
0.4.-10: GM=1.4, CT=1.42, RW-1.93, RGB (ALL)=-10
2.4.-6: GM=1.4, CT=1.35, RW=1.90, RGB (ALL)=-6
2.4.-10: GM-1.4, CT=1.428; RW=1.95, RGB (ALL)=-10

My purpose was to keep gamma at 1.4, and work on contrast and weight to achieve the best to me with the minimal possible weight.

The profiles with hinting mode at 2 give better web fonts but thinner fonts in excel. Desktop looks pleasing and so does everything else. Fonts that work well are the thinner fonts such as segoe pro, segoe ui, frutiger lt pro 45, avenir lt pro 65, helvetica lt std. In fact nearly all fonts work well and it is a matter of preference.

Would be grateful if these can be tried, commented, tweaked and even improved. Many thanks to all the folks at Mactype and Mr. Hart for improving my PC experience.

Just the basic profile below.

[Preview]
Font=Helvetica
Color=$000000
Text=0.4.-10
Size=9

[General]
Name=0.4.-10
HookChildProcesses=1
HintingMode=0
AntiAliasMode=4
Saturation=0
UseMapping=0
GammaMode=0
BolderMode=0
FontLoader=0
FontLink=1
FontSubstitutes=1
TextTuning=-10
TextTuningR=-10
TextTuningG=-10
TextTuningB=-10
GammaValue=1.4
Contrast=1.42
RenderWeight=1.93
LcdFilter=2
Shadow=0,0,0,0x0,0,0x0
LoadOnDemand=1
CacheMaxFaces=256
CacheMaxSizes=12554432
CacheMaxBytes=12108864
EnableKerning=1
HintSmallFont=0
MaxBitmap=0
NormalWeight=0
BoldWeight=1
ItalicSlant=0
DirectWrite=1

[DirectWrite]
GammaValue=0
Contrast=0
ClearTypeLevel=0
RenderingMode=5

@ChicoThorn
Copy link

@vineetnigam , Glad you were able to fine-tune the settings so they work best for you! 😊

@ChicoThorn
Copy link

ChicoThorn commented Oct 19, 2022

Hi everybody! 😃 — I've made some adjustments to my ChicoThorn INI settings after getting a chance to experiment with the new and improved MacType rc2 20220801! I'm really loving the new MacType! It's great how there isn't the need any longer to restart MacType, or close and reopen files, folders, or apps to get MacType rendering to kick in. Its integration across the entire UI is a more seamless experience with better overall rendering. And the new and improved VisTuner has been fun to experiment with for fine tuning INI settings in real time. It's a huge timesaver! Thanks so much @snowie for all your hard work! 😉

INI SETTINGS
ChicoThorn-2022.10.20 — I made changes to the GDI settings: Gamma=1.2, Contrast=1.4, RenderWeight=2.4, as well as a couple of minor font substitution changes. The new GDI settings result in sharp, crisp text rendering but with a softer edge than before. This results in glyph forms that are smoother, which is particularly evident on rounder glyph shapes such as 0, a, Bb, e, Gg, m, n, Oo, Pp, Qq, Ss, Uu, etc. The new settings also produce better overall 'text color' onscreen in both Dark and Light modes without high-contrast artifacts, chunkiness, and RGB color distortions.

WINDOWS DISPLAY SCALING
Windows > Settings > System > Display > Scale and layout > Scale > Custom Scaling — I dove deep into the ins and outs of Display Scaling and the effect on text/font rendering. I had been using a Windows Display Scaling factor of 164% for the past few months, but after this latest round of testing with MacType RC2, I find that I like 155% even more. At 155% text is clear and easy to read with the added advantage of smaller windows and dialog boxes which don't require as much space onscreen as the larger scaling sizes.

Glyph shapes, sizes, and rendering can be a bit tricky when using Display Scaling. The difference between the font size rendered in File Explorer and the font size rendered in many dialog boxes (Folder Options, Properties, etc.) varies greatly. GDI text size increases at specific scaling percentages, not fluidly and incrementally as seen in the scaling of DirectWrite rendered text. Interestingly though, the size of the actual dialog box itself does increase in size as you scale up or down, but not necessarily the text; it only changes size at specific scaling thresholds! For example, any Display Scaling between 150% and 154% produces smaller Folder Options text (about 7 or 8 pt by appearance). But at 155% the scaling of the Folder Options dialog text jumps up a whole point size, rendering the text at about 9 pt, which personally, I find more pleasing to the eye. Also, the larger point size in small dialog boxes better matches the text size displayed in File Explorer and elsewhere. However, the upside of a smaller text size is that it results in a smaller dialog box; but again there are thresholds. The size of the dialog box at 150% is smaller than the dialog box at 154%, but the text in both is the same size! You can experiment with your own Display Scaling settings to get just the right size text and window size that best meets your needs.

Display Scaling Comparison - 155%, 154%· Folder Options

At 155% Segoe UI appears to my eye to be more vertically oriented with tighter spacing; whereas 164% appears to be more horizontally oriented with wider spacing. But the truth is, both 155% and 164% text sizes measure to be the same pixel height and width! It's only in the way they're rendered that gives the appearance of different sizes and glyph shapes.

Display Scaling Comparison - 155% v 164% - 'e'

The Display Scaling size is only one piece of the font rendering puzzle. Font substitutes play a huge role in which scaling sizes work best. Substituting the other less-used system fonts (Arial, Microsoft Sans Serif, MS Shell Dlg, MS Shell Dlg 2, and Tahoma) with Segoe UI (or any other font for that matter) can cause some dialog boxes to break. The most noticeable of which is the Windows standard-issue Color Picker. RGB colors are coded using a one- to three-digit number for each of the RGB values. Remember that although the containing dialog box may get scaled somewhat incrementally, the GDI text within the dialog box only changes size at specific scaling thresholds. This disparity can cause problems in dialog box input fields (as seen in the Color Picker). This issue is further exacerbated when using font substitutions. Many scaling sizes just don't work, breaking the Color Picker by allowing only two-digit numbers to be entered in any of the three RGB fields. My guess as to why this happens with font substitutes is because the internal font parameters (ascender & descender height, advanced glyph width, smoothing options, etc.) for Segoe UI (or any other font) are not the same as those found in the default secondary system fonts such as Tahoma, MS Sans Serif and the others. The only workaround I've found for this is to avoid using certain scaling sizes.

For example, you can see how Display Scaling of 164% works with Color Picker, but 165% does not.

Display Scaling - Color Picker Test - 164%

Display Scaling - Color Picker Test - 165%

I did an exhaustive study of which font substitutes and scaling sizes work with Color Picker, and which ones don't. It has been my experience that if the Color Picker fields function normally, then the scaling size and font substitutions will work properly throughout the UI.

Scaling sizes that WORK in Color Picker RGB fields with my font substitutions:

108%, 109%, 110%, 111%, 112%, 113%, 114%, 115%, 116%, 117%, 146%, 147%, 148%, 149%, 150%, 155%, 156%, 157%, 158%, 159%, 160%, 161%, 163%, 164%, 174%, 175%, 176%, 177%, 178%, 179%, 180%, 181%, 182%, 183%, 184%, 185%, 186%, 188%, 190%, 195%, 200%

Scaling sizes which BREAK Color Picker RGB fields with my font substitutions:

100%, 102%, 103%, 104%, 105%, 106%, 107%, 118%, 119%, 121%, 122%, 123%, 124%, 125%, 126%, 127%, 128%, 129%, 130%, 131%, 132%, 133%, 134%, 135%, 136%, 138%, 139%, 140%, 141%, 142%, 143%, 144%, 145%, 165%, 166%, 167%, 168%, 169%, 170%, 171%, 172%, 173%,

Your results may vary depending on your needs and the font you use as a substitute system-wide font.

Display Scaling - Color Picker Tests

And finally, another thing to consider when choosing a Display Scaling size is how well the chosen scaling factor renders system icons, particularly the fluent icons in the File Explorer command bar and menus, as well as the icons in the Taskbar and System Tray. All of the standard scaling sizes (Settings > Display > Scale > Dropdown menu > 100%, 125%, 150%, 175%, 200%, 225%) render these icons perfectly. However, that's not the case with custom scaling sizes; some render great, others not so much. For example, 155% works well to produce clear crisp icons, whereas 164% icons are a bit fuzzy and blurry. Again, experimentation, trial and error will help you sort it out for your needs.

You can download my new ChicoThorn INI file and various test screenshots below. 😃

ChicoThorn INI−2022.10.20.zip

ChicoThorn-2022.10.20 - Screenshots.zip

1 2  1 4  2 4 - 155% - Dark

1 2  1 4  2 4 - 155% - Light

@ChicoThorn
Copy link

ChicoThorn commented Jan 4, 2023

Happy New Year everybody! 🥳

I made a couple of changes to my ChicoThorn INI file. I've set the GDI contrast setting to 1.24 (previously I had it set to 1.4). This new contrast setting maintains sharpness while creating a softer rendering resulting in fewer display/rendering artifacts. I also changed the 3rd Party font substitutes I've been using, so I'm passing those along as well. The new font substitutes I'm using are Noto Sans Display Condensed (for substituting Arial Condensed), PT Serif (for substituting MS Serif, Times, and Times New Roman), and Ubuntu Mono (for substituting mono-spaced fonts). I've also included links to Google Fonts so you can download the new fonts directly from the source.

Here's to a prosperous and peaceful 2023 for us all! 💕😊

EDIT 2023.01.05 — Updated my INI file with two more font substitutions: I discovered that many Microsoft websites use "Microsoft SegoeUI" or "Microsoft Segoe UI." Both are now substituted for "Segoe UI"

ChicoThorn INI − 2023.01.04.zip

ChicoThorn INI − Screenshots - 2023.01.04.zip

ChicoThorn INI - 1 2  1 24  2 4 - 155% - Light 2

ChicoThorn INI - 1 2  1 24  2 4 - 155% - Dark 2

@ChicoThorn
Copy link

Hi Everybody! — I made an addition to my font substitution list so I'm uploading the updated INI here. I kept the version number for this the same since the GDI/Directwrite settings remain the same as before. 😊

ChicoThorn INI − 2023.01.04.zip

@tordenflesk
Copy link

FYI, with font substitutions enabled this is how BitWarden looks in Vivaldi:
https://i.imgur.com/mBP86Ti.png

@ChicoThorn
Copy link

FYI, with font substitutions enabled this is how BitWarden looks in Vivaldi: https://i.imgur.com/mBP86Ti.png

Hi @tordenflesk !
I ran into a similar problem with VS Code a while back and it turned out that the font substitute for Arial was the culprit. Try disabling or deleting the Arial font substitution in the INI file. To disable, type a semicolon (;) in front of the font substitute "Arial=Segoe UI" so it becomes: ";Arial=Segoe UI" . Or you can just delete the entire line if you like. Hope that helps. 🙂

@ChicoThorn
Copy link

Hi everybody! A minor change to my ChicoThorn INI file. I’ve tweaked the GDI contrast, finetuning the sharpness a bit more. The new setting is now: Contrast=1.26.

ChicoThorn INI − 2023.04.20.zip

Uploading ChicoThorn Screenshots − 2023.04.20.zip…

ChicoThorn INI - 1 2  1 26  2 4 - 155% - Dark

ChicoThorn INI - 1 2  1 26  2 4 - 155% - Light

@CleanerThanRotom-W
Copy link

Any changes to your registry tweaks, since you haven't mentioned anything since the first post? :>

@ChicoThorn
Copy link

ChicoThorn commented Apr 19, 2023

Any changes to your registry tweaks, since you haven't mentioned anything since the first post? :>

Hi @CleanerThanRotom-W — I've attached a copy of my Font Substitution registry entries that matches the Font Substitutions listed in my ChicoThorn INI file. You can use this file to change your own registry settings, but be sure to create a backup (export) of the Font Substitutions registry key as you have it now before proceeding. Here's the steps:

ChicoThorn Font Substitutes-Registry.zip

  1. Open RegEdit with Admin privileges
  2. Go to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
  3. In the left navigation pane, right-click "FontSubstitutes" > Select "Export."
  4. Navigate to the folder in which you want to save the exported Key > Save
  5. Download the registry attached here
  6. Double-click the registry file
  7. Answer 'Yes' to the UAC prompt
  8. At the next prompt click 'Yes' to continue with the installation
  9. A status window will appear telling you the task was successful. Click 'OK'

That's it, you've added all of ChicoThorn INI Font Substitutions to the Windows Registry.

NOTE: If you've added or deleted some entries from the ChicoThorn INI file those changes should also be reflected in the Windows Registry entries. Each of the font substitutions listed may be edited or deleted or added to. To change a Font Substitution double-click the Substitution name and enter the exact display name of the font you want to be your new substitute. (To find the exact display name, double-click the font file of your font so it opens in Font Viewer. The name displayed in the upper left corner is the font name you want to enter in RegEdit.) — A font substitute can be deleted by right-clicking the substitute and choosing 'delete' in the list.

Hope this helps. 😊

@MarkDraconian
Copy link

Hey @ChicoThorn, thanks for your work, i've been using your profiles for a few months now, it works nice here even with 1080p and 100% text scaling.
But i have a question, maybe a silly one:
The zips always comes with 2 files, being "ChicoThorn.ini" and "ChicoThorn2023.04.20.ini" for example, but i'm not sure which one should i use, is there some advantage/difference to use one or another? Thanks!

@ChicoThorn
Copy link

Hey @ChicoThorn, thanks for your work, i've been using your profiles for a few months now, it works nice here even with 1080p and 100% text scaling. But i have a question, maybe a silly one: The zips always comes with 2 files, being "ChicoThorn.ini" and "ChicoThorn2023.04.20.ini" for example, but i'm not sure which one should i use, is there some advantage/difference to use one or another? Thanks!

Hi @MarkDraconian ! Thanks for the feedback! I'm glad the ChicoThorn INI works for you! 😊

Both the ChicoThorn.ini and the ChicoThorn-2023.04.20 (or whatever date release it is) are the exact same INI file. The only difference is their name. I probably don't need to provide both, but I originally started out a few years ago calling the INI only 'ChicoThorn' (which is how it's shipped with MacType). But as I started doing more updates, I realized that it might be confusing if all the versions had the same filename. So I started adding the version (date) to help avoid confusion... but in so doing created a whole new kind of confusion, lol! — Going forward I'll only upload the version that contains the version date. 🙂

@ims6x
Copy link

ims6x commented Aug 6, 2023

Hey @ChicoThorn, thanks for your work, i've been using your profiles for a few months now, it works nice here even with 1080p and 100% text scaling. But i have a question, maybe a silly one: The zips always comes with 2 files, being "ChicoThorn.ini" and "ChicoThorn2023.04.20.ini" for example, but i'm not sure which one should i use, is there some advantage/difference to use one or another? Thanks!

Hi @MarkDraconian ! Thanks for the feedback! I'm glad the ChicoThorn INI works for you! 😊

Both the ChicoThorn.ini and the ChicoThorn-2023.04.20 (or whatever date release it is) are the exact same INI file. The only difference is their name. I probably don't need to provide both, but I originally started out a few years ago calling the INI only 'ChicoThorn' (which is how it's shipped with MacType). But as I started doing more updates, I realized that it might be confusing if all the versions had the same filename. So I started adding the version (date) to help avoid confusion... but in so doing created a whole new kind of confusion, lol! — Going forward I'll only upload the version that contains the version date. 🙂

Hey

I have an issue with the ChicoThorn ini. Whenever I use Google Search, the font is all squished up on the display.

@ChicoThorn
Copy link

ChicoThorn commented Aug 23, 2023

Hi Everybody! I made a few changes to my font substitutions list in my ChicoThorn INI file. Here are the new substitions and where to download them for free:

Narrow font substitution = Roboto Condensed
https://fonts.google.com/specimen/Roboto+Condensed?category=Sans+Serif&query=roboto+condensed

Serif font substitution = Roboto Slab
https://fonts.google.com/specimen/Roboto+Slab?category=Serif&query=roboto

Mono spaced font substitution = Cascadia Code PL
https://github.com/microsoft/cascadia-code/releases/tag/v2111.01

I've also included a list of display scaling sizes that work best with my font substitutions... They're listed below:

Additional display scaling sizes that work well with my font substitutions in
*Windows Color Picker RGB fields and throughout the UI:

100%, 108%, 109%, 110%, 111%, 112%, 113%, 114%, 115%, 116%, 117%,
146%, 147%, 148%, 149%, 150%, 155%, 156%, 157%, 158%, 159%, 160%,
161%, 163%, 164%, 174%, 175%, 176%, 177%, 178%, 179%, 180%, 181%,
182%, 183%, 184%, 185%, 186%, 188%, 190%, 195%, 200%

*Why does it matter what setting you use for Windows display scaling? Why can't you use ChicoThorn INI font subs (or other font subs) at any display scaling size you wish? — Font substitutes play a huge role in which scaling sizes work best. Substituting the other less-used system fonts (Arial, Microsoft Sans Serif, MS Shell Dlg, MS Shell Dlg 2, and Tahoma) with Segoe UI (or any other font for that matter) can cause some dialog boxes to break. The most noticeable of which is the Windows standard-issue Color Picker. RGB colors are coded using a one- to three-digit number for each of the RGB values. Although the containing dialog box may get scaled somewhat incrementally, the GDI text within the dialog box only changes size at specific scaling thresholds. This disparity can cause problems in dialog box input fields (as seen in the Color Picker). This issue is further exacerbated when using font substitutions. Many scaling sizes just don't work, breaking the Color Picker by allowing only two-digit numbers to be entered in any of the three RGB fields. My guess as to why this happens with font substitutes is because the internal font parameters (ascender & descender height, advanced glyph width, smoothing options, etc.) for Segoe UI (or any other font) are not the same as those found in the default secondary system fonts such as Tahoma, MS Sans Serif and the others. The only workaround I've found for this is to avoid using certain scaling sizes.

NOTE: If you're not using the ChicoThorn font substitutions and are running standard Windows fonts, then any display scaling size should work fine with ChicoThorn INI.

In addition to the updated INI file, I've also attached my Windows Registry FontSubstitutes that you can install into your Registry. It's a good idea that your Registry font substitutes match up with the font substitutes in your MacType INI file. Remember to backup (export) your original Registry FontSubstitutes list before installing this new one. The Registry address for FontSubstitutes is:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

So there you have it! 😊

ChicoThorn INI - 2023.08.20.zip

ChicoThorn-2023.08.20 - Font Substitutes-Registry.zip

@ChicoThorn
Copy link

ChicoThorn commented Nov 13, 2023

Hi Everybody! I've recently made some changes to my ChicoThorn INI settings:

NormalWeight=2
BoldWeight=0
ItalicSlant=0
;
GammaValue=1.1
Contrast=1.22
RenderWeight=2.2
;
TextTuning=10
TextTuningR=10
TextTuningG=10
TextTuningB=10

I've been experimenting with different display scaling sizes and was able to fine-tune my previous settings to work better at smaller point sizes as well as with smaller display scaling settings. I also wanted to arrive at a rendering that provided the same stroke weight in light mode as well as dark mode. I've noticed that with the default Windows ClearType settings (without MacType running), text displayed in light mode was thin and a bit washed out; while dark mode text was more robust and of a more acceptable stroke weight. I wanted to correct this with my INI settings so text weight and stroke width would be equal between dark and light modes. I think these new settings come very close to meeting that goal. The new settings produce a rendering that is crisp-edged and sharp with an even color, while not appearing overly contrasted. I tested these new settings at 100%, 125%, 150%, 155%, 160%, 164%, and 175%. My personal favorite size for the clearest rendering is 155%. Bear in mind I'm using a 2K monitor (2560 x 1440). Other users have confirmed that these settings also work well on 1920 x 1080 displays. — In addition to the rendering settings, I also made a couple more changes to my font substitutions list.

Give these new settings a try, I'd love to hear how they work for you, particularly at different point and display scaling sizes. 😊

ChicoThorn INI -2023.11.12.zip

ChicoThorn - 2023.11.12 - Screenshots.zip

2, 1 1, 1 22,  2 2, 10 - 155% - Light

2, 1 1, 1 22,  2 2, 10 - 155% - Dark

@MarkDraconian
Copy link

Latest update works fine for 1080p, even at 100% scaling.
I tried increasing the scaling to higher values, and it looks even better, but as i got used to 100% i just leave it at that!

@bestv5
Copy link

bestv5 commented Apr 1, 2024

Latest update works fine for 1080p, even at 100% scaling. I tried increasing the scaling to higher values, and it looks even better, but as i got used to 100% i just leave it at that!

Which configuration file do you use?

@MarkDraconian
Copy link

Latest update works fine for 1080p, even at 100% scaling. I tried increasing the scaling to higher values, and it looks even better, but as i got used to 100% i just leave it at that!

Which configuration file do you use?

Just the default, with Mactype working in service mode

@ChicoThorn
Copy link

ChicoThorn commented May 16, 2024

Hi Everybody! — Well I sort'a messed up this prior post, it had a few errors in it, so I'm deleting that post (thank you @CleanerThanRotom-W !) and have reposted the corrected ChicoThorn-2024.05.15 INI file and the supporting font substitutions registry file, third-party fonts, and screenshots. You can find the new post below. — Sorry for the inconvenience... 🫠

@CleanerThanRotom-W
Copy link

Would you be so kind to also share the updated Windows Registry FontSubstitutes?

@ChicoThorn
Copy link

ChicoThorn commented May 16, 2024

Would you be so kind to also share the updated Windows Registry FontSubstitutes?

@CleanerThanRotom-W — Yes! Thanks for catching that... I also just discovered that I uploaded the wrong Cascadia Code NF font the first time... so I'll fix that as well and upload it along with the Registry Font Subs... 😊

UPDATE: 2024.05.19 — I have corrected the errors in the font substitutions list so that the proper Cascadia font name is now used (Cascadia Code NF). In addition to this fix in the INI file, I also made a small change to the renderweight (from 2.21 to 2.1), so be sure to download the newest files from the post below. The error in the Registry font subs zip file has also been fixed, so it should work properly now.

@CleanerThanRotom-W
Copy link

Would you be so kind to also share the updated Windows Registry FontSubstitutes?

@CleanerThanRotom-W — Yes! Thanks for catching that... I also just discovered that I uploaded the wrong Cascadia Code NF font the first time... so I'll fix that as well and upload it along with the Registry Font Subs... 😊

UPDATE: 2024.05.16-1016 — I have corrected the error in the Cascadia font, which also necessitated me recreating a fresh version of the ChicoThorn INI file itself. So be sure to redownload all the zip files and replace any you already downloaded with these fresh ones.

Thanks again for catching that!

I think you made a mistake, and uploaded the .zip containing a shortcut and not the .reg for the font subs xD

@ChicoThorn
Copy link

ChicoThorn commented May 19, 2024

I think you made a mistake, and uploaded the .zip containing a shortcut and not the .reg for the font subs xD

D'oh!! — Sorry about that! You're right... that's exactly what I did! So I deleted the post from a few days ago and am reposting all the corrected files here... 😉


Hi Everybody! Here's the latest update to my ChicoThorn INI file. This new version (ChicoThorn-2024.05.15) creates even clearer and sharper rendering than any of my previous versions. I've tested it with various display scaling sizes and they're all clear and crisp at all point sizes. Because I'm on a 2K monitor, I prefer a larger scaling size, with my new favorite being 175%. At that size these new ChicoThorn.ini settings really shine! — I've attached a copy of the new INI file for you guys to check out.

This time I've also uploaded the third-party fonts I use as font substitutions. I'm still including instructions and links to the third-party fonts within my INI file, but it'll be a lot easier to just download the .zip file. 🙂

The Registry file for ChicoThorn font substitutions is also attached. Be sure to back up your current registry Font Subs before running the ChicoThorn reg file.

Let me know how this one works for you!

ChicoThorn INI-2024.05.15.zip

ChicoThorn INI-2024.05.15-Third Party Fonts.zip

ChicoThorn-2024.05.15-Registry Font Subs.zip

ChicoThorn INI-2024.05.15 - Screenshots.zip

ChicoThorn INI-2024 05 15 - Dark Mode

ChicoThorn INI-2024 05 15 - Light Mode

@ChicoThorn
Copy link

ChicoThorn commented Jun 6, 2024

Hi Everybody!

Here's the newest version of my ChicoThorn INI file (ChicoThorn-2024.06.05)... I got to experimenting again and believe it or not I came up with, what according to my calculations, are the cleanest, clearest, crispest settings I've found yet! 😁 It looks great in English fonts, and I'm particularly excited how well it renders other language glyphs. I found a 'Lorem Ipsum' text generator online that translates that famous filler text into other languages... so I tried a few and it looks to me that the intricate details of the more complex glyphs are clear and crisp! I'll be interested to hear your feedback and input on how well these new INI settings work for you, hose of you more familiar with other languages.

In addition to the new INI file, I've also attached Screenshots, 3rd Party fonts used as font substitutions, and a font substitutions registry (.reg) file that matches the font substitutions in my INI file.

ChicoThorn INI - 2024.06.05.zip

ChicoThorn INI - 2024.06.05 - Screenshots.zip

ChicoThorn INI - 2024.06.05 - Registry Font Subs.zip

ChicoThorn INI - 2024.06.05 - 3rd Party Fonts.zip

ChicoThorn INI - Dark - nw3•rw2 1•g1 2•c1 3•t10

ChicoThorn INI - Light - nw3•rw2 1•g1 2•c1 3•t10

ChicoThorn INI-2024 06 05 - Language Test

@wahfl2
Copy link

wahfl2 commented Jun 8, 2024

Do you (or anyone) have a configuration or any suggestions that could work well on a QD-OLED monitor? I completely understand if that's not your area of interest/expertise, but I figured it wouldn't hurt to ask someone who has a lot of experience messing around with the settings.

I found the Deep/SoftGrayNoHinting files, but I was wondering if it could be better. I also looked into if it's possible to set the LCD geometry as with FreeType, but it's not implemented in any builds yet, sadly.

@ChicoThorn
Copy link

ChicoThorn commented Jun 10, 2024

Do you (or anyone) have a configuration or any suggestions that could work well on a QD-OLED monitor? I completely understand if that's not your area of interest/expertise, but I figured it wouldn't hurt to ask someone who has a lot of experience messing around with the settings.

Hi @wahfl2, I personally don't know anything about the QD-OLED monitors... I wouldn't even know where to tell you to begin other than with one of the default profiles and then doing a lot of experimenting. Trial and error is the best method in these cases for figuring out what works and looks best. Track your setting experiments and save your results. Your efforts may be able to help others with QD-OLED monitor setup for MacType. — And perhaps there are other MacType users who have directly experimented with these types of monitors and can offer you some additional help?

I wish you the best of luck and keep us informed of your progress! 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests