74 comments

[ 4.6 ms ] story [ 142 ms ] thread
I wish the website or readme had some explanation about what exactly it is or does! I can agree that font looks worse on Windows compared to mac (on the same monitor), but would prefer to know more about it before installing.
It would be cool if someone who is familiar (OP?) could give a little more context. The only description on the page is the title here: "Better font rendering for Windows". The link to the main website says nothing and only provides a link to download an exe. What does this even mean? I'd like better font rendering. So I'm supposed to download this exe and... what? Is it an editor that prints nice? Does it install some drivers?
It basically patches/intercepts system-wide text drawing calls, and does its own drawing instead. There are some hints how it works here https://github.com/snowie2000/mactype/wiki/Secure-Boot

I played around with this back when I used Windows, maybe 5 years ago (so my opinion may be out of date). It made text look better on the laptop screen (high dpi) but worse on external monitors (low dpi). That made sense because Apple doesn't sell anything with a low dpi display, but Windows still needs to care about them, so it does a lot of extra stuff like font hinting to make rendering look good as dpi scales down.

> "In addition it's probably a good idea for Secure Boot to be enabled for the average user if you can."

That's a hard pass for me.

> It made text look better on the laptop screen (high dpi) but worse on external monitors (low dpi).

what profile did you choose? LCD.ini make the low DPI ones looked way nicer to me, to the point I could live without it. It looked bad on high DPI ones though, so after I upgraded my monitors to 4k I just uninstalled it.

It was a historical distinction between the two OSes, even before Apple went all in on high-DPI.

Basically, macOS uses "ideal" font rendering, meaning that all glyph shapes and overall text size is as if they were rendered with infinite resolution and then quantized using the pixel grid; when you increase font size, the text scales linearly.

Windows, on the other hand, adjusts the shapes by snapping vertical and horizontal lines so that they correspond exactly to rows and columns of pixels. This distorts glyph shapes and spacing, but it makes small text (around 8-10pt) much more readable on low-DPI displays.

(Coincidentally, this seems to be why macOS default UI font has always been a bit larger and thicker than Windows.)

There are some screenshots to compare side by side here: https://damieng.com/blog/2007/06/13/font-rendering-philosoph...

It's worth noting that article is from 2007 and is not fully representative of text rendering in modern Windows.
While DirectWrite does render text a little bit differently, it still does pixel grid snapping (if you ask, which UI frameworks usually do) at least for small font sizes.
For those wondering, I'm pretty sure this is a Windows extension that changes Windows to use Mac/Linux style font rendering. This gives better glyph shapes compared to Windows' ClearType rendering which forces fonts to align with pixel boundaries - a dubious decision with no off switch in Windows.
I’m surprised to see this on HN. I loved MacType when I was on Windows, this was when Mac OS X Leopard was current.
> This gives better glyph shapes compared to Windows' ClearType rendering which forces fonts to align with pixel boundaries - a dubious decision

It’s not “dubious”. It clearly improves readability of text on most non-hidpi displays.

Most people don’t have “retina” displays. For most people this is probably preferable.

Well, it depends.

I don't like the font rendering on macOS, it is mostly OK now that we have very high DPI displays, but at a lower res it is kind of blurry.

IMHO the font rendering on Windows is excellent.

> IMHO the font rendering on Windows is excellent.

On low dpi screens, yes, it has always been a strength of Windows. Too bad that most apps nowadays are using the awful and blurry Chrome font rendering.

Pretty sure some Linux distros also offer forms of sub pixel rendering akin to ClearType.

What do you find dubious about pixel boundary alignment?

As a side note, please note Macs don't even offer a means of turning off aliasing anymore, which for folks like myself has serious implications for eye focus under some conditions. For all its faults, ClearType and similar rendering solutions at least allow me to tweak it to both my comfort level and even monitor pixel arrangement.

The dubious part for me is the way it's set at quite a strong level of pixel alignment, and (from memory) you can adjust it a bit but it not enough for all tastes - hence extensions like this.

I get that some people prefer it but a lot of people don't and it's frustrating to be stuck with it. My thinking is that unless there's clearly one best way, and if it's something people have strong opinions about, then a switch or knob to adjust is a good idea.

