Cách sử dụng Fixedsys trong Gnome Terminal hoặc bất cứ nơi nào cần có phông chữ đơn cách


10

Tôi nghĩ rằng phông chữ Fixedsys là một trong những phông chữ đơn cách dễ đọc nhất để lập trình. Nó không khử răng cưa, với các đường dọc chủ yếu rộng 2 pixel. Gần lý tưởng cho các nốt chấm màn hình hiện tại, trong mắt tôi (theo nghĩa đen). Đây là một mẫu:

Mẫu cố định

Sau nhiều năm Windows ở nhà (vì lý do gia đình) và máy chủ Linux tại nơi làm việc được truy cập thông qua Cygwin trên Windows (vì lý do chính sách của công ty), với Fixsys là phông chữ shell và IDE, cuối cùng tôi đã quyết định chuyển sang Ubuntu ở nhà.

Eclipse và gedit không có vấn đề gì, họ chấp nhận một phiên bản đã sửa của phông chữ FixedFys Excelsior TTF mà bạn có thể tìm thấy ở đây tại bình luận # 16 (tên tệp: FSEX301-L2.ttf). Nhưng Terminal Gnome chỉ chấp nhận phông chữ đơn cách.

Mặc dù Fixedsys Excelsior về cơ bản là đơn cách, nhưng nó chứa glyphs lớn hơn (chủ yếu cho các ngôn ngữ phương Đông), và một số chữ ghép. Vì rõ ràng TẤT CẢ các ký tự phải có cùng chiều rộng để một phông chữ được nhận dạng là đơn cách, nên không thể chọn Fixedsys Excelsior trong tất cả các bối cảnh yêu cầu phông chữ đơn cách, bao gồm cả gnome-terminal.

Vì vậy, cách dễ nhất / sạch nhất để sử dụng bản sao Fixedsys trong bối cảnh chỉ chấp nhận phông chữ đơn cách là gì?


BTW, để sử dụng Fixedsys Excelsior trong NetBeans, bạn phải thêm -J-Dswing.aatext=falsevào netbeans_default_options trong /etc/netbeans.conf. Nếu không, NetBeans sẽ khiến nó "có màu" và mờ - điều này cũng áp dụng cho Windows
Walter Tross 17/07/13

Cập nhật nhận xét trước đây của tôi: Netbeans 7.4 trên Windows yêu cầu -J-Dawt.useSystemAAFontSettings=onloại bỏ khử răng cưa.
Walter Tross

Trên MacBook Pro tôi phải làm việc với hình ảnh mẫu không sắc nét. Phông chữ Fixedsys dường như có các pixel viền màu xám. AFAICT điều này là do màn hình được gọi là "võng mạc", màn hình độ phân giải cao khiến hình ảnh trong HTML bị thu nhỏ bởi hệ số hai (vâng, chúng thích phá vỡ HTML và làm mờ hình ảnh ...). Tỷ lệ tương tự áp dụng cho chính phông chữ, làm hỏng nó. Mặt khác, màn hình độ phân giải cao giúp tăng cường đáng kể mức độ dễ đọc khỏi tất cả các phông chữ, tránh sự cần thiết của Fixedsys.
Walter Tross

Câu trả lời:


7

Đây là giải pháp tôi tìm thấy. Tôi đã kiểm tra kỹ lưỡng nhiều lần và tôi đã sử dụng phông chữ kết quả ở một số nơi trong hơn 2 năm nay, nhưng được cảnh báo: một số phần của quy trình có thể ở bất kỳ vị trí nào từ sai tối ưu đến sai.

Trước khi bạn hỏi "tại sao bạn không cung cấp phông chữ kết quả", câu trả lời là: "bởi vì tôi không chắc mình có thể làm như vậy". Bản quyền phông chữ là một vấn đề phức tạp.


