Manapság talán az egyik legelterjedtebb felirat formátum az Advanced Substation Alpha, röviden ASS. Az ASS feliratok a Substation Alphaból (SSA) nőttek ki, és rengeteg hasonlóságot mutatnak az SSA feliratok legutóbbi verziójához képest. ASS feliratok fő jellemzője, hogy lehetséges megszabni bennük a szöveg színét, nagyságát, helyzetét, és még számtalan tulajdonságát. Sokan kimondottan kedvelik az úgy nevezett formázott feliratokat (ASS és SSA), mivel azok külön hangulatot biztosítanak, és az animék rajzolt világához nagyon is illeszkednek. Sokan pedig nem szeretik őket, és valamelyik régebbi, tisztán szöveget tartalmazó felirat formátumra esküsznek.
Jelenleg készülget az ASS újabb verziója, de a közeljövőben nem várható haladás a témában. Az új verzió pár új formázó taget jelent és finomítja az időbélyegek felbontását.
ASS feliratok szövegfájlok. ASS esetén a karakterek kódolására UTF-8 ajánlott, de vannak olyan, ASS-t olvasni és feldolgozni képes programok, amik nem birkóznak meg az UTF-8 formátummal.
A szöveg sorokra osztódik, egyik szerkezeti egység sem lóghat át új sorba. A felirat fájl szekciókból áll. A szekciók nevét szögletes zárójelek közé rakjuk, és a szekció neve külön sorban szerepel. Minden sor, ami két szekciónév között szerepel, az a megelőző szekcióhoz tartozik. Szekciókon belül az információs sorokban az adatok vesszővel vannak elválasztva.
Az ASS-t feldolgozni képes programok a rosszul formázott sorokat figyelmen kívül hagyják, ezért a sorok formai kötöttsége és helyessége nagyon fontos.
A felirat fájlban több szekció is szerepelhet, ezek közül az általánosan használtak:
Nem használt szekciók:
Utóbbiakról nem ejtek szót, mivel elavultak. Fontokat nem szokás a felirat fájlba kódolni, manapság erre az MKV formátum tökéletesen alkalmas. Képek, grafikák és hasonló elemeket sem tárolunk már a felirat fájlban, ezeket legtöbbször magára a képre égetik.
Ebben a szekcióban találhatók a felirat fájllal kapcsolatos információk. Néhányuk csupán tájékoztató jellegű, míg néhányuk jelentősen befolyásolja a felirat megjelenését. Mivel az ASS motorok kihagynak minden olyan sort, amit nem ismernek fel, ezért elterjedt egyedi info sorok használata. Pl. az AegiSub ilyen info sorokban tárolja a felirathoz társított videó nevét, milyen pozíción volt megállítva legutóbb, és még pár adatot.
| ; (pontosvessző) | Megjegyzés sor. Minden ezután következő szöveg a sorban kihagyásra kerül. |
| Script Type | Ez mondja meg a felirat típusát. ASS feliratok esetén ez „V4.00+”. V4.00 volt a SSA ver4 feliratok verziószáma, a + jel jelöli a kiterjesztést (ASS). |
| Title | A felirat megnevezése. |
| Original Script | A felirat eredeti készítőjének neve. |
| Original Translation | A fordító neve. |
| Original Editing | A szerkesztő neve. |
| Original Timing | Az időzítő neve. |
| Synch Point | A videón belül hol kell elkezdődni a lejátszásnak. Nem használjuk. |
| Script Updated By | A feliratot módosító neve. |
| Update Details | A módosítások rövid felsorolása. |
| Collisions | Ez adja meg, hogy ha két feliratot egymásra kellene pozicionálni, akkor mi történjen, hogy ne takarják ki egymást. A lehetséges értékekről és az okozott viselkedésről lentebb olvasható leírás. |
| WrapStyle | Meghatározza, milyen módon kerüljön egy sor törésre, ha nem fér ki egy sorban a képernyőre. A lehetséges értékekről és az okozott viselkedésről lentebb olvasható leírás. |
| PlayResY | A megjelenítéskor használandó felbontás magasság értéke. Amennyiben nincs megadva sem a PlayResY, sem a PlayResX sor, akkor a megjelenítéshez a videó felbontását használja. A feliraton belül a pozicionáló utasítások a felirat felbontását használják az értékek értelmezéséhez. Ha mindkét sor meg van adva az info részben, akkor a feliratot akármilyen felbontású videóhoz csatolva a megfelelő szövegek a videó ugyanazon részén fognak megjelenni. Így lehetséges felbontásfüggetlenül feliratot készíteni. Abban az esetben, ha a videó felbontása, és a feliratban megadott felbontás nem egyezik meg, akkor a feliratokat a videó felbontására transzformálja. Ebből az következik, hogy egy nagyon kicsi felbontáshoz készült felirat egy nagy felbontású videón elmosódott és pixeles lehet, ha esetleg a két felbontás oldalaránya nem egyezik meg, akkor a betűk széthúzottak, elnyújtottak lehetnek, vagy amorfnak tűnhetnek. |
| PlayResX | A megjelenítéskor használandó felbontás szélesség értéke. |
| PlayDepth | A megjelenítéskor használandó színmélység. Nem használjuk. |
| Timer | Százalékosan megadható, hogy milyen sebességgel fusson a megjelenítő órája. 100.000 a 100%-ot jelenti, és eredeti sebességgel fog futni. 90.000 esetén az eredetinél lassabban fog ketyegni, ami azt jelenti, hogy a felirat hosszabb ideig fog tartani, elnyújtva. Nem használjuk. |
Collisons értékek és magyarázatuk:
WrapStyle értékek és magyarázatuk:
Ebben a szekcióban találhatók a felirathoz rendelt stílusok. Minden egyes stílust a neve azonosít. A neveket szabadon választhatjuk meg, de amennyiben a felirat egyik sora olyan stílusra hivatkozik, ami nem létezik, akkor a „Default” stílus kerül alkalmazásra (amennyiben létezik, ha nem, akkor minden megjelenítőben definiálva van egy alap stílus, és ez kerül használatra).
A stílusok az ASS feliratok alapja. Minden egyes stílus számtalan tulajdonságát határozza meg a megjelenítendő sornak, ezekről később bővebben szót ejtünk. Minden párbeszédsorhoz tartozik egy stílus, a sor megjelenítése ezen stílus tulajdonságai alapján kerül végrehajtásra. Amennyiben egy stílus olyan betűkészletre hivatkozik, ami nem található meg, akkor a legtöbb megjelenítő az Arial betűtípust szokta használni.
Minden V4+ Styles szekció két főbb részből áll, a Format sor és az az követő stílus sorok. A Format sor határozza meg, hogy az egyes stílus sorokban a felsorolt értékek mit is jelentenek. ASS esetén a Format sor tipikus alakja:
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding


