Мне любопытно, какой метод быстрые приложения (может быть, Safari - лучший пример здесь), чтобы вычислить высоту очень длинной страницы текста (например, журнала чата или огромного документа).
Учитывая, что имеется огромное количество текста с одинаковой высотой строки, это уже то, что можно умножить на количество этих строк.Однако, как узнать, сколько строк <p>
будет занимать определенную ширину?
Что я могу получить, так это то, что они:
- Рассчитывают ширину каждого символа исохраните его для быстрого добавления,
- Используйте это для вычисления ширины слов,
- Добавьте ширину слов и пробелов при сравнении с шириной уровня блока, добавляя строки по мере необходимости.
Это кажется действительно очень быстрым, поскольку добавления и сравнения намного, намного быстрее, чем измерение строки в GDI +.Но я понятия не имею, будет ли выполнено что-то подобное, так как надежность стоит на первом месте, а рендеринг текста AFAIK обычно вводит кернинг, и я понятия не имею, насколько легко или сложно получить эту информацию из GDI +. снимок экрана с ReactOS заставил меня поверить, что Firefox вычисляет размер и положение каждой буквы.