15 คะแนน โดย kunggom 2022-05-30 | 55 ความคิดเห็น | แชร์ทาง WhatsApp

คำถามนี้น่าจะถูกโพสต์ที่นี่ไปนานแล้ว แต่แปลกดีที่ดูเหมือนจะยังไม่เคยมีใครตั้งคำถามนี้ที่นี่เลย เลยขอลองถามดูครับ
เวลาคุณเขียนโค้ด คุณใช้ฟอนต์อะไรบ้าง? แล้วฟอนต์แบบความกว้างคงที่ของเว็บเบราว์เซอร์ คุณใช้ตัวไหนกัน?

สำหรับผมตอนนี้ใช้ D2Coding ครับ
เกณฑ์ที่ผมใช้เลือกฟอนต์สำหรับเขียนโค้ดมีดังนี้

  • ต้องเป็นฟอนต์แบบความกว้างคงที่ (monospace) สไตล์ sans-serif
  • ต้องรองรับภาษาเกาหลี และเมื่อใช้ภาษาเกาหลีแล้วความกว้างคงที่ต้องไม่เพี้ยน
  • ต้องแยกความต่างของตัวอักษรที่สับสนกันง่ายอย่าง O, o, 0, l, i ได้ชัดเจนพอ
  • สัญลักษณ์ \ (backslash) ต้องไม่ถูกแสดงเป็นสัญลักษณ์สกุลเงิน (วอนเกาหลี)
  • ต้องรองรับสัญลักษณ์ Powerline สำหรับใช้งานในเทอร์มินัล
  • และอื่น ๆ ต้องตรงกับความชอบส่วนตัวของตัวเอง
โฆษณา

ปัญหาคือฟอนต์ที่ตรงครบทุกเงื่อนไขเหล่านี้มีน้อยกว่าที่คิดมาก โดยเฉพาะเงื่อนไขที่ว่า แม้ใช้ภาษาเกาหลีแล้วก็ต้องไม่ทำให้ความกว้างคงที่เสียไป ดูจะเป็นสิ่งที่หายากจริง ๆ เลยลองหาฟอนต์อย่าง Sarasa Gothic หรือ Monoplex KR ที่เป็นการนำฟอนต์เกาหลีมาผสมกับฟอนต์แบบความกว้างคงที่ชื่อดัง แต่ก็ยังไม่เจอตัวที่ชอบมากกว่า D2Coding ที่ใช้อยู่เดิม

พอดีช่วงนี้เพิ่งลง Windows ใหม่และกำลังตั้งค่าเรื่องฟอนต์อยู่ ก็เลยนึกสงสัยขึ้นมาว่าคนอื่น ๆ ใช้ฟอนต์อะไรสำหรับเขียนโค้ดกัน โดยเฉพาะเรื่องการรองรับภาษาเกาหลี อยากรู้ว่ามีคู่ฟอนต์ไหนที่พอจะแนะนำได้บ้างไหมครับ

55 ความคิดเห็น

 
chl11wq12 2025-05-20

RobotoMono Nerd Font

 
chopinbrian8 2022-09-05

ฉันใช้ BonMono (Source Han Mono) ผสมกับ Nanum Gothic Coding ครับ

 
p6tth7sg6ixkajsg3mic 2022-06-06

ใช้ source code pro for powerline มาหลายปีแล้ว
แต่พอได้รู้จัก sf mono จากเธรดคอมเมนต์ที่นี่ ก็เปลี่ยนมาใช้ทันทีเลย
ใน vscode กับ datagrip นี่ sf mono แสดงผลได้สวยมากเลยครับ

 
kunggom 2022-06-07

Apple ซึ่งสนใจเรื่องไทโปกราฟีมาอย่างน่าสงสัย(?) ตั้งนานแล้ว ถึงกับออกแบบฟอนต์สำหรับ UI ขึ้นมาเองอย่างจริงจังในชื่อ San Francisco เลยอ่านง่ายและสวยดีนะครับ

 
galadbran 2022-06-04

มีคนแนะนำ Monoplex KR ที่นี่ เลยเริ่มเปลี่ยนจากที่เคยใช้ Jetbrains mono สำหรับเขียนโค้ด และ Sarasa Fixed K สำหรับ Markdown มาใช้ Monoplex KR ตัวเดียวทั้งสำหรับเขียนโค้ดและ Markdown อยู่พักหนึ่งแล้วครับ
ผมใช้ Windows 10 กับ VSCode โดยความประทับใจแรกคือแม้จะตั้งขนาดฟอนต์เท่ากัน แต่ขนาดที่เห็นจริงเล็กลงอย่างชัดเจน และตัวอักษรเกาหลีก็ดูฟุ้ง ๆ นิดหน่อย
แต่ก็ยังไม่ได้ถึงขั้นมีปัญหาเรื่องความอ่านง่าย เลยคิดว่าจะลองใช้ Monoplex KR ไปอีกสักพักครับ!

 
kunggom 2022-06-05

