text bounds + detail conversion