I haven't seen this format fully documented, so I got it from the source code to the SubRip program:

The format has no header, and no footer. Each subtitle has four parts:

Line 1 is a sequential count of subtitles, starting with 1.

Line 2 is the start timecode, followed by the string " --> ", followed by the end timecode. Timecodes are in the format HH:MM:SS,MIL (hours, minutes, seconds, milliseconds). The end timecode can optionally be followed by display coordinates (example " X1:100 X2:600 Y1:050 Y2:100"). Without coordinates displayed, each line of the subtitle will be centered and the block will appear at the bottom of the screen.

Lines 3 onward are the text of the subtitle. New lines are indicated by new lines (i.e. there's no "\n" code). The only formatting accepted are the following:

I have an only (possible)remark.
As I have looked at a lot of srt files, the line terminator was always "\r\n" (CR/LF). You mentioned above just an "\r" (CR) terminator. Is it a mistake of yours or this just doesn't matter for the whole bunch of divx players out there.

It's a text format, so I imagine all variations are possible, but since SubRip and so many of the programs that output SubRip format are written for the PC, lines will probably be split be CRLF more often than the alternatives.