Tải xuống phông chữ Fixsys Excelsior đã sửa (tệp FSEX301-L2.ttf, tại nhận xét # 16)

Cài đặt FontForge (ví dụ: từ Trung tâm phần mềm Ubuntu)

Nhấp chuột phải vào FSEX301-L2.ttftệp và mở nó bằng FontForge. Trong cửa sổ Tải phông chữ Bitmap xuất hiện, nhấp vào Không .

Nhấp vào Tệp → Thực thi Tập lệnh ... và sao chép và dán phần sau vào cửa sổ xuất hiện:

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()

Sau đó chọn FF và nhấp OK (sẽ mất một lúc, bạn sẽ phải đợi cho đến khi cửa sổ Execute Script biến mất)

Nhấn Yếu tố → Font Info ... Trong PS Names thay đổi Fontname , Family Name , và Tên cho con người , ví dụ, bằng cách phụ thêm Mono(số lượng được phép chỉ trong chuỗi thứ hai và thứ ba).

Trong cùng một cửa sổ Thông tin Phông chữ , chọn OS / 2 .
Trong linh tinh. tab thay đổi gia đình PFM để Monospace .
Trong tab Metrics, đặt Offset Desset Offset và HHead Descent Offset cả 0 (*) .
Trong tab Panose , thay đổi Tỷ lệ thành Đơn cách .

Trong cùng cửa sổ Thông tin Phông chữ , chọn Tra cứu .
Trong tab GSUB và trong tab GPOS , chọn lần lượt từng dòng và nhấp vào Xóa .

Trong cùng một cửa sổ Thông tin Phông chữ , bấm OK và trong Thay đổi UniqueID? cửa sổ xuất hiện nhấp vào Thay đổi .

Nếu bạn muốn, bạn có thể điều chỉnh một hoặc nhiều tính năng đáng ngờ của Fixedsys. Ví dụ, ký tự 0 được dịch chuyển một pixel sang phải. Để chuyển nó về trung tâm, nhấp đúp vào nó, sau đó nhấp vào Số liệu → Đặt LBear ... , đặt LBear thành 10và nhấp OK . Bạn cũng có thể thay đổi hình dạng của các ký tự, nhưng luôn giữ các điểm kiểm soát ở bội số của 10 và chiều rộng ở mức 80.

Nhấp vào Yếu tố → Tấn công Bitmap có sẵn ... , sau đó, trong cửa sổ xuất hiện, đặt Kích thước pixel thành 16và nhấp vào OK .

Nhấp vào Tệp → Tạo Phông chữ ... , chọn thư mục khác và / hoặc tên tệp khác nếu cần, đảm bảo định dạng đầu ra là TrueType và nhấp vào Lưu . Trong cửa sổ Kích cỡ không chuẩn xuất hiện, nhấp vào . Trong cửa sổ phát hiện lỗi xuất hiện tiếp theo, nhấp vào Lưu (đừng lo lắng).

Thoát khỏi FontForge ( Tệp → Thoát ). Trong cửa sổ thay đổi Phông chữ xuất hiện, nhấp vào Đừng lưu .


Di chuyển tệp được tạo vào .fontsthư mục con của thư mục chính của bạn (tạo tệp nếu nó không tồn tại).

Mở Terminal Gnome. Nhấp vào Chỉnh sửa → Cấu hình ... Trong một cấu hình (Tôi khuyên bạn nên tạo một cái mới) thay đổi phông chữ thành Fixedsys Excelsior 3.01-L2 Mono(hoặc bất cứ thứ gì bạn đã gọi là phiên bản đơn của Fixedsys Excelsior), ở kích thước 12(là kích thước Cố định "đúng" duy nhất) . Nếu bạn muốn, bạn cũng có thể vô hiệu hóa văn bản in đậm. Tôi đề nghị văn bản màu đen trên nền trắng, nhưng đó là một vấn đề của hương vị.

Biến thể in đậm của phông chữ này tương đương với việc lặp lại ký tự được dịch chuyển bởi một pixel sang bên phải (điều này khác với FSEX301-L2.ttf, nơi nó xuất hiện trơn tru). Nó không dễ đọc lắm - nhưng bạn có thực sự cần in đậm không? Tôi không. Vấn đề chỉ xảy ra với những bối cảnh mà in đậm không thể bị vô hiệu hóa (không phải, thậm chí, bằng cách chỉnh sửa tô sáng cú pháp), đặc biệt trong những trường hợp khoảng cách ký tự cũng tăng thêm một pixel, phá vỡ sự sắp xếp (đây không phải là trường hợp trong gnome -thiết bị đầu cuối). Tôi chưa tìm thấy giải pháp cho mối phiền toái cuối cùng này. Đề nghị được chào đón.


(*): không cần thiết kể từ khi phát hành FontForge 2012-07-31 (trong 14.04 LTS - Trusty Tahr)


Đối với tất cả những người đã lưu và / hoặc áp dụng công thức này: xin lưu ý rằng nó có thể đã thay đổi một chút trong khi đó để giải quyết một số vấn đề nhỏ và nó vẫn có thể thay đổi trong tương lai. Bạn có thể có một cái nhìn vào lịch sử chỉnh sửa.
Walter Tross

FYI, cũng hoạt động tốt trên Windows. Ngoài ra với "Fixedsys Excelsior 2.0" (theo ý kiến ​​của tôi, nó tốt hơn nhiều cho các thiết bị đầu cuối vì các ký tự thấp hơn một chút so với trong FSEX3). Phông chữ tuyệt vời cho PuTTY! (FSEX ban đầu và bất kỳ phông chữ nào được coi là không đơn cách làm cho PuTTY thực sự chậm khi màn hình làm mới rất thường xuyên)
ThiefMaster

PhpStorm 7.1 vào ngày 14.04 không nhận ra phông chữ mà tôi mô tả trong câu trả lời của mình là phông chữ đơn cách, tôi không biết tại sao :-( May mắn thay, nếu bạn bỏ chọn "chỉ hiển thị phông chữ đơn cách", bạn vẫn có thể lấy nó. kích thước phải là 15 hoặc 16 (trông giống nhau) thay vì 12. PhpStorm dường như có một chút lỗi với tôi ...
Walter Tross

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.