ในกรณีที่ตัวอักษรภาษาเกาหลีดูเบลอเล็กน้อย หากอยู่ในสภาพแวดล้อมที่สามารถเลือกความหนาของตัวอักษรได้ บางครั้งการปรับความหนาเล็กน้อยก็ช่วยให้ดีขึ้นได้ หากเป็น VS Code สามารถป้อนตัวเลขระหว่าง 1 ถึง 1000 ในการตั้งค่า editor.fontWeight ของไฟล์ settings.json เพื่อปรับความหนาของฟอนต์ได้อย่างละเอียด

 
draupnir 2022-06-04

ก่อนหน้านี้ผมใช้ SF Mono อยู่ แต่ตอนใช้ภาษาเกาหลีผมไม่ได้คิดถึงเรื่องการรองรับฟอนต์ความกว้างคงที่เลยนะครับ พอมาฟังดูแล้วน่าจะดีมาก ๆ ไว้ต้องลองเอาไปใช้ดูสักครั้งครับ

 
kunggom 2022-06-05

คุณแก้ไขไฟล์ฟอนต์โดยตรงแล้วนำมาใช้กันหรือเปล่าครับ?

 
susuyo 2022-06-02

บน Windows ผมใช้ Consolas และบน macOS ใช้ Menlo ครับ บน Mac ผมว่า SF Mono อ่านง่ายที่สุด แต่ไม่แน่ใจว่าฟอนต์นี้มีไลเซนส์ให้ใช้ได้นอก Xcode ด้วยหรือเปล่า

 
draupnir 2022-06-04

แม้จะไม่มีการทำไลเซนส์ให้รองรับ SF Mono แบบบิลต์อิน แต่ก็สามารถดาวน์โหลดมาเองแล้วตั้งค่าเป็นฟอนต์แบบกำหนดเองได้ครับ ผมก็ใช้งานใน WebStorm ด้วยวิธีนั้นอยู่ครับ

 
kunggom 2022-06-03

โดยส่วนตัวมีบางจุดที่ผมไม่ค่อยถูกใจกับ Consolas เท่าไรนัก แต่ในบรรดาฟอนต์แบบ monospace ที่ใช้ได้เป็นค่าเริ่มต้นบน Windows ก็น่าจะถือว่าดีที่สุดแล้ว โดยเฉพาะในสภาพแวดล้อมที่ถูกแยกจากภายนอกหรือไม่สามารถใช้ฟอนต์ที่ต้องการได้ตามใจ ผมจะเลือกใช้ Consolas เป็นฟอนต์ monospace แบบไม่ลังเลเลย

 
functor 2022-06-02

ตอนเขียนโค้ดคุณใช้ฟอนต์อะไรกันบ้าง?

ผมใช้ Ubuntu Mono derivative Powerline สำหรับภาษาอังกฤษ และ D2 Coding สำหรับภาษาไทย
ฟอนต์แบบ fixed-width สำหรับภาษาอังกฤษมีสวย ๆ เยอะมาก แต่สำหรับภาษาไทยจนถึงตอนนี้ก็ยังหาอะไรที่ดีกว่า D2 Coding ไม่เจอเลยครับ

 
kunggom 2022-06-03

ผมเองก็ลองโพสต์ถามใน Ask GN ดูเผื่อว่าจะมีฟอนต์แบบ monospaced ดี ๆ ตัวอื่นที่รองรับภาษาเกาหลีโดยที่ผมยังไม่รู้จักบ้าง แต่สุดท้ายก็ไม่มีอยู่ดี T_T

 
hongminhee 2022-06-01

ผมชอบ ligature เลยเริ่มใช้ Fira Code (พอเขียน Haskell ไปเรื่อย ๆ ก็รู้สึกว่าใช้ ligature สะดวกกว่า) ช่วงนี้ก็รู้สึกว่าดีตรงที่มีฟอนต์แบบ monospaced ที่รองรับ ligature เยอะขึ้น เลยยังไม่ได้ลองตัวอื่นเพราะขี้เกียจ ก่อนหน้านั้นก็ใช้ Source Code Pro อยู่นานครับ

 
kunggom 2022-06-02

