Всем спасибо за подсказки.
Придумал как решить данный вопрос разбив данный интервал на области видимости.
http://codepen.io/BlackStar1991/pen/bgGeqQ
Кому понадобится идея, такова.
1) Если случайное число по вертикале меньше чем верхняя точка блока или больше чем нижняя точка выводите текст как есть. (Учитывая размер шрифта)
2) Если по вертекали значение попадает в область блока (куда попадать не должно было) то пересчитывай горизонталь по формуле
RandomNumber = rand()%(100-(y-x));
if RandomNumber > x then RadomNumer +=(y-x);
Вообщем оно работает.
Есть конечно небольшие косяки, но результат меня устраивает