Боюсь, это один из тех вопросов, на которые нет простого ответа.
У меня есть чертежи AutoCAD в формате ASCII DXF. Я сканирую их на наличие текстовых элементов. Мне нужно вычислить координаты вершин ограничительной рамки для каждого текстового элемента. (На случай, если кто-то использует другую терминологию, для меня ограничительная рамка — это гипотетический прямоугольник, который можно нарисовать так, чтобы текст точно помещался внутри прямоугольника)
Это очень сложно, учитывая, что каждый элемент может иметь разный шрифт, разный стиль текста, разный масштаб, разную ориентацию, поворот и т.д.
Я получаю исходную точку и точку выравнивания (если есть) из записи объекта TEXT в файле DXF. Я также могу получить коэффициенты масштабирования вращения и высоты из того же места. Но я особенно зациклен на том, как получить ширину, поскольку каждый символ имеет разную ширину, и может быть любое количество разных шрифтов. Если бы это было программирование для Windows, я бы использовал функции Windows API для получения метрик об используемом шрифте, но Autocad, похоже, не имеет аналогии с этим.
Кто-нибудь знает, как это сделать?