| Name | A stílus neve |
| Fontname | Betűtípus neve |
| Fontsize | Betűméret |
| PrimaryColour | Elsődleges szín (lsd. később) |
| SecondaryColour | Elsődleges szín (lsd. később) |
| OutlineColour | Körvonal színe (lsd. később) |
| BackColour | Háttér/árnyék színe (lsd. később) |
| Bold | A felirat vastag betűs-e. -1, ha igen, 0, ha nem. |
| Italic | A felirat dőlt betűs-e. -1, ha igen, 0, ha nem. |
| Underline | A felirat aláhúzott-e. -1, ha igen, 0, ha nem. |
| StrikeOut | A felirat áthúzott-e. -1, ha igen, 0, ha nem. |
| ScaleX | Felirat nyújtása vízszintes irányban, százalékban megadva. |
| ScaleY | Felirat nyújtása függőleges irányban, százalékban megadva. |
| Spacing | Azt adja meg pixelekben, hogy a karakterek között hány pixel extra szünetet kell tartani. |
| Angle | Z tengely szerinti forgatása a feliratnak, fokokban megadva. |
| BorderStyle | A körvonal típusát adja meg. 1 esetén van körvonal és a felirat betűi árnyékot vetnek. 3 esetén egy szövegdoboz kerül a felirat köré, árnyék nincs. |
| Outline | Amennyiben van körvonal, ez adja meg a körvonal vastagságát, pixelekben. Lehetséges nem egész számok használata. |
| Shadow | Amennyiben a BorderStyle 1, akkor a betűk mögött megjelenő árnyék mélységét, távolságát határozza meg. Lehetséges nem egész számok használata. |
| Alignment | A felirat pozíciója. Konkrétabban azt határozza meg, hogy a felirat melyik része kerüljön a megfelelő pozícióba. Az értékek a NumPad szerint alakulnak: 8 van fenn középen, 3 jobb alul, 4 bal oldalt középen, és így tovább. |
| MarginL | A bal oldali margó értéke pixelekben. |
| MarginR | A jobb oldali margó értéke pixelekben. |
| MarginV | A függőleges margó értéke pixelekben. |
| Encoding | Karakterkódolás |
Egy stílushoz négy szín érték tartozik. Az elsődleges szín adja meg, hogy a felirat milyen színnel jelenjen meg. A körvonalnak is van saját színe, ahogy az árnyéknak is. A másodlagos szín az egyszerű feliratoknál nem számít, ez csak a karaoke készítésnél szól bele a megjelenítésbe. Amennyiben BorderStyle egy dobozt definiál, amiben a feliratnak kell megjelennie, abban az esetben a dobozt a körvonal színével tölti fel.
A stílus sorok abban különböznek az előző Format sortól, hogy a „Style:” jelölővel kezdődnek és a fenti kategóriákban az adott stílust meghatározó értékek szerepelnek. Pl.:
Style: Default, Arial,28,&H00B4FCFC,&H00B4FCFC,&H00000008,&H80000008,-1,0,0,0,100,100,0.00,0.00,1,1.00,2.00,2,30,30,30,0
Az Events szekció tartalmazza a párbeszédek sorait. A szekciót itt is egy „Format:” kezdetű, az egyes sorok értelmezéséhez használatos leíró sor kezdi. Ebben a sorban szereplő elemeknek kell minden egyes dialógus sorban szerepelnie, persze ott már végleges értékekkel kitöltve. A Format sor felépítése és az egyes elemek jelentése:
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
| Layer | A felirat rétegekhez rendelhetőek. A rétegek egymás felett helyezkednek el, és a felirat kerül feljebb, amelyik magasabb sorszámú rétegben helyezkedik el. Ez a sor adja meg a réteg sorszámát, alapból 0. |
| Start | A felirat megjelenésének időpontja. |
| End | A felirat eltűnésének időpontja. |
| Style | A felirat stílusa. |
| Name | A szereplő neve. Használata opcionális, bizonyos csapatok minden sornál feltüntetik, ki beszél éppen, segítheti a későbbi feldolgozást. |
| MarginL | A felirat megjelenítéséhez használt bal oldali behúzás. |
| MarginR | A felirat megjelenítéséhez használt jobb oldali behúzás. |
| MarginV | A felirat megjelenítéséhez használt függőleges behúzás. |
| Effect | Ebben a mezőben tetszőleges szöveg, vagy a háromféle effekt egyike helyezhető el. Az effektek részletezését lásd a táblázat után. |
| Text | A felirat szövege kerül ide. Mivel ez az utolsó mező a sorban, a felirat szövegében található további vesszők nem tagolják a Text mezőt. A szövegben elhelyezhetők formázó utasítások, bővebb információért lásd: ASS Formázó Utasítások. |
Az előre definiált effektek:
Scroll up/down;y1;y2;delay;fadeaway Scroll up;100;380;10;30
Banner;delay;lefttoright;fadeaway Banner;5;1;50
A Format sor után szerepelnek az egyes dialógus sorok, amikben a fent meghatározott mezőknél már konkrét értékek szerepelnek. Két fajta sort különböztetünk meg. A „Dialogue:” kezdetű sorok megjelenítésre kerülnek, míg a „Comment:” kezdetűek nem. A komment jellegű sorok felépítése ugyanaz, mint a dialógus jellegűeké. A következő példában mindkettőre láthatunk egy példát, a feliratok a Default stílust használják, mindkettő esetén meg van adva a szereplő neve, aki éppen beszél. Az első sor megjelenik, a szöveg a banner effektet használja. A második sor komment, így nem jelenik meg lejátszáskor.
Dialogue: 0,0:00:00.00,0:00:05.00,Default,Szereplő1,0000,0000,0000,Banner;5;1;50,test test test test test test test test Comment: 0,0:00:05.00,0:00:07.00,Default,Szereplő2,0000,0000,0000,,komment sor, ami nem látszik lejátszáskor
Az Event szekcióban további sor fajták is szerepelhetnek. Ezek a Picture, Sound, Movie, Command típusú sorok. Ezen sorok felépítése megegyezik a dialógus sorokéval (csak a sor elején a megfelelő név szerepel) és felirat helyett kép, hang, mozgókép lejátszásra használhatók, vagy parancsokat lehet futtatni. Ezek a mezők régen elavultak, és manapság már egyáltalán nem használjuk.
[Script Info] ScriptType: v4.00+ Title: ASS test file Original Script: ChME Original Translation: - Original Editing: - Original Timing: ChME Synch Point: - Script Updated By: - Update Details: - WrapStyle: 0 PlayResX: 640 PlayResY: 480 ScaledBorderAndShadow: yes Collisions: Normal [V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding Style: Default,Arial,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,20,20,20,0 Style: Sajat_stilus,Times New Roman,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,3,1,1,8,20,20,20,0 [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,Banner;5;1;50,test test test test test test test test Comment: 0,0:00:05.00,0:00:07.00,Sajat_stilus,,0000,0000,0000,,