See the SSA4 script format documentation for better descriptions of these
overrides. Text escape characters, such as \n, are not processed inside
of style override sets.
DBCS support and brace escapes
==============================
Subtitler ignores open braces and backslashes in the second character
of text encoded using a double-byte character set (DBCS). This skip
is sensative to the font encoding currently in use, so in the dialogue
text
{\fe128}â\NOâ{â}{\fe0}â\NOâ{â}
the section using Shift-JIS (\fe128) decodes to three katakana glyphs
and two Latin letters, while the second gives two italic f's, an O,
a hard line break, and an illegal style override. (No, it doesn't
actually mean anything in Japanese. At least, I hope.) DBCS processing,
like escapes, are suspended inside style overrides, but you shouldn't
need to use any double-byte characters in them.
Windows 95/98 do not normally have the necessary fonts or routines to
support rendering DBCS text, but installing the appropriate language
pack from Internet Explorer will suffice. Japanese Language Support from
IE 5.01 has been tested to work under Windows 98, and Chinese and Korean
should work as well; you do not need to install the Input Method Editor
(IME) support. Under Windows 2000, you can install the appropriate
language support from the Regional Control Panel.
If you are using third-party DBCS support that hooks into the font
routines of a non-DBCS (SBCS) version of Windows, such as NJWIN, you will
probably need to manually escape trailing bytes that are open braces or
backslashes, because Windows won't know how to skip over the trail bytes
and the subtitler will process them. The above example would thus become:
{\fe128}â\\NOâ\{â\}{\fe0}â\NOâ{â}
This escaping is incompatible with both SSA and regular DBCS
processing, however.
Font encodings
==============
By default, ANSI_CHARSET encoding is used unless overridden with the encoding
setting in the style or with the {\fe} override. You will need to specify
a different code page if the character you want is not in the standard
printable 8-bit set. Some useful encodings are:
ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
HANGEUL_CHARSET 129
HANGUL_CHARSET 129
GB2312_CHARSET 134
CHINESEBIG5_CHARSET 136
OEM_CHARSET 255
Whether or not a given character set is available depends mainly on the font;
if you are running Windows NT/2000, Character Map can be used to check since
it supports Unicode on that platform. Arial in particular, supports a large
number of encodings. Note that a change in character set can result in a
change of font, if the current font doesn't support the encoding but another
font in the system does.
Double-check the subtitler's output if you are using a double-byte character
set (DBCS), such as Shift-JIS, since the word-wrapping hasn't been
extensively checked for DBCS compatibility although it should work fine.
Controlling word wrapping
=========================
Subtitler supports three modes for word wrapping:
* Manual mode (\q2):
No lines are broken unless either a soft break (\n) or hard break (\N) is
used.
* Automatic mode (\q1):
Lines are broken automatically at margins. Soft breaks are ignored but
hard breaks work. Automatic mode is recommended for text that is left-
justified.
* Smart mode (\q0):
Same as automatic mode except that the subtitler squeezes the margins as
far as possible without adding an extra line, so that the lines come out
more even. This mode is best used for centered text.
The default mode may be selected in the filter options, and can also be
controlled by the {\q} style override. However, only one wrapping mode can
be used per dialogue line -- it is not possible to use manual breaking on
one part and have the rest be automatic.
Space alignment
===============
Adding spaces at the beginning or end of dialogue lines or around \N's to
push text on-screen won't work with the filter, since it trims whitespace off
the ends of each processed line during word wrapping. If you must force
space at the ends, use nonbreakable spaces (\h or Alt-0160). Spaces are not
collapsed in the middle of a line.
Alignment overrides
===================
Alignment overrides {\a} are supported, but multiple \a's in the same dialogue
line should be avoided. The reason is that SSA4 interprets multiple alignment
overrides differently in its full-screen renderer than in its preview window.
As a result,
abc{\a3}def{\a1}
renders on the left in the script editor and on the right onto tape. Subtitler
imitates the full-screen renderer and always uses the first alignment override
it finds.
It is not possible to use two alignments in the same subtitle -- the entire
subtitle always uses one particular alignment.
Antialiasing
============
Subtitler antialiases all fonts by default at an 8x8 setting, i.e. it renders
*all* glyphs at eight times normal size and reduces it down. The result is
crisp, high-quality text. You can turn off font antialiasing by disabling the
advanced rasterizer, but beware that a number of features will stop working if
you disable it: borders will be forced to one pixel, scrolls and banners will
not work, and no shadows will be drawn.
Shadows and borders
===================
Shadows always render as dropshadows of the outline with 50% translucency;
borders render at a given circular radius from the text. Shadows and borders
antialias along with the text. Note that large borders should be avoided since
it is possible for borders to overlap text.
Although not recommended, the filter permits a border of size zero (0), and
will turn off the border in response.
Shadows and borders are always specified in absolute pixel values, regardless
of the PlayResY: tag. Otherwise, most shadows and borders from existing
scripts would be too small to be seen.
The *Default style problem
==========================
Asterisks are ignored at the beginning of style names, so the *Default style
is really the Default style.
Sub Station Alpha saves your default style in the script under the *Default
tag. However, its playback engine always interprets the Default style as
whatever style is default on your computer, not the Default style in the
script. Subtitler does not have access to the SSA settings and will use the
Default style actually in the script. Thus, if you attempt to use the script
on another computer it may be rendered differently by SSA and subtitler. To
fix this problem, rename the Default style in the .ssa file to force SSA to
use the style defined in the script or modify the script to match your SSA
settings.
In general, you should avoid using *Default, and define a custom style instead.
Karaoke
=======
Karaoke is the highlighting of text in response to a song, so that others can
sing along to it. Apply this feature with caution, since many people shouldn't
be allowed to sing in the first place.
Activate karaoke by specifying {\k} or {\K} style overrides in the text:
{\k50}This takes half a second {\K100}This takes a second
The number indicates the hundredths of seconds it should take to highlight the
text; {\k} snaps the text on like SSA, while {\K} gradually highlights from
the left. In both cases, text is changed from the secondary style color to
the active color, which is the primary style color unless overridden.
You do not need to ensure that the sum of the \k tags adds up to the event
length. If the total karaoke time is too short, the event will simply be
displayed fully highlighted for the remainder, and if it is too long, it is
cut off. The "Karaoke" event type in the dialogue line is also unnecessary,
so you may apply other events to the karaoke line if you wish and both effects
will take place.
A {\k0} or {\K0} tag acts as a brickwall to karaoke since it caps the end of
the last karaoke string and activates immediately to the primary color once
the time has passed. Subtitler tracks karaoke even in the same override, so
{\K50\K50} pauses for half a second and then runs the next string of text for
another half second.
Banner and scroll
=================
Text can be scrolled horizontally or upwards by making use of the Banner and
Scroll Up effects. These effects are specified in the effects portion of the
dialogue control line:
Dialogue: Marked=0,0:02:02.00,0:02:17.00,MainT,,0000,0000,0000,Banner;30,Text is fun. We like scrolling text.
Dialogue: Marked=0,0:02:02.00,0:02:17.00,MainT,,0000,0000,0000,Scroll Up;40;50;120,{\q1}You can scroll lots of text up this way. Personally, I find it a little annoying to have a lot of text coming up very slowly on screen, but it's a useful technique to have for credits and other long lists in tabular form.
The Banner effect scrolls text left from the right border and takes a single
argument, the speed of the scroll. Scroll Up takes three arguments, two
being top and bottom Y positions to define a window, and the third being
the speed. If the Y window is (0,0), the entire screen is used. In both
cases, the speed is five times the number of seconds the text should scroll
before just hitting the opposite border, so a speed of 40 means an 8-second
window. This is considerably different from SSA's interpretation of the
speed as a delay parameter, but it's also easier to use.
Animated effects are automatically excluded from collisions. They will never
move away from their designated path, nor will they cause other text to move.
This means you will need to take care not to overlay animations on top of
regular dialogue unless you specifically intend to do so.
NOTE: The SSA4 script format document says that the order of arguments for
Scroll Up is y1;y2;delay. This is incorrect. The proper order of
arguments is delay;y1;y2.
Fast reload
===========
The subtitler always reloads the script whenever it is reinitialized by
VirtualDub, which is at the beginning of any preview or save, and after some
menu commands (mostly those that change the filter chain or input video).
This means that you can edit the script in SSA or Notepad, and see the changes
in the next preview without having to modify any settings.
Using Sub Station Alpha in wave timing mode to time against AVI