Ssa
Ssa
Ssa
1. General %nformation
The information in this document assumes that you are familiar with the terms and concepts used by Sub Station Alpha (SSA). These are documented in SSA's help file, ssa.hlp which is distributed with the program, or can be downloaded separatelyfrom http://www.eswat.demon.co.u . 1. The SSA v4.00 script format is #ifferent to previous versions of SSA SSA !".## will read scripts from older !ersions, but !".## scripts will not load into older !ersions of SSA correctly. Some of the changes in the script format are intended to allow all !ersions of SSA from !".## onwards to read any present or future SSA scripts. $n particular, the new %&ormat% lines allow SSA to read only the information it recognises and discard any new information that is added in future scripts. 2. Scripts are plain 7(;S9 te1t files. This means they can be %manually% editied using any te't editor, but caution must be e'ercised when doing this ( SSA assumes that scripts will adhere to the %rules% set out in this document, and any errors may lead to unpredictable results when the script is loaded into SSA. 2. The script is #ivi#e# into <ini file= st!le sections )owe!er, SSA scripts are not true *indows .ini files and you cannot do certain things you might e'pect+ . 0ost lines in each section be)in 5ith some sort of co#e > a ?line #escriptor? , to say what information is held in it. The descriptor is terminated by a colon. . The information fiel#s in each line are separate# b! a commas. This ma es it illegal to use commas in character names and style names (SSA pre!ents you putting commas in these). $t also ma es it ,uite easy to load chun s of an SSA script into a spreadsheet as a -S. file, and chop out columns of information you need for another subtitling program. 4. SSA #oes not care 5hat or#er events are entere# in. They could be entered in complete re!erse order, and SSA would still play e!erything correctly in the right order ie. you cannot assume that each dialogue line is in chronological order in the script file. &. %ncorrectl! formatte# lines are i)nore#. SSA will discard any lines it doesn't understand, and gi!e a warning after the script has loaded gi!ing the number of lines it discarded. '. @ines cannot be split /ach entry in a script contains all its information in a single line. +. %f un8no5n st!les are use# in the script$ the A(efault st!le 5ill be use#. &or e'ample, if lines ha!e been pasted in from another script, without the corresponding Style information then when SSA plays the script, the 0efault style settings will be used. -. %f a St!le specifies a font 5hich is not installe#$ then Arial 5ill be use# instea#. This can happen with scripts which you did not create yourself ( the original authors may ha!e fonts installed which you don't ha!e.
;ri)inal Translation2 (optional) The original translator of the dialogue ;ri)inal *#itin)2 ;ri)inal Timin)2 S!nch .oint2 (optional) The original script editor(s), typically whoe!er too the raw translation and turned it into idiomatic english and reworded for readability. (optional) *hoe!er timed the original script (optional) 0escription of where in the !ideo the script should begin playbac .
Script :p#ate# 3!2 (optional) =ames of any other subtitling groups who edited the original script. :p#ate (etails2 ScriptT!pe2 ,ollisions2 .la!EesF2 .la!EesG2 .la!(epth2 Timer2 The details of any updates to the original script made by other subtilting groups. This is the SSA script format !ersion eg. %.>.##%. This determines how subtitles are mo!ed, when pre!enting onscreen collisions This is the height of the screen used by the authors when playing the script. This is the width of the screen used by the authors when playing the script. This is the colour depth used by the authors when playing the script. This is the Timer Speed for the script, as a percentage. eg. %?##.####% is e'actly ?##@. The timer speed is a time multiplier applied to SSA's cloc to pro!ide a ramp time. St!le2 (ialo)ue2 ,omment2 This is a Style definition, used to format te't displayed by the script. This is a 0ialogue e!ent, ie. Some te't to display. This is a %comment% e!ent. This contains the same information as a 0ialogue, ;icture, Sound, Ao!ie, or -ommand e!ent, but it is ignored during script playbac . This is a %picture% e!ent, which means SSA will display the specified .bmp, .Bpg, .gif, .ico or .wmf graphic. This is a %sound% e!ent, which means SSA will play the specified .wa! file. This is a %mo!ie% e!ent, which means SSA will play the specified .a!i file. This is a %command% e!ent, which means SSA will e'ecute the specified program as a bac ground tas .
;ri)inal Translation2 (optional) The original translator of the dialogue. This entry does not appear if no information was entered by the author. ;ri)inal *#itin)2 (optional) The original script editor(s), typically whoe!er too the raw translation and turned it into idiomatic english and reworded for readability. This entry does not appear if no information was entered by the author. (optional) *hoe!er timed the original script. This entry does not appear if no information was entered by the author. (optional) 0escription of where in the !ideo the script should begin playbac . This entry does not appear if no information was entered by the author.
Script :p#ate# 3!2 (optional) =ames of any other subtitling groups who edited the original script. This entry does not appear if subse,uent editors did not enter the information. :p#ate (etails2 Script T!pe2 The details of any updates to the original script ( made by other subtitling groups. This entry does not appear if subse,uent editors did not enter any information. This is the SSA script format !ersion eg. %.".##%. $t is used by SSA to gi!e a warning if you are using a !ersion of SSA older than the !ersion that created the script. ASS version is <I4.00+=. ,ollisions2 This determines how subtitles are mo!ed, when automatically pre!enting onscreen collisions. $f the entry says %Jormal% then SSA will attempt to position subtitles in the position specified by the %margins%. )owe!er, subtitles can be shifted !ertically to pre!ent onscreen collisions. *ith %normal% collision pre!ention, the subtitles will %stac up% one abo!e the other ( but they will always be positioned as close the !ertical (bottom) margin as possible ( filling in %gaps% in other subtitles if one large enough is a!ailable. $f the entry says %Eeverse% then subtitles will be shifted upwards to ma e room for subse,uent o!erlapping subtitles. This means the subtitles can nearly always be read top(down ( but it also means that the first subtitle can appear half way up the screen before the subse,uent o!erlapping subtitles appear. $t can use a lot of screen area. .la!EesF2 This is the height of the screen used by the script's author(s) when playing the script. SSA !" will automatically select the nearest enabled setting, if you are using 0irectdraw playbac . This is the width of the screen used by the script's author(s) when playing the script. SSA will automatically select the nearest enabled, setting if you are using 0irectdraw playbac . This is the colour depth used by the script's author(s) when playing the script. SSA will automatically select the nearest enabled setting if you are using 0irectdraw playbac . This is the Timer Speed for the script, as a percentage.
.la!EesG2
.la!(epth2 Timer2
eg. %?##.####% is e'actly ?##@. $t has four digits following the decimal point. The timer speed is a time multiplier applied to SSA's cloc to stretch or compress the duration of a script. A speed greater than ?##@ will reduce the o!erall duration, and means that subtitles will progressi!ely appear sooner and sooner. A speed less than ?##@ will increase the o!erall duration of the script means subtitles will progressi!ely appear later and later (li e a positi!e ramp time). The stretching or compressing only occurs during script playbac ( this !alue does not change the actual timings for each e!ent listed in the script. -hec the SSA user guide if you want to now why %Timer Speed% is more powerful than %Eamp Time%, e!en though they both achie!e the same result. KrapSt!le2 (efines the #efault 5rappin) st!le. 02 smart 5rappin)$ lines are evenl! bro8en 12 en#>of>line 5or# 5rappin)$ onl! LJ brea8s 22 no 5or# 5rappin)$ Ln LJ both brea8s 2 same as 0$ but lo5er line )ets 5i#er.
Fiel# 4>+2 The color format contains the alpha channel$ too. 7AA33GGEE9 &ield 9: &ield K: 3ol#. This defines whether te't is bold (true) or not (false). (? is True, # is &alse. This is independant of the $talic attribute ( you can ha!e ha!e te't which is both bold and italic. %talic. This defines whether te't is italic (true) or not (false). (? is True, # is &alse. This is independant of the bold attribute ( you can ha!e ha!e te't which is both bold and italic.
Fiel# /.12 :n#erline. [>1 or 0] Fiel# /.22 Stri8eout. [>1 or 0] Fiel# /. 2 ScaleG. 0o#ifies the 5i#th of the font. [percent] Fiel# /.42 ScaleF. 0o#ifies the hei)ht of the font. [percent] Fiel# /.&2 Spacin). *1tra space bet5een characters. [pi1els]
Fiel# /.'2 An)le. The ori)in of the rotation is #efine# b! the ali)nment. ,an be a floatin) point number. [#e)rees] &ield ?#: &ield ??: &ield ?F: 3or#erSt!le. ?L7utline M drop shadow, >L7pa,ue bo' ;utline. $f 5orderStyle is ?, then this specifies the width of the outline around the te't, in pi'els. .alues may be #, ?, F, > or ". Sha#o5. $f 5orderStyle is ?, then this specifies the depth of the drop shadow behind the te't, in pi'els. .alues may be #, ?, F, > or ". 0rop shadow is always used in addition to an outline ( SSA will force an outline of ? pi'el if no outline width is gi!en. Ali)nment. This sets how te't is %Bustified% within the Neft/Eight onscreen margins, and also the !ertical placing. .alues may be ?LNeft, FL-entered, >LEight. Add " to the !alue for a %Toptitle%. Add 9 to the !alue for a %Aidtitle%. eg. H L left(Bustified toptitle
&ield ?>:
Fiel# 1 2 Ali)nment$ but after the la!out of the numpa# 71> sub$ 4>' mi#$ +>/ top9. &ield ?": 0ar)in@. This defines the Neft Aargin in pi'els. $t is the distance from the left(hand edge of the screen.The three onscreen margins (AarginN, AarginE, Aargin.) define areas in which the subtitle te't will be displayed. 0ar)inE. This defines the Eight Aargin in pi'els. $t is the distance from the ri)ht>han# edge of the screen. The three onscreen margins (AarginN, AarginE, Aargin.) define areas in which the subtitle te't will be displayed. 0ar)inI. This defines the !ertical Neft Aargin in pi'els. &or a subtitle, it is the distance from the bottom of the screen. &or a toptitle, it is the distance from the top of the screen. &or a mi#title, the !alue is ignored ( the te't will be !ertically centred Alpha@evel. This defines the transparency of the te't. SSA does not use this yet.
&ield ?H:
&ield ?I:
&ield ?J:
Fiel# 1+2 Jot present in ASS. &ield ?9: *nco#in). This specifies the font character set or encoding and on multi(lingual *indows installations it pro!ides access to characters used in multiple than one languages. $t is usually # (Oero) for /nglish (*estern, A=S$) *indows. Khen the file is :nico#e$ this fiel# is useful #urin) file format conversions.
Fiel# 12
&ield >:
&ield ":
&ield I:
&ield J:
&ield 9:
&ield K:
?Narao8e? means that the te't will be successi!ely highlighted one word at a time. Narao8e as an effect t!pe is obsolete. ?Scroll upH!1H!2H#ela![Hfa#ea5a!hei)ht]?means that the te't/picture will scroll up the screen. The parameters after the words %Scroll up% are separated by semicolons. The y? and yF !alues define a !ertical region on the screen in which the te't will scroll. The !alues are in pi'els, and it doesn't matter which !alue (top or bottom) comes first. $f the !alues are Oeroes then the te't will scroll up the full height of the screen. The delay !alue can be a number from ? to ?##, and it slows down the speed of the scrolling ( Oero means no delay and the scrolling will be as fast as possible. <3annerH#ela!= means that te't will be forced into a single line, regardless of length, and scrolled from right to left accross the screen. The delay !alue can be a number from ? to ?##, and it slows down the speed of the scrolling ( Oero means no delay and the scrolling will be as fast as possible. ?Scroll #o5nH!1H!2H#ela![Hfa#ea5a!hei)ht]? <3annerH#ela![Hlefttori)htHfa#ea5a!5i#th]= lefttori)ht 0 or 1. This fiel# is optional. (efault value is 0 to ma8e it bac85ar#s compatible. Khen #ela! is )reater than 0$ movin) one pi1el 5ill ta8e 710004#ela!9 secon#. 7KAEJ%JG2 Aver! @ee6s <subtitler= plu)in rea#s the <Scroll up= effect parameters as #ela!H!1H!29 fa#ea5a!hei)ht an# fa#ea5a!5i#th parameters can be use# to ma8e the scrollin) te1t at the si#es transparent. &ield ?#: Te1t Subtitle Te't. This is the actual te't which will be displayed as a subtitle onscreen. /!erything after the Kth comma is treated as the subtitle te't, so it can include commas. The te't can include <n codes which is a line brea , and can include Style 7!erride control codes, which appear between braces Q R.
LJ LbC# or ?D
LfscB1 or !CBpercentC B1 or !C 1 scales horiMontall!$ ! scales verticall! BpercentC LfspBpi1els C Bpi1elsC chan)es the #istance bet5een letters. 7#efault2 09
Lfr[B14!4MC]B#e)reesC B#e)reesC sets the rotation an)le aroun# the 14!4M a1is. Lfr #efaults to LfrM. LfeCcharsetD CcharsetD is a number specifying the character set (font encoding)
LcS"CbbggrrDS
CbbggrrD is a he'adecimal EG5 !alue, but in re!erse order. Neading Oeroes are not re,uired. e). OLcS"FFSPThis is pure$ full intensit! re# OLcS"FF00SPThis is pure$ full intensit! Green OLcS"FF0000SPThis is pure$ full intensit! 3lue OLcS"FFFFFFSPThis is Khite OLcS"A0A0ASPThis is #ar8 )re! L1cS"bb))rrS$ L2cS"bb))rrS$ L cS"bb))rrS$ L4cS"bb))rrS to set specific colors. L1aS"aaS$ L2aS"aaS$ L aS"aaS$ L4aS"aaS to set specific alpha channels. Lalpha #efaults to L1a
LaCalignmentD
CalignmentD is a number specifying the onscreen alignment/positioning of a subtitle. A !alue of ? specifies a left(Bustified subtitle A !alue of F specifies a centered subtitle A !alue of > specifies a right(Bustified subtitle Adding " to the !alue specifies a %Toptitle% Adding 9 to the !alue specifies a %Aidtitle% 0 or nothin) resets to the st!le #efault 75hich is usuall! 29 e). OLa1PThis is a left>Tustifie# subtitle OLa2PThis is a centere# subtitle OLa PThis is a ri)ht>Tustifie# subtitle OLa&PThis is a left>Tustifie# toptitle OLa11PThis is a ri)ht>Tustifie# mi#title ;nl! the first appearance counts.
LanBali)nmentC
L8CdurationD
CdurationD is the amount of time that each section of te't is highlighted for in a dialogue e!ent with the Sarao e effect. The durations are in hundredths of seconds. e). OL8/4PThis OL84-Pis OL824Pa OL81&0P8arao8e OL8/4Pline L8B#urationC hi)hli)ht b! 5or#s L8f or LNB#urationC fill up from left to ri)ht L8oB#urationC outline hi)hli)htin) from left to ri)ht
LRBnumC
Lr[Bst!leC] This cancels all pre!ious style o!errides in a line Bst!leC Eestores to Bst!leC instea# of the #ialo)ue line #efault. An! st!le mo#ifier follo5e# b! no reco)niMable parameter resets to the #efault.
Functions2
Lt7[Bt1C$ Bt2C$ ] [BaccelC$] Bst!le mo#ifiersC9 Bt1C$ Bt2C Animation be)innin)$ en#in) time offset [ms] 7optional9
BaccelC 0o#ifies the linearit! of the transformation 7optional9 The follo5in) calculation is performe# to )et the coefficient nee#e# to interpolate bet5een the )iven st!le mo#ifiers2 po577t>t1947t2>t19$ accel9$ 5here t is the time offset for the subtitle. The meanin) of BaccelC2 12 the transformation is linear bet5een 0 an# 12 5ill start fast an# slo5 #o5n )reater than 12 5ill start slo5 an# )et faster As an e1ample$ usin) 2 5ill ma8e )ro5in) the letters 7b! OLfsc1200Lfsc!200P9 loo8 linear rather than slo5erin). Bst!le mo#ifiersCAn! st!le mo#ifier 5hich can be animate#2 Lc$L1>4c$Lalpha$L1>4a$Lfs$Lfr$Lfsc1$Lfsc!$Lfsp$Lbor#$Lsha#$Lclip 7onl! the rectan)ular Lclip9 Lmove7B11C$ B!1C$ B12C$ B!2C[$ Bt1C$ Bt2C]9 B11C$ B!1C The coor#inate to start at. B12C$ B!2C The coor#inate to en# at. Bt1C$ Bt2C Animation be)innin)$ en#in) time offset [ms] 7optional9 The ori)in of the movement is #efine# b! the ali)nment t!pe. Lpos7B1C$ B!C9 Lor)7B1C$ B!C9 (efaults to Lmove7B1C$ B!C$ B1C$ B!C$ 0$ 09 0oves the #efault ori)in at 71$!9. This is useful 5hen movin) subtitles in the #irection of rotation.
KAEJ%JG2 Lt$ Lmove an# Lpos 5ill i)nore collusion #etection. Lfa#e7Ba1C$ Ba2C$ Ba C$ Bt1C$ Bt2C$ Bt C$ Bt4C9 Ba1C Alpha value before Bt1C Ba2C Alpha value bet5een Bt2C an# Bt C Ba C Alpha value after Bt4C Bt1C$ Bt4C Animation be)innin)$ en#in) time offset [ms] Bt1C > Bt2C Alpha value 5ill be interpolate# bet5een Ba1C an# Ba2C Bt2C > Bt C Alpha value 5ill be set to Ba2C Bt C > Bt4C Alpha value 5ill be interpolate# bet5een Ba2C an# Ba C Lfa#7Bt1C$ Bt2C9 Bt1C the time len)th of fa#in) in Bt2C the time len)th of fa#in) out
Lclip7B11C$ B!1C$ B12C$ B!2C9 ,lips an! #ra5in) outsi#e the rectan)le #efine# b! the parameters. Lclip7[BscaleC$] B#ra5in) comman#sC9 ,lippin) a)ainst #ra5n shapes. BscaleC has the same meanin) as in the case of LpBscaleC
(ra5in)s2
LpBscaleC BscaleC Turns on #ra5in) mo#e an# sets the ma)nification level of the coor#inates at the same time. Scale is interprete# as t5o to the po5er of 7BscaleC minus one9. For
e1ample OLp4P an# the coor#inate 7-$1'9 5ill mean the same as OLp1P an# 71$29. This feature can be useful for sub>pi1el accurac!. %f 0$ #ra5in) mo#e is turne# off an# the te1t is interprete# as usual. LpboB!C B!C baseline offset. 3! #efault an! #ra5in)s are positione# on the current baseline. Kith this value it is possible to move them up or #o5n b! B!C pi1els. 7up2 !B0$ #o5n2 !C09
(ra5in) comman#s2 m B1C B!C n B1C B!C l B1C B!C 0oves the cursor to B1C$ B!C 0oves the cursor to B1C$ B!C 7unclose# shapes 5ill be left open9 (ra5s a line to B1C$ B!C
b B11C B!1C B12C B!2C B1 C B! C r# #e)ree beMier curve to point s B11C B!1C B12C B!2C B1 C B! C .. B1JC B!JC r# #e)ree uniform b>spline to point J$ must contain at least p B1C B!C c e1ten# b>spline to B1C$ B!C close b>spline coor#inates usin) point 1 an# 2 as the control points
Thin)s !ou shoul# 8no52 ,omman#s must appear after OLp1+P an# before OLp0P. (ra5in)s must al5a!s start 5ith a move to comman#. (ra5in)s must form a close# shape. All unclose# shape 5ill be close# 5ith a strai)ht line automaticall!. ;verlappin) shapes in the (ialo)ue line 5ill be G;E>e# 5ith each>other. %f the same comman# follo5s another$ it isn6t nee#e# to 5rite its i#entifier letter a)ain$ onl! the coor#inates. The coor#inates are relative to the current cursor position 7baseline9 an# the ali)nment mo#e. ,omman#s p an# c shoul# onl! follo5 other b>spline comman#s. *1amples2 SRuare2 m 0 0 l 100 0 100 100 0 100 Eoun#e# sRuare2 m 0 0 s 100 0 100 100 0 100 c 7c eRuals to <p 0 0 100 0 100 100= in this case9 ,ircle 7almost92 m &0 0 b 100 0 100 100 &0 100 b 0 100 0 0 &0 0 7note that the 2n# Ub6 is optional here9 7e1cept for Lclip7..99