Modern typography on the web relies on carefully crafted typefaces where type designers handcraft distinct glyph shapes for regular, medium, semibold, and bold weights. However, when an HTML document requests a bold font weight (such as via font-weight: 700 or semantic <strong> tags) and the active web font family lacks a dedicated bold font file, web browsers default to synthetic font synthesis. Synthetic bolding—frequently referred to as “faux bold”—mechanically thickens glyph contours by re-rendering stroked outlines. On macOS and iOS, Safari’s CoreText rendering engine performs this synthetic enlargement aggressively, often distorting counter spaces, blurring serifs, and degrading readability.
Web authors can strictly disable this algorithmic manipulation using the standard CSS property font-synthesis-weight: none;. Inspecting and verifying this typographic behaviour inside Safari Web Inspector ensures your site renders pristine typography across all Apple platforms.
Understanding Font Synthesis Mechanics
The CSS Fonts Module defines the shorthand font-synthesis alongside granular sub-properties: font-synthesis-weight, font-synthesis-style, and font-synthesis-small-caps. By default, browsers enable synthetic generation for missing weights and oblique angles:
/* Default browser behaviour */
.article-body {
font-synthesis-weight: auto;
}
/* Strict typographer suppression */
.article-body {
font-synthesis-weight: none;
}
When set to none, if a requested font weight is missing from the @font-face declaration, Safari renders the nearest available authentic font weight rather than applying an artificial stroke stroke-widening transformation.
Configuring Font Synthesis Suppression in CSS
To safeguard custom web fonts across your digital product, configure fallback rules within your base typography stylesheets:
/* Base Typography Guard */
:root {
--primary-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
body {
font-family: var(--primary-font);
font-weight: 400;
font-synthesis-weight: none;
font-synthesis-style: none;
}
/* Ensure headings explicitly reference available weights */
h1, h2, h3, h4, h5, h6 {
font-family: var(--primary-font);
font-weight: 600;
font-synthesis-weight: none;
}
Inspecting Synthetic Bold in Safari Web Inspector
Safari Web Inspector provides a dedicated Fonts sidebar within the Elements tab, making it straightforward to audit whether synthetic weights are being rendered:
- Open Safari on macOS and navigate to your web project.
- Right-click any text element that appears bolded and select Inspect Element.
- In the right-hand panel of Web Inspector, select the Fonts tab (located next to Styles and Computed).
- Scroll to the Font Details section. Web Inspector displays the active physical font file loaded from disk or network cache.
- Look for the Synthesised indicator. If Safari is applying faux bold, an alert indicates Bold: Synthesised.
- Navigate to the Styles panel, add
font-synthesis-weight: none;to the rule, and observe the immediate reversion of the glyphs to their authentic, unstroked geometry.
Testing on iOS via Safari Remote Web Inspector
Synthetic font rendering can vary between desktop macOS and mobile iOS due to different display scaling factors and subpixel antialiasing algorithms. To verify font synthesis on iOS:
- On your iPhone or iPad, open Settings > Safari > Advanced and enable Web Inspector.
- Connect the device to your Mac via USB.
- Open Safari on macOS, navigate to Develop > [Device Name], and choose the active tab.
- Inspect element styles in real time to verify that
font-synthesis-weight: nonesuccessfully prevents faux bold distortions on mobile Retina displays.
By strictly enforcing font-synthesis-weight: none across your stylesheets, you preserve the visual fidelity of custom typefaces and ensure high-standard typography throughout the Apple ecosystem.