Đây có lẽ là một câu hỏi đáng ra đã được đăng ở đây từ lâu, nhưng ngạc nhiên là hình như đến giờ vẫn chưa từng có ai hỏi nên tôi thử đăng lên.
Mọi người dùng font nào khi lập trình? Ngoài ra, mọi người dùng font monospace nào cho trình duyệt web?
Trước hết, trong trường hợp của tôi thì tôi dùng D2Coding.
Tiêu chí để tôi chọn font cho việc lập trình như sau.
- Phải là font monospace theo phong cách sans-serif.
- Phải hỗ trợ tiếng Hàn, và ngay cả khi dùng tiếng Hàn thì độ rộng cố định cũng không được bị phá vỡ.
- Phải phân biệt đủ rõ các ký tự dễ nhầm như
O,o,0,l,i. - Ký hiệu
\(backslash) không được hiển thị thành ký hiệu tiền tệ₩(won Hàn Quốc). - Phải hỗ trợ các biểu tượng Powerline để dùng trong terminal.
- Ngoài ra còn phải hợp với sở thích cá nhân của bản thân.
Vấn đề là những trường hợp đáp ứng được toàn bộ các điều kiện này lại hiếm hơn tưởng tượng rất nhiều. Đặc biệt, có vẻ như những font đáp ứng điều kiện ngay cả khi dùng tiếng Hàn thì độ rộng cố định cũng không bị phá vỡ thực sự rất hiếm. Vì vậy tôi đã thử tìm các font kết hợp font tiếng Hàn với những font monospace nổi tiếng như Sarasa Gothic hay Monoplex KR, nhưng đến giờ vẫn chưa tìm được thứ gì ưng ý hơn D2Coding mà tôi đang dùng.
Nhân lúc gần đây tôi mới cài lại Windows và đang thiết lập các cài đặt liên quan đến font, tôi bỗng tò mò không biết mọi người đang dùng font nào cho việc lập trình. Đặc biệt, về mặt hỗ trợ tiếng Hàn, tôi muốn biết liệu có tổ hợp font nào đáng để đề xuất hay không.
55 bình luận
RobotoMono Nerd Font
Tôi dùng kết hợp BonMono (Source Han Mono) và Nanum Gothic Coding.
Tôi đã dùng source code pro for powerline suốt mấy năm khi lập trình,
nhưng đọc được về sf mono trong chuỗi bình luận ở đây nên chuyển sang ngay.
sf mono hiển thị rất đẹp trong vscode và datagrip.
Có lẽ vì Apple từ rất lâu đã quan tâm đến typography một cách đáng ngờ (?) và tự mình nghiêm túc thiết kế phông chữ San Francisco cho UI, nên nó vừa dễ đọc vừa đẹp.
Ở đây có người giới thiệu Monoplex KR, nên sau một thời gian dùng Jetbrains Mono để code và Sarasa Fixed K cho Markdown, tôi đã bắt đầu chuyển cả font code lẫn font Markdown sang chỉ dùng một mình Monoplex KR.
Tôi đang dùng Windows 10 và VSCode; ấn tượng đầu tiên là dù cùng cỡ chữ nhưng kích thước hiển thị thực tế giảm đi khá nhiều, và chữ Hàn trông hơi mờ.
Không đến mức gây vấn đề về khả năng đọc, nên tôi định sẽ thử dùng Monoplex KR thêm một thời gian!
Trong trường hợp tiếng Hàn hiển thị hơi mờ, nếu môi trường cho phép chọn độ đậm của chữ thì đôi khi chỉ cần điều chỉnh nhẹ độ đậm là sẽ cải thiện được phần nào. Với VS Code, bạn có thể tinh chỉnh độ đậm của phông chữ bằng cách nhập một số từ 1 đến 1000 vào thiết lập
editor.fontWeighttrong tệpsettings.json.Tôi đang dùng SF Mono, nhưng khi dùng tiếng Hàn thì trước giờ tôi chưa từng nghĩ đến chuyện hỗ trợ độ rộng cố định. Nghe vậy thấy có vẻ rất hay, chắc tôi sẽ thử áp dụng xem sao.
Bạn có tự chỉnh sửa trực tiếp tệp phông chữ để dùng không?
Trên Windows tôi dùng Consolas, còn trên macOS thì dùng Menlo. Trên Mac, SF Mono cho cảm giác dễ đọc nhất, nhưng tôi không rõ font này có được cấp phép để dùng ngoài Xcode hay không.
Dù không có cấp phép để hỗ trợ tích hợp sẵn SF Mono, nhưng có thể tự tải về và thiết lập font tùy chỉnh. Tôi đang dùng theo cách đó trên WebStorm.
Cá nhân tôi cũng có vài điểm không thật sự thích ở Consolas, nhưng có lẽ trong số các phông chữ đơn cách có thể dùng mặc định trên Windows thì đây vẫn là lựa chọn tốt nhất. Đặc biệt trong những môi trường bị cô lập với bên ngoài hoặc vì lý do nào đó mà tôi không thể tùy ý dùng phông chữ mình muốn, tôi luôn dùng Consolas làm phông chữ đơn cách.
Tôi dùng Ubuntu Mono derivative Powerline cho tiếng Anh, còn tiếng Hàn thì dùng D2 Coding.
Có rất nhiều phông chữ monospace đẹp cho tiếng Anh, nhưng với tiếng Hàn thì đến giờ tôi vẫn chưa tìm được cái nào tốt hơn D2 Coding.
Tôi cũng thử đăng một bài Ask GN vì nghĩ biết đâu có phông chữ đơn cách nào khác hỗ trợ tiếng Hàn mà tôi chưa biết, nhưng đúng là vẫn không có T_T
Tôi bắt đầu dùng Fira Code vì thích ligature (khi code Haskell thì dùng ligature thấy tiện hơn), và dạo gần đây có khá nhiều phông chữ đơn cách hỗ trợ ligature nên thấy rất ổn. Vì ngại nên tôi cũng chưa thử đổi sang cái khác. Trước đó tôi cũng đã dùng Source Code Pro trong một thời gian dài.
Với các ngôn ngữ hàm như Haskell thì có lẽ dùng tính năng ligature để hiển thị các ký hiệu toán tử dễ nhìn hơn sẽ tốt hơn.
Mọi người đều đang dùng những phông chữ tốt mà chắc hẳn ai cũng đã từng nghe qua. Còn tôi thì tình cờ lại dùng Comic Mono. Tôi khá thích cảm giác bo tròn của nó.
Thế là hóa ra Comic Sans có cả phiên bản monospace sao?!
…nghĩ kỹ thì đây đúng là một sự tồn tại vừa yêu vừa ghét, gây tranh cãi chẳng kém gì Gulim, nên có thứ như thế này xuất hiện cũng không quá lạ.
Mọi người dùng font nào khi lập trình?
Tôi đã thử dùng nhiều font, từng dùng NanumGothicCoding rồi cuối cùng ổn định với D2Coding. Meslo cũng có vẻ khá ổn.
Nghĩ lại thì mình nhớ ngay cả Menlo, phông chữ mặc định của Terminal trên Mac OS, cũng cho cảm giác khá ổn. Có phải đó là một biến thể của Bitstream Vera Sans không nhỉ.
Đúng vậy, đây là một biến thể của Bitstream Vera Sans.
Vâng. Meslo là phông chữ được chuyển đổi để dùng phông Menlo trên Windows.
https://github.com/andreberg/Meslo-Font
Tìm hiểu thì thấy còn có cả hướng dẫn chọn tổ hợp biến thể cho phông chữ Meslo LG nữa.
https://johngrib.github.io/wiki/coding-font/
Tôi dùng FiraMono NF..
Mình không thích dùng ligature nhưng vẫn muốn có các biểu tượng Powerline… cảm giác đó mình cũng hiểu.
Vì vậy mình cũng không dùng D2Coding ligature mà chỉ dùng D2Coding thôi.
Bài viết sôi nổi nhất trên GeekNews!
Tôi cũng thấy lạ là vì sao chủ đề này đến giờ mới xuất hiện.
Tôi dùng JetBrains Mono và D2Coding.
Đôi khi tôi cũng rất thích IBM Plex Mono cho font terminal và những thứ tương tự.
Cá nhân tôi không thích IBM Plex Mono vì có vài điểm khá kén người dùng, nhưng tôi nghĩ đây là một font rất ấn tượng.
Mà nhân tiện, trong số các font ra mắt gần đây thì có vẻ JetBrains Mono lại được ưa chuộng hơn tôi tưởng khá nhiều.
JetBrains Mono thì có vẻ ngay cả
ligarturecũng không gây khó chịu.Ồ, đến mức đó sao.
Tôi dùng chính là Pragmata Pro (https://fsd.it/shop/fonts/pragmatapro/), phụ là Berkeley Mono (https://berkeleygraphics.com/typefaces/berkeley-mono). Tôi hầu như không dùng tiếng Hàn trong code, nên không cân nhắc font monospace tiếng Hàn.
Khi lập trình, bạn dùng phông chữ nào?
Mình muốn hỏi liệu bạn có cảm thấy phông chữ trả phí thực sự xứng đáng với số tiền bỏ ra không.
Tôi mua Pragmata Pro đến nay chắc cũng đã hơn 5 năm, và đây vẫn luôn là font tôi dùng làm chính để code, vượt qua mọi font khác, nên tôi thấy rất đáng với số tiền đã bỏ ra. Còn Berkeley Mono thì tôi mới mua được vài tháng nên hơi khó để đánh giá thật chính xác.
Nếu trả khoảng 25.000 won và dùng hơn 5 năm thì đúng là quá xứng đáng với giá tiền.
Berkeley Mono nhìn cũng có vẻ khá ổn, nhưng không biết khi dùng thực tế thì thế nào, tôi khá tò mò về những đánh giá sau này.
Rất tiếc là
pretendardkhông hỗ trợ phông chữ đơn cách.Pretendard vốn là thứ được tạo ra cho thiết kế UI nên cũng khó tránh khỏi điều đó… nhưng tôi vẫn mong sẽ có thêm vài phông chữ đơn cách có hỗ trợ tiếng Hàn đủ dùng.
Tôi cũng dùng D2Coding...
Có vẻ như hiện tại, nếu không phải là trường hợp kết hợp phông chữ tiếng Hàn với một phông chữ đơn cách khác, thì phông chữ đơn cách được tạo ra ngay từ đầu với việc sử dụng tiếng Hàn trong đầu chỉ có D2Coding. Ít nhất là trong phạm vi tôi biết.
Tôi dùng Hack pha với D2Coding (cho tiếng Hàn).
Cấu hình như sau.
;;
;;; straight is
nill' macro ;; ;;;###autoload (defmacro use-feature (name &rest args) "Giốnguse-package', nhưng tắtstraight-use-package-by-default'." (declare (indent defun))(use-package ,name:straight nil
,@args))
(use-feature emacs
:custom
(face-font-rescale-alist '((".D2Coding." . 1.26)))
:init
(add-to-list 'default-frame-alist '(font . "Hack Nerd Font"))
(set-face-attribute 'default nil
:height 120
:family "Hack Nerd Font") ;; This will early init
(set-fontset-font "fontset-default" '(#x1100 . #xffdc)
'("D2Coding" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e)
'("D2Coding" . "iso10646-1")))
Ôi trời, Emacs!
Nhìn kỹ thì có vẻ đó không phải chỉ là font Hack, mà là font Hack Nerd.
À đúng rồi
Tôi dùng Cascadia Mono do MS tạo ra và không dùng tùy chọn ligature. Tôi đang dùng D2Coding làm font fallback.
Bạn đã thiết lập fallback bằng cách chỉnh sửa Registry chưa?
Tôi đang dùng dòng inteliJ nên có thể thiết lập luôn.
À ha… tôi cũng đang dùng IntelliJ IDEA và Rider, nhưng vì lúc nào cũng dùng D2Coding ở mọi nơi nên tôi đã quên béng mất việc thiết lập tùy chọn fallback.
Tôi đang dùng Fira Code.
Fira Code có vẻ là một phông chữ rất chú trọng hỗ trợ ligature.
Cá nhân tôi không thích lắm việc dùng ligature trong phông chữ monospace, nhưng nếu bạn thích kiểu đó thì đây là một phông chữ khá đáng để bạn ưng ý.
Tôi cũng từng dùng D2Coding Ligature, nhưng gần đây đang dùng JetBrains Mono và có vẻ nó không hỗ trợ font đơn cách cho tiếng Hàn.
Phông chữ đơn cách hỗ trợ CJK thật sự quá hiếm…
Cá nhân tôi khi lập trình thì cố gắng không dùng tiếng Hàn nhiều nhất có thể, nên просто dùng Jetbrains Mono vì đó là font tôi thích nhất.
Cá nhân tôi cũng thích các font dạng pixel, nên thỉnh thoảng cũng dùng NeoDunggeunmo Code.
Nhân tiện, trong trường hợp của tôi, vì tất cả chú thích trong mã nguồn của nhóm chúng tôi đều bằng tiếng Hàn, nên việc font lập trình hỗ trợ tiếng Hàn là một điều kiện không thể từ bỏ.
Tôi dùng JetBrains Mono khi phát triển bằng VS Code trên Windows. Bên tôi đương nhiên cũng viết chú thích bằng tiếng Hàn, nhưng không dùng tiếng Hàn trong code nên có vẻ không ảnh hưởng nhiều.
Khi chỉnh sửa Markdown, việc có phông chữ đơn cách cố định đúng tỷ lệ 2:1 khi trộn tiếng Hàn và tiếng Anh là rất quan trọng, nên tôi đang dùng Sarasa Fixed K.
Thật ra vì
d2codingđáp ứng mọi tiêu chí nên tôi đã dùng nó quá lâu… Trong lúc tìm font thay thế, hiện tôi đang dùng sarasa fixed k. Còn jetbrains mono thì tôi thích vì phông chữ tiếng Anh của nó rất đẹp.Nếu chỉ dùng thuần cho mã nguồn thì với tôi, dùng font có fallback cho tiếng Hàn cũng không vấn đề gì, nhưng chẳng hiểu sao tôi lại khá cố chấp muốn đồng bộ mọi thứ bằng một font duy nhất, từ Markdown, terminal cho tới cả phông chữ đơn cách trong trình duyệt web… Theo nghĩa đó thì D2Coding thật sự đáp ứng mọi điều kiện, nên đến giờ tôi vẫn tiếp tục dùng nó.
Tôi không dùng Sarasa Gothic vì font gốc là Iosevka không hợp gu lắm, nhưng dù không đến mức như font Meslo LG mà tôi biết được nhờ thread này, tôi vẫn thấy hay ở chỗ nó được chia rất chi tiết để có thể dùng từng tổ hợp thiết kế theo đúng sở thích.
Với NeoDunggeunmo Code, tôi có cảm giác một số ký tự (ví dụ như
UvàV) không được phân biệt rõ ràng, nên tôi nghĩ nó không đáp ứng được tiêu chí thứ 3 trong các điều kiện ở trên.