ถ้าเป็นภาษาเชิงฟังก์ชันอย่าง Haskell การใช้ฟีเจอร์ ligature ที่ช่วยปรับสัญลักษณ์โอเปอเรเตอร์ให้อ่านง่ายขึ้นก็น่าจะดีกว่านะครับ

 
namomo 2022-05-31

ดูเหมือนว่าทุกคนจะใช้ฟอนต์ดี ๆ ที่เคยได้ยินชื่อกันมาสักครั้งนะครับ ส่วนผมบังเอิญใช้ Comic Mono ครับ ชอบความรู้สึกโค้งมนของมัน

 
kunggom 2022-06-05

ไหนว่า Comic Sans มีเวอร์ชันฟอนต์แบบความกว้างคงที่ด้วยเหรอ?!
…พอมาคิดดูแล้ว มันก็เป็นสิ่งที่ทั้งรักทั้งชังและความเห็นแตกกันพอๆ กับ Gulim อยู่เหมือนกัน แบบนี้จะมีอะไรแบบนี้ออกมาก็ไม่แปลกนัก

 
bluenyx 2022-05-31

ผมลองใช้หลายฟอนต์มาแล้ว ตอนแรกใช้ NanumGothicCoding ก่อนจะมาลงตัวที่ D2Coding ครับ ส่วน Meslo ก็ดูเหมือนว่าจะโอเคเหมือนกัน

 
kunggom 2022-05-31

พอคิดดูแล้ว ผมก็จำได้ว่าฟอนต์ Menlo ซึ่งเป็นฟอนต์เริ่มต้นของ Terminal บน Mac OS ก็ให้ความรู้สึกว่าค่อนข้างดีเหมือนกันนะ มันเป็นเวอร์ชันดัดแปลงของ Bitstream Vera Sans หรือเปล่านะ

 
bluenyx 2022-05-31

ถูกต้อง เป็นรุ่นดัดแปลงของ Bitstream Vera Sans

 
bluenyx 2022-05-31

ใช่ Meslo เป็นฟอนต์ที่แปลงมาจากฟอนต์ Menlo เพื่อให้ใช้บน Windows ได้

https://github.com/andreberg/Meslo-Font

 
kunggom 2022-05-31

ค้นหาดูแล้ว พบว่ามีคู่มือเลือกการจัดชุดเงื่อนไขของฟอนต์ Meslo LG ด้วยนะครับ
https://johngrib.github.io/wiki/coding-font/

 
jjpark78 2022-05-31

ผมใช้ FiraMono NF..

 
kunggom 2022-05-31

ไม่ชอบใช้ ligature แต่ก็อยากได้สัญลักษณ์ Powerline นี่แหละ… ผมก็เข้าใจความรู้สึกนั้นดี
เพราะงั้นผมเองก็ไม่ใช้ D2Coding ligature และใช้แค่ D2Coding ธรรมดาเท่านั้น

 
jujumilk3 2022-05-31

โพสต์ที่คึกคักที่สุดบน GeekNews!

 
kunggom 2022-05-31

ก็อดสงสัยไม่ได้ว่าทำไมหัวข้อแบบนี้ถึงไม่เคยถูกพูดถึงมาก่อนเลย

 
nicewook 2022-05-31

ผมใช้ JetBrains Mono กับ D2Coding
บางครั้งก็ชอบ IBM Plex Mono สำหรับฟอนต์เทอร์มินัลเป็นพิเศษ

 
kunggom 2022-05-31

โดยส่วนตัวแล้วผมไม่ค่อยชอบ IBM Plex Mono เพราะมีบางจุดที่แล้วแต่คนจะชอบหรือไม่ชอบ แต่ก็คิดว่าเป็นฟอนต์ที่น่าประทับใจ
ว่าแต่สำหรับฟอนต์ที่ออกมาในช่วงหลังมานี้ ดูเหมือนว่า JetBrains Mono จะได้รับความนิยมมากกว่าที่คิดนะครับ

 
nicewook 2022-05-31

JetBrains Mono มี ligature ที่ดูเหมือนจะไม่ค่อยรบกวนใจเหมือนกันนะ

 
kunggom 2022-05-31

โอ้ ขนาดนั้นเลยเหรอ

 
ojkwon 2022-05-31

