KFX Guide – 02 – The ASS subtitle format

In this chapter, you’re going to get introduced to the ASS subtitle format, and every ASS tag.

I will make it clear now, that this is not a full-on “Aegisub guide,” it is assumed that you already know your way around Aegisub, at least in a sense that you can navigate the software.

If you have no experience with the software, google can probably help you with getting going, and you can always ask others for help.
The best place to ask help in is the GoodJob! Media Discord server.
Upon joining, you can ask an admin or a moderator to give you the “Subber role” and with that you can have access to subtitling specific channels. I recommend asking these kind of questions in the #typesetting channel.

With that out of the way, let’s go through how a line is constructed in the ASS format.
You can divide what’s inside a line into two basic parts.
Things that are in {curly brackets} and things that are outside of it. 

{This is in the brackets}This is out of the brackets

As you can see, only the text outside the brackets are visible on the video. 
We can place formatting tags and comments inside the brackets. 

\t(<time1[ms]>,<time2[ms]>,\tag<value>)

For total beginner, this tag might be a bit complicated as a first to be introduced to, but kfx-ing is more-or-less based on this tag, and it’ll make understanding the other tags easier later. \t is short for “transform”, as it can be used to transform between two values of one tag. It’s structure is

{\t(0,1000,\fs200)}

where 0 is the starting point of the transform, 1000 is the end point of the transform, both in milliseconds(1 second = 1000 milliseconds), \fs is our tag and 200 is it’s value.
In this configuration, it’ll transform the font size of our text to 200 in one second. 

In the above example, the original font size was 100.

\fs<number>

The tag \fs is short for “font size”. It specifies the height of the text in pixels.
It’s argument can be any number, integer or decimal. 
Be careful though, since fonts can have padding above and below them, so the font might not appear exactly as many pixels as you gave. It’s font dependent. 
You can have multiple \fs tags throughout your line, and the text after your tag will be what the tag applies to.
It can be animated by \t, as you can see in the above example. 

\fn<name>

\fn specifies the font, or typeface of our text.
Like
It cannot be animated by \t.

{\fnArial}Arial {\fnTimes New Roman}Times New Roman

You can have multiple \fn tags throughout your line, and the text after your tag will be affected by it.