วิธีใช้ Fixedsys ใน Gnome Terminal หรือทุกที่ที่ต้องใช้แบบอักษร monospaced


10

ฉันคิดว่าฟอนต์Fixedsysเป็นหนึ่งในฟอนต์ monospaced ที่ชัดเจนที่สุดสำหรับการเขียนโปรแกรม มีการลดรอยหยักเป็นศูนย์โดยมีเส้นแนวตั้งส่วนใหญ่กว้าง 2 พิกเซล ใกล้เคียงกับอุดมคติสำหรับระยะห่างระหว่างจอภาพในสายตาของฉัน (ตามตัวอักษร) นี่คือตัวอย่าง:

ตัวอย่างคงที่

หลังจากหลายปีของ Windows ที่บ้าน (สำหรับเหตุผลครอบครัว) และเซิร์ฟเวอร์ Linux ในที่ทำงานเข้าถึงได้ผ่าน Cygwin บน Windows (สำหรับเหตุผลนโยบาย บริษัท ) ด้วย Fixedsys เป็นเชลล์และฟอนต์ IDE ในที่สุดฉันก็ตัดสินใจเปลี่ยนเป็น Ubuntu ที่บ้าน

Eclipse และ gedit ไม่มีปัญหาพวกมันยอมรับฟอนต์ Fixedsys Excelsior TTF ที่แก้ไขแล้วซึ่งคุณสามารถหาอ่านได้ที่นี่ที่คอมเม้นท์# 16 (ชื่อไฟล์: FSEX301-L2.ttf) แต่เทอร์มินัล Gnome ยอมรับเฉพาะแบบอักษรที่มีช่องว่างเท่านั้น

แม้ว่า Fixedsys Excelsior นั้นมีการ monospaced เป็นหลัก แต่ก็มี glyphs ที่ใหญ่กว่า (ส่วนใหญ่เป็นภาษาตะวันออก) และยังมี ligatures เนื่องจากเห็นได้ชัดว่าตัวละครทุกตัวต้องมีความกว้างเท่ากันสำหรับแบบอักษรที่จะรับรู้เป็น monospaced จึงไม่สามารถเลือก Fixedsys Excelsior ได้ในทุกบริบทที่ต้องใช้แบบอักษร monospaced รวมถึง gnome-terminal

ดังนั้นวิธีที่ง่ายที่สุด / สะอาดที่สุดในการใช้โคลน Fixedsys ในบริบทที่ยอมรับฟอนต์แบบโมโนโพสต์คืออะไร?


BTW เพื่อใช้ Fixedsys Excelsior ใน NetBeans คุณต้องเพิ่ม-J-Dswing.aatext=falseไปยัง netbeans_default_options ใน /etc/netbeans.conf มิฉะนั้น NetBeans จะทำให้มัน "สี" และพร่ามัว - สิ่งนี้ใช้ได้กับ Windows เช่นกัน
Walter Tross

อัปเดตเป็นความคิดเห็นก่อนหน้าของฉัน: Netbeans 7.4 บน Windows ต้องการ-J-Dawt.useSystemAAFontSettings=onกำจัดการลบรอยหยัก
Walter Tross

ใน MacBook Pro ฉันต้องทำงานกับภาพตัวอย่างไม่คมชัด แบบอักษร Fixedsys ดูเหมือนจะมีพิกเซลขอบสีเทา AFAICT นี่เป็นเพราะจอแสดงผล "เรตินา" ซึ่งเป็นจอแสดงผลความละเอียดสูงซึ่งทำให้รูปภาพภายใน HTML ถูกปรับอัตราส่วนด้วยสองเท่า (ใช่พวกเขาต้องการแบ่ง HTML และมีภาพเบลอ ... ) การปรับขนาดเดียวกันนั้นใช้กับตัวอักษรเองทำให้เสีย ในทางกลับกันหน้าจอความละเอียดสูงจะช่วยเพิ่มความชัดเจนในการแสดงผลแบบอักษรทั้งหมดอย่างชัดเจน
วอลเตอร์ Tross

คำตอบ:


7

นี่คือทางออกที่ฉันพบ ฉันได้ทำการทดสอบอย่างละเอียดหลายครั้งและฉันใช้แบบอักษรที่เกิดขึ้นในหลาย ๆ ที่เป็นเวลานานกว่า 2 ปีแล้ว แต่ได้รับการเตือน: ขั้นตอนบางส่วนของกระบวนการอาจผิดเพี้ยนไปหมด

