Które czcionki mają taką samą szerokość dla każdego znaku?

37

Chciałbym mieć czcionkę ze wszystkimi znakami tej samej szerokości.

Na przykład w większości czcionek a Wjest szersze niż an i... Czy jest jakaś czcionka, która ma wszystkie znaki jednakowo szerokie?

Ted Wong
źródło
14
Jest ich zbyt wiele do wymienienia. Wystarczy wyszukać czcionkę „o stałej szerokości”, „o stałej szerokości” lub „nieproporcjonalną”, aby znaleźć wiele przykładów.
Ananda Mahto,
o..Thz..Nie znam słowa kluczowego: monospaced
Ted Wong
11
Ciekawostka - przycisk kodu użyty do podświetlenia „W” i „i” w pytaniu zmienia się na czcionkę o stałej szerokości ... więc W i ja w twoim pytaniu są czcionką, która sprawia, że ​​mają to samo szerokość :) Spójrz na to w CSS za pomocą sprawdzania elementu w przeglądarce, a 'font-family'otrzymasz dużą długą listę czcionek o stałej szerokości:Droid Sans Mono',Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
user56reinstatemonica8
Takie czcionki są również nazywane „czcionkami o stałej podziałce” oprócz nazw wymienionych przez @AnandaMahto.
user1451111

Odpowiedzi:

38

Czego szukać

Styl, którego szukasz, to monospace . Wikipedia dobrze to wyjaśnia.

Czcionka o stałej szerokości, zwana także czcionką o stałej wysokości, stałej szerokości lub nieproporcjonalną, to czcionka, której litery i znaki zajmują taką samą ilość miejsca w poziomie. [...]

Przykłady czcionek o stałej szerokości to Courier, Courier New, Lucida Console, Monaco i Consolas. [...]

Wszechobecne opcje

Obecnie prawie każdy komputer ma jedną lub obie te czcionki:

Consolas

Kurier

zwykłe ubrania
źródło
13

Czcionki mają 2 cechy, które wpływają na odstępy między znakami: szerokość i kerning . Kerning określa, kiedy dwa sąsiednie znaki mogą się nakładać. Na przykład, kiedy piszesz AT, skrajnie lewa część paska T może być faktycznie ustawiona LEWO najniższej części prawej gałęzi A. Chociaż czcionki o stałej szerokości mogą pozwalać na kerning, rzadko tak jest.

W każdym razie, jeśli chcesz wybrać czcionkę o stałej szerokości, możesz użyć następującego tekstu

  • IIIIIIIIII
  • HHHHHHHHHH
  • AAAAATTTTT
  • ATATATATAT

i spójrz na wygląd za pomocą różnych czcionek. Jeśli pierwsze 2 linie mają tę samą długość, to jest to stała szerokość. Jeśli ostatnie 2 linie mają tę samą długość, nie ma kerningu. Tzn. Chcesz, aby wszystkie 4 linie miały tę samą długość.

W programie Microsoft Word 2007 w systemie Windows następujące czcionki wydają się mieć stałą długość, bez kerningu:

  • BatangChe
  • Consolas
  • Courier New
  • DFKai-SB
  • DotunChe
  • GulimChe
  • GungSahChe
  • KaiTi
  • Lucida Console
  • MingLiU
  • MS Gothic
  • MS MinChe
  • NSimSun
  • SimHei
  • Naprawiono uproszczony arabski
  • SimSun
  • SimSun-ExtB
Olivier
źródło
0

xlsfontsdostarcza informacje o czcionkach, gdy używany jest system X Windows (zwykle w systemie Linux lub podobnym; prawie nigdy w MSWindows). Jego -li -mopcje wyświetlają kilka metryk czcionek, w tym minimalną szerokość znaków i maksymalną szerokość znaków. Za pomocą poleceń powłoki można porównać te szerokości, aby wykryć czcionki o stałej szerokości. Na przykład xlsfonts -lm '*fang*'daje

  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)

Dla obu tych czcionek min w jest równe maksymalnej wartości w - 12, 12 dla jednej, 16, 16 dla drugiej - wskazując, że obie są czcionkami o stałej szerokości. (Uwaga: xlsfontskod źródłowy obejmuje podobne kontrole).

Z mojego ostatniego postu na usenet, oto program Python, checkFixed.pyktóry automatyzuje porównanie. Odczytuje linie danych w stylu xlsfonts stdin, porównuje wartości w i drukuje wyniki, stdoutgdy min w jest równe max w. (Oczywiście podobne programy mogłyby być napisane awk, perlitp)

 #!/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

Na przykład xlsfonts -ml | ./checkFixed.py | head -3w moim systemie wydrukowano

 -->    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

W innym przykładzie xlsfonts -ml '*fixed*' | ./checkFixed.py | head -3wydrukowano

 --> * 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
James Waldby - jwpat7
źródło
Dziękujemy za wkład i witamy w GraphicDesign!
Zach Saucier