I would take the reverse, actually. Font rendering on Windows (after ClearType) is superior to macOs - I realize this could be a matter of preference though.
macOS doesn't even support subpixel rendering since Mojave from what I understand. And even prior to that change, simple XP ClearType and beyond has always looked far superior to macOS/freetype rendering in my opinion.
That may not be a bug. I think there's a notion that once the display has high enough DPI, there's no point trying to do subpixel rendering anymore. It also relied on a known physical subpixel layout which I'm not sure holds in modern screens.
Subpixel antialiasing also looks weird with scaled video modes (where the screen is rendered at a higher resolution then resampled at the native resolution), can't really work correctly with translucent/transparent backgrounds, and can look weird when mirroring or dragging windows between displays with different subpixel order.
Subpixel rendering does almost nothing for Retina screens, they're already so much sharper.

And it introduces tons of complexities and tradeoffs, namely that it breaks all scaling, adding ugly color fringes. I remember it was such a pain on Windows to remember to disable subpixel rendering every time I needed to take a screenshot to paste into documentation.

And this is precisely what frustrates me about Macs and their focus on Retina displays: historically horrific support for the world of external monitors. It does not even shock me when Apple rolls out a laptop that only officially supports a single secondary display. This is only further complicated with the only 'Canonical' external displays offered are either woefully out of production or charge as much as the laptop itself just for the stand.

And say what you will about ClearType: at least you can turn it off. I recall trying so hard to do the same for my Mac only to find out my instructions, including massive config changes, sadly no longer worked due to a version bump of the OS.

The removal of subpixel rendering since macOS Mojave is only an issue on lower pixel density screens. On >150dpi (or thereabouts) displays, text is very nice (IMO, I suppose).
The vast majority of external screens in existence are lower than 150dpi. Most high-end/high refresh rate screens are similar.
Yup, even a 31" 4K monitor has less than 150dpi. The current monitor I'm using right now has little bit less than 100dpi. Still, gotta say I prefer MacOS/Gnome-style font rendering to Windows, sub-pixel rendering and all the stuff clear-type does just makes the text look _bad_ (but surprisingly readable).
Apple either wants you to be hunched over its laptops and develop bad posture, or to buy its $1500 monitor that only does 60Hz.
It's a famously controversial topic. macOS aims to most accurately preserve the shape but isn't always the sharpest. ClearType aims for a balance of sharpness and accuracy. And both were written to avoid a number of long-expired patents that forced non-ideal approaches.
Some articles written on this and why it's a matter of opinion:

- https://thaomaoh.com/mac-vs-windows/

- https://blog.codinghorror.com/whats-wrong-with-apples-font-r...

- https://www.joelonsoftware.com/2007/06/12/font-smoothing-ant...

- https://web.archive.org/web/20160313114920/http://blog.codin...

It shouldn't matter if all screens are hi-dpi and it's better to disable font smoothing completely in that case. OSX doesn't seem to support it at all after Mojave.

It's still a bit relevant for CJK, but not as much as it used to be. CJK have some really complex charactrt that hidpi@2 still isn't enough to present perfectly. For example `國` has almost 6 horizontal line from top to bottom. If you are in dpi@2 and set font size to 10. You need to present a correct line with same width within 3 pixels. Which isn't that 'enough'. Although the information density of CJK character is high enough that it is readable even it is somehow blurry. It is not a good reading experience.

And what about non-hidpi screen? I don't even know why people are about to read small text of such complex character without sub-pixel anti-alias.

That's great context. Thank you. We tend to optimize for western use cases, but this is a good example of where that conventional thinking my fail.
I think this is true for 1080p resolution displays and worse, however for 4K and better, I prefer macOS font rendering.
I have a 32” 4k monitor and on macOS fonts are blurry. Readable, but notably worse than on linux with X and the basic hiDPI settings from ArchWiki (with fractional scaling in both cases).
yes and that's because the relevant value IMHO is not resolution but DPI. A large 32" screen is bound to have relatively low DPI even at 4k, compared to smaller screens
It is most certainly subjective; I prefer antialiasing (and that includes subpixel) completely off.
(comment deleted)
I am hoping this will give better font rendering on windows terminal... win 11 terminal text is very much lacking say in comparison to default gnome terminal on Ubuntu... one of the many strengths of linux is it's high quality terminal ... not just font rendering but sensible double click highlighting

