да, действительно, не сталкивался с таким случаем. скрипт думает, что строка не превысила минимальную высоту $h_str, и пытается пропустить ее, но далее то рабочая область заканчивается, и цикл лупит без перерыва.
в данный момент у меня не та машина чтобы норм потестить, да и времени и сил нету, через недельку пересмотрю и перепроверю. примерно прикинул как исправить баг. добавил еще условие в цикл, ну и еще.... в общем вот, замени глючный цикл вот этим.
$h_str_temp=0
while(($h_str_temp<$h_str)&($y1_text<$y2_text))
while((PXLCOUNT($x1_text,$y1_text,$x2_text,$y1_text,$back_color)<$x2_text-$x1_text+1)&($y1_text<$y2_text))
inc($y1_text)
inc($h_str_temp)
END_CYC
IF(($h_str_temp<$h_str)&($y1_text<$y2_text))
while((PXLCOUNT($x1_text,$y1_text,$x2_text,$y1_text,$back_color)=$x2_text-$x1_text+1)&($y1_text<$y2_text))
inc($y1_text)
END_CYC
$h_str_temp = 0
$del_arr = arrpop($x1_line_arr)
$del_arr = arrpop($y1_line_arr)
arrpush($x1_line_arr, $x1_text)
arrpush($y1_line_arr, $y1_text)
END_IF
END_CYC
потести.
по идее можно было просто минимальную высоту $h_str уменьшить, и все проблемы.