I&#39;ve been thinking on using an XML-like markup as a format to implement subtitles. XML is reasonable enough to be implemented by both media players and web browsers, and so leaves us with little problems regarding compatibility. My proposal takes most of the elements from ASSA (save for vectorial drawing, that can be done later or be replaced by dingbat fonts in the meanwhile) and renders them in a nifty and easy-to-read file by using markup. Right now I&#39;ve thought of three or four main markup segments: styles, karaoke-specialized styles, animation-specialized styles and, of course, the time divisions to insert the text.<br>

Here is my mock-up file, which I hope is as self-explanatory as I think.<br><br><span style="font-family: courier new,monospace;">&lt;subtitle name=&quot;Betatesting X c001&quot; creator=&quot;AnonIsLegion no Fansub&quot; date=&quot;2010/05/30&quot;&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;styledef&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;!-- rtl: right-to-left text; utd: up-to-down text; fontstyle=bold, italic, strike, and some others; clipstyle:per_line, per_block; rotations are in degrees --&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;style name=&quot;Kyoh&quot; fontsize=18 fontname=&quot;serif, DejaVu Sans, Arial Unicode MS&quot; fontxscale=100% fontyscale=150% rtl=false utd=false fontstyle=&quot;bold&quot; fontcolor=&quot;red&quot; fontalpha=100% outlinesize=1 outlinecolor=&quot;white&quot; outlinealpha=fontalpha karaokecolor=&quot;orange&quot; karaokealpha=75% karaokeoutlinecolor=karaokecolor karaokeoutlinealpha=karaokealpha karaokeoutlinesize=outlinesize karaokeoutlinealpha=karaokealpha shadowsize=1 shadowcolor=&quot;black&quot; shadowalpha=50% blursize=2 blurtype=&quot;square&quot; blurintensity=1 positionx=90% positiony=50% marginup=1 margindown=1 marginleft=2 marginright=2 rotationx=0 rotationy=0 rotationz=0 clipstyle=&quot;per_line&quot; clipup=0 clipdown=0 clipleft=0 clipright=0 /&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;style name=&quot;Kenji&quot; inherits=&quot;Kyoh&quot; fontcolor=&quot;blue&quot; /&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;karstyle name=&quot;kardefault&quot; start=0:00 end=0:00.1 karaokecolor=&quot;white&quot; karaokealpha=75% karaokeoutlinecolor=&quot;gray&quot; karaokeoutlinealpha=karaokealpha karaokeoutline size=outlinesize /&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;animation name=&quot;animdefault&quot;&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    &lt;!-- start and end times here are either absolute from the section start, or relative to the chronological order (default); ordering can be overriden using from=element_you_want_to_start_times_from --&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    &lt;animsection name=&quot;1&quot; order=&quot;absolute&quot; start=0:00 end=0:00.5 acceleration=100% accelerationtype=&quot;constant&quot;&gt; &lt;!-- accelerationtype: constant, exponential --&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        &lt;style positionx=90% positiony=50%&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    &lt;/animsection&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    &lt;animsection name=&quot;2&quot; from=&quot;1&quot; inherits=&quot;1&quot; start=0:00 end=0:00.5&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        &lt;style positionx=10% rotationz=180&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    &lt;/animsection&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/animation&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/styledef&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;defaultstyle setstyle=&quot;Kyoh&quot; setkarstyle=&quot;kardefault&quot; setanimstyle=&quot;animdefault&quot;&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;time start=0:00 end=0:00.001&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">A very brief line.&lt;br&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Above another very brief line.
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/time&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;time start=0:05 end=0:05.5&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;kar&gt;Ka&lt;/kar&gt;&lt;kar&gt;ra&lt;/kar&gt;&lt;kar&gt;&lt;style karaokecolor=&quot;red&quot;&gt;o&lt;/style&gt;&lt;/kar&gt;&lt;kar end=0:00.2&gt;ke!&lt;/kar&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/time&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;time start=0:07 end=0:08&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;animation name=&quot;animdefault&quot;&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">This text shall move.
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/animation&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;!-- TODO: Importing images and SVGs to be used in subtitles. In the meanwhile a good set of dingbat fonts should suffice. --&gt;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&lt;/subtitle&gt;</span><br>

<br clear="all">- Carlos Solís<br>