Open-source project
snowie2000/mactype avatar
snowie2000/mactype

MacType hooks Windows text rendering, and those hooks collide with antivirus, WPS, and Office 2013

Better font rendering for Windows.

12,021 stars448 forksC++GPL-3.0

At a glance

What is it?
A GPL-3.0 C++ project that swaps Windows font rendering with a FreeType based path across GDI and DirectWrite. It ships as a prebuilt release rather than something you compile, and its own known issues list names the software that fights it.
Who is it for?
MacType suits someone who wants macOS style text smoothing on Windows and is willing to manage profiles and live with a hooked process list. Skip it if you depend on Office 2013, if WPS is your main editor, or if your environment blocks process hooks.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • snowie2000/mactype12,021 ★ · +59
Star history
Repository2026-09-222026-11-14
snowie2000/mactype12k12k

59 Stars in the last 53 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The default branch is directwrite, and the build runs through nmake with four switches

The repository is not built with a portable toolchain. The README points to doc/HOWTOBUILD.md for build instructions, and the top-level Makefile is an nmake file whose usage block lists these switches:

code
#  nmake            release build
#  nmake debug=1    debug build
#  nmake ddk=1      using DDK compiler
#  nmake sse=1      build for SSE capable CPUs (uses with ddk=1)
#  nmake clean      clean all file(s)
#  nmake cleanobj   clean object file(s)

The dll object list names the components that end up inside the injection library: hook.obj, override.obj, settings.obj, cache.obj, misc.obj, expfunc.obj, ft.obj, fteng.obj, ft2vert.obj, and gdidll.res, linked against detours.lib and freetype unless the ftstatic switch is passed, which swaps in freetypeMT and defines FREETYPE_STATIC. A debug build adds /Od /MDd /Zi and links for /machine:I386. The consequence is that compiling MacType needs an MSVC environment, and anyone expecting a cargo-style build script will not find one.

Process hooks are why antivirus flags MacType, and Service Mode is the recommended answer

The reason security software objects is structural. MacType injects itself into running applications, and on 64 bit Windows antivirus products read that as an attempt to modify software that is already executing. The project's own workaround list offers two answers: run in Service Mode, which it recommends, or add HookChildProcesses=0 to your profile so the hook stops propagating into child processes, with a wiki page explaining that setting. The source tree reflects the same design, carrying hook.cpp, hooklist.h, hookCounter.cpp, dynCodeHelper.cpp, and an easyhook.h alongside the Detours headers, and the changelog notes an update to EasyHook and lower CPU use in Tray Mode. The consequence for you is a permanent trade: either grant an exception, or accept partial rendering in programs that spawn children, because a security suite will keep reporting the tool until you change its policy.

WPS unloads MacType on its own, and Office 2013 was never hookable

Two named applications defeat MacType outright. WPS has a built in defense that unloads MacType automatically, and the project links a wiki page describing a workaround contributed by wmjordan, so the fix exists but lives outside the repository. Office 2013 is the harder case: it uses neither DirectWrite nor GDI but its own custom rendering, so there is no hook point to attach to. The guidance is to use Office 2010, which renders through GDI, or Office 2016 and later, which use DirectWrite. The consequence is that installing MacType does not make text look the same everywhere in an Office-heavy setup.

Registry mode can no longer be switched on from the wizard under Windows 10

One configuration path has been closed off by Windows itself. Registry mode, which applies MacType to applications without a per-application setting, can no longer be enabled through the installer wizard on Windows 10, and the project sends you to a wiki page with a manual procedure, warning that screwdrivers are needed before you start. That page sits outside the repository, next to the other guides for the HookChildProcesses flag and the WPS workaround. The consequence is that a global MacType install on a current Windows box is a manual registry task rather than a checkbox, and if the wizard silently does nothing, that is the reason rather than a broken profile.

Profiles are the unit of configuration, and an upgrade can lose them