looking forward to running this

Not for anyone who isn't prepared for some breakage and to investigate crashes etc, going by the glut of GitHub issues, as this hook deep into Windows' guts to do its job. The downsides may not be worth the ever so slight better font rendering.
https://news.ycombinator.com/item?id=28028781

Top comment from two years ago now is about bad readme and website too.

FWIW I used to use this or a similar application almost a decade ago. This seems like either the same thing or a fork. It made a big difference.

Imagine making program about fonts and renderings that shows no screenshots or motivating examples.
Imagine making something you're proud of, putting your work online for free and having people insult you because they didn't like how you presented it.

I'm sure you've really motivated them to improve it now!

You're confusing an extremely on-point criticism with insult. The creator of this thing is making a terrible mistake in the work they're proud of, to expect anyone to download and install this software without any indication of what's good about it.
It what I responded to was “an extremely on-point criticism” then so was my comment.

The comment I responded to was phrased insultingly. There’s no way to start a critique with a phrase of the form “Imagine doing what you’re currently doing” and have it come across positively.

Many people feel entitled to insult things they get for free. If you’re going to critique something you got for free, at least at have the courtesy to lead with the positive.

The comment I responded to lead with the insult and ended there.

Actually, the comment was a thought exercise in advertisement and promotion. No need to shoot the messenger here. I too was rather confused as to WTH was being recommended.
You're trying to find a hidden meaning in that comment which simply isn't there, buddy. The comment was straight to the point and simply correct, and you just made an ass out of yourself.
(comment deleted)
If it was a paid product, this line of reasoning would make sense. Having sub-optimal advertisement would be bad, since it would impact sales. The work would have been a pointless waste of time.

Since this is free code they're just giving away, the benefit from marketing it well is just not there. If it's great and you don't install it because it's marketed poorly, that's entirely your loss.

You realize how insane that comment is, right? Regardless of sales, there is simply no indication or incentive for anyone to download it or try it out. What if it doesn't do what you imagine? Or changes something that breaks your system? What recourse then? Is it the end user's fault?
Well if you don't get anything out of anyone downloading or trying it, not even an indication they've done so, why would you incentivize anyone to do so?

> What if it doesn't do what you imagine? Or changes something that breaks your system? What recourse then? Is it the end user's fault?

This is true even with screenshots and advertisement.

Ha, ok. If I have some crapware to sell, you'll be my first customer.
It's quite an example of how not to explain your open source project. I followed the link, scanned through the first third of readme, went to the website, then came back here to figure out what this is exactly.
No description/explanation of what this actually does.

Dunno about everyone else but I tend to avoid downloading and running arbitrary unexplained stuff.

Why would I even think about trying this out if the author can't be bothered to write a couple of sentences about it, or god forbid maybe post some screenshots?

Think different, indeed.

I looked around for an explanation. No word on how or what. Not going to even bother.
The name, summary line, and the source there give a good idea of what this is.

"Better" is subjective but it's safe to assume it makes Windows' font rendering look like that of macOS.

(comment deleted)
Anyone have screenshots to compare?
I’ve tried this a few times over the years, and it indeed improves font rendering quite a lot, especially where non-Latin characters are concerned (Windows has never rendered small Japanese text particularly well for example).

As other comments have alluded to though, it’s a hack and so it unfortunately doesn’t work everywhere and sometimes breaks things.

Font rendering might seem like a small thing, but it’s big enough of a thing for me that I have a hard time using Windows for dev work because of it, though programs that bring their own font rendering systems can sometimes be used as a workaround.

Fascinating. This is rather insightful; it never dawned on me how bad Windows could be with non-Latin characters. Given it's Western-centric history it makes sense, but it does strike me as out of touch (literally) with the rest of the world.
MacType was pretty popular about 10 years ago (along with GDI++ and some others) but I personally always feel they look terrible.

I don't particularly "like" ClearType but I think it gets the job done. Fonts are clear and sharp, albeit a little bit too "noisy". MacType looks blurry as hell, at least on non HiDPI screens.

