one sec...

adam j

> status: ONLINE
> accepting_collabs: TRUE

contact

  • System Font Sizes Without Scaling
  • Development

FontSize Tweak – Project Overview

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.

What the App Does

FontSize Tweak provides a straightforward way to adjust Windows’ system fonts without needing administrator rights. Here’s a quick rundown:

  • Simple slider applies one size to every system font at once
  • Dropdown menu lets you tweak Title Bar, Menu, MessageBox, Icon and Status Bar fonts individually
  • Live preview text updates as you drag the slider
  • Current size is detected automatically with handy Small, Medium and Large preset buttons
  • Reset option restores all fonts to the Windows default
  • Writes updates directly under HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics using the correct LOGFONT layout
  • Dark mode interface with larger base font for accessibility
  • Packaged with PyInstaller into a portable .exe that runs without installation

How to Download

Grab 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.

Tools Used

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.

What I Built

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.

Troubleshooting I Faced

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.

GitHub Integration

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.

Final Touches

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.

Support + Motivation

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.

Final Thoughts

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.

Please Share:

Adam Johnston

10th October 2024

At the end of the day, it's night.

blogger headshot

Leave a comment