[HN Gopher] MacType: Better Font Rendering for Windows
       ___________________________________________________________________
        
       MacType: Better Font Rendering for Windows
        
       Author : tinbucket
       Score  : 67 points
       Date   : 2021-08-01 18:46 UTC (4 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | maxharris wrote:
       | no screenshots?
        
         | csnover wrote:
         | There are screenshots in an issue on their bug tracker[0].
         | 
         | This is an interesting project--Windows's font rendering is
         | definitely one of the things I dislike about it the most--and
         | they are doing themselves a disservice by not actually
         | explaining clearly what it is or does. I wish Microsoft would
         | provide a font rendering mode like this by default since from
         | reviewing some of the wiki & README it sounds like this is some
         | crazy hack that hooks into apps to intercept calls to
         | DirectWrite and GDI and might break the entire OS.
         | 
         | [0] https://github.com/snowie2000/mactype/issues/557
        
       | behnamoh wrote:
       | I've been using this for a while and am quite happy with the
       | results. Although, I had to create my own customized profile for
       | the best results.
       | 
       | The effect is esp. obvious when working on Word documents.
       | Somehow fonts are not rendered "thick" enough in Word, and this
       | app takes care of that.
       | 
       | Honestly, I wish MS would do something about blurred fonts in
       | some of the not-so-old programs. Some parts of the Windows OS
       | itself are not rendered correctly!!
        
       | rubatuga wrote:
       | Good way to run into cryptic font rendering bugs.
        
         | nyanpasu64 wrote:
         | MacType effectively replaces GDI's font renderer (DirectWrite
         | replacement is experimental) with FreeType (used on Linux, not
         | sure about Mac). If you enable ttfautohint ("Auto tuning")
         | instead of bytecode hinting ("Standard tuning"), the fonts may
         | end up with different metrics, and cut off the tops and bottoms
         | of characters. There's a workaround where you can tell MacType
         | to report larger font metrics than GDI would, but this
         | apparently causes rendering errors as well.
         | 
         | Another bug is that MacType makes Sublime Text in GDI font
         | rendering mode chop off the right side of wide CJK characters.
         | Enabling MacType's experimental DirectWrite support makes
         | Sublime Text's DirectWrite text fuzzier, but not chopped off.
        
       | fallenspec wrote:
       | I had listened to an interview with the original cleartype author
       | on a podcast almost a decade ago now.
       | 
       | IIRC He said that when Apple got the cleartype patent (due to the
       | Apple/Microsoft cross patent agreement that happened in the late
       | 90s), they kinda messed up the implementation of cleartype and
       | Windows actually implements it correctly and Mac OS X (now Mac
       | OS) doesn't.
       | 
       | So I find this somewhat amusing.
        
         | seltzered_ wrote:
         | You might be thinking of the interview with the late Bill Hill
         | (2011), co-creator of ClearType :
         | https://thisdeveloperslife.com/post/2-0-5-typo
        
       | yepthatsreality wrote:
       | I don't use Windows anymore (Pop_os and FreeBSD) but never had an
       | issue with how the fonts rendered. The site doesn't seem to
       | indicate anymore information either.
        
         | blehn wrote:
         | Windows biases for a sharper text appearance, whereas Mac is
         | much smoother. I can see why some folks prefer the sharp look,
         | but fonts on Windows often look nothing like what the designer
         | intended. Mac is a lot more true to the font design.
        
           | jeroenhd wrote:
           | Honestly, I prefer the Windows sharpness much to the
           | aesthetic and font design that the author of the font wants.
           | Fonts are a nice for styling a document or website, but in
           | the end the text is designed to be read, not to be art.
           | 
           | If the designer only tested on macOS, I don't think this has
           | anything to do with what the designer "intended". It just
           | shows a lack of testing on other platforms, something that
           | happens quite often (i.e. when dealing with scrollbars [1]).
           | 
           | Personally, I dislike the vague, blurry rendering macOS uses.
           | Macs usually compensate for their weird, blurry, bold
           | rendering with high-resolution screens, but on lower
           | resolutions I really dislike the way fonts look on macOS.
           | 
           | [1]: https://svenkadak.com/blog/scrollbar-blindness
        
       | jbverschoor wrote:
       | I've disabled any subpixel rendering a long time ago. It's
       | annoying, and makes the text look weird. It's not needed for
       | hidpi screens. Ancient tech
        
       | crazygringo wrote:
       | It's bizarre that neither the README nor the associated minimal
       | site explains what it does in detail, with screenshots or
       | anything.
       | 
       | I'm _assuming_ this is a modern version of GDI++, which a decade
       | ago brought Mac-style font rendering to Windows, but stopped
       | being maintained a while ago.
       | 
       | For people who aren't aware of the difference, it's essentially
       | that Windows uses heavy font hinting to try to align character
       | strokes with pixel boundaries which produces sharper letterforms
       | at the cost of distortion of the aesthetic personality of the
       | font, while Mac antialiases more to faithfully maintain the
       | accurate letterforms of a typeface, at the cost of being
       | blurrier.
       | 
       | It's basically the tabs-vs-spaces debate of font rendering.
       | Nobody's "right", it's just personal preference. Fortunately,
       | high-resolution "retina" style displays make the distinction much
       | less important, in the same way that it's entirely irrelevant in
       | high-resolution printing.
        
         | nwallin wrote:
         | It's wild to me that on both Windows and OSX that something
         | that is obviously just personal preference is baked into the
         | operating system, with no method for changing it. It's on the
         | same level as having an operating system that didn't let you
         | change your desktop background.
        
           | andrewmcwatters wrote:
           | As soon as you realize that changing rasterization strategies
           | alters the bounding box of character textures, and that a lot
           | of UI positions are hardcoded, it makes sense.
        
             | nwallin wrote:
             | Hardcoding UI positions is one of those "you're doing it
             | wrong" sorts of things. At my day job, both the UX/UI folks
             | and the localization folks would have a conniption if I
             | built something with hardcoded UI positions/sizes, or that
             | broke if the size of a string changed. As soon as you have
             | a user with a hidpi display your application is going to
             | look like garbage. As soon as you want to try to support
             | non-English languages all your hardcoded UI work goes out
             | the window.
        
           | oneplane wrote:
           | At the same time, everything could be reconfigured at will,
           | but if you can't provider a consistent UX, that wouldn't help
           | a whole lot with sales and customer binding.
           | 
           | How much you can, or can't modify as an end-user probably
           | relates to the HIG and general usability and transferability
           | as well.
           | 
           | In some ways, there have been cases where you cannot change
           | the background of things, or at least not in an obvious way.
           | I suppose it really depends on the specific user and their
           | user-case to have that matter (or not matter at all).
        
             | ithinkso wrote:
             | Or in other words - software isn't written to be used, it's
             | written to be sold
        
               | kzrdude wrote:
               | This is a good explanation for why open source projects
               | sometimes deliver something more useful - when they are
               | written to be used.
        
           | gjsman-1000 wrote:
           | What if I want my window buttons on the bottom instead of the
           | top?
           | 
           | What if I want my taskbar in the middle of the screen instead
           | of the top or bottom?
           | 
           | What if I want textboxes to have flashing orange outlines
           | around them?
           | 
           | What if I want the close button to be blue instead of red?
           | 
           | What if I want the Finder face to be a sad face instead of a
           | smile?
           | 
           | Customizability needs to end at some point. Technical details
           | about font rendering is not important to 99+% of users and is
           | only confusing.
        
             | nwallin wrote:
             | Sure, there should be a line somewhere, but not allowing
             | the user to enable/disable hinting is obviously on the
             | wrong side of the line. If it wasn't, we wouldn't have half
             | the comments on this post opining about Windows vs OSX font
             | rendering.
        
           | Toutouxc wrote:
           | > something that is obviously just personal preference
           | 
           | I have a feeling that this exact idea is the reason why most
           | Linux DEs look like crap [to me]. The way fonts look
           | (especially those used in the system UI) is, just like colors
           | or margins, [in my opinion] a matter of design, not just
           | personal preference.
        
             | dragonwriter wrote:
             | Design is is just what creators do on one end to satisfy
             | the aggregate of personal preference in the target context
             | and audience on the other end.
        
             | aliswe wrote:
             | applies to most open source ux, because noone is allowed to
             | take command which also does a good job of it.
             | 
             | blender is a notable exception, though.
        
           | Causality1 wrote:
           | I remind you that Microsoft did in fact release an operating
           | system where you couldn't change the desktop background,
           | Windows 7 Starter.
        
             | userbinator wrote:
             | _easily_ change the background, that is; registry editing
             | and even binary patching are pretty common amongst Windows
             | power users. (Why a power user would end up with Win7
             | starter is a different question. But a quick search shows
             | that it can be done, they just removed the GUI.)
             | 
             | Edit: for those who don't believe me for whatever reason,
             | https://www.howtoguides.org/change-your-desktop-
             | background-i...
        
           | tomc1985 wrote:
           | Optionality is one of those things that product managers hate
           | right now, so the likelihood of that appearing if it hasn't
           | already are slim
           | 
           | That said, Windows has highly configurable font
           | hinting/rendering so I'm perplexed as to why this project is
           | a thing
        
             | Osiris wrote:
             | Exactly. Since the beginning of ClearType there's been a
             | tool in Windows to adjust the ClearType hinting. I've used
             | it many times myself. However, as stated before, it's much
             | less necessary with high resolution displays.
        
             | userbinator wrote:
             | Windows is slowly losing configuration. From the very first
             | versions you had complete control over fonts, colours, and
             | sizes of UI elements, then starting with Win8 they removed
             | that, and now in Win10 it's very hard to change something
             | like the font for icons and the (horribly low contrast)
             | taskbar button highlight colour.
             | 
             | It's still possible to force (most of) it to the good old
             | MS Sans Serif and with no antialiasing, the way I like it,
             | but it's getting harder with each new version.
        
             | ubercow13 wrote:
             | It's configurable but you still can't configure it to
             | anywhere near macOS's rendering - you can turn down hinting
             | from 11 to like 9.5.
        
           | X-Cubed wrote:
           | There's an Adjust ClearType Text entry in the Start Menu that
           | runs a wizard to tune how the anti-aliasing is configured. It
           | asks you which options looks best.
        
         | hsn915 wrote:
         | I never understood _why_ but text rendering on windows has
         | always looked like garbage to me.
         | 
         | It was obviously not the screen resolution or anything, because
         | you can run a linux vm (say, on virtualbox) and the text
         | rendering inside the VM will look much better than the text in
         | windows.
         | 
         | > Nobody's "right", it's just personal preference.
         | 
         | I don't think that's true. macos is clearly better.
        
           | Drew_ wrote:
           | I'm pretty sure since Windows 8 Microsoft has focused on
           | making font rendering look very good on high DPI displays at
           | the cost of making them look poor on more traditional low DPI
           | displays. Windows font rendering looks really good on 4K
           | monitors and laptops with high res screens. Not so much on
           | your typical 1080p-fare.
        
             | mitemte wrote:
             | Similar situation in macOS. Sub-pixel anti aliasing was
             | removed in 10.14/Mojave.
        
           | ObscureScience wrote:
           | I don't agree with that. I think it's pretty clearly about
           | preference. On non retina displays, MacOSX really is blurry,
           | and my preference is clear lines, preferbly without
           | antialiasing, an certainly without subpixel AA. I think pre
           | cleartype Windows, Classic MacOS, or X11 with bitmap fonts
           | looked the best, but was not flexible enough for modern
           | requirements.
        
           | tssva wrote:
           | And here is proof that it is personal preference. I hate the
           | font rendering on macOS and think Windows is clearly better.
           | I even think the font rendering on modern Linux distributions
           | is superior to that on macOS.
        
           | arsome wrote:
           | Interesting, I personally far prefer the Windows one on 100
           | DPI displays at least. The blurriness is quite noticeable on
           | OS X and certain Windows applications that attempted to use
           | this style of font rendering.
           | 
           | Sure, it's great on higher DPI screens, but then it makes
           | even less of a difference whichever one you use.
           | 
           | I'd say Microsoft made the right call here.
        
         | forrestthewoods wrote:
         | > Fortunately, high-resolution "retina" style displays make the
         | distinction much less important
         | 
         | Ahhhhhhhhhhhhhh.
         | 
         | Windows machines are still primarily 1080p. Windows renders
         | font differently that macOS/iOS _and_ is lower resolution. The
         | number of graphics designers that fail to test their font or
         | content on 1080p Windows machines is too damn high!
        
         | speeder wrote:
         | On CRT screens win8 rendering was crazy blurry for me until I
         | installed mactype
        
         | alkonaut wrote:
         | Yes but unlike Tabs-vs-spaces or vim-vs-emacs, in this case at
         | least ClearType is _right_ and the other one is wrong...
        
         | krona wrote:
         | I always thought the biggest difference was subpixel vs
         | grayscale anti-aliasing.
         | 
         | Prior to very high pixel density screens, I hated the
         | Mac/android font rendering, mostly due to the migraines caused
         | by my eyes straining to correct for the seemly out-of-focus
         | text blur.
        
           | [deleted]
        
           | garaetjjte wrote:
           | >I always thought the biggest difference was subpixel vs
           | grayscale anti-aliasing.
           | 
           | It's mostly hinting. Windows actually doesn't do subpixel
           | antialiasing in many applications anymore. (such as Start
           | menu or new Settings panel)
        
         | aasasd wrote:
         | A side-effect of Windows pinning fonts to pixels is that you
         | can't get arbitrary font sizes and scaling. E.g. I had to use
         | "font-size: 82%" in CSS, because at 80% the text looked bad
         | (pinned to the wrong pixel, and possibly became blurry, can't
         | remember for sure). Likewise, zooming in browsers was a mess.
         | 
         | This was ten years ago, so dunno if anything has changed.
        
       | didibus wrote:
       | I just switched from Windows to a Mac, and I immediately found
       | that the colors and contrast and the clarity of images and text
       | on the same monitor I connect my laptop too improved.
       | 
       | I wasn't sure if it was just in my head, but something about the
       | rendering in Mac seems better to me. I don't know if they have
       | better calibration for colors and contrast, better anti-aliasing,
       | etc., but I seem to see the screen much better and my eyes don't
       | strain as much.
        
         | Joeri wrote:
         | Have you tried to use the windows ClearType Text Tuner to
         | improve the font rendering? Windows tries to take advantage of
         | subpixels to improve crispness but it can cause color fringing
         | which makes text harder to read. The tuner utility helps with
         | that. You can also disable cleartype entirely to get standard
         | anti-aliasing, which is what macOS does on non-retina screens.
         | Personally I find the macOS way of rendering on standard dpi
         | displays a bit too blurry.
         | 
         | As for images, the only difference I can imagine is a different
         | handling of color profiles.
         | 
         | Update: I totally forgot about the mixed dpi situation. When
         | you hook up a monitor of a different dpi than the laptop (e.g.
         | the laptop is 150% scaling but the monitor is 100%, or vice
         | versa), then only one display will be perfectly crisp for all
         | apps, and that's the primary display at login. Only
         | applications designed to take advantage of the right scaling
         | API's will look crisp on both displays in that case. The other
         | ones will look blurry on the non-primary display. MacOS does
         | tend to handle that situation a little bit better.
        
           | ghusbands wrote:
           | The text drawn in most places doesn't match the cleartype
           | tuner (try choosing the most grayscale option each time), and
           | the cleartype in general doesn't take into account screen
           | rotation. Turning off cleartype leaves you with text with odd
           | per-pixel kerning.
        
         | ascom wrote:
         | Another possibility is that macOS actually does proper color
         | management throughout the entire OS - the Windows shell/desktop
         | is simply not color managed and it's especially irritating when
         | you have a wide color gamut monitor.
        
           | 1--6zVa-E wrote:
           | It's laughable that the default photos app in Windows 10 is
           | not color managed, yet the previous Windows Photo Viewer from
           | Windows 7 is...
        
           | breakfastduck wrote:
           | Another of the staggering deficiencies for windows. Right
           | next to audio management.
           | 
           | Because audio drivers and colour management aren't important
           | ofc....
        
         | [deleted]
        
       | speedgoose wrote:
       | I connect my Windows 10 thinkpad and my M1 macbook to the same
       | old 1080p external screens, and I prefer the Windows 10 text
       | rendering. The MacOS text rendering looks a bit bolder and a bit
       | more blurry. On the laptops screen, the high pixel density hides
       | the difference.
        
         | ivank wrote:
         | Try                   defaults -currentHost write -g
         | AppleFontSmoothing -int 0
         | 
         | on macOS. That will stop it from making every font more bold
         | than it should be. Mentioned in
         | https://tonsky.me/blog/monitors/
        
         | PakistaniDenzel wrote:
         | Yup definitely agree with this. MacOS rendering is horrendous
         | on normal monitors, it only looks good on 4k monitors, whereas
         | Windows looks decent on everything.
        
         | ComputerGuru wrote:
         | Yup. Apple fonts look good because they make them all nice and
         | chonky which avoids all the technically correct hinting that
         | preserves actual font shape but doesn't look as nice in the end
         | that Windows does.
         | 
         | I have a metric compatible clone of the SF Mono font installed
         | on Windows. To get it to look the same as it does on macOS, I
         | have to use the Medium weight to account for this.
        
         | toxik wrote:
         | Agreed, on low-res screens, I actually prefer completely
         | unaliased text rendering. It looks jagged and I like the kind
         | of retro vibe it gives.
        
         | tokamak-teapot wrote:
         | It looks a bit more blurry because it _is_ a bit more blurry.
         | As another commenter explained a little, Windows' font
         | rendering attempts to 'cut off' at pixel boundaries for
         | straight edges, making characters appear sharper. This is at
         | the expense of being less true to the font design.
         | 
         | I used to prefer the Windows text rendering for this reason,
         | but since so-called 'Retina' screens, everything looks the same
         | to me.
        
       | keb_ wrote:
       | Call me nuts, but I enjoy font-rendering on my Windows machines
       | even compared to my Ubuntu laptop. I legitimately find them
       | sharper and easier to read.
        
         | DamnInteresting wrote:
         | Same here. My primary work machines have all been Macs for
         | years now, I find Mac to be a far better environment than
         | Windows in most respects. The two main exceptions are gaming
         | and font rendering, both of which Windows seems to do much
         | better.
        
       | pityJuke wrote:
       | MacType works nice on the surface, but using it feels like a bit
       | of a minefield, because if it interacts incorrectly with one of
       | your programs, it can be an annoyance, and because you've gotten
       | used to the font rendering, you might not immediately realize.
       | When playing Riot's VALORANT, it caused massive lag spikes - and
       | that was before I started worrying about the anticheat.
        
         | fleaaaa wrote:
         | You can unload dll in the settings.json
        
         | cshokie wrote:
         | Indeed. It seems to inject code into every process on the
         | system. That increases the risk to the system more than any
         | typical standalone program.
        
       | tambourine_man wrote:
       | One of the reasons I avoided Windows all these years. It seems a
       | little brittle though. Messing with font rendering is such a
       | basic OS feature. I wonder if it could ever be made robust
       | without the help from the oficial vendor.
        
       | mrtweetyhack wrote:
       | WindowsType: Better Font Render for Mac
        
       | jasperry wrote:
       | I'm glad this is still being developed. I tried it out around the
       | time Windows 8/10 came out, because to my taste the Cleartype
       | settings were much worse than in Windows 7. However, MacType
       | didn't help with Metro programs, or with Word 2013, in which
       | Microsoft switched to a non-subpixel renderer for the document
       | and made everything a jagged mess. What were they thinking?
       | 
       | As another commenter said, moving toward higher DPI makes this
       | less necessary. But I'm still bitter over the years of ugliness I
       | had to suffer through after having such nice Cleartype rendering
       | in Windows XP and 7.
        
       | syspec wrote:
       | Any before / after screenshots?
       | 
       | I really don't understand when someone makes a project such as
       | this (which seems to have been around for a while), and does not
       | include at least 1 screenshot
        
         | ReactiveJelly wrote:
         | Yeah, I thought this was a library for app developers to build
         | on, like Skia.
         | 
         | But people are saying it's meant to inject code into existing
         | processes.
         | 
         | The heck is it?
        
       | lxe wrote:
       | I do not prefer this type of font smoothing. In fact I think that
       | windows does a better job at it at certain 4k scaling than Mac
       | does.
        
       ___________________________________________________________________
       (page generated 2021-08-01 23:01 UTC)