Some text only subtitle formats (MicroDVD, Subrip) have got Non-Standard formatting options (bolding, italics, etc...) that many other media players or subtitle filters support. Currently VLC doesn't show any special formatting or hide formatting code with MicroDVD format, Subrip format output also has some issues (underlining looks wrong).
Micro DVD Player can display subtitles. It reads them from a text file that has a very simple structure. For each subtitle put one line in the file that looks the following way:
{First Frame}{Last Frame}Text
Important: For multi-CD movies, the subtitle file has to be identical on all CDs! It must always contain the whole movie, with continuous frame numbers. Do NOT start at frame 0 for each CD!
The subtitle can consist of five lines max., use the character | (pipe) as line separator. Last Frame can be empty if the subtitle is to be displayed until the next one is due.
The characters {, } and | can be redefined in the movie's INI file (see here for details).
The subtitles are - depending on the settings the user makes in the configuration dialog - displayed in the space between the top or bottom border of the video and the edge of the screen. If the available space is not sufficient, or the user forces it, the subtitles are displayed transparently over the movie.
A real-life example:
{6027}{6101}Can I have five tickets to Terrance|and Phillip's Asses of Fire, please?
{6125}{}No.
{6175}{}What do you mean, "no"?
{6211}{}Asses of Fire|has been rated "R"...
{6263}{}by the Motion Picture|Association of America.
{6314}{}You have to be accompanied|by a parent or guardian.
{6361}{}- But why?|- Because this movie|has naughty language!
{6420}{}- Next, please.|- [ Cash Register Rings ]
MDVDP supports control codes in the text part of subtitles. Control codes may appear anywhere in the subtitle line. Most of the codes are available in two forms: with a lower-case letter (then the code only applies to a single line of the subtitle) or with an upper-case letter (then all lines are affected, no matter in which line the codes occurs).
Currently the following control codes are available:
* {c:$bbggrr} You use this code to make each line of a subtitle have a different color. This is useful e.g. for distinguishing lines of different people talking in a dialog. bb, gg and rr are 2-digit hexadecimal numbers for the blue, green and red component of the color. 00 means the component is completely off, ff means it is at full intensity. Watch the inverted standard order! First blue, then green, then red. If there is no color control code in a subtitle line, then the user's default color (chosen in the configuration dialog) will be used. Note: You can also make the player automatically choose another color when a new person speaks in a subtitle. See here for details. An example: {6361}{}{c:$0000FF}- But why?|{c:$00FFFF}- Because this movie|has naughty language! Here the first line of the two lines in the subtitle would be displayed in full-intensity red, and the second in bright yellow. The same method for placing control codes can be applied to the other codes too!* {C:$bbggrr} Same as lower-case c, but for a whole subtitle.* {f:fontname} You set the font face for a single subtitle line with this code. Replace the fontname with a string determining the font name you wish to use.* {F:fontname} Same as lower-case f, but for a whole subtitle.* {s:size} This is used to set the font size for the whole subtitle. Replace the size with an integer number.* {S:size} Same as lower-case s, but for a whole subtitle.* {H:charset} With this you can set the charset for the font to use. You need this to e.g. tell the player that the chosen font has a greek, russian, hebrew etc. charset. Attention: This control code is only valid in the {DEFAULT} line (see below) !* {y:style} You use this to set the style (bold, italic, underline) for an individual line of a subtitle. Replace the style with a string containing one or more of the letters b, i and u, e.g. bi to make the line bold+italic, or i,u to make it italic-underline. You can use any separator you wish, all chars besides b, i and u are ignored.* {Y:style} Same as lower-case y, but for a whole subtitle.* {P:position} You can set the position of a subtitle using this code. Replace the position with either a 0 (above movie) or a 1 (below movie). There's logically only an upper-case version of this code.* {o:x-coordinate,y-coordinate} Using this code, you can place single lines of your subtitle anywhere freely on the movie. This is useful e.g. if you want to put a translation line under a foreign language sign that appears in the movie. Since the o code only affects one line, you can do this even while people talk, and other lines appear at their usual place, subtitling the dialog. Replace the x- and y-coordinate with integer numbers. The coordinates are relative to the upper left corner of the movie, and must refer to the original resolution, e.g. 720x480, not to fullscreen-stretched coordinates.
Important: You can set default values for a subtitle file (overriding the settings made by the user in the configuration dialog) by adding the following line somewhere to your subtitle file:
{DEFAULT}{}
Replace the with any number of control codes that are valid in individual subtitle entries. The control codes have to be the upper-case versions here! E.g. to make the subtitle file by default display in Arial, 18pt, bold+italic and below the movie, use this line:
{DEFAULT}{}{F:Arial}{S:18}{Y:b,i}{P:1}
The control code H is only valid in this DEFAULT line!