Ну может и не совсем очевидно, но если вдуматься в смысл терминов, то догадаться можно.
Сам в этом вопросе то, что касается флеша, многое уяснил не так давно, благодаря форуму, кстати. До этого загадкой мучался - отчего в HTML-ном текстовом файле там, где один раз абзац, после загрузки во флеш в динамическом текстовом поле при выводе уже два рендерится.
При работе программы с текстовым файлом
\r - "возврат каретки" - это переход печатающей головки или курсора, или внутреннего указателя к левому краю страницы.
\n - "новая строка", "перевод строки" - это и есть новая строка, то есть движение внутреннего указателя на одну строку вниз.
Чтобы образовать абзац, виндосовские текстовые редакторы ждут, когда мы жамкнем ENTER, потом сперва возвращают каретку, курсор, внутренний указатель и .т.д. влево до конца и спускаются потом на одну строку вниз. Все готово к печати первой строки нового абзаца.
А вот во флеше да, оба начинают новую строку, как вы сказали. Флеш-плеер делает стойку на оба эти спецсимвола как на новую строку и поэтому, когда мы грузим обычный текстовый файл и выводим его содержимое в динамическое текстовое поле, то вместо одного абзаца получаем два.
Проблема решается выдиранием "лишних" символов перед выводом из текста, полученного из загруженного файла. Например, так:
Код AS1/AS2:
txt.text = txtSrc.toString().split('\r').join('');
Важное следствие: если в ролике производим какие-то операции с текстом, кроме вывода, то нужно разделить понятие выводимого текста и редактируемого текста. То есть на вывод всегда давать строковое значение, обработанное такой операцией, а работать только с самой строковой переменной, во избежании искажения межабзацного расстояния.
Вот статья в Википедии.