A file is plain text in sections. A section begins with its name in square brackets.
Inside [Script Info], each line is Key: value. A line starting
with ; is a comment. Other sections the original specification defines are
[V4+ Styles],
[Events],
[Fonts] and
[Graphics].
libass matches section names without regard to case. Aegisub also writes
[Aegisub Project Garbage] and [Aegisub Extradata], which
renderers ignore.
Keys from the specification
| Key | Values | Meaning |
|---|---|---|
Title | Text | Title of the script. <untitled> if absent. |
Original Script | Text | Original author. <unknown> if absent. |
Original Translation | Text | Optional. |
Original Editing | Text | Optional. |
Original Timing | Text | Optional. |
Synch Point | Text | Optional: where the script’s timing was synchronised to. |
Script Updated By | Text | Optional. |
Update Details | Text | Optional. |
ScriptType | v4.00+ | Marks the format version. libass requires a value ending 4.00; a trailing + selects the v4+ rules. |
Collisions | Normal, Reverse | How overlapping lines stack: Normal places later lines towards the bottom margin, Reverse shifts lines upward. |
PlayResX | Integer | The script’s coordinate width. |
PlayResY | Integer | The script’s coordinate height. |
PlayDepth | Integer | Colour depth of the authoring screen. |
Timer | 100.0000 | Speed percentage, with four decimals; 100.0000 is normal. Affects playback only, not the event times in the file. |
WrapStyle | 0–3 | Line wrapping; see below. |
WrapStyle
| Value | Behaviour |
|---|---|
0 | Smart wrapping, lines broken evenly, top line wider. |
1 | End-of-line wrapping: only \N breaks a line. |
2 | No word wrapping: only \n and \N break a line. |
3 | Same as 0, with the bottom lines wider. |
Keys that came later
These are not in the original specification, but VSFilter and libass act on them.
| Key | Values | Meaning |
|---|---|---|
ScaledBorderAndShadow | yes, no | Whether border and shadow sizes scale with the video. |
YCbCr Matrix | None, TV.601, PC.601, TV.709, PC.709, TV.240M, PC.240M, TV.FCC, PC.FCC | The colour matrix the subtitle colours were matched to, so they can be matched to the video again. |
LayoutResX, LayoutResY | Integer | A separate reference resolution for layout, in libass. |
Kerning | yes, no | Whether to apply font kerning, in libass. |
Language | Language code | The script’s language; libass reads the first two characters. |