Skip to content
CueNorm Public Validator

SDH

SDH_COLOR_CONVENTION

Checks that every text color of a subtitle for the deaf and hard of hearing (SDH) belongs to the color code of the destination.

What it checks

SDH subtitles use colors to carry meaning: who speaks, whether the speaker is on screen, whether the text describes a sound or music. Each subtitle whose text uses a color that is not part of the destination's color code produces one issue listing the colors found.

CueNorm checks the colors themselves. Whether each color is used for the right purpose (a speaker really off screen, a real sound indication) remains an editorial judgement that no tool can verify.

How it is measured

The color code maps six roles to colors. By default it is the one of the French charter on the quality of subtitling for the deaf and hard of hearing (CSA, now Arcom, December 2011, criterion 9), the consensus among broadcasters:

Role Default color Used for
onScreen white a speaker visible on screen
offScreen yellow a speaker off screen
sound red sound indications
music magenta music indications and song lyrics
thoughts cyan thoughts, narrator, off-screen commentary
foreignLanguage green use of a foreign language

Text without an explicit color counts as white. A destination with a different code redeclares only the roles that differ, under sdh.colors in its profile:

sdh:
  colors:
    offScreen: cyan
    thoughts: yellow

Each color may be used by one role only: two roles sharing a color would make the code ambiguous, and the profile is refused when loaded.

Parameters

This rule takes no parameter: the color code comes from the profile's sdh.colors section, or the charter defaults.

Example

With the default code, a subtitle written in orange is reported as Color(s) #ff8800 are not part of the SDH color convention.

Shipped SDH profiles declare this rule as an error, since the charter requires the color code to be respected. A profile may declare it again with severity: warning.

How to fix

  • Recolor the text with the color of the right role.
  • If the file follows another destination's color code, the REMAP_SDH_COLORS transformation (when the profile allows it) translates each color through its role: for example, a file made for a destination where off-screen speakers are cyan is converted to yellow. The source code is the charter by default; on the command line, --source-profile=<id> takes it from another profile.
  • A color with no role in the source code is kept as is and reported (SDH_COLOR_UNMAPPED): it is never guessed.

Profiles using this rule

ProfileSeverityParameters
ARTE SME French arte-sme-fr error
French broadcasters SME (RT-040) fr-broadcast-sme-fr error
France Télévisions SME French francetv-sme-fr error
TF1 SME French tf1-sme-fr error