Какие шрифты имеют одинаковую ширину для каждого символа?

37

Я хотел бы иметь шрифт со всеми символами одинаковой ширины.

Например, a Wшире, чем a iв большинстве шрифтов ... Есть ли какой-либо шрифт, у которого все символы одинаково широки?

Тед Вонг
источник
14
Их слишком много, чтобы перечислить. Просто найдите «моноширинный», «фиксированный» или «непропорциональный» шрифт, и вы сможете найти много примеров.
Ананда Махто
o..Thz..Я не знаю ключевое слово: monospaced
Тед Вонг
11
Интересный факт - кнопка кода, которую вы использовали для выделения «W» и «i» в своем вопросе, переключается на моноширинный шрифт ... так что W и I прямо в вашем вопросе в шрифте, который делает их одинаковыми width :) Посмотрите на CSS для этого с помощью элемента inspect в вашем браузере, и 'font-family'вы получите большой длинный список моноширинных шрифтов:Droid Sans Mono',Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
user56reinstatemonica8
Такие шрифты также называются «шрифтами с фиксированной высотой» помимо перечисленных имен @AnandaMahto.
user1451111

Ответы:

38

Что искать

Стиль шрифта, который вы ищете, - моноширинный . Википедия это хорошо объясняет.

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

Примеры моноширинных шрифтов включают Courier, Courier New, Lucida Console, Monaco и Consolas. [...]

Вездесущие варианты

В наши дни почти на каждом компьютере есть один или оба этих шрифта:

Consolas

курьер

простая одежда
источник
13

Шрифты имеют 2 характеристики, которые влияют на расстояние между символами: ширина и кернинг . Кернинг определяет, когда два соседних символа могут перекрываться. Например, когда вы пишете AT, крайняя левая часть T-бара может фактически располагаться влево от самой нижней части правой ветви A. Хотя шрифты с фиксированной шириной могут допускать кернинг, это редко имеет место.

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

  • IIIIIIIIII
  • HHHHHHHHHH
  • AAAAATTTTT
  • ATATATATAT

и посмотреть на внешний вид, используя различные шрифты. Если первые 2 строки имеют одинаковую длину, то это фиксированная ширина. Если последние 2 строки имеют одинаковую длину, кернинга нет. Т.е. вы хотите, чтобы все 4 строки имели одинаковую длину.

В Microsoft Word 2007 в Windows следующие шрифты имеют фиксированную длину, без кернинга:

  • BatangChe
  • Consolas
  • Новый Курьер
  • DFKai-SB
  • DotunChe
  • GulimChe
  • GungSahChe
  • Kaiti
  • Lucida Console
  • MingLiu
  • MS Gothic
  • MS MinChe
  • NSimSun
  • SimHei
  • Упрощенный арабский исправлен
  • SimSun
  • SimSun-EXTB
Оливье
источник
0

xlsfontsпредоставляет информацию о шрифтах, когда используется система X Windows (обычно в Linux или аналогичных системах; почти никогда в MSWindows). Его -lи -mопции отображают несколько метрик шрифта, включая минимальную ширину символа и максимальную ширину символа. Используя команды оболочки, можно сравнить эти ширины, чтобы обнаружить шрифты фиксированной ширины. Например, xlsfonts -lm '*fang*'дает

  DIR  MIN  MAX EXIST DFLT PROP ASC DESC NAME
  --> * 33 *119  some 8481   25  10    1 -isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
       min(l,r,w,a,d) = (0,12,12,11,2)
       max(l,r,w,a,d) = (0,12,12,11,2)
  --> * 33 *119  some 8481   21  14    2 -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
       min(l,r,w,a,d) = ( 0, 0,16, 0,-13)
       max(l,r,w,a,d) = (12,16,16,14,  2)

Для обоих этих шрифтов min w равно значению max w - 12, 12 для одного, 16, 16 для другого - что указывает на то, что оба шрифта являются фиксированной шириной. (Обратите внимание, xlsfontsисходный код включает аналогичные проверки.)

Из моего недавнего поста по usenet, вот программа на Python, checkFixed.pyкоторая автоматизирует сравнение. Он считывает строки данных в стиле xlsfonts stdin, сравнивает значения w и печатает результаты, stdoutкогда min w равно max w. (Конечно , подобные программы могут быть написаны awk, perlи т.д.)

 #!/usr/bin/env python
 # jiw - 2016
 # This program reads `xlsfonts -lm`-style lines from stdin, and tests
 # for cases where the w elements of min and max tuples are the same
 from sys import stdout
 while True:
     try:
         r = raw_input()
         if r[0] == '-':         # Font-lines start with -->
             m1 = int((raw_input().split(','))[6])
             m2 = int((raw_input().split(','))[6]) 
             if m1==m2:
                 print r
                 stdout.flush()
     except:
         break

Например, xlsfonts -ml | ./checkFixed.py | head -3на моей системе распечатан

 -->    0  255  some    0   29  14    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-adobe-standard
 -->    0  255  some    0   29  15    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-ascii-0
 --> *  0 *255  some    0   29  15    5 -bitstream-courier 10 pitch-bold-i-normal--0-0-0-0-m-0-iso10646-1

В другом примере xlsfonts -ml '*fixed*' | ./checkFixed.py | head -3распечатан

 --> * 33 *116  some 8481   25  11    1 -jis-fixed-medium-r-normal--0-0-75-75-c-0-jisx0208.1983-0
 --> * 33 *116  some 8481   21  14    2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
 --> * 33 *116  some 8481   21  14    2 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
Джеймс Уолдби - jwpat7
источник
Спасибо за вклад и добро пожаловать в GraphicDesign!
Зак Сауцер