Skip to main content

FontRole

enum class FontRole(
val playoutKey: String,
val playoutNameKey: String,
val appConfigKey: String,
val appConfigNameKey: String
)

The two font roles a playout can set (#20287 / #19065): one font for headings, one for body text. Each role is stored as an id/name pair, exactly as Channels stores fontFamilyPrimaryId / fontFamilyPrimary (#20288 decision 14), and falls back to the built-in Lato on its own - an unusable heading font never drags the body font down with it.

The absent-vs-cleared rule for partial playout payloads keys on [playoutKey] (the Id field): a payload without that key leaves the role alone. The Shorts app config carries the same two roles under camelCase keys ([appConfigKey] / [appConfigNameKey], #20286), and the same rule applies there.

The four key names are on the enum rather than spelled out at each call site because the SDKs need them as strings - they inspect the raw payload map, which a parsed model cannot do.