Sub Station Alpha v4.00+ v4.00+ Script Format 1. General information 2. The [sections] of a Sub Station Alpha script script . The line t!pes in a Sub Station Alpha script 4. "ea#er lines$ [Script %nfo] section &. St!le lines$ [v4 St!les] section '. (ialo)ue event lines$ [*vents] section . ,omment lines$ [*vents] section -. icture event event lines$ [*vents] section /. ovie event line$ [*vents] section 10. Soun# event lines$ [*vents] section 11. ,omman# event lines$ [*vents] section Appen#i A St!le overri#e co#es Appen#i 3 *mbe##e# fontpicture enco#in) This #ocument 5as SSA6s format specification ori)inall! 7can be foun# at http555.es5at.#emon.co.u89. :p#ates an# #ifferences are mar8e# re#.
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 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 tet files. This means they can be %manually% editied using any tet editor, but caution must be eercised 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
a ?line #escriptor? , to say what information is held in it. The descriptor is terminated by a colon. . The information information fiel#s in each line are separate# separate# b! a commas. This maes it illegal to use commas in character names and style names (SSA pre!ents you putting commas in these). $t also maes it uite easy to load chuns 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 #oes not care 5hat or#er or#er events events are entere# 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! %ncorrectl! formatte# formatte# lines are are i)nore#. 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 @ines canno cannott be split split ach entry in a script contains all its information in a single line. . %f un8no5n st!les st!les are use# use# in the script$ the (efault (efault st!le st!le 5ill be use#. &or eample, 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 specifies a font 5hich 5hich is not installe#$ installe#$ then Arial Arial 5ill be use# instea#. 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.
2. The sections in a Sub Station Alpha script [Script %nfo] This section contains headers and general information about the script. The line that says 12Script $nfo34 must be the first line in a !" script. [v4 St!les] This section contains all Style definitions reuired by the script. ach 1Style4 used by subtitles in the script should be defined here. ASS uses [v4 St!les+] [*vents] This section contains all the e!ents for the script all the subtitles, comments, pictures, sounds, mo!ies and commands. 5asically, e!erything that you see in Sub Station Alpha6s mainscreen 1grid4 is in this section. [Fonts] This section contains tetencoded font files, if the user opted to embed nonstandard fonts in the script. 7nly truetype fonts can be embedded in SSA scripts. ach font file is started with a single line in the format: fontname Bname of fileC The word 1fontname4 must be in lower case (upper case will be interpretted as part of a tetencoded file). Bname of fileC is the file name that SSA will use when sa!ing the font file. $t is: the name of the original truetype font, plus an underscore, plus an optional 154 if 5old, plus an optional 1$4 if $talic, plus a number specifying the font encoding (character set), plus 1.ttf4 g. fontname: chaucer85#.ttf fontname: comic8#.ttf The fontname line is followed by lines of printable characters, representing the binary !alues which mae up the font file. ach line is 9# characters long, ecept the last one which may be less. The con!ersion from binary to printable characters is a form of uencoding, the details of this encoding is contained in %Appendi 5%, below. [Graphics] This sections contains tetencoded graphic files, if the user opted to embed any pictures they used in the script. The binary picture files are tetencoded, which is inefficient, but ensures that SSA scripts can still be handled by any tet editor, if reuired. ach graphic file is started with a single line in the format: filename Bname of fileC The word 1filename4 must be in lower case (upper case will be interpreted as part of a tetencoded file). Bname of fileC is the file name that SSA will use when sa!ing the picture file. $t will match the filename of a picture used in the script. SSA sa!es any files found in the script in a subdirectory off SSA's program directory, %;ictures% eg. c:
. The line t!pes in a Sub Station Alpha script This briefly describes each of the line types that can appear in a Sub Station Alpha Script. &ull details of the information held in each line type is in the net chapter. D
This is a comment used in the script file only. $t is not !isible when you load the script into SSA.
Title
This is a description of the script
;ri)inal Script
The original author(s) of the script
;ri)inal Translation (optional) The original translator of the dialogue ;ri)inal *#itin)
(optional) The original script editor(s), typically whoe!er too the raw translation and turned it into idiomatic english and reworded for readability.
;ri)inal Timin)
(optional) *hoe!er timed the original script
S!nch oint
(optional) 0escription of where in the !ideo the script should begin playbac.
Script :p#ate# 3! (optional) =ames of any other subtitling groups who edited the original script. :p#ate (etails
The details of any updates to the original script made by other subtilting groups.
ScriptT!pe
This is the SSA script format !ersion eg. %>.##%.
,ollisions
This determines how subtitles are mo!ed, when pre!enting onscreen collisions
la!Ees
This is the height of the screen used by the authors when playing the script.
la!Ees
This is the width of the screen used by the authors when playing the script.
la!(epth
This is the colour depth used by the authors when playing the script.
Timer
This is the Timer Speed for the script, as a percentage. eg. %?##.####% is eactly ?##@. The timer speed is a time multiplier applied to SSA's cloc to pro!ide a ramp time.
St!le
This is a Style definition, used to format tet displayed by the script.
(ialo)ue
This is a 0ialogue e!ent, ie. Some tet to display.
,omment
This is a %comment% e!ent. This contains the same information as a 0ialogue, ;icture, Sound, o!ie, or -ommand e!ent, but it is ignored during script playbac.
icture
This is a %picture% e!ent, which means SSA will display the specified .bmp, .Bpg, .gif, .ico or .wmf graphic.
Soun#
This is a %sound% e!ent, which means SSA will play the specified .wa! file.
ovie
This is a %mo!ie% e!ent, which means SSA will play the specified .a!i file.
,omman#
This is a %command% e!ent, which means SSA will eecute the specified program as a bacground tas.
4. "ea#er lines$ [Script %nfo] section H
Semicolon. Any tet can follow the semicolon This is a comment used in the script file only. $t is not !isible when you load the script into SSA. The semicolon must be the first character in the line. This replaces the D line type used in pre!ious script !ersions.
Title
This is a description of the script. $f the original author(s) did not pro!ide this information then CuntitledD is automatically substituted.
;ri)inal Script
The original author(s) of the script. $f the original author(s) did not pro!ide this information then CunnownD is automatically substituted.
;ri)inal Translation (optional) The original translator of the dialogue. This entry does not appear if no information was entered by the author. ;ri)inal *#itin)
(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.
;ri)inal Timin)
(optional) *hoe!er timed the original script. This entry does not appear if no information was entered by the author.
S!nch oint
(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! (optional) =ames of any other subtitling groups who edited the original script. This entry does not appear if subseuent editors did not enter the information. :p#ate (etails
The details of any updates to the original script made by other subtitling groups. This entry does not appear if subseuent editors did not enter any information.
Script T!pe
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
,ollisions
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 mae room for subseuent o!erlapping subtitles. This means the subtitles can nearly always be read topdown but it also means that the first subtitle can appear half way up the screen before the subseuent o!erlapping subtitles appear. $t can use a lot of screen area.
la!Ees
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.
la!Ees
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.
la!(epth
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.
Timer
This is the Timer Speed for the script, as a percentage.
eg. %?##.####% is eactly ?##@. $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 (lie 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!le
(efines the #efault 5rappin) st!le. 0 smart 5rappin)$ lines are evenl! bro8en 1 en#>of>line 5or# 5rappin)$ onl! LJ brea8s 2 no 5or# 5rappin)$ Ln LJ both brea8s same as 0$ but lo5er line )ets 5i#er.
&. St!le @ines$ [v4+ St!les] section Styles define the appearance and position of subtitles. All styles used by the script are are defined by a Style line in the script. Any of the the settings in the Style, (ecept shadow/outline type and depth) can o!erridden by control codes in the subtitle tet. The fields which appear in each Style definition line are named in a special line with the line type 1&ormat:4. The &ormat line must appear before any Styles because it defines how SSA will interpret the Style definition lines. The field names listed in the format line must be correctly spelled+ The fields are as follows: Jame$ Fontname$ FontsiMe$ rimar!,olour$ Secon#ar!,olour$ Tertiar!,olour$ 3ac8,olour$ 3ol#$ %talic$ :n#erline$ Stri8e;ut$ Scale$ Scale$ Spacin)$ An)le$ 3or#erSt!le$ ;utline$ Sha#o5$ Ali)nment$ ar)in@$ ar)inE$ ar)inI$ Alpha@evel$ *nco#in) The format line allows new fields to be added to the script format in future, and yet allow old !ersions of the software to read the fields it recognises e!en if the field order is changed. &ield ?:
Jame. The name of the Style. -ase sensiti!e. -annot include commas.
&ield F:
Fontname. The fontname as used by *indows. -asesensiti!e.
&ield >:
FontsiMe.
&ield ":
rimar!,olour. A long integer 5GE (bluegreenred) !alue. ie. the byte order in the headecimal eui!elent of this number is 55GGEE This is the colour that a subtitle will normally appear in.
&ield H:
Secon#ar!,olour. A long integer 5GE (bluegreenred) !alue. ie. the byte order in the headecimal eui!elent of this number is 55GGEE This colour may be used instead of the ;rimary colour when a subtitle is automatically shifted to pre!ent an onscreen collsion, to distinguish the different subtitles.
&ield I:
;utline,olor 7Tertiar!,olour ). A long integer 5GE (bluegreenred) !alue. ie. the byte order in the headecimal eui!elent of this number is 55GGEE This colour may be used instead of the ;rimary or Secondary colour when a subtitle is automatically shifted to pre!ent an onscreen collsion, to distinguish the different subtitles.
&ield J:
3ac8,olour . This is the colour of the subtitle outline or shadow, if these are used. A long integer 5GE (bluegreenred) !alue. ie. the byte order in the headecimal eui!elent of this number is 55GGEE.
Fiel# 4> The color format contains the alpha channel$ too. 7AA33GGEE9 &ield 9:
3ol#. This defines whether tet is bold (true) or not (false). ? is True, # is &alse. This is independant of the $talic attribute you can ha!e ha!e tet which is both bold and italic.
&ield K:
%talic. This defines whether tet is italic (true) or not (false). ? is True, # is &alse. This is independant of the bold attribute you can ha!e ha!e tet which is both bold and italic.
Fiel# /.1 :n#erline. [>1 or 0] Fiel# /.2 Stri8eout. [>1 or 0] Fiel# /. Scale. o#ifies the 5i#th of the font. [percent] Fiel# /.4 Scale. o#ifies the hei)ht of the font. [percent] Fiel# /.& Spacin). *tra space bet5een characters. [piels]
Fiel# /.' An)le. The ori)in of the rotation is #efine# b! the ali)nment. ,an be a floatin) point number. [#e)rees] &ield ?#:
3or#erSt!le. ?L7utline M drop shadow, >L7paue bo
&ield ??:
;utline. $f 5orderStyle is ?, then this specifies the width of the outline around the tet, in piels. alues may be #, ?, F, > or ".
&ield ?F:
Sha#o5. $f 5orderStyle is ?, then this specifies the depth of the drop shadow behind the tet, in piels. alues may be #, ?, F, > or ". 0rop shadow is always used in addition to an outline SSA will force an outline of ? piel if no outline width is gi!en.
&ield ?>:
Ali)nment. This sets how tet 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 %idtitle%. eg. H L leftBustified toptitle
Fiel# 1 Ali)nment$ but after the la!out of the numpa# 71> sub$ 4>' mi#$ >/ top9. &ield ?":
ar)in@. This defines the Neft argin in piels. $t is the distance from the lefthand edge of the screen.The three onscreen margins (arginN, arginE, argin) define areas in which the subtitle tet will be displayed.
&ield ?H:
ar)inE. This defines the Eight argin in piels. $t is the distance from the ri)ht>han# edge of the screen. The three onscreen margins (arginN, arginE, argin) define areas in which the subtitle tet will be displayed.
&ield ?I:
ar)inI. This defines the !ertical Neft argin in piels. &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 tet will be !ertically centred
&ield ?J:
Alpha@evel. This defines the transparency of the tet. SSA does not use this yet.
Fiel# 1 Jot present in ASS. &ield ?9:
*nco#in). This specifies the font character set or encoding and on multilingual *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.
&. (ialo)ue event lines$ [*vents] section These contain the subtitle tet, their timings, and how it should be displayed. The fields which appear in each 0ialogue line are defined by a Format line, which must appear before any e!ents in the section. The format line specifies how SSA will interpret all following !ent lines. The field names must be spelled correctly, and are as follows: ar8e#$ Start$ *n#$ St!le$ Jame$ ar)in@$ ar)inE$ ar)inI$ *ffect$ Tet The last field will always be the Tet field, so that it can contain commas. The format line allows new fields to be added to the script format in future, and yet allow old !ersions of the software to read the fields it recognises e!en if the field order is changed. &ield ?:
ar8e# aredL# means the line is not shown as %mared% in SSA. aredL? means the line is shown as %mared% in SSA.
Fiel# 1
@a!er 7an! inte)er9 Subtitles havin) #ifferent la!er number 5ill be i)nore# #urin) the collusion #etection. "i)her numbere# la!ers 5ill be #ra5n over the lo5er numbere#.
&ield F:
Start Start Time of the !ent, in #:##:##:## format ie. rs:ins:Secs:hundredths. This is the time elapsed during script playbac at which the tet will appear onscreen. =ote that there is a sin)le digit for the hours+
&ield >:
*n# nd Time of the !ent, in #:##:##:## format ie. rs:ins:Secs:hundredths. This is the time elapsed during script playbac at which the tet will disappear offscreen. =ote that there is a sin)le digit for the hours+
&ield ":
St!le Style name. $f it is %0efault%, then your o5n P0efault style will be subtituted. owe!er, the 0efault style used by the script author $S stored in the script e!en though SSA ignores it so if you want to use it, the information is there you could e!en change the =ame in the Style definition line, so that it will appear in the list of %script% styles.
&ield H:
Jame -haracter name. This is the name of the character who speas the dialogue. $t is for information only, to mae the script is easier to follow when editing/timing.
&ield I:
ar)in@ "figure Neft argin o!erride. The !alues are in piels. All Oeroes means the default margins defined by the style are used.
&ield J:
ar)inE "figure Eight argin o!erride. The !alues are in piels. All Oeroes means the default margins defined by the style are used.
&ield 9:
ar)inI "figure 5ottom argin o!erride. The !alues are in piels. All Oeroes means the default margins defined by the style are used.
&ield K:
*ffect Transition ffect. This is either empty, or contains information for one of the three transition effects implemented in SSA !". The effect names are case sensiti!e and must appear eactly as shown. The effect names do not ha!e uote mars around them.
?Narao8e? means that the tet 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 tet/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 tet will scroll. The !alues are in piels, and it doesn't matter which !alue (top or bottom) comes first. $f the !alues are Oeroes then the tet 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 tet 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 piel 5ill ta8e 71000#ela!9 secon#. 7KAEJ%JG Aver! @ee6s
&ield ?#:
Tet Subtitle Tet. This is the actual tet which will be displayed as a subtitle onscreen. !erything after the Kth comma is treated as the subtitle tet, so it can include commas. The tet can include
'. ,omment event lines$ [*vents] section These can contain the same information as any of the other e!ent line types, but they will be ignored when the script is played.
. icture event lines$ [*vents] section These contain the same information as 0ialogue e!ents, but &ield ?# contains the full path and filename of the picture to display, instead of subtitle tet. The Style specified is ignored. The %scroll up% transition effect can be used for picture e!ents. The Neft and ertical argin 7!errides specify the bottomleft corner position of the picture. A left margin of all Oeroes means that the picture will be horiOontally centered. A !ertical margin of all Oeroes means that the picture will be !ertically centered.
-. Soun# event lines$ [*vents] section These contain the same information as 0ialogue e!ents, but &ield ?# contains the full path and filename of the wa! file to play, instead of subtitle tet. The Style and margins are ignored. The nd time is also ignored the wa! will play until it finishes, or until another wa! file is played. $f an a!i mo!ie is played at the same time as a wa! is already playing, then any sound in the a!i will not be heard. Similarly, if a wa! starts playing when an a!i mo!ie with sound is already playing then the wa! will not be heard.
/. ovie event lines$ [*vents] section These contain the same information as 0ialogue e!ents, but &ield ?# contains the full path and filename of the a!i file to play, instead of subtitle tet. The Style is ignored. Transition effects are ignored. The nd time specifies when the mo!ie picture will disappear but if th ea!i file lasts longer, then the sound will continue to be heard. The Neft and !ertical argin 7!errides specify the T7;N&T corner position of the picture (unlie picture e!ents). A left margin of all Oeroes means that the picture will be horiOontally centered. a !ertical margin of all Oeroes means that the picture will be !erticall centered. $f an a!i mo!ie is played at the same time as a wa! is already playing, then any sound in the a!i will not be heard. Similarly, if a wa! starts playing when an a!i mo!ie with sound is already playing then the wa! will not be heard.
10. ,omman# event lines$ [*vents] section These contain the same information as 0ialogue e!ents, but &ield ?# contains the full path and filename of the program to eecute, instead of subtitle tet. The Style is ignored. The margins are ignored. Transition effects are ignored. The nd time is also ignored the program will eecute until it ends, or is %manually% closed. There are also internal SSA comman#s 5hich can appear in SSA scripts > the ?SSAause?$
Appen#i A St!le overri#e co#es This is a reference which may be useful for those of you who wish to learn the style o!erride codes, so you can type them in manually without using the %o!erride style% dialogue bo. All 7!erride codes appear within braces Q R ecept the newline
=ew line (carriage return)
LJ
=ew line (carriage return). This is used by SSA instead of
LbC# or ?D
LiC# or ?D
LuB0 or 1C
un#erline
LsB0 or 1C
stri8eout
Lbor#B5i#thC
bor#er
Lsha#B#epthC
sha#o5
LbeB0 or 1C
blur e#)es
LfnCfont nameD
Cfont nameD specifies a font which you ha!e installed in *indows. This is case sensiti!e. e). "ere is some OLfn,ourier Je5Pfie# space tet $f you use a font name that doesn't eist, then Arial will be used instead.
LfsCfont siOeD
Cfont siOeD is a number specifying a font point siOe. e). OLfs1'PThis is small tet. OLfs2-PThis is lar)e tet
LfscB or !CBpercentC B or !C scales horiMontall!$ ! scales verticall! BpercentC LfspBpiels C
BpielsC chan)es the #istance bet5een letters. 7#efault 09
Lfr[B!MC]B#e)reesC B#e)reesC sets the rotation an)le aroun# the !M ais. Lfr #efaults to LfrM. LfeCcharsetD
CcharsetD is a number specifying the character set (font encoding)
Lc"CbbggrrD
CbbggrrD is a headecimal EG5 !alue, but in re!erse order. Neading Oeroes are not reuired. e). OLc"FFPThis is pure$ full intensit! re# OLc"FF00PThis is pure$ full intensit! Green OLc"FF0000PThis is pure$ full intensit! 3lue OLc"FFFFFFPThis is Khite OLc"A0A0APThis is #ar8 )re! L1c"bb))rr$ L2c"bb))rr$ Lc"bb))rr$ L4c"bb))rr to set specific colors. L1a"aa$ L2a"aa$ La"aa$ L4a"aa 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 leftBustified subtitle A !alue of F specifies a centered subtitle A !alue of > specifies a rightBustified subtitle Adding " to the !alue specifies a %Toptitle% Adding 9 to the !alue specifies a %idtitle% 0 or nothin) resets to the st!le #efault 75hich is usuall! 29 e). OLa1PThis is a left>ustifie# subtitle OLa2PThis is a centere# subtitle OLaPThis is a ri)ht>ustifie# subtitle OLa&PThis is a left>ustifie# toptitle OLa11PThis is a ri)ht>ustifie# mi#title ;nl! the first appearance counts.
LanBali)nmentC
numpa# la!out ;nl! the first appearance counts.
L8CdurationD
CdurationD is the amount of time that each section of tet is highlighted for in a dialogue e!ent with the araoe 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
BnumC 5rappin) st!le
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.
Functions Lt7[Bt1C$ Bt2C$ ] [BaccelC$] Bst!le mo#ifiersC9 Bt1C$ Bt2C Animation be)innin)$ en#in) time offset [ms] 7optional9
BaccelC o#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#ifiers po577t>t197t2>t19$ accel9$ 5here t is the time offset for the subtitle. The meanin) of BaccelC 1 the transformation is linear bet5een 0 an# 1 5ill start fast an# slo5 #o5n )reater than 1 5ill start slo5 an# )et faster As an eample$ usin) 2 5ill ma8e )ro5in) the letters 7b! OLfsc200Lfsc!200P9 loo8 linear rather than slo5erin). Bst!le mo#ifiersCAn! st!le mo#ifier 5hich can be animate# Lc$L1>4c$Lalpha$L1>4a$Lfs$Lfr$Lfsc$Lfsc!$Lfsp$Lbor#$Lsha#$Lclip 7onl! the rectan)ular Lclip9 Lmove7B1C$ B!1C$ B2C$ B!2C[$ Bt1C$ Bt2C]9 B1C$ B!1C The coor#inate to start at. B2C$ 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. Lpos7BC$ B!C9
(efaults to Lmove7BC$ B!C$ BC$ B!C$ 0$ 09
Lor)7BC$ B!C9
oves the #efault ori)in at 7$!9. This is useful 5hen movin) subtitles in the #irection of rotation.
KAEJ%JG Lt$ Lmove an# Lpos 5ill i)nore collusion #etection. Lfa#e7Ba1C$ Ba2C$ BaC$ Bt1C$ Bt2C$ BtC$ Bt4C9 Ba1C Alpha value before Bt1C Ba2C Alpha value bet5een Bt2C an# BtC BaC 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 > BtC Alpha value 5ill be set to Ba2C BtC > Bt4C Alpha value 5ill be interpolate# bet5een Ba2C an# BaC Lfa#7Bt1C$ Bt2C9
Bt1C the time len)th of fa#in) in Bt2C the time len)th of fa#in) out
Lclip7B1C$ B!1C$ B2C$ 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)s 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
eample OLp4P an# the coor#inate 7-$1'9 5ill mean the same as OLp1P an# 71$29. This feature can be useful for sub>piel accurac!. %f 0$ #ra5in) mo#e is turne# off an# the tet 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 piels. 7up !B0$ #o5n !C09
(ra5in) comman#s m BC B!C
oves the cursor to BC$ B!C
n BC B!C
oves the cursor to BC$ B!C 7unclose# shapes 5ill be left open9
l BC B!C
(ra5s a line to BC$ B!C
b B1C B!1C B2C B!2C BC B!C r# #e)ree beMier curve to point usin) point 1 an# 2 as the control points s B1C B!1C B2C B!2C BC B!C .. BJC B!JC r# #e)ree uniform b>spline to point J$ must contain at least coor#inates p BC B!C
eten# b>spline to BC$ B!C
c
close b>spline
Thin)s !ou shoul# 8no5 ,omman#s must appear after OLp1+P an# before OLp0P.
7ecept for Lclip7..99
(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 ;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. *amples SRuare m 0 0 l 100 0 100 100 0 100 Eoun#e# sRuare m 0 0 s 100 0 100 100 0 100 c 7c eRuals to
Appen#i 3 embe##e# fontpicture enco#in) SSA6s font and picture file embeddeding is a form of ncoding. $t taes a binary file, three bytes at a time, and con!erts the F"bits of those bytes into four Ibit numbers. >> is added to each of these four numbers, and the corresponding ascii character for each number is written into the script file. The offset of >> means that lowercase characters cannot appear in the encoded output, and this is why the 1filename4 lines are always lower case. ach line of an encoded file is 9# characters long, ecept the last one, which may be shorter. $f the length of the file being encoded is not an eact multiple of >, then for oddnumber filelengths, the last byte is multiplied by headecimal ?##, and the most significant ?F bits are con!erted to two characters as abo!e. &or e!ennumber filelengths, the last two bytes are multiplied by headecimal ?####, and the most significant ?9 bits are con!erted to three characters as abo!e. There is no terminating code for the embedded files. $f a new 2section3 starts in the script, or if another filename line is found, or the end of the script file is reached then the file is considered complete.