Khoảng cách dòng quá mức với các phông chữ nhất định


13

Trong một thời gian dài, tôi đã sử dụng DejaVu Sans Mono làm phông chữ lập trình. Tôi vẫn chưa tìm thấy một phông chữ tốt hơn.

Nhưng một lúc trước, tôi phát hiện ra Fira của Mozilla , trông rất đẹp cho mã . Vì vậy, tôi quyết định thử nó trong Emacs.

Thật không may, khi tôi sử dụng nó trong Emacs, khoảng cách dòng sẽ tăng lên và làm giảm số lượng dòng tôi có thể nhìn thấy khoảng 10.

Tôi đã thử (setq line-spacing 0)và kết hợp nhiều thứ khác nhau như thế nào (set-frame-font (font-spec :name "Fira Mono" :width 'normal :height 100)), nhưng dù tôi có làm gì đi nữa, khoảng cách dòng quá mức vẫn còn. (Thật không thể sử dụng các line-spacinggiá trị âm trong Emacs, thật không may, có vẻ như là giải pháp rõ ràng.)

Dường như đó không phải là một lỗi trong phông chữ, bởi vì khi tôi sử dụng Fira Mono ở Kate với cùng kích thước, khoảng cách dòng là thứ tôi sẽ coi là bình thường, và rõ ràng giống như khoảng cách dòng Emacs với DejaVu Sans .

Đây có phải là một lỗi trong Emacs? Có cách nào để khắc phục điều này?

Cảm ơn vì lời khuyên nào.

Trái: Emacs Fira Mono Phải: Emacs DejaVu Sans Mono Emacs Fira Mono so với Emacs DejaVu Sans Mono

Trái: Emacs Fira Mono Phải: Kate Fira Mono Emacs Fira Mono so với Kate Fira Mono


1
Bạn có thể thử --line-spacing=PIXELSdòng lệnh với emacs, nhưng tôi đoán là điều đó sẽ không có ích. Quả cầu pha lê của tôi cho tôi biết rằng khoảng cách dòng không chèn thêm bất kỳ pixel nào và vấn đề là do màn hình hiển thị phông chữ của Emacs. Chế độ đệm có tạo ra sự khác biệt nào không? (Tôi cho rằng bạn đã kiểm tra frame-parametersxem phông chữ là gì, v.v.)
vẽ

2
Thành thật mà nói, đối với tôi có vẻ như DejaVu không có đủ khoảng cách và nếu bạn nhìn vào ảnh chụp màn hình cuối cùng với Fira, thì bạn thậm chí có thể thấy các ký tự có các yếu tố giảm dần như g và y bị cắt. Ngoài ra, tôi nghĩ rằng chiều cao dòng tối thiểu sẽ được tính dựa trên một số tham số TTF, vì vậy nếu bạn thực sự muốn thay đổi điều đó, tôi sẽ xem xét sửa đổi tệp TTF (hoặc là OTF?) Để thay đổi phông chữ số liệu để cho phép ít dẫn đầu.
wvxvw

1
Điều gì xảy ra nếu bạn thêm minspace=truevào định nghĩa phông chữ FontConfig? Ví dụ, một cái gì đó như emacs -fn 'Fira Mono:minspace=true', hoặc bất cứ tên của phông chữ.
JCH

3
Đây không phải là những gì bạn muốn nghe, nhưng tôi đã từ bỏ khoảng cách dòng khoảng một năm trước. Thay vào đó, tôi chọn một phông chữ mà tôi thấy thoải mái và tôi đặt :heightvà đó là phông chữ đó. Emacs không thực sự kiểm soát tốt khoảng cách giữa các dòng và việc điều chỉnh nó chỉ gây ra nhiều vấn đề hơn. Có lẽ một yêu cầu tính năng sẽ phù hợp - ví dụ: để đặt khoảng cách giữa các dòng bằng pixel và để nó hoạt động với tất cả các phông chữ.
luật

1
Chiều cao dòng là một thuộc tính của phông chữ, kết xuất của Emacs tôn trọng giá trị đã cho. Nếu bạn buộc một độ cao nhất định bất kể thuộc tính của phông chữ, bạn có thể kết thúc bằng các ký tự được cắt, như trong ảnh chụp màn hình của Fira Mono ở Kate (như wvxvw đã chỉ ra). Khi nói đến phông chữ tỷ lệ, tôi thấy rằng Lucida Grande Mono là hiệu quả nhất về không gian trong khi vẫn rất dễ đọc ở kích thước nhỏ (Droid Sans Mono đến gần, nhưng nó ít đậm đặc hơn).
paprika

Câu trả lời:


2

Fira Mono v3.2 đã điều chỉnh chiều cao dòng của phông chữ, điều này giúp tôi sử dụng được trong Emacs:

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


Cảm ơn các cập nhật. Điều đó có vẻ tốt hơn một chút, nhưng tôi vẫn nhận được ít hơn 4 dòng trong Emacs với Fira Mono 3.2 so với DejaVu Sans Mono. Thật không may, nó vẫn vô dụng. Tôi không cần thêm không gian giữa các dòng; nó không đạt được gì cho tôi Tất cả những gì nó làm là giảm số lượng tôi có thể nhìn thấy trên màn hình và khiến tôi cuộn nhiều hơn, giảm hiệu quả và lãng phí thời gian của tôi. :( Thật tệ khi Mozilla quan tâm đến việc làm cho một phông chữ trông thoáng hơn là làm cho nó hữu ích.
blujay

Bạn và bạn có thể có thêm 4 dòng trên màn hình với Consolas (ví dụ) so với DejaVu Sans Mono. Các phông chữ riêng lẻ có chiều cao nội tại khác nhau (và chiều rộng, trong trường hợp các biến thể đơn cách), không liên quan gì đến khoảng cách dòng. Việc đưa ra một số loại ác ý với Mozilla hoặc Carrois (loại đúc dường như đang dẫn đầu thiết kế của Fira) chỉ là ngớ ngẩn.
cemerick

Ai nói bất cứ điều gì về ác ý? Hay từ khi nào "thoáng" = ác ý? Thực tế là hiện tại có một xu hướng tăng khoảng trắng trong, về cơ bản, tất cả những thứ liên quan đến UI. Thực tế mỗi trang web lớn được thiết kế lại gần đây đều làm tăng đáng kể khoảng cách dòng. Đó là những gì hiện đang phổ biến. Những xu hướng tương tự đã chảy vào các công cụ được tạo ra để tạo ra những thứ này. "Nhiều khoảng trắng hơn trên trang web = tốt, do đó, nhiều khoảng trắng hơn trong trình chỉnh sửa = tốt." Chủ nghĩa giáo điều này không độc hại, nó chỉ vô dụng. Hãy cố gắng hiểu trước khi bạn bảo vệ chống lại các cuộc tấn công không.
blujay

1
Ồ, và FYI, có một Mã Fira trong các tác phẩm với khoảng cách dòng ít hơn. Hy vọng nó chảo ra.
blujay

Tuy nhiên, hiện tại, nó dường như có một vấn đề nghiêm trọng trong Emacs. ("Nhận xét chỉ có thể được chỉnh sửa trong 5 phút." Thở dài.)
blujay
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.