Skip to content

Fonts and CJK rendering: missing glyphs, blur and the font cache

Verified 2 min read

Why a document shows boxes, how to rebuild the font cache, and why ClearType and scaling fight each other.

Tested onPro (26H2) / Server · Build 26300.9457 / 26100.33650 · x64
E1
Build
26300.9457 / 26100.33650
Edition
Pro (26H2) / Server
Architecture
x64
Support
Documentation (E1)
Evidence
E1Official documentation
Verified
2026-10-29
Page type
Troubleshoot

Three different problems get called “font problems”:

Symptom Cause
Boxes / question marks the font lacks the glyphs (missing CJK font, or a subsetted PDF font)
Blurry text DPI scaling on a non-DPI-aware app, or a bitmap font
Wrong glyph shapes wrong font selected for the script (Japanese vs Chinese variants)

They have different fixes. Installing “more fonts” only helps the first.

Windows ships CJK support through optional features: Settings → System → Optional features → Add a feature → Chinese (Simplified) Supplemental Fonts (and the Traditional/Japanese/Korean equivalents).

Check what is installed:

Terminal window
Get-WinUserLanguageList | Select-Object LanguageTag,InputMethodTips
Get-ChildItem C:\Windows\Fonts -Filter *.tt? | Measure-Object
# installed optional font packages
Get-WindowsCapability -Online -Name 'Language.Fonts.*' | Select-Object Name,State

If a PDF shows boxes while the same text is fine in a browser, the PDF embeds a subset that lacks those glyphs — a font problem in the document, not in Windows.

The same Unicode codepoint renders differently depending on the font: Chinese (simplified) 直 vs Japanese 直 look subtly different. If a document looks “Japanese” while you typed Chinese, the font fallback picked a Japanese face.

Fix by setting the document/application font explicitly to a Chinese face (Microsoft YaHei, SimSun, Noto Sans SC) rather than relying on fallback.

Windows caches font data; a corrupt cache produces missing fonts, apps that cannot see a newly installed font, or a slow Settings app.

Terminal window
Stop-Service FontCache
Remove-Item "$env:SystemRoot\ServiceProfiles\LocalService\AppData\Local\FontCache\*" -Force -ErrorAction SilentlyContinue
Start-Service FontCache

Reboot afterwards. The cache rebuilds itself — the first launch of font-heavy apps will be slower once.

ClearType was designed for 96 DPI. At 125–200% scaling:

  • DPI-aware apps re-render at the new scale → sharp.
  • Non-aware apps are bitmap-stretched → blurry.
  • Bitmap fonts (old installers, some tools) cannot scale at all.

That is the same mechanism as high DPI and scaling, not a font defect.

Turning ClearType off makes text thinner but not sharper at high DPI; it is not a fix for a non-aware app.

Terminal window
Add-Type -AssemblyName System.Drawing
$families = (New-Object System.Drawing.Text.InstalledFontCollection).Families
$families | Where-Object Name -match 'YaHei|SimSun|Noto' | Select-Object Name

If the family is absent, the application cannot use it regardless of the file being on disk.

E1. Font and text rendering behaviour is documented by Microsoft. The lab VMs have CJK fonts installed by default, so no missing-glyph case was reproduced.

Sources