การเว้นบรรทัดบรรทัดมากเกินไปด้วยฟอนต์บางตัว


13

เป็นเวลานานที่ฉันใช้ DejaVu Sans Mono เป็นฟอนต์การเขียนโปรแกรมของฉัน ฉันยังหาแบบอักษรที่ดีขึ้น

แต่เล็ก ๆ น้อย ๆ ที่ผ่านมาในขณะที่ผมค้นพบของ Mozilla ฟิร่าซึ่งดูดีมากสำหรับรหัส ดังนั้นฉันจึงตัดสินใจลองใช้ Emacs

น่าเสียดายที่เมื่อฉันใช้มันใน Emacs ระยะห่างระหว่างบรรทัดจะเพิ่มขึ้นและลดจำนวนบรรทัดที่ฉันเห็นได้ประมาณ 10 รายการ

ฉันได้ลอง(setq line-spacing 0)และผสมผสานสิ่งต่าง ๆ เช่น(set-frame-font (font-spec :name "Fira Mono" :width 'normal :height 100))แต่ไม่ว่าฉันจะทำอะไรระยะห่างบรรทัดมากเกินไปยังคงอยู่ (เป็นไปไม่ได้ที่จะใช้line-spacingค่าลบใน Emacs ซึ่งน่าจะเป็นวิธีแก้ปัญหาที่ชัดเจน)

ดูเหมือนว่าจะไม่เป็นข้อผิดพลาดในแบบอักษรเพราะเมื่อฉันใช้ Fira Mono ใน Kate ที่ขนาดเท่ากันระยะห่างระหว่างบรรทัดคือสิ่งที่ฉันจะพิจารณาตามปกติ .

นี่เป็นข้อบกพร่องใน Emacs หรือไม่? มีวิธีแก้ไขปัญหานี้หรือไม่?

ขอบคุณสำหรับคำแนะนำใด ๆ

ซ้าย: Emacs Fira Mono ขวา: Emacs DejaVu Sans Mono Emacs Fira Mono กับ Emacs DejaVu Sans Mono

ซ้าย: Emacs Fira Mono ขวา: Kate Fira Mono Emacs Fira Mono กับ Kate Fira Mono


1
คุณสามารถลอง--line-spacing=PIXELSบรรทัดคำสั่งด้วยemacsแต่ฉันเดาว่าจะไม่ช่วย ลูกบอลคริสตัลของฉันบอกฉันว่าการเว้นวรรคบรรทัดไม่ได้แทรกพิกเซลพิเศษใด ๆ และปัญหานั้นเกิดจากการแสดงแบบอักษรของ Emacs โหมดบัฟเฟอร์สร้างความแตกต่างหรือไม่? (ฉันคิดว่าคุณได้ตรวจสอบframe-parametersเพื่อดูว่าแบบอักษรคืออะไร ฯลฯ )
Drew

2
ความจริงแล้วสำหรับฉันดูเหมือนว่า DejaVu มีระยะห่างไม่เพียงพอและถ้าคุณดูภาพหน้าจอสุดท้ายด้วย Fira คุณก็สามารถเห็นตัวละครที่มีองค์ประกอบต่างๆเช่น g และ y ถูกครอบตัด นอกเหนือจากนั้นฉันคิดว่าความสูงของบรรทัดต่ำสุดจะถูกคำนวณตามพารามิเตอร์ TTF บางอย่างดังนั้นหากคุณต้องการเปลี่ยนแปลงสิ่งนั้นจริง ๆ ฉันต้องการตรวจสอบการแก้ไขไฟล์ TTF (หรือมันคือ OTF) เพื่อเปลี่ยนแบบอักษรของ ตัวชี้วัดเพื่ออนุญาตให้นำหน้าน้อยลง
wvxvw

1
จะเกิดอะไรขึ้นถ้าคุณต่อท้ายminspace=trueนิยามแบบอักษร FontConfig เช่นสิ่งที่ชอบemacs -fn 'Fira Mono:minspace=true'หรืออะไรก็ตามที่ชื่อของตัวอักษร
jch

3
นี่ไม่ใช่สิ่งที่คุณต้องการจะได้ยิน แต่ฉันยอมแพ้ในการเว้นวรรคบรรทัดเมื่อประมาณหนึ่งปีก่อน ฉันเลือกแบบอักษรที่ฉันพอใจและฉันตั้งค่า:heightและนั่นคือมัน Emacs ไม่ได้มีการควบคุมระยะห่างที่ดีระหว่างเส้นและการปรับเพียงแค่ทำให้เกิดปัญหามากขึ้น บางทีการร้องขอคุณสมบัติอาจเหมาะสมเช่นในการกำหนดระยะห่างระหว่างบรรทัดในพิกเซลและใช้งานได้กับแบบอักษรทั้งหมด
ฏหมาย

1
ความสูงของบรรทัดเป็นคุณสมบัติของแบบอักษรการแสดงผลของ Emacs จะเคารพค่าที่กำหนด หากคุณบังคับให้มีความสูงที่แน่นอนโดยไม่คำนึงถึงคุณสมบัติของแบบอักษรคุณอาจท้ายด้วยอักขระที่ถูกครอบตัดเช่นในภาพหน้าจอของ Fira Mono ใน Kate (ตามที่ wvxvw ชี้ไปแล้ว) เมื่อพูดถึงฟอนต์ที่มีสัดส่วนฉันพบว่า Lucida Grande Mono มีประสิทธิภาพสูงสุดในแง่ของพื้นที่ในขณะที่ยังสามารถอ่านได้ในขนาดเล็ก (Droid Sans Mono เข้ามาใกล้ แต่ก็มีความหนาแน่นน้อยกว่า)
paprika

คำตอบ:


2

Fira Mono v3.2 ปรับความสูงของเส้นแบบอักษรซึ่งทำให้ฉันใช้งานได้ใน Emacs:

https://github.com/mozilla/Fira/issues/67


ขอบคุณสำหรับการอัพเดท. ดูเหมือนว่าจะดีขึ้นเล็กน้อย แต่ฉันยังคงได้รับน้อยกว่า 4 บรรทัดใน Emacs ด้วย Fira Mono 3.2 กว่ากับ DejaVu Sans Mono ดังนั้นน่าเสียดายที่มันยังไร้ประโยชน์ ฉันไม่ต้องการพื้นที่เพิ่มระหว่างบรรทัด มันไม่ได้อะไรเลย สิ่งที่ทำได้คือลดปริมาณการมองเห็นบนหน้าจอและทำให้ฉันเลื่อนมากขึ้นลดประสิทธิภาพและเสียเวลา :( เกินไปไม่ดีที่ของ Mozilla อื่น ๆ ที่เกี่ยวข้องกับการทำโปร่งดูตัวอักษรกว่าทำให้มันมีประโยชน์.
blujay

…และคุณสามารถรับ 4 บรรทัดบนหน้าจอด้วย Consolas (ตัวอย่าง) เปรียบเทียบกับ DejaVu Sans Mono แบบอักษรส่วนบุคคลมีความสูงที่แตกต่างกัน (และความกว้างในกรณีของตัวแปรอวกาศ) ซึ่งไม่มีส่วนเกี่ยวข้องกับระยะห่างบรรทัด การใส่ความอาฆาตพยาบาทต่อ Mozilla หรือ Carrois (โรงหล่อประเภทที่ดูเหมือนจะเป็นผู้นำในการออกแบบของ Fira) เป็นเรื่องที่โง่
cemerick

ใครพูดอะไรเกี่ยวกับความอาฆาตพยาบาท? หรือตั้งแต่เมื่อ "ไม่สบาย" = ความอาฆาตพยาบาท? ความจริงก็คือขณะนี้มีแนวโน้มไปสู่การเพิ่มพื้นที่ว่างในโดยทั่วไปทุกสิ่งที่เกี่ยวข้องกับ UI เกือบทุกเว็บไซต์ขนาดใหญ่ที่ออกแบบใหม่เมื่อเร็ว ๆ นี้จะเพิ่มระยะห่างบรรทัด มันเป็นสิ่งที่ได้รับความนิยมในปัจจุบัน แนวโน้มเดียวกันเหล่านี้ส่งผลต่อเครื่องมือที่สร้างขึ้นเพื่อทำสิ่งเหล่านี้ "ช่องว่างเพิ่มเติมบนเว็บไซต์ = ดีดังนั้นช่องว่างในตัวแก้ไข = ดีขึ้น" ความหยิ่งยโสนี้ไม่เป็นอันตราย แต่ก็ไร้ประโยชน์ โปรดพยายามเข้าใจก่อนที่จะป้องกันการโจมตี
blujay

1
โอ้และ FYI มีรหัส Firaในงานที่มีระยะห่างบรรทัดน้อยกว่า หวังว่ามันจะออกมา
blujay

แม้ว่าในขณะนี้ดูเหมือนว่าจะมีปัญหาร้ายแรงใน Emacs ("ความคิดเห็นสามารถแก้ไขได้เป็นเวลา 5 นาทีเท่านั้น" ถอนหายใจ)
blujay
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.