แบบอักษรใดที่มีความกว้างเท่ากันสำหรับตัวละครทุกตัว


35

ฉันต้องการที่จะมีแบบอักษรที่มีตัวอักษรทั้งหมดที่มีความกว้างเท่ากัน

ตัวอย่างเช่น a Wกว้างกว่าiแบบอักษรส่วนใหญ่ ... มีแบบอักษรใดที่มีอักขระทั้งหมดกว้างเท่ากันหรือไม่


14
มีรายการมากเกินไป เพียงแค่ค้นหาสำหรับ "พิมพ์ดีด", "ความกว้างคงที่" หรือ "ไม่ใช่สัดส่วน" แบบอักษรและคุณจะสามารถที่จะหาหลายตัวอย่าง
Ananda Mahto

o .. ขอบคุณ .. ฉันไม่รู้คำหลัก: monospaced
Ted Wong

11
เรื่องสนุก - ปุ่มรหัสที่คุณใช้เพื่อเน้น "W" และ "i" ในคำถามของคุณเปลี่ยนเป็นแบบอักษร monospaced ... ดังนั้น 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
user56reinstatemonica8

ฟอนต์ดังกล่าวเรียกอีกอย่างว่า "ฟอนต์คงที่" นอกเหนือจากชื่อที่แสดงโดย @AnandaMahto
user1451111

คำตอบ:


37

สิ่งที่จะค้นหา

รูปแบบชนิดที่คุณกำลังมองหาmonospace Wikipediaอธิบายได้ดี

ฟอนต์แบบโมโนสเปซหรือที่เรียกว่าฟอนต์พิทช์คงที่ความกว้างคงที่หรือไม่ใช่สัดส่วนเป็นฟอนต์ที่ตัวอักษรและตัวอักษรแต่ละตัวมีพื้นที่แนวนอนเท่ากัน [ ... ]

ตัวอย่างของแบบอักษร monospaced ได้แก่ Courier, Courier New, Lucida Console, โมนาโกและ Consolas [ ... ]

ตัวเลือกที่แพร่หลาย

ทุกวันนี้คอมพิวเตอร์ทุกเครื่องมีแบบอักษรหนึ่งหรือทั้งสองแบบ:

Consolas

Courier


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
  • MingLiU
  • MS โกธิค
  • MS MinChe
  • NSimSun
  • SimHei
  • คงภาษาอาหรับแบบย่อ
  • SimSun
  • SimSun-ExtB

0

xlsfontsให้ข้อมูลเกี่ยวกับแบบอักษรเมื่อใช้งาน X Windows System (โดยทั่วไปบน 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!
Zach Saucier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.