Моноширинные И Пропорциональные Шрифты.

Итак, мне нужно было создать текстовое поле.

С кем не бывает. Это было нужно и нужно, но сразу возник вопрос: под какие шрифты заточить? На самом деле в нашем (с моей точки зрения) компьютерном мире известны два варианта: моноширинные шрифты и пропорциональные шрифты.

Внезапно проблема выбора превратилась в головную боль.

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

И очень простая навигация, типа: нарисовать картинку по координатам (знакомство 0, 10).

2.0. облегчает выделение текста мышью.

Когда происходит щелчок по координатам внутри текстового поля, гораздо проще вычислить, в какой строке приземлился этот щелчок.

Там, конечно, будут проблемы с определением того, где в памяти начинается нажатие, потому что текст, естественно, в utf8, но в случае с пропорциональными шрифтами к этому добавляется ресурсоёмкая головная боль, связанная с тем, что также необходимо понять, на каком символе строки был нажат пользователь.

2.1. Гораздо проще перейти к моноширинному i, чем к пропорциональному.

3.0. легче читать.

Что бы ни говорили поклонники новых романов, когда двухбуквенное слово может выглядеть длиннее четырехбуквенного, это несколько замедляет скорость восприятия информации.

Кроме того, возникают трудности с распознаванием порядков номеров.

Когда 110 может быть короче 100, мозгу сложно это оценить.

Собственно, с психологами на этот счет было проведено несколько экспериментов.

3.1. анимация.

Часы, нарисованные как 05:40:47, при замене одного символа не будут дергаться и менять свою ширину, что является меньшей неожиданностью для мозга, чем дергание при смене 0 на 1 в какой-нибудь Тунге.

3.2. легче сравнивать тексты.

Например, две суммы md5. Нет, конечно, можно и автоматически, но иногда лень запускать программу, а потом смотришь на столбцы символов и готово.

шестнадцатеричные файлы легче читать.

Можно, конечно, упорядочить все по принципу Excel, записать в столбцы длинные байтовые комбинации нужных, добавить туда адреса и так далее.

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

Хотя, возможно, свою роль в этом эксперименте сыграло профессиональное заболевание — испытуемые были программистами.

3.3. при редактировании текста нет непредсказуемых скачков со строки на строку, все вполне ожидаемо: стер одну букву, длина слова уменьшилась на одну единицу, добавил одну - и длина увеличилась на единицу.

Не бывает так, чтобы букву z убрали, слово перескочило на строку вверх, добавились две ii, а слово не вернулось на строку вниз.

Большая предсказуемость также разгружает мозг.

4. Я бродил по разным алфавитам.

Конечно, я их не все видел, но все распространенные прекрасно вписываются в моноширинные ячейки.

Это, в общем-то, понятно; ставить смысл буквы в зависимость от ее размера негуманно (в том смысле, что люди все разные).

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

В целом, на мой взгляд, у моноширинных шрифтов много преимуществ, а единственный недостаток – нельзя написать маленькие буквы на экране так, чтобы это было читабельно и красиво.

Например, шрифт с высотой заглавной буквы о в 3 пикселя с кириллицей вряд ли получится, потому что букву s вы впихнете в 3х3. С другой стороны, кому это нужно? Более того, на современном полиграфическом оборудовании все векторное, и можно уменьшить его даже до тысячных долей дюйма; вы не можете сделать его слишком маленьким.

А на экране 3х3 никто не читает. Но с другой стороны, есть такой человек, как дизайнер.

По его мнению, шрифты — это такие полигоны (ну, они, конечно, не совсем полигоны, но в конце концов из сплайнов в них превращаются, ср.

freetype), которыми можно рисовать, описывая картинку последовательностью букв.

А полигоны вообще могут быть совершенно разные, хоть смайлики, хоть целые (о TeX-подобии речь не идет, потому что нечто похожее на него прекрасно работает с моноширинными шрифтами.

Потому что раньше математические статьи печатались на пишущих машинках, а формулы писались).

входил с рук - действительно было очень удобно форматировать, рисовать знаки и подписывать графики.

По отзывам ветеранов).

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

ЭИКС.

Это такая грустная история.

Придётся повозиться с прокруткой, с пометками на длинных строках, с выделением мышкой и прочими прелестями.

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

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

В конце концов, нам нужно посмотреть шестнадцатеричные дампы.

Но если за вами не такая капризная публика, то можно задуматься о преимуществах моноширинных шрифтов.

Прежде всего, они обеспечивают двухмерность, ascii-арт, столбцы символов, предсказуемые изменения текста при его редактировании и прочие прелести.

Подумайте об этом и не записывайте такие шрифты как бесполезный пережиток прошлого.

P.S. А что означает загадочная фраза С.

Джобса: «Если бы я забросил курс каллиграфии, то, возможно, на Маках вообще не было бы моноширинных шрифтов»? Теги: #моноширинные шрифты #пропорциональные шрифты #Чулан

Вместе с данным постом часто просматривают: