1

Чтобы быть более точным, давайте предположим, что у меня есть моноширинный шрифт с некоторыми глифами, большими, чем нормальная ширина символа (например, потрясающие значки).

В большинстве терминальных эмуляторов более крупные символы просто перекрываются с символом справа, в то время как в хроме, например, более крупные символы выдвигают оставшуюся часть строки, чтобы освободить место для себя.

Это почему? Что представляет собой текст в этих приложениях? Это само приложение? Это компонент операционной системы? Предназначены ли терминалы специально для избежания этой проблемы?

И дополнительный вопрос: есть ли способ заставить хром вести себя так же, как большинство терминалов, чтобы моноширинные шрифты оставались моноширинными даже при наличии больших глифов.

Чтобы дать некоторое представление, я работаю над гипер, который в основном является терминалом в хроме, и это вызывает проблемы с выравниванием символов.

2 ответа2

1

Большинство приложений (включая браузеры) подчиняются измерениям глифов, как определено в шрифте. На самом деле они, вероятно, используют методы, которые отображают более длинные строки за один шаг (хотя я не знаю деталей). Если некоторые из глифов немного шире остальных, то это не полностью моноширинный шрифт, а почти моноширинный с некоторыми исключениями.

Терминальные эмуляторы используют специальный метод рисования, они позиционируют каждый символ независимо, потому что им нужно принудительно вставить символы в сетку, иначе общая раскладка просто развалится. Особенно приятно это увидеть в действии, если вы выберете немонокальный шрифт (результат будет выглядеть уродливо, но останется выровненным по сетке). (Обратите внимание, что konsole может быть исключением, я видел, что он делает странные вещи.)

Чтобы браузеры вели себя как эмуляторы терминала, я рекомендую вам попробовать поместить каждый символ отдельно в его собственный span или div с position: absolute или fixed , или что-то подобное.

0

Операционные системы предоставляют ряд средств для рисования текста, которые разработчики могут выбирать. Для эмуляторов терминала обычно требуются монофонические шрифты, и визуализация текста, которую вы видите, является естественным результатом этого ограничения. Браузеры используют более сложные средства, которые позволяют пропорциональные шрифты и многое другое. Это не значит, что пользователю будет предоставлено много опций. Рендеринг браузера, который вы видите, обычно предпочтительнее. Конечно, не все согласятся.

Может ли Chromium отображать текст по вашему желанию? Я сомневаюсь в этом, но вы можете проверить параметры текста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .