Upgrade Guide
Upgrading to v0.14
Breaking Changes
Default font format is now woff2 only
Previously, font providers could return multiple formats (e.g., woff2, woff, truetype). The default behavior now only resolves woff2 format fonts, which is universally supported in all modern browsers.
This means your rendered @font-face declarations will typically have fewer src entries, reducing overall CSS size. In most cases this is a transparent improvement and requires no action.
If you need to support legacy browsers that require other formats, you can configure this in your nuxt.config.ts:
export default defineNuxtConfig({
fonts: {
defaults: {
formats: ['woff2', 'woff', 'ttf'],
},
},
})
The available format values are: 'woff2', 'woff', 'ttf', 'otf', 'eot'.
New Features
Font format resolution
You can now control which font formats are resolved via the new defaults.formats option. This defaults to ['woff2'].
export default defineNuxtConfig({
fonts: {
defaults: {
formats: ['woff2'],
},
},
})
Provider-specific font family options
You can now pass provider-specific options when configuring individual font families using the new providerOptions property:
export default defineNuxtConfig({
fonts: {
families: [
{
name: 'My Font',
provider: 'google',
providerOptions: {
google: {
experimental: {
variableAxis: {
wdth: [['75', '100']],
},
},
},
},
},
],
},
})
throwOnError option
You can now configure whether font resolution errors should throw or just warn:
export default defineNuxtConfig({
fonts: {
throwOnError: true, // default: false
},
})