ก่อนที่คุณจะถาม "ทำไมคุณไม่ทำให้แบบอักษรที่เป็นผลลัพธ์" คำตอบคือ: "เพราะฉันไม่แน่ใจว่าฉันสามารถทำได้" ลิขสิทธิ์แบบอักษรเป็นเรื่องซับซ้อน


ดาวน์โหลดฟอนต์ Fixedsys Excelsior ที่แก้ไขแล้ว (ไฟล์FSEX301-L2.ttfตามความคิดเห็นที่ 16)

ติดตั้งFontForge (เช่นจาก Ubuntu Software Center)

คลิกขวาที่FSEX301-L2.ttfไฟล์และเปิดด้วย FontForge ในการโหลดบิตแมปแบบอักษรหน้าต่างที่ปรากฏขึ้นให้คลิกที่ไม่มี

คลิกที่ไฟล์→เรียกใช้สคริปต์ ...และคัดลอกและวางต่อไปนี้ในหน้าต่างที่ปรากฏขึ้น:

SelectAll()
foreach
   if (GlyphInfo("Width") != 80)
      DetachAndRemoveGlyphs()
   else
      b = GlyphInfo("BBox")
      if (b[0] < 0 || b[1] < -30 || b[2] > 80 || b[3] > 130)
         DetachAndRemoveGlyphs()
      endif
   endif
endloop
SelectNone()

จากนั้นเลือกFFแล้วคลิกตกลง (ใช้เวลาสักครู่คุณจะต้องรอจนกว่าหน้าต่างExecute Scriptจะหายไป)

คลิกองค์ประกอบ→ข้อมูลตัวอักษร ...ในPS Namesเปลี่ยนชื่อตัวอักษร , ชื่อครอบครัวและชื่อสำหรับมนุษย์เช่นโดยการต่อท้ายMono(อนุญาตให้เว้นวรรคในสตริงที่สองและสามเท่านั้น)

ในเดียวกันข้อมูลตัวอักษรให้เลือกOS / 2
ในMisc การเปลี่ยนแปลงแท็บPFM ครอบครัวจะMonospace
ตัวชี้วัดในแท็บตั้งวินโคตร Offset และ HHead โคตร Offset ทั้ง 0 (*)
ในPanoseแท็บการเปลี่ยนแปลงสัดส่วนการพิมพ์ดีด

ในเดียวกันข้อมูลตัวอักษรหน้าต่างเลือกการค้นหา
ในgsubแท็บและในGPOSแท็บเลือกแต่ละบรรทัดในการเปิดและคลิกลบ

ในหน้าต่างข้อมูลแบบอักษรเดียวกันให้คลิกตกลงและในเปลี่ยน UniqueID หรือไม่ หน้าต่างที่ปรากฏขึ้นคลิกเปลี่ยน

ถ้าคุณต้องการคุณสามารถปรับแต่งฟีเจอร์ที่น่าสงสัยอย่างน้อยหนึ่งอย่างของ Fixedsys เช่นอักขระศูนย์จะถูกเลื่อนหนึ่งพิกเซลไปทางขวา ที่จะเปลี่ยนมันกลับไปที่กลาง, ดับเบิลคลิกที่มันแล้วคลิกตัวชี้วัด→ชุด LBearing ...ตั้งLBearingไป10และคลิกตกลง นอกจากนี้คุณยังสามารถเปลี่ยนรูปร่างของตัวละคร แต่ให้ควบคุมจุดที่ทวีคูณของ 10 และความกว้างที่ 80

คลิกธาตุ→ Bitmap โต้ที่มีอยู่ ...แล้วในหน้าต่างที่ปรากฏขึ้นตั้งขนาดพิกเซลไป16และคลิกตกลง

คลิกที่File →สร้างแบบอักษร ...เลือกไดเรกทอรีที่แตกต่างกันและ / หรือชื่อไฟล์ที่แตกต่างกันถ้าจำเป็นต้องให้แน่ใจว่ารูปแบบออกเป็นTrueTypeและคลิกบันทึก ในที่ไม่ได้มาตรฐาน EM-ขนาดหน้าต่างที่ปรากฏขึ้นคลิกใช่ ในหน้าต่างตรวจพบข้อผิดพลาดที่ปรากฏขึ้นคลิกถัดไปบันทึก (ไม่ต้องกังวล)

ออกจาก FontForge ( ไฟล์→ออก ) ในการเปลี่ยนแปลงตัวอักษรหน้าต่างที่ปรากฏขึ้นคลิกไม่ได้บันทึก


