I would like to use a custom Font. At the moment you can only assign a font under text theme. This results in an generated theme where only the text theme uses the custom font.
However i cannot set the font-family for buttonTheme and typography. These will be generated with a default font-family of Segoe UI
Example JSON
{
"appBarTheme": {
"titleTextStyle": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Nunito",
"fontWeight": "w500",
"fontSize": 20,
"inherit": true,
"letterSpacing": 0.15,
"textBaseline": "alphabetic"
},
"toolbarTextStyle": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Nunito",
"fontWeight": "w400",
"fontSize": 14,
"inherit": true,
"letterSpacing": 0.25,
"textBaseline": "alphabetic"
}
},
"applyElevationOverlayColor": false,
"backgroundColor": "#fffffbff",
"bottomAppBarColor": "#fffffbff",
"brightness": "light",
"buttonTheme": {
"alignedDropdown": false,
"colorScheme": {
"background": "#fffffbff",
"brightness": "light",
"error": "#ffba1a1a",
"errorContainer": "#ffffdad6",
"inversePrimary": "#ffffb4a9",
"inverseSurface": "#ff362f2e",
"onBackground": "#ff201a19",
"onError": "#ffffffff",
"onErrorContainer": "#ff410002",
"onInverseSurface": "#fffbeeec",
"onPrimary": "#ffffffff",
"onPrimaryContainer": "#ff410001",
"onSecondary": "#ffffffff",
"onSecondaryContainer": "#ff2c1512",
"onSurface": "#ff201a19",
"onSurfaceVariant": "#ff534341",
"onTertiary": "#ffffffff",
"onTertiaryContainer": "#ff261a00",
"outline": "#ff857370",
"primary": "#ffbb1614",
"primaryContainer": "#ffffdad5",
"secondary": "#ff775652",
"secondaryContainer": "#ffffdad5",
"shadow": "#ff000000",
"surface": "#fffffbff",
"surfaceTint": "#ffbb1614",
"surfaceVariant": "#fff5ddda",
"tertiary": "#ff705c2e",
"tertiaryContainer": "#fffcdfa6"
},
"height": 36,
"layoutBehavior": "padded",
"minWidth": 88,
"padding": {
"bottom": 0,
"left": 16,
"right": 16,
"top": 0
},
"shape": {
"borderRadius": {
"bottomLeft": {
"type": "elliptical",
"x": 2,
"y": 2
},
"bottomRight": {
"type": "elliptical",
"x": 2,
"y": 2
},
"topLeft": {
"type": "elliptical",
"x": 2,
"y": 2
},
"topRight": {
"type": "elliptical",
"x": 2,
"y": 2
},
"type": "only"
},
"side": {
"color": "#ff000000",
"style": "none",
"width": 0
},
"type": "rounded"
},
"textTheme": "normal"
},
"canvasColor": "#fffffbff",
"cardColor": "#fffffbff",
"colorScheme": {
"background": "#fffffbff",
"brightness": "light",
"error": "#ffba1a1a",
"errorContainer": "#ffffdad6",
"inversePrimary": "#ffffb4a9",
"inverseSurface": "#ff362f2e",
"onBackground": "#ff201a19",
"onError": "#ffffffff",
"onErrorContainer": "#ff410002",
"onInverseSurface": "#fffbeeec",
"onPrimary": "#ffffffff",
"onPrimaryContainer": "#ff410001",
"onSecondary": "#ffffffff",
"onSecondaryContainer": "#ff2c1512",
"onSurface": "#ff201a19",
"onSurfaceVariant": "#ff534341",
"onTertiary": "#ffffffff",
"onTertiaryContainer": "#ff261a00",
"outline": "#ff857370",
"primary": "#ffbb1614",
"primaryContainer": "#ffffdad5",
"secondary": "#ff775652",
"secondaryContainer": "#ffffdad5",
"shadow": "#ff000000",
"surface": "#fffffbff",
"surfaceTint": "#ffbb1614",
"surfaceVariant": "#fff5ddda",
"tertiary": "#ff705c2e",
"tertiaryContainer": "#fffcdfa6"
},
"dialogBackgroundColor": "#fffffbff",
"disabledColor": "#61000000",
"dividerColor": "#1f201a19",
"errorColor": "#ffba1a1a",
"focusColor": "#1f000000",
"highlightColor": "#66bcbcbc",
"hintColor": "#99000000",
"hoverColor": "#0a000000",
"iconTheme": {
"color": "#dd000000"
},
"indicatorColor": "#ffffffff",
"inputDecorationTheme": {
"alignLabelWithHint": false,
"filled": false,
"floatingLabelAlignment": "start",
"floatingLabelBehavior": "auto",
"isCollapsed": false,
"isDense": false
},
"materialTapTargetSize": "shrinkWrap",
"platform": "windows",
"primaryColor": "#ffbb1614",
"primaryColorDark": "#ff1976d2",
"primaryColorLight": "#ffbbdefb",
"primaryIconTheme": {
"color": "#ffffffff"
},
"primaryTextTheme": {
"bodyLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodyMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodySmall": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayLarge": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayMedium": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displaySmall": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineLarge": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineMedium": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
}
},
"scaffoldBackgroundColor": "#fffffbff",
"secondaryHeaderColor": "#ffe3f2fd",
"selectedRowColor": "#fff5f5f5",
"shadowColor": "#ff000000",
"splashColor": "#66c8c8c8",
"splashFactory": "splash",
"textTheme": {
"bodyLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 16,
"inherit": true,
"letterSpacing": 0.5,
"textBaseline": "alphabetic"
},
"bodyMedium": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 14,
"inherit": true,
"letterSpacing": 0.25,
"textBaseline": "alphabetic"
},
"bodySmall": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 12,
"inherit": true,
"letterSpacing": 0.4,
"textBaseline": "alphabetic"
},
"displayLarge": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_300",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w300",
"fontSize": 96,
"inherit": true,
"letterSpacing": -1.5,
"textBaseline": "alphabetic"
},
"displayMedium": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_300",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w300",
"fontSize": 60,
"inherit": true,
"letterSpacing": -0.5,
"textBaseline": "alphabetic"
},
"displaySmall": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 48,
"inherit": true,
"letterSpacing": 0,
"textBaseline": "alphabetic"
},
"headlineLarge": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"inherit": true
},
"headlineMedium": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 34,
"inherit": true,
"letterSpacing": 0.25,
"textBaseline": "alphabetic"
},
"headlineSmall": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 24,
"inherit": true,
"letterSpacing": 0,
"textBaseline": "alphabetic"
},
"labelLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_500",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w500",
"fontSize": 14,
"inherit": true,
"letterSpacing": 1.25,
"textBaseline": "alphabetic"
},
"labelMedium": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"inherit": true
},
"labelSmall": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 10,
"inherit": true,
"letterSpacing": 1.5,
"textBaseline": "alphabetic"
},
"titleLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_500",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w500",
"fontSize": 20,
"inherit": true,
"letterSpacing": 0.15,
"textBaseline": "alphabetic"
},
"titleMedium": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Nunito_regular",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w400",
"fontSize": 16,
"inherit": true,
"letterSpacing": 0.15,
"textBaseline": "alphabetic"
},
"titleSmall": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Nunito_500",
"fontFamilyFallback": [
"Nunito"
],
"fontWeight": "w500",
"fontSize": 14,
"inherit": true,
"letterSpacing": 0.1,
"textBaseline": "alphabetic"
}
},
"toggleableActiveColor": "#ff775652",
"typography": {
"black": {
"bodyLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodyMedium": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodySmall": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayLarge": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayMedium": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displaySmall": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineLarge": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineMedium": {
"color": "#8a000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineSmall": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelMedium": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelSmall": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleLarge": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleMedium": {
"color": "#dd000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleSmall": {
"color": "#ff000000",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
}
},
"dense": {
"bodyLarge": {
"fontWeight": "w500",
"fontSize": 15,
"inherit": false,
"textBaseline": "ideographic"
},
"bodyMedium": {
"fontWeight": "w400",
"fontSize": 15,
"inherit": false,
"textBaseline": "ideographic"
},
"bodySmall": {
"fontWeight": "w400",
"fontSize": 13,
"inherit": false,
"textBaseline": "ideographic"
},
"displayLarge": {
"fontWeight": "w100",
"fontSize": 112,
"inherit": false,
"textBaseline": "ideographic"
},
"displayMedium": {
"fontWeight": "w400",
"fontSize": 56,
"inherit": false,
"textBaseline": "ideographic"
},
"displaySmall": {
"fontWeight": "w400",
"fontSize": 45,
"inherit": false,
"textBaseline": "ideographic"
},
"headlineLarge": {
"fontWeight": "w400",
"fontSize": 40,
"inherit": false,
"textBaseline": "ideographic"
},
"headlineMedium": {
"fontWeight": "w400",
"fontSize": 34,
"inherit": false,
"textBaseline": "ideographic"
},
"headlineSmall": {
"fontWeight": "w400",
"fontSize": 24,
"inherit": false,
"textBaseline": "ideographic"
},
"labelLarge": {
"fontWeight": "w500",
"fontSize": 15,
"inherit": false,
"textBaseline": "ideographic"
},
"labelMedium": {
"fontWeight": "w400",
"fontSize": 12,
"inherit": false,
"textBaseline": "ideographic"
},
"labelSmall": {
"fontWeight": "w400",
"fontSize": 11,
"inherit": false,
"textBaseline": "ideographic"
},
"titleLarge": {
"fontWeight": "w500",
"fontSize": 21,
"inherit": false,
"textBaseline": "ideographic"
},
"titleMedium": {
"fontWeight": "w400",
"fontSize": 17,
"inherit": false,
"textBaseline": "ideographic"
},
"titleSmall": {
"fontWeight": "w500",
"fontSize": 15,
"inherit": false,
"textBaseline": "ideographic"
}
},
"englishLike": {
"bodyLarge": {
"fontWeight": "w500",
"fontSize": 14,
"inherit": false,
"textBaseline": "alphabetic"
},
"bodyMedium": {
"fontWeight": "w400",
"fontSize": 14,
"inherit": false,
"textBaseline": "alphabetic"
},
"bodySmall": {
"fontWeight": "w400",
"fontSize": 12,
"inherit": false,
"textBaseline": "alphabetic"
},
"displayLarge": {
"fontWeight": "w100",
"fontSize": 112,
"inherit": false,
"textBaseline": "alphabetic"
},
"displayMedium": {
"fontWeight": "w400",
"fontSize": 56,
"inherit": false,
"textBaseline": "alphabetic"
},
"displaySmall": {
"fontWeight": "w400",
"fontSize": 45,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineLarge": {
"fontWeight": "w400",
"fontSize": 40,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineMedium": {
"fontWeight": "w400",
"fontSize": 34,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineSmall": {
"fontWeight": "w400",
"fontSize": 24,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelLarge": {
"fontWeight": "w500",
"fontSize": 14,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelMedium": {
"fontWeight": "w400",
"fontSize": 12,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelSmall": {
"fontWeight": "w400",
"fontSize": 10,
"inherit": false,
"letterSpacing": 1.5,
"textBaseline": "alphabetic"
},
"titleLarge": {
"fontWeight": "w500",
"fontSize": 20,
"inherit": false,
"textBaseline": "alphabetic"
},
"titleMedium": {
"fontWeight": "w400",
"fontSize": 16,
"inherit": false,
"textBaseline": "alphabetic"
},
"titleSmall": {
"fontWeight": "w500",
"fontSize": 14,
"inherit": false,
"letterSpacing": 0.1,
"textBaseline": "alphabetic"
}
},
"tall": {
"bodyLarge": {
"fontWeight": "w700",
"fontSize": 15,
"inherit": false,
"textBaseline": "alphabetic"
},
"bodyMedium": {
"fontWeight": "w400",
"fontSize": 15,
"inherit": false,
"textBaseline": "alphabetic"
},
"bodySmall": {
"fontWeight": "w400",
"fontSize": 13,
"inherit": false,
"textBaseline": "alphabetic"
},
"displayLarge": {
"fontWeight": "w400",
"fontSize": 112,
"inherit": false,
"textBaseline": "alphabetic"
},
"displayMedium": {
"fontWeight": "w400",
"fontSize": 56,
"inherit": false,
"textBaseline": "alphabetic"
},
"displaySmall": {
"fontWeight": "w400",
"fontSize": 45,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineLarge": {
"fontWeight": "w400",
"fontSize": 40,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineMedium": {
"fontWeight": "w400",
"fontSize": 34,
"inherit": false,
"textBaseline": "alphabetic"
},
"headlineSmall": {
"fontWeight": "w400",
"fontSize": 24,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelLarge": {
"fontWeight": "w700",
"fontSize": 15,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelMedium": {
"fontWeight": "w400",
"fontSize": 12,
"inherit": false,
"textBaseline": "alphabetic"
},
"labelSmall": {
"fontWeight": "w400",
"fontSize": 11,
"inherit": false,
"textBaseline": "alphabetic"
},
"titleLarge": {
"fontWeight": "w700",
"fontSize": 21,
"inherit": false,
"textBaseline": "alphabetic"
},
"titleMedium": {
"fontWeight": "w400",
"fontSize": 17,
"inherit": false,
"textBaseline": "alphabetic"
},
"titleSmall": {
"fontWeight": "w500",
"fontSize": 15,
"inherit": false,
"textBaseline": "alphabetic"
}
},
"white": {
"bodyLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodyMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"bodySmall": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayLarge": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displayMedium": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"displaySmall": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineLarge": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineMedium": {
"color": "#b3ffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"headlineSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"labelSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleLarge": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleMedium": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
},
"titleSmall": {
"color": "#ffffffff",
"decoration": "none",
"fontFamily": "Segoe UI",
"inherit": true
}
}
},
"unselectedWidgetColor": "#8a000000",
"useMaterial3": false,
"visualDensity": "compact"
}