Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ssa

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 20

Sub Station Alpha v4.

00+ Script Format


1. General information 2. The [sections] of a Sub Station Alpha 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 lines$ [*vents] section /. 0ovie event line$ [*vents] section 10. Soun# event lines$ [*vents] section 11. ,omman# event lines$ [*vents] section Appen#i1 A2 St!le overri#e co#es Appen#i1 32 *mbe##e# font4picture enco#in) This #ocument 5as SSA6s format specification ori)inall! 7can be foun# at http244555.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 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.

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 re,uired 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 main(screen 1grid4 is in this section. [Fonts] This section contains te't(encoded font files, if the user opted to embed non(standard 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: fontname2 Bname of fileC The word 1fontname4 must be in lower case (upper case will be interpretted as part of a te't(encoded 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 ma e up the font file. /ach line is 9# characters long, e'cept 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 te't(encoded graphic files, if the user opted to embed any pictures they used in the script. The binary picture files are te't(encoded, which is inefficient, but ensures that SSA scripts can still be handled by any te't editor, if re,uired. /ach graphic file is started with a single line in the format: filename2 Bname of fileC The word 1filename4 must be in lower case (upper case will be interpreted as part of a te't(encoded 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:<program files<Sub Station Alpha !".##<;ictures. SSA will attempt to load files using the paths specified in the script, but if they are not found, it will loo in the %;ictures% subdirectory for them. The fontname line is followed by lines of printable characters, fontrepresenting the binary !alues which ma e up the picture font file ( format is as per embedded font files.

. 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 ne't chapter. D2 Title2 ;ri)inal Script2 This is a comment used in the script file only. $t is not !isible when you load the script into SSA. This is a description of the script The original author(s) of the script

;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 .

.icture2 Soun#2 0ovie2 ,omman#2

4. "ea#er lines$ [Script %nfo] section


H Semicolon. Any te't 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 D2 line type used in pre!ious script !ersions. This is a description of the script. $f the original author(s) did not pro!ide this information then CuntitledD is automatically substituted. The original author(s) of the script. $f the original author(s) did not pro!ide this information then Cun nownD is automatically substituted.

Title2 ;ri)inal Script2

;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.

;ri)inal Timin)2 S!nch .oint2

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.

&. 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, (e'cept shadow/outline type and depth) can o!erridden by control codes in the subtitle te't. 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$ ScaleG$ ScaleF$ Spacin)$ An)le$ 3or#erSt!le$ ;utline$ Sha#o5$ Ali)nment$ 0ar)in@$ 0ar)inE$ 0ar)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 ?: &ield F: &ield >: &ield ": Jame. The name of the Style. -ase sensiti!e. -annot include commas. Fontname. The fontname as used by *indows. -ase(sensiti!e. FontsiMe. .rimar!,olour. A long integer 5GE (blue(green(red) !alue. ie. the byte order in the he'adecimal e,ui!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 (blue(green(red) !alue. ie. the byte order in the he'adecimal e,ui!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 (blue(green(red) !alue. ie. the byte order in the he'adecimal e,ui!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 (blue(green(red) !alue. ie. the byte order in the he'adecimal e,ui!elent of this number is 55GGEE.

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.

&. (ialo)ue event lines$ [*vents] section


These contain the subtitle te't, their timings, and how it should be displayed. The fields which appear in each 0ialogue line are defined by a Format2 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: 0ar8e#$ Start$ *n#$ St!le$ Jame$ 0ar)in@$ 0ar)inE$ 0ar)inI$ *ffect$ Te1t The last field will always be the Te't 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 ?: 0ar8e# Aar edL# means the line is not shown as %mar ed% in SSA. Aar edL? means the line is shown as %mar ed% in SSA. @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:Ains:Secs:hundredths. This is the time elapsed during script playbac at which the te't will appear onscreen. =ote that there is a sin)le digit for the hours+ *n# /nd Time of the /!ent, in #:##:##:## format ie. )rs:Ains:Secs:hundredths. This is the time elapsed during script playbac at which the te't will disappear offscreen. =ote that there is a sin)le digit for the hours+ 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 spea s the dialogue. $t is for information only, to ma e the script is easier to follow when editing/timing. 0ar)in@ "(figure Neft Aargin o!erride. The !alues are in pi'els. All Oeroes means the default margins defined by the style are used. 0ar)inE "(figure Eight Aargin o!erride. The !alues are in pi'els. All Oeroes means the default margins defined by the style are used. 0ar)inI "(figure 5ottom Aargin o!erride. The !alues are in pi'els. All Oeroes means the default margins defined by the style are used. *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 e'actly as shown. The effect names do not ha!e ,uote mar s around them.

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.