ผมใช้ Pragmata Pro (https://fsd.it/shop/fonts/pragmatapro/) เป็นหลัก และใช้ Berkeley Mono (https://berkeleygraphics.com/typefaces/berkeley-mono) เป็นรอง แทบไม่ได้ใช้ภาษาเกาหลีในโค้ดเลย จึงไม่ได้พิจารณาฟอนต์แบบ fixed-width สำหรับภาษาเกาหลี

 
kunggom 2022-05-31

เวลาเขียนโค้ด คุณใช้ฟอนต์อะไรกันบ้าง?

อยากรู้ว่าคุณรู้สึกว่าฟอนต์เชิงพาณิชย์คุ้มค่ากับเงินที่จ่ายไปมากพอไหม

 
ojkwon 2022-05-31

Pragmata pro น่าจะซื้อมานานเกิน 5 ปีแล้ว และเป็นฟอนต์ที่ผมมักจะใช้เป็นฟอนต์หลักสำหรับเขียนโค้ดอยู่เสมอเหนือกว่าฟอนต์อื่น ๆ จนรู้สึกว่าคุ้มค่ากับราคาที่จ่ายไป ส่วน Berkely mono เพิ่งซื้อมาได้แค่ไม่กี่เดือน เลยยังประเมินได้ไม่ค่อยแม่นยำนัก

 
kunggom 2022-05-31

ถ้าจ่ายเงินประมาณ 25,000 วอนเกาหลีแล้วใช้มาเกิน 5 ปี แบบนี้ก็คุ้มราคาจริง ๆ นะครับ
Berkeley Mono เองก็ดูดีมากจากภายนอก แต่พอใช้งานจริงจะเป็นอย่างไร คงต้องรอดูคำประเมินในอนาคตครับ

 
geeeek 2022-05-30

น่าเสียดายมากที่ Pretendard ไม่รองรับฟอนต์แบบความกว้างคงที่

 
kunggom 2022-05-30

Pretendard เป็นสิ่งที่สร้างขึ้นมาเพื่อการออกแบบ UI เลยช่วยไม่ได้อยู่บ้าง… แต่ก็ยังอยากให้มีฟอนต์แบบ fixed-width ที่รองรับภาษาเกาหลีและใช้งานได้ดีออกมาเพิ่มอีกหน่อย

 
joyfui 2022-05-30

ผมก็ใช้ D2Coding...

 
kunggom 2022-05-30

ไม่ใช่กรณีที่นำฟอนต์เกาหลีไปจับคู่กับฟอนต์แบบความกว้างคงที่อื่น ๆ แต่เป็นฟอนต์แบบความกว้างคงที่ที่ถูกสร้างขึ้นโดยคำนึงถึงการใช้งานภาษาเกาหลีมาตั้งแต่ต้น ซึ่งเท่าที่มีอยู่ตอนนี้ก็ดูเหมือนจะมีแค่ D2Coding เท่านั้น อย่างน้อยก็เท่าที่ผมรู้ครับ

 
alstjr7375 2022-05-30

ผมใช้ Hack ผสมกับ D2Coding (สำหรับภาษาเกาหลี) ตอนเขียนโค้ดครับ

การตั้งค่ามีแบบนี้ครับ
;;
;;; straight is nill' macro ;; ;;;###autoload (defmacro use-feature (name &rest args) "Like use-package', but with straight-use-package-by-default' disabled." (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

อี๊ก Emacs!
ดูดี ๆ แล้วเหมือนว่าจะไม่ใช่แค่ฟอนต์ Hack ธรรมดา แต่เป็นฟอนต์ Hack Nerd นะครับ

 
alstjr7375 2022-05-30

อ๊ะ ใช่แล้ว

 
chanhee 2022-05-30

ผมใช้ Cascadia Mono ที่ Microsoft ทำ และไม่ได้เปิดใช้ตัวเลือก ligature โดยใช้ D2Coding เป็นฟอนต์ fallback อยู่ครับ

 
kunggom 2022-05-30

ตั้งค่า Fallback ด้วยการแก้ไขรีจิสทรีหรือเปล่า?

 
chanhee 2022-05-31

ผมใช้ตระกูล IntelliJ อยู่.. เลยตั้งค่าได้เลยครับ

 
kunggom 2022-06-05

อ๋อ... ผมก็ใช้ IntelliJ IDEA กับ Rider เหมือนกัน แต่เพราะใช้ D2Coding อยู่ตลอดไม่ว่าจะที่ไหน ก็เลยลืมเรื่องการตั้งค่า fallback option ไปเลยครับ

 
coaksen 2022-05-30

ผมใช้ fira code อยู่ครับ

 
kunggom 2022-05-30

ดูเหมือนว่า Fira Code จะเป็นฟอนต์ที่จริงจังกับการรองรับ ligature มากทีเดียว
ส่วนตัวแล้วผม/ฉันไม่ค่อยชอบใช้ ligature ในฟอนต์แบบ fixed-width เท่าไร แต่ถ้าเป็นคนที่ชอบอะไรแบบนั้น ก็น่าจะเป็นฟอนต์ที่ถูกใจไม่น้อย

 
excovert 2022-05-30

ผมก็เคยใช้ D2Coding Ligature เหมือนกัน แต่ช่วงนี้กำลังใช้ Jetbrains Mono อยู่ ซึ่งมันยังไม่รองรับฟอนต์แบบความกว้างคงที่สำหรับภาษาเกาหลี

 
kunggom 2022-05-30

ฟอนต์แบบ monospaced ที่รองรับ CJK นี่หายากสุด ๆ…

 
cog25 2022-05-30

โดยส่วนตัวแล้ว ตอนเขียนโค้ดผมพยายามไม่ใช้ภาษาเกาหลีให้มากที่สุด เลยใช้ Jetbrains Mono ที่ชอบที่สุดแบบง่าย ๆ ครับ
ส่วนตัวผมก็ชอบฟอนต์พิกเซลด้วย เลยมีใช้ NeoDGM Code อยู่บ้างเป็นครั้งคราวครับ

 
kunggom 2022-05-30

สำหรับผม เนื่องจากคอมเมนต์ทั้งหมดในซอร์สโค้ดของทีมเราเป็นภาษาเกาหลี การรองรับภาษาเกาหลีของฟอนต์สำหรับเขียนโค้ดจึงเป็นเงื่อนไขที่ยอมขาดไม่ได้

 
galadbran 2022-06-01

ผมพัฒนาบน Windows ด้วย VS Code และใช้ JetBrains Mono ครับ ที่ฝั่งเราคอมเมนต์ก็เป็นภาษาเกาหลีตามปกติอยู่แล้ว แต่ไม่ได้ใช้ภาษาเกาหลีในโค้ด จึงดูเหมือนไม่มีผลมากนัก
ตอนแก้ไข Markdown เวลามีทั้งภาษาเกาหลีและภาษาอังกฤษปนกัน สิ่งสำคัญมากคือฟอนต์ต้องเป็นแบบกว้างคงที่ 2:1 จริง ๆ เลยใช้ Sarasa Fixed K อยู่ครับ

 
galadbran 2022-06-01

จริง ๆ แล้ว d2coding ตรงตามเงื่อนไขทุกอย่างเลย เลยใช้มานานมาก... ตอนหาฟอนต์ทดแทนตอนนี้ก็เลยใช้ sarasa fixed k อยู่ ส่วน JetBrains Mono ก็ชอบเพราะฟอนต์อังกฤษดูสวยดี

 
kunggom 2022-06-02

ถ้าจะใช้กับซอร์สโค้ดล้วน ๆ อย่างเดียว สำหรับผมจะใช้ฟอนต์ที่มี fallback ภาษาเกาหลีก็ไม่เป็นไรหรอกครับ แต่พอดีผมดันยึดติดอยากให้ทั้ง Markdown, เทอร์มินัล หรือแม้แต่ฟอนต์ fixed-width ในเว็บเบราว์เซอร์ ใช้ฟอนต์เดียวกันอย่างสม่ำเสมอแบบเข้าชุดกันไปหมด… ในความหมายนั้น D2Coding ตอบโจทย์ครบทุกเงื่อนไขจริง ๆ ก็เลยใช้ต่อเนื่องมาจนถึงตอนนี้ครับ

ส่วน Sarasa Gothic ผมไม่ได้ใช้ เพราะฟอนต์ต้นแบบอย่าง Iosevka ไม่ค่อยใช่สไตล์ที่ผมชอบเท่าไร แต่ก็ต้องยอมรับว่าเขาแบ่งดีไซน์ย่อยไว้ละเอียดดี เพื่อให้เลือกจับคู่ตามรสนิยมได้ (ถึงจะไม่สุดเท่าฟอนต์ Meslo LG ที่เพิ่งรู้จักจากเธรดนี้ก็ตาม)

 
kunggom 2022-05-30

สำหรับ NeoDunggeunmo Code ผมรู้สึกว่าตัวอักษรบางตัว (เช่น U กับ V) แยกความแตกต่างกันได้ไม่ชัดเจนนัก จึงคิดว่ายังไม่ตรงตามเงื่อนไขข้อที่ 3 ด้านบน