Я разрабатываю приложение текстового редактора на основе QTextEdit/QGraphicsTextItem и заметил, что результаты QTextEdit в Windows отличаются от результатов на Mac.
В частности, при тестировании с многострочным текстовым фрагментом в образце «Редактирование текста» Qt 4.8.5:
- При использовании больших размеров шрифта (48pt) макет текста практически идентичен
- При использовании небольшого размера шрифта (8pt) текстовый фрагмент имеет заметно большую высоту в Windows.
Я нашел пару связанных вопросов StackOverflow, но не нашел в них подходящего ответа. Поэтому я попытался копнуть глубже и выяснил следующее:
- Размер шрифта 48pt: высота строки на Mac и Windows очень близка друг к другу (оба около 60%).
- Размер шрифта 8pt: высота строки на Mac составляет около 50%. В Windows это около 75%
Говоря о «высоте строки», я сравнил высоту подъема (т. е. высоту «T») с высотой между ними (между двумя текстовыми строками).
Вот скриншот, показывающий проблему. Красные линии — это базовые линии текстовых строк Mac.:
Кажется, что высота строки приводит к тому, что макет текста на Mac и Windows отличается. Есть ли способ в Qt обеспечить идентичное расположение текста на Mac и Windows (Microsoft Word удается это сделать)? Или у кого-нибудь есть другие предложения по этому поводу?