ย้ายไฟล์ที่สร้างไปยัง.fontsไดเรกทอรีย่อยของโฮมไดเรกทอรีของคุณ (สร้างหากไม่มีอยู่)

เปิดสถานี Gnome คลิกแก้ไข→โปรไฟล์ ...ในโปรไฟล์ (ฉันแนะนำให้คุณสร้างใหม่) เปลี่ยนแบบอักษรเป็นFixedsys Excelsior 3.01-L2 Mono(หรืออะไรก็ตามที่คุณเรียกว่า Fixedsys Excelsior รุ่นโมโน) ที่ขนาด12(ซึ่งเป็นขนาดคงที่ "จริง" เท่านั้น) . หากคุณต้องการคุณสามารถปิดการใช้งานข้อความตัวหนา ฉันแนะนำข้อความสีดำบนพื้นหลังสีขาว แต่นั่นเป็นเรื่องของรสนิยม

ตัวแปรที่เป็นตัวหนาของแบบอักษรนี้เทียบเท่ากับการทำซ้ำอักขระที่เลื่อนไปทางหนึ่งพิกเซลทางด้านขวา (ซึ่งแตกต่างจากFSEX301-L2.ttfที่ซึ่งปรากฏเรียบ ไม่ชัดเจนมาก - แต่คุณต้องการตัวหนาจริง ๆ หรือไม่ ฉันไม่. ปัญหานี้เกิดขึ้นกับบริบทที่ไม่สามารถปิดการใช้งานตัวหนาได้ (ไม่เช่นโดยการแก้ไขการเน้นไวยากรณ์) โดยเฉพาะอย่างยิ่งในกรณีที่ระยะห่างของอักขระเพิ่มขึ้นหนึ่งพิกเซลเช่นกันการจัดเรียงที่ไม่ต่อเนื่อง -terminal) ฉันยังไม่พบวิธีแก้ไขปัญหาความรำคาญครั้งล่าสุดนี้ ข้อเสนอแนะยินดีต้อนรับ


(*): ไม่จำเป็นตั้งแต่เปิดตัว FontForge 2012-07-31 (ใน 14.04 LTS - Trusty Tahr)


สำหรับทุกคนที่ได้บันทึกและ / หรือใช้สูตรนี้: โปรดทราบว่ามันอาจมีการเปลี่ยนแปลงเล็กน้อยในระหว่างนี้เพื่อแก้ไขปัญหาเล็ก ๆ น้อย ๆ และมันอาจจะยังคงมีการเปลี่ยนแปลงในอนาคต คุณสามารถดูประวัติการแก้ไข
Walter Tross

FYI ทำงานได้ดีบน Windows เช่นกัน นอกจากนี้ยังมี "Fixedsys Excelsior 2.0" (ซึ่งตามความเห็นของฉันดีกว่าสำหรับเทอร์มินัลมากเพราะตัวละครนั้นค่อนข้างสูงกว่า FSEX3 เล็กน้อย) ตัวอักษรที่ยอดเยี่ยมสำหรับ PuTTY! (คน FSEX เดิมและตัวอักษรใด ๆ ที่ถือว่าไม่ใช่ monospace ทำให้ฉาบจริงๆช้าเมื่อรีเฟรชหน้าจอบ่อยมาก)
ThiefMaster

PhpStorm 7.1 บน 14.04 ไม่รู้จักฟอนต์ที่ฉันอธิบายในคำตอบว่าเป็นฟอนต์แบบโมโนโพสต์ฉันไม่รู้ว่าทำไม :-( โชคดีถ้าคุณยกเลิกการเลือก "แสดงฟอนต์แบบโมโนสเปซเท่านั้น" คุณยังสามารถรับได้ ขนาดต้องเป็น 15 หรือ 16 (พวกเขามีลักษณะเดียวกัน) แทน 12. PhpStorm ดูเหมือนว่าจะเป็นรถบิตเพื่อฉัน ...
วอลเตอร์ Tross

3

ทางออกที่ยอดเยี่ยมโดย Walter Tross แต่ถ้าคุณไม่ต้องการทำงานทั้งหมดนี่คือลิงค์ดาวน์โหลด:

FixedsysExcelsiorIIIb-L2_Mono.ttf


1
ขอบคุณ Rafael "ทำไม" อยู่ในย่อหน้าที่สองของคำตอบของฉัน
Walter Tross

Ops! ขออภัย ... ขาดความสนใจ ... แก้ไขทันที
Borjovsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.