Еще, возможно, может учитываться число колонок, реально занятых текстом.
Например, создан двухколонник
tf.textFramePreferences.textColumnCount = 2
Сколько в нем колонок с текстом - это tf.textColumns.length.
Если рядом с фреймом ничего нет, то .textColumns.length будет равен textColumnCount.
Но если рядом с фреймом есть выталкивающий текст объект, и текст только водной колонке,
то это можно узнать так: tf.textColumns.length = 1.
Видимо только последняя строка не всегда может быть критерием заполненности.