Everything MacType knows lives in profiles, and the first line of the known issues is a request to back yours up before upgrading. Profiles are also where conflicts are resolved by editing text: running MacType-patch alongside an official MacType release requires DirectWrite=0 in the profile, otherwise the project warns you will hit mysterious problems. Localization reaches the same surface, since MacType Tuner is where options appear, and only Simplified Chinese, Traditional Chinese, and English are fully localized. Where a language file lacks the strings for an option, that option is simply missing from Tuner for that user, which the project turns into a translation request. The consequence is that an upgrade or a language change can quietly reduce the settings you can reach, so treat the profile backup as part of the upgrade rather than an optional precaution.

GDI and DirectWrite are tuned separately, and the newest builds added color and variable fonts

The rendering paths are not one setting. Current builds carry a separate DirectWrite parameter adjustment alongside the GDI path, along with DirectWrite work credited to しらいと, an updated FreeType, support for color fonts, tweaks for diacritics, and multi-monitor fixes. Compatibility is stated in the same list: Win11 compatible and CET compatible. Variable font support arrived in the v1.2025.4.11 release dated 2025-04-11, which matters if your UI font uses a weight axis that a fixed rasterizer would flatten. Tray Mode was also changed to use less CPU, and the tray app can now intercept explorer in Service Mode, which extends global coverage without going through the wizard that no longer sets registry mode. The consequence is that a GDI-only application still looks different from a DirectWrite one,.

Newest tag is v1.2025.6.9, and the last push to the directwrite branch is 2026-04-29

The distribution picture is simple. Builds come from the GitHub releases page, with the newest tag v1.2025.6.9 dated 2025-06-11 and its subject given as IFEO Support, preceded by v1.2025.4.11 in April 2025 and v1.2025.1.17 in January 2025. The last push to the default branch, which is named directwrite rather than main, is dated 2026-04-29, so commits are landing well after the newest tag and the release you install is not the same thing as the tip of the tree. The project also states that it now accepts donations, with the request to visit mactype.net and watch the bottom right corner, where the donations are said to keep the server running and fund updates. The same page hosts an archived version that has been restored. The consequence is that mactype.net is where the project's donations are collected and the official site, so an outage there affects funding.

Editorial conclusion

MacType suits someone who wants macOS style text smoothing on Windows and is willing to manage profiles and live with a hooked process list. Skip it if you depend on Office 2013, if WPS is your main editor, or if your environment blocks process hooks. Before upgrading, back up your profiles, and if you mix MacType-patch with an official release, set DirectWrite=0 in the profile or expect unexplained failures. Check the release page rather than the archived site for the current build.

Frequently asked questions

What is MacType?

MacType is a GPL-3.0 C++ project whose stated purpose is better font rendering for Windows. It replaces the system text rendering with a FreeType based path across both GDI and DirectWrite, exposing settings through MacType Tuner and profiles, and it ships as a prebuilt installer rather than as source you compile.

how to install mactype

Current builds are linked as a download from the GitHub releases page, where v1.2025.6.9 is the newest tag, dated 2025-06-11. The project site mactype.net also carries an archived version that has been restored, and recent builds include a new installer.

how to use mactype

Settings live in profiles, edited through MacType Tuner, where the GDI and DirectWrite paths are adjusted separately. Registry mode applies MacType without per-application settings, but it can no longer be enabled from the wizard under Windows 10 and has to be set by hand using a wiki guide.

Does MacType work on Chrome?

The known issues do not name any browser, so nothing there settles the question either way. What they do name is WPS, which unloads MacType automatically and has a documented workaround, and Office 2013, which uses its own custom rendering and is not hookable at all. Applications are covered through the GDI and DirectWrite paths, which is where browser coverage would have to come from.

is mactype safe

It is GPL-3.0 open source and the project states Win11 compatibility, but on 64 bit Windows antivirus software may conflict with it because it sees MacType modifying running software. The project offers Service Mode, which it recommends, or adding HookChildProcesses=0 to your profile as a workaround.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. snowie2000/mactype on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/snowie2000-mactype.svg)](https://hysenlabs.com/projects/snowie2000-mactype)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/snowie2000-mactype.svg)](https://hysenlabs.com/projects/snowie2000-mactype)

Was this useful?