SubRip (.SRT) subtitles support in players

Tested on Windows XP SP3 only Media Player Classic
6.4.9.0
ANSI & UNICODE
Media Player Classic
6.4.9.1 rev. 86
2008-11-15 UNICODE
MPC HomeCinema
1.3.1458.0
32 bit
VLC 0.8.6i VLC 1.0.3 VLC 1.0.5
2010-01-17
0202 Nightly
VLC 1.1.0
2010-01-24
0002 Nightly
The KMPlayer
2.9.4.1435
The KMPlayer
2.9.3.1432 R2
Beta
BS.Player
2.30.970
MPlayer
1.0rc2 GUI
DirectVobSub
2.39
[a]
ffdshow [a]
rev. 2364
Windows Media Player
Hide hidden data Yes Yes Yes Yes Yes Yes Yes No Yes Yes It doesn't support
SubRip subtitles
Font color 99% Yes [5] 99% Yes [5] 99% Yes [5] No Yes Yes Yes Yes Yes No No 99% Yes [5] Yes
Font face Yes Yes 9/9 No No No Broken [7] 8/9 [11] No No Yes Yes
Font size Yes Yes Yes No Yes Yes Yes No No No No Yes Yes
Unicode Yes Yes Yes Partial Partial [BUG] Partial [BUG] Partial [BUG] 99% Yes [0] Partial Yes No Yes Yes
A html tag inside another html tag Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes N/A Yes Yes
Font tag with many parameters Yes Yes Yes N/A Yes Yes Yes N/A N/A N/A N/A Yes Yes
Parameters in a INCORRECT way [*] Yes Yes Yes N/A Yes Yes Yes Yes Yes N/A N/A Yes Partial
Bold Yes Yes Yes No No No Yes Yes Yes Yes No Yes Yes
Italics Yes Yes Yes No No No Yes Yes Yes Yes No Yes Yes
Underline Yes Yes Yes No Yes Yes Yes Yes Yes Yes No Yes Yes
Strikethrough Yes Yes No No Yes No No
Html tags on more than one line Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes N/A Yes Yes
Hide closed html tags [F2] No No No Partial Yes Yes Yes Yes Yes No Yes No No
Don't hide html tags NOT opened [F2] Partial No [BUG] No [BUG] No [BUG] No
Support valid html tags NOT closed [F2] Yes Broken [BUG] Broken [BUG] Broken [BUG] N/A
Don't hide invalid html tags NOT closed [F2] Yes Yes Yes No Broken [BUG] Broken [BUG] Broken [BUG] No No Yes No Yes Yes
Display without problems these chars: < > [**] Yes Yes Yes No 99% Yes 99% Yes [8] 99% Yes [8] No No Yes No Yes Yes
Support for "display coordinates" [F1] No No No No No No No No, very bad [1] No, very bad [1] No No No No
Support for {\anX} Yes Yes Yes No Yes Yes Yes No No No No Yes No
Display correctly this special case [***] No No No N/A Yes Yes Yes Yes N/A N/A N/A No No
Display correctly overlapped subtitles Yes Yes Yes No Yes Yes Yes Bugged Bugged No No 99% Yes [2] Different
implement.
Hide these tags: {\some_letters_or_numbers_or_chars} Yes Yes Yes No Yes Yes Yes Yes Yes No No Yes No
Hide these tags: {Y:some_letters_or_numbers_or_chars} Yes Yes No Yes Yes Yes No
Show this: {normal text} No No Yes Yes Yes No Yes
Show this: \text Yes Yes Yes Yes Yes
Display correctly a large not-breakable line Yes No [6] [BUG] No [6] [BUG] No [6] [BUG] Partial [10]
Hard space: \h Yes Yes No Yes Yes No No
Forced line break: \N Yes Yes No Yes Yes Yes No
Trim spaces at the start and at the end of the line Yes No No No No
Accept dots instead of commas in timestamps [F3] Yes Yes Yes Yes Yes
Points 8.5/18 8/19 1/19 16.8/20 15.25/25 -1/31
Bugs detected by SubRip subtitles bug tester 0/5 0/5 0/5 2/5 [B1] 0/5 0/5 0/5 1/5 [B2] 0/5 0/5 0/5 N/A
Read subs inside a OpenDML AVI (GAB2) Yes [4] Yes Yes No No No Yes Broken [9] [BUG] No No Yes [3] Yes No
Read subs inside a AVI 1.0 (GAB2)
Show the names of the subtitle tracks in a AVI Yes Partial Partial 99% Yes [BUG] No Yes [3] Yes No
Notes
(The quality is referred to the readability of the text)
Good quality Good quality Good quality Bad quality Bad quality Bad quality Bad quality,
No subtitles autoload [BUG]
New lines lost sometimes [BUG] CUT SUBS Almost
good quality
Bad quality,
default size badly handled
<o_o>