'. ,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 te't. The Style specified is ignored. The %scroll up% transition effect can be used for picture e!ents. The Neft and .ertical Aargin 7!errides specify the bottom(left 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 te't. 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.

/. 0ovie 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 te't. 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 Aargin 7!errides specify the T7;(N/&T corner position of the picture (unli e 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 e'ecute, instead of subtitle te't. The Style is ignored. The margins are ignored. Transition effects are ignored. The /nd time is also ignored ( the program will e'ecute until it ends, or is %manually% closed. There are also internal SSA comman#s 5hich can appear in SSA scripts > the ?SSA2.ause?$ <SSA2Kait for tri))er= comman# events$ an# )enloc8 control comman#s. These all be)in 5ith ?SSA2? The SSA:;ause command has the same effect as pressing %;% during script playbac . $t is useful as a second %synch point% to resume subtitling after switching sides of a laserdis . The 1SSA:*ait for audio trigger4 command has the same effect as pressing %;% during script playbac , but pausing is automatically cancelled if the audio input to the computer e'ceeds a specified 1trigger4 le!el. $t is useful as a second %synch point% to resume subtitling after switching sides of a laserdis . The audio triggering can be o!erridden to resume playbac ( by pressing %;%. Audio triggering %times out% after ?# minutes ( $f no audio pea of sufficient magnitude is recei!ed, and %;% is not pressed within ?# minutes ( then playbac will resume anyway.

Appen#i1 A2 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 e'cept the newline <n and <= codes. All o!erride codes are always preceded by a bac slash < Se!eral o!errides can be used within one set of braces. /ach o!erride affects all te't following the o!erride. To apply an o!erride only to selected te't, you need a second %cancelling% o!erride after the selected te't, to %undo% the effect of the first o!erride. Some o!errides automatically apply to ANN the te't ( currently this is Bust alignment o!errides, but more may be added later (eg. Shadow/outline depth o!errides). Ln =ew line (carriage return) <n is ignored by SSA if 1smart(wrapping4 is enabled e). This is the first lineLnan# this is the secon# =ew line (carriage return). This is used by SSA instead of <n if 1smart(wrapping4 is enabled. <b? ma es the te't bold. <b# forces non(bold te't. e). There is a OLb1Pbol# OLb0P5or# here Khen this parameter is )reater than 1$ it 5ill be use# as the 5ei)ht of the font. 7400 Q Jormal$ +00 Q 3ol#$ note2 most fonts 5ill RuantiMe to 2 or levels of thic8ness9 LiC# or ?D LuB0 or 1C LsB0 or 1C Lbor#B5i#thC Lsha#B#epthC LbeB0 or 1C LfnCfont nameD <i? ma es the te't italic. <i# forces non(italic te't. e). There is an OLi1Pitalicise# OLi0P5or# here un#erline stri8eout bor#er sha#o5 blur e#)es Cfont nameD specifies a font which you ha!e installed in *indows. This is case sensiti!e. e). "ere is some OLfn,ourier Je5Pfi1e# space te1t $f you use a font name that doesn't e'ist, then Arial will be used instead. LfsCfont siOeD Cfont siOeD is a number specifying a font point siOe. e). OLfs1'PThis is small te1t. OLfs2-PThis is lar)e te1t

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

numpa# la!out ;nl! the first appearance counts.

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

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.

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

Appen#i1 32 embe##e# font4picture enco#in)


SSA6s font and picture file embeddeding is a form of ::/ncoding. $t ta es a binary file, three bytes at a time, and con!erts the F"bits of those bytes into four I(bit 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 lower(case 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, e'cept the last one, which may be shorter. $f the length of the file being encoded is not an e'act multiple of >, then for odd(number filelengths, the last byte is multiplied by he'adecimal ?##, and the most significant ?F bits are con!erted to two characters as abo!e. &or e!en(number filelengths, the last two bytes are multiplied by he'adecimal ?####, 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.

You might also like