15 điểm bởi kunggom 2022-05-30 | 55 bình luận | Chia sẻ qua WhatsApp

Đâ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.
Quảng cáo

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

 
chl11wq12 2025-05-20

RobotoMono Nerd Font

 
chopinbrian8 2022-09-05

Tôi dùng kết hợp BonMono (Source Han Mono) và Nanum Gothic Coding.

 
p6tth7sg6ixkajsg3mic 2022-06-06

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.

 
kunggom 2022-06-07

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.

 
galadbran 2022-06-04

Ở đâ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!

 
kunggom 2022-06-05

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.fontWeight trong tệp settings.json.

 
draupnir 2022-06-04

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.

 
kunggom 2022-06-05

Bạn có tự chỉnh sửa trực tiếp tệp phông chữ để dùng không?

 
susuyo 2022-06-02

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.

 
draupnir 2022-06-04

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.

 
kunggom 2022-06-03

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.

 
functor 2022-06-02

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.

 
kunggom 2022-06-03

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

 
hongminhee 2022-06-01

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.

 
kunggom 2022-06-02

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.

 
namomo 2022-05-31

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ó.

 
kunggom 2022-06-05

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ạ.

 
bluenyx 2022-05-31

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.

 
kunggom 2022-05-31

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ỉ.

 
bluenyx 2022-05-31

Đúng vậy, đây là một biến thể của Bitstream Vera Sans.

 
bluenyx 2022-05-31

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

 
kunggom 2022-05-31

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/

 
jjpark78 2022-05-31

Tôi dùng FiraMono NF..

 
kunggom 2022-05-31

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.

 
jujumilk3 2022-05-31

Bài viết sôi nổi nhất trên GeekNews!

 
kunggom 2022-05-31

Tôi cũng thấy lạ là vì sao chủ đề này đến giờ mới xuất hiện.

 
nicewook 2022-05-31

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ự.

 
kunggom 2022-05-31

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.

 
nicewook 2022-05-31

JetBrains Mono thì có vẻ ngay cả ligarture cũng không gây khó chịu.

 
kunggom 2022-05-31

Ồ, đến mức đó sao.

 
ojkwon 2022-05-31

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.

 
kunggom 2022-05-31

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.

 
ojkwon 2022-05-31

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.

 
kunggom 2022-05-31

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.

 
geeeek 2022-05-30

Rất tiếc là pretendard không hỗ trợ phông chữ đơn cách.

 
kunggom 2022-05-30

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.

 
joyfui 2022-05-30

Tôi cũng dùng D2Coding...

 
kunggom 2022-05-30

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.

 
alstjr7375 2022-05-30

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ống use-package', nhưng tắt straight-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")))

 
kunggom 2022-05-30

Ôi trời, Emacs!
Nhìn kỹ thì có vẻ đó không phải chỉ là font Hack, mà là font Hack Nerd.

 
alstjr7375 2022-05-30

À đúng rồi

 
chanhee 2022-05-30

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.

 
kunggom 2022-05-30

Bạn đã thiết lập fallback bằng cách chỉnh sửa Registry chưa?

 
chanhee 2022-05-31

Tôi đang dùng dòng inteliJ nên có thể thiết lập luôn.

 
kunggom 2022-06-05

À 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.

 
coaksen 2022-05-30

Tôi đang dùng Fira Code.

 
kunggom 2022-05-30

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 ý.

 
excovert 2022-05-30

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.

 
kunggom 2022-05-30

Phông chữ đơn cách hỗ trợ CJK thật sự quá hiếm…

 
cog25 2022-05-30

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.

 
kunggom 2022-05-30

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ỏ.

 
galadbran 2022-06-01

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.

 
galadbran 2022-06-01

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.

 
kunggom 2022-06-02

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.

 
kunggom 2022-05-30

Với NeoDunggeunmo Code, tôi có cảm giác một số ký tự (ví dụ như UV) 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.