By Arham saklia
I originally built FontSize Tweak after realizing how inconvenient Windows display scaling can be on high‑resolution monitors. Scaling often blurs text and changes window proportions. I wanted a tool that let me increase menu and icon fonts directly so the interface stayed crisp. The popular “Advanced System Font Changer” does this but charges for its full version, so I created a free alternative. It quickly turned into a small accessibility project that helps me—and hopefully others—read the screen more comfortably.
FontSize Tweak provides a straightforward way to adjust Windows’ system fonts without needing administrator rights. Here’s a quick rundown:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics
using the correct LOGFONT
layout.exe
that runs without installationGrab the latest copy from the FontSize Tweak page. The site links to the GitHub release where you can download FontSizeTweak.exe
and the source code. Just run the executable—no install needed.
The utility is written for Python 3.10 and uses the standard tkinter
toolkit for its window. To give it a more modern feel I layered ttkbootstrap
on top, which provides ready‑made dark themes and better spacing. Behind the scenes winreg
and struct
modify the LOGFONT
entries in the Windows registry. Finally, PyInstaller packages everything into a single .exe
so users don't need Python installed, and GitHub Pages + Releases host both the docs and downloads.
The app launches with a master slider that lets you adjust all font sizes in one sweep. A dropdown menu exposes individual settings—MenuFont, IconFont and others—if you need to fine‑tune just one area. The current value is detected at startup and displayed next to the slider. As you move it, a preview label updates in real time so you know exactly what you'll get. A reset button restores Windows defaults with a single click.
Accessibility was front and center. The interface uses dark mode, a bigger base font and a clear feedback label whenever changes apply. The executable launches without the console window and has a custom icon to look polished.
Working at the system level brought a few surprises. Some dialogs—like old Property windows—don’t read the standard registry keys, so the fonts there remain unchanged. Figuring out the exact LOGFONT
byte layout also took a bit of trial and error; any mismatch corrupts the registry value. I hit a bug where the preview text stayed stuck on the previous font when I changed dropdown options. Trace debugging and cleaning up the UI logic eventually solved it.
The repository is intentionally tidy. It contains main.py
, icon.ico
, requirements.txt
(which lists only ttkbootstrap
) and a docs/
folder. GitHub Actions isn’t needed, so releases are built locally then uploaded. Each release page offers a zipped source archive and a ready‑made executable. The documentation on the Pages site uses the Minimal theme and mirrors the main README.
Before publishing I generated a small favicon and set up .gitignore
, .nojekyll
and _config.yml
for GitHub Pages. The README also includes the exact PyInstaller command for anyone who wants to build their own copy. Overall the project stays lightweight and easy to fork.
You can download the latest version here or clone the repo from GitHub. I built it because the recommended “Advanced System Font Changer” is paid software, and I wanted something anyone could use for free. If FontSize Tweak helps you out, feel free to buy me a coffee—it keeps small projects like this going.
Even though it’s a tiny tool, FontSize Tweak taught me a lot about Windows internals and cross‑platform Python packaging. I hope it makes your setup a little more comfortable and encourages you to tinker with your own accessibility ideas.
At the end of the day, it's night.
Leave a comment