# SubtitlesStyle Class

    public class SubtitlesStyle : NSObject

The subtitles settings to customize subtitles rendering.

### Lifecycle

- `init(fromSystemSettings:)`

  Creates a subtitles style, optionally seeded from current system accessibility settings.

  #### Declaration

  Swift

      public init(fromSystemSettings useSystemSettings: Bool)

  #### Parameters

  `useSystemSettings` | When `true`, initializes style properties from caption preferences.

### Public

- `systemSettings`

  Whether this object was initialized from system settings and not modified afterwards.

  If you serialize a style that has `systemSettings = true` and deserialize it later, you will still get a style with `systemSettings = true`, that will reflect the system settings at the time of deserialization (which might be different from the ones at the time of original initialization).

  #### Declaration

  Swift

      public let systemSettings: Bool

- `fontSizeScale`

  The font size scaling.

  This is a number holding a percentage of the size of the calculated default font size. A value of `1.2` indicates 20% larger than the default font size. A value of `0.8` indicates 80% of the default font size. The value `1.0` indicates no size difference and is the default.

  #### Declaration

  Swift

      public var fontSizeScale: Float

- `typeface`

  The primary typeface used for text. Default is `MACaptionAppearanceFontStyle.default`

  `MACaptionAppearanceFontStyle.default` will use the font family specified in the subtitle content. Any other value will override the font family with an unspecified font which has matching typeface properties. This setting has no effect if `fontFamilyName` is explicitly set.

  #### Declaration

  Swift

      public var typeface: MACaptionAppearanceFontStyle

- `fontFamilyName`

  Explicitly specifies which font to use for all subtitles. Default is `nil`.

  If non-`nil`, explicitly overrides the font family to use. If set to `nil`, the typeface property is used instead. If using this setting, you must ensure the font is already installed and available in the system.

  Note

  This should contain a UTF-8 encoded string.

  #### Declaration

  Swift

      public var fontFamilyName: String?

- `autoFlowEnabled`

  Enable auto flow.

  If true, will ignore all subtitle positioning and text flow defined in the content, and simply fit all text together at the bottom-middle of the screen. This is useful especially when you adjust the font size scaling

  #### Declaration

  Swift

      public var autoFlowEnabled: Bool

- `ignoreSpanBackgroundColor`

  Enable ignore span background color

  This is usefull especially when background color is defined in region and also in nested elements (span).

  #### Declaration

  Swift

      public var ignoreSpanBackgroundColor: Bool

- `foregroundColor`

  The text foreground color.

  This also contains the alpha/opacity component of the color.

  #### Declaration

  Swift

      public var foregroundColor: UIColor?

- `backgroundColor`

  The text background color. This also contains the alpha/opacity component of the color.

  #### Declaration

  Swift

      public var backgroundColor: UIColor?

- `windowColor`

  The window color. This also contains the alpha/opacity component of the color.

  #### Declaration

  Swift

      public var windowColor: UIColor?

- `edgeColor`

  The edge color. This also contains the alpha/opacity component of the color.

  #### Declaration

  Swift

      public var edgeColor: UIColor?

- `edgeType`

  The edge type. Default is `undefined`.

  #### Declaration

  Swift

      public var edgeType: MACaptionAppearanceTextEdgeStyle

- `forceBoldFont`

  Forceably render all subtitle text with a bold style.

  #### Declaration

  Swift

      public var forceBoldFont: Bool

- `forceItalicFont`

  Forceably render all subtitle text with an italic style.

  #### Declaration

  Swift

      public var forceItalicFont: Bool

- `toAVRule()`

  Converts this style to an `AVTextStyleRule` for AVFoundation subtitle rendering.

  #### Declaration

  Swift

      public func toAVRule() -> AVTextStyleRule?