Я реализовал базовый алгоритм компоновки страниц для размещения сносок. В принципе:Алгоритм компоновки сносок с колонками
- Макет строки текста кузова.
- Если он содержит ссылки на сноски, выложите сноски по строкам.
- Перейти к 1.
На каждом шаге, я проверяю, если общая высота (тело текст + сноска текст + пробел) превышает высоту страницы. Если это так, я удаляю самую последнюю выложенную строку, и страница завершена.
Мой вопрос: Как я могу справиться с ситуацией, когда текст тела находится в двух столбцах?
Мне было бы необходимо знать общую допустимую высоту текста тела, чтобы правильно выложить столбцы, но это невозможно узнать, пока я не узнаю высоту текста сноски.
Я также не могу просто взять накопленную высоту строк текста тела и разделить на 2, из-за разную высоту строки, межстрочный интервал, интервал между абзацами и т.д.
Спасибо, это работает. Это не так просто, как кажется, так как я должен реализовать механизм отслеживания переменных, которые могут меняться в зависимости от того, находится ли строка над столбцом или нет, например, расстояние между абзацами, но это отличный старт. – yclevine