SubRip subtitles capability tester 1.3o by ale5000
Tester for overlapped subtitles in SubRip subtitles 1.2 by ale5000
Tester for dots instead of commas in timestamps 1.0 by ale5000
SubRip subtitles bug tester by ale5000
SubRip subtitles bug tester ALTERNATIVE 1.3b by ale5000
Font face capability tester 1.1c by ale5000

[a] It isn't a player but it allow to insert subtitles in the video track on the fly for players that don't support subtitles
[*] Example: <font color=#ff0000></font> or <font color="ff0000"></font> instead of <font color="#ff0000"></font>
[**] If the parser find a > without first encounter a < (not already part of other < > couples) it is considered as text. If the parser find a < and then another < then re-consider the first as text
[***] This case: <font color="#00FF00" size="6">This could be the <font size="35">m<font color="#000000">o</font>st</font> difficult thing to implement</font>

[0] It isn't supported when subtitles are inside a Multipart OpenDML AVI
[1] [BUG] The presence of "display coordinates" cause the player to recognize timings as text
[2] Fourth text has moved at 00:00:45 of "SubRip subtitles capability tester by ale5000"
[3] It doesn't work when it is set to "Load when needed"
[4] It cause a runtime error in the ANSI build, it is OK in the UNICODE build
[5] It is unable to display this color: #000000 (It should be black)
[6] [BUG #3243] A large not-breakable line cause the subtitle line to not be displayed at all, look at 00:00:54 of "SubRip subtitles capability tester by ale5000"
[7] [BUG #3257] It is too much problematic, it is better to wait for a fix
[8] [BUG #3229] Look at 00:00:14 of "SubRip subtitles capability tester by ale5000", I have tried many times and the behaviour is random, sometime the text doesn't appear at all and sometimes it have a random character at the bottom
[9] [BUG] Multiple subtitles tracks are mixed (when you move the video forward and backward it display a different subtitles track)
[10] It breaks the line
[11] If you change the default font of the player, it isn't used in the case a subtitle choose a font that doesn't exist on the system, example: <font face="Non-existent font">Text</font>

[B1] Fail with: Subtitles starting at 00:00:00,000, Files without newlines at the end
[B2] Fail with: Only one subtitle line



[F1] Display coordinates (Subtitle box pixel coordinates):
 Subtitle index number
 Start time --> End time  X1:Position left X2:Position right Y1:Position up Y2:Position down
 Text of subtitle (one or more lines)
 Blank line
 Example:
 1
 00:00:02,001 --> 00:00:16,001  X1:000 X2:000 Y1:050 Y2:100
 Let us have some! Let us have some!


Info:
X1: Subtitle corner X coordinate in pixels (left)
Y1: Subtitle corner Y coordinate in pixels (up)
X2: Subtitle corner X coordinate in pixels (righ)
Y2: Subtitle corner Y coordinate in pixels (down)



[F2] HTML tags:
 1) Closed tags are hidden (both supported and unsupported/invalid), closed tags: <i></i> and <gggg></gggg>
 2) Tags NOT opened are showed as text and ignored (both supported and unsupported/invalid), tags NOT opened: </i> and </gggg>
 3) Tags NOT closed (<i> and <gggg>):  This:
 1
 00:00:02,001 --> 00:00:16,001
 <s>Both line should be strikethrough
 but the wrong closing tag should be showed</b>

 Should be displayed:
 Both line should be strikethrough
 but the wrong closing tag should be showed</b>

 Look from 00:01:00 to 00:01:08 of "SubRip subtitles capability tester by ale5000"


[F3] Accept dots instead of commas in timestamps, although the correct one is comma, some subtitles may incorrectly use dots
 Example:
 1
 00:04:55.379 --> 00:04:58.006
 Text