I don't use Mac, so I don't know how it compare to the native one during the non-retina times.

if you were to do something crazy like say use a 48" oled tv as a monitor, then MacType is perfectly necessary because cleartype looks terrible on rgbw subpixel and the only alternatives (switch cleartype to grayscale or disabled aa) look even worse. freetype looks beautiful on rgbw.
Strange, I've had just the opposite experience. If anything, at least for my vision, the 'fuzziness' of Mac font rendering becomes even more pronounced and harder on my eyes on larger screens. I always assumed it was just optimized for smaller high DPI monitors.
come to think about it, I left out the part where I spent an hour customizing my settings. none of the bundled profiles looked very good on my screen.
55” OLED here – it’s great!, and not at all crazy. And Ican confirm that MacType works really well.
If you crank your scaling up (so you have more screen realestate) on a Mac, the fonts get blurrier. At least, it did for me in the past.

Clear Type is crisp and clear at pretty much all resolutions for me. It's not the best, but it's clean.

I have used MacType for many years. The default profile is pretty bad IMO. I always switched to the LCD.ini profile right after installation.

The great thing about MacType is it can somewhat fix the horrible font rendering of some application, like the older versions of Chromium (until they disable that DirectWrite option). You can also replace the default fonts for each application, too. And East Asia fonts will look way better.

MacType is not that useful for high DPI screens, but it is a must for lower DPI one, as long as you chose the right profile (and tweak it as you like, too).

I had read/heard that Windows 11 has a different font rendering system? No longer using Clear Type.. how does that stack up nowadays?
Clear Type is not "Clear Type". Windows has been through several versions of Clear Type and the version in Windows 10 even is different from the 1.0 that launched with Windows XP and is still for odd reasons what most people think about when they think about "Clear Type".

An ever-increasing amount of text in Windows since Windows 8 has been using DirectWrite, much more than "Clear Type". A lot of people still colloquially lump DirectWrite under their idea of "Clear Type" (the GDI+ Clear Type and DirectWrite are obviously designed to "get along" and live side-by-side and share some characteristics) but there's even more of a "version difference" between DirectWrite and Clear Type than many think especially those still thinking of "Clear Type" as in the Windows XP setting.

To my understanding, Windows 11 doesn't do anything substantially new from Windows 8+ other than it has iterated much further on moving as much as it can of "everything" in the base OS rendering to DirectWrite and out of GDI+. (But DirectWrite itself has been around since Windows 8. Though I'm probably making a similar mistake in thinking that DirectWrite hasn't changed substantially much in its versions since then.) Presumably that has been a motivating factor in the taskbar rewrites and context menu rewrites that many dislike about Windows 11, removing more and more GDI from common paths.

As a long term macOS / OS X user, it is amazing how bad font rendering has become on recent versions of macOS unless you have an HDPI display.

These days fonts are all blurry on regular displays and each new version of macOS makes harder to fix this. First they took the "Use antialiased fonts" option in the system settings, then the `defaults -currentHost write -g AppleFontSmoothing` command became unreliable.

Hoping eventually someone will figure out how to tweak the system renderer using third party tools and create a "MacType for Mac" to fix the mess that Apple refuses to fix.

> As a long term macOS / OS X user, it is amazing how bad font rendering has become on recent versions of macOS unless you have an HDPI display. [...] These days fonts are all blurry on regular displays [...]

The way this is phrased is kinda weird considering that the vast majority of macOS users have HiDPI displays.

yay! finally I can replace cleartype sub pixel rendering with the blurry garbage that is macos font rendering!
I used to run MacType a few years back (on a Win7 machine), and it was really nice having unhinted subpixel rendering, but I couldn't deal with the random issues that would crop up when a program didn't like the presence of MacType. I am firmly in the Mac font rendering camp, even as a Windows user, as I prefer my font glyphs to be accurate to the outlines, as opposed to being forced to the pixel grid. The thing that makes it hard, is when you don't hammer the glyphs into the pixel grid, the spacing becomes different, so even if you make it render unhinted fonts but with the metrics of the hinted version, you now have horrible keming left and right.