Які шрифти мають однакову ширину для кожного символу?


37

Мені хотілося б, щоб шрифт був із усіма символами однакової ширини.

Наприклад, a Wширше, ніж iу більшості шрифтів ... Чи є шрифт, у якого всі символи однаково широкі?


14
Занадто багато їх для переліку. Просто знайдіть шрифт "однобічний", "фіксованої ширини" або "непропорційний", і ви зможете знайти багато прикладів.
Ананда Махто

o..Thz..Я не знаю ключового слова: односхилий
Тед Вонг

11
Приємний факт - кнопка коду, яку ви використовували для виділення "W" і "i" у вашому запитанні, переходить на односхилий шрифт ... тож W і я прямо у вашому запитанні є шрифтом, завдяки чому вони мають однаковий шрифт width :) Подивіться на CSS за допомогою елемента перевірки у вашому браузері, і 'font-family'ви отримаєте великий довгий список Droid Sans Mono',Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
одношарових

Такі шрифти також називаються "шрифтами з фіксованою точкою" крім перерахованих імен від @AnandaMahto.
user1451111

Відповіді:


38

Що шукати

Стиль типу, який ви шукаєте, - це монопростір . Вікіпедія це добре пояснює.

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

Приклади одноразових шрифтів включають Courier, Courier New, Lucida Console, Monaco та Consolas. [...]

Повсюдні варіанти

У наші дні майже на кожному комп’ютері є один або обидва з цих шрифтів:

Консолі

Кур'єр


13

Шрифти мають 2 характеристики, які впливатимуть на інтервал між символами: ширину та кернінг . Кернінг визначає, коли два суміжні символи можуть перетинатися. Наприклад, коли ви пишете AT, найменша ліва частина смуги T може бути фактично розміщена ВЛИВО нижньої частини правої гілки А. Хоча шрифти фіксованої ширини можуть дозволяти кернування, це рідко буває.

У будь-якому випадку, якщо ви хочете вибрати шрифт фіксованої ширини, ви можете використовувати наступний текст

  • IIIIIIIIII
  • HHHHHHHHHH
  • AAAAATTTTT
  • АТАТАТАТАТ

і дивіться на зовнішній вигляд, використовуючи різні шрифти. Якщо перші 2 рядки мають однакову довжину, то це фіксована ширина. Якщо останні 2 рядки мають однакову довжину, то кернінгу немає. Тобто, ви хочете, щоб усі 4 рядки мали однакову довжину.

У Microsoft Word 2007 для Windows такі шрифти здаються фіксованою довжиною, без кернінгу:

  • BatangChe
  • Консолі
  • Кур'єр Новий
  • DFKai-SB
  • DotunChe
  • GulimChe
  • GungSahChe
  • KaiTi
  • Консоль Lucida
  • MingLiU
  • М. С. Готика
  • 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 дорівнює максимальному значенню 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

Дякуємо за внесок і ласкаво просимо до GraphicDesign!
Зак Сосьє
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.