ความสูงของแบบอักษรมีการเปลี่ยนแปลงใน DejaVu ที่ขนาดจุดนั้นเนื่องจากข้อมูลความสูงของแบบอักษรระหว่างสองแบบปกติและแบบอักษรหนาจะแตกต่างกันเมื่อควรจะเหมือนกัน
แบบอักษร DejaVu Sans Mono 10 ที่ฉันใช้ไม่ได้เปลี่ยนความสูงของแบบอักษรระหว่างน้ำหนักปกติและตัวหนา ฉันตั้งค่านั้นใน. emacs ของฉันด้วย(set-frame-font "DejaVu Sans Mono-10")
ดังนั้นคุณมีสิ่งที่จะเปรียบเทียบกับข้อมูลสำหรับตัวอักษร "DejaVu Sans 10" ผ่าน (font-info บน Emacs 25):
(font-info "DejaVu Sans Mono-10")
["-unknown-DejaVu Sans Mono-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1"
"DejaVu Sans Mono:pixelsize=13:foundry=unknown:weight=normal:slant=normal:
width=normal:spacing=100:scalable=true" 13 17 0 0 0 8 13 4 8 8
"/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" (opentype ((DFLT ...) )))]
แก้ไขตามข้อมูลที่ตามมา:
ในข้อมูลตัวอักษรด้านบนฉันแสดงความสูงของแบบอักษรที่ 17 และคุณรายงานความสูง 15 (ปกติ) หรือ 16 (ตัวหนา) ใน emacs 25 มีข้อมูลฟอนต์เพิ่มเติมหลังจาก 3 0 โดยเฉพาะอย่างยิ่งการลดลงของฟอนต์คือ 4
แม้ว่าฉันจะไม่ได้มีปัญหากับ Emacs 24 หรือ 25 กับ DejaVu Sans Mono และตัวแปร Bold สิ่งที่ง่ายที่สุดคือการใช้แบบอักษรและขนาดที่ไม่เปลี่ยนความกว้าง (ดังแสดงโดยแบบอักษรข้อมูล) ระหว่างปกติและตัวหนา หรืออย่างอื่นที่ไม่ใช่ DejaVu
สำหรับสิ่งที่ก่อให้เกิดสิ่งนี้มันอาจเป็นหนึ่งในห้องสมุดของคุณ (gtk ของฉันคือ libgtk-x11-2.0.so.0) แต่ฉันสงสัยว่ามันจะเป็นห้องสมุดเฉพาะนี้ ยังสงสัยว่าเป็นไฟล์ ttf หรือแพ็คเกจ มีแนวโน้มมากกว่าคือการเรนเดอร์ freetype (ฉันมี libfreetype.so.6) เนื่องจาก DejaVu มีการปรับขนาดเช่นเดียวกับแบบอักษรอื่น ๆ ที่เหมาะกับคุณข้อผิดพลาดในการคำนวณที่ถูกเขียนโดยวิธีที่ DejaVu เขียนนั้นจะอธิบายว่าทำไมงานเหล่านี้ในบางขนาด แต่ไม่ใช่แบบอื่น ๆ
ในการตรวจสอบว่าปัญหานั้นเกิดจาก Emacs โดยเฉพาะหรือไม่คุณอาจสามารถนำหน้าต่างเทอร์มินัลสองบานขึ้นมาหนึ่งอันด้วยพรอมต์ตัวหนาและอีกอันหนึ่งที่ไม่มีและเปรียบเทียบระยะห่างระหว่างบรรทัดกับพวกมัน หากมันแตกต่างจาก Emacs สิ่งนี้จะเกี่ยวข้องกับการเรนเดอร์และ / หรือฟอนต์
หากคุณรวบรวม emacs อาจมีบางอย่างเกิดขึ้นที่นั่น
C-u C-x =
นี้จะกระทำโดยการวางเคอร์เซอร์ที่จุดที่ต้องการและการพิมพ์แล้ว คุณอาจพบว่าใบหน้าที่มีผลต่อdefunหรือตัวอย่างที่มีผลต่อใบหน้านั้นมีคุณลักษณะที่แตกต่างกันซึ่งรับผิดชอบต่อพฤติกรรมที่คุณเห็น - เช่นนอกเหนือจากสีพื้นฐานของพื้นหน้า แอ็ตทริบิวต์ face สามารถกำหนดเองโดยผู้ใช้