x:0 y:0
SKILL / PRN-001 / REV C U+0E00–0E7F

ฟอนต์ไทย
ที่ไม่
พังยับ

skill ดีไซน์ที่มีจุดยืนชัดเจน: จับคู่ฟอนต์มาให้เป๊ะ vertical rhythm ถูกต้อง พร้อมกฎเหล็กกันทุกอย่างที่ทำให้ภาษาไทยพังเงียบๆ อ่านแล้วให้ฟีลกรุงเทพ ไม่ใช่ฟีลงานแปล

ประณีต /prà·nîit/ — adj. meticulous; crafted with exquisite care

ลองเอาเมาส์จ่อ — สลับมีหัว / ไม่มีหัวลองแตะดู — สลับมีหัว / ไม่มีหัว
ไม้ตรี · tone mark4th storey — clips
below line-height 1.55
ไม้หันอากาศ · vowel3rd storey — killed
by letter-spacing
หัว · the loopthe axis that decides
your whole typeface
ปั๊
BASELINE 0 — STRESS-TEST WORD: ปั๊ม "PUMP"
ประณีตPRA-NÎIT · CERTIFIED IMPECCABLE
01
Glyph Wall

จัดเต็มมาให้ 16 ตระกูล ลองจิ้มดู

ทุกช่องคือ live text เอาเมาส์จ่อแตะเพื่อโยน glyph เข้าฟอนต์สุ่มจาก skill — หัว didone อ้วนๆ ของ Chonburi, ฟีลลายมือเท่ๆ ของ Pattaya, เหลี่ยมแบบ CAD ของ Chakra Petch รหัสเดียวกัน แต่มีถึง 16 คาแรคเตอร์

HOVER = random family · CLICK = cycle in orderTAP = cycle familiesALL SIL OFL · GOOGLE FONTS · CADSON DEMAK
02
Crash Tests

CSS ที่เขียนมาเพื่อ Latin ทำไทยพังเงียบๆ

ไม่มี error อะไรเลย layout ขึ้นปกติ แต่พอดูดีๆ วรรณยุกต์ชนกัน สระอำแตกกระจาย บรรทัดตัดกลางพยางค์ ตัวอย่างข้างล่างคือของจริงที่กำลังพังอยู่บน browser คุณตอนนี้ — พร้อมเวอร์ชันแก้แล้วเทียบใต้กันเลย ข้อความเดียวกัน ต่างกันแค่ property เดียว

Crash 01 · clipped marks
น้ำปั๊มที่นี่ใช้พลังงานแสงอาทิตย์ น้ำปั๊มที่นี่ใช้พลังงานแสงอาทิตย์ เครื่องวัดระดับน้ำส่งข้อมูลทุกชั่วโมง
น้ำปั๊มที่นี่ใช้พลังงานแสงอาทิตย์ น้ำปั๊มที่นี่ใช้พลังงานแสงอาทิตย์ เครื่องวัดระดับน้ำส่งข้อมูลทุกชั่วโมง

line-height แบบ Latin บี้ชั้นวรรณยุกต์

ภาษาไทยซ้อนกันได้ถึง 4 ชั้นต่อคอลัมน์ พอใช้ line-height: 1.05 ชั้นบนสุดของบรรทัดล่างก็กระแทกเข้าบรรทัดบนเต็มๆ

body line-height 1.6–1.8 ห้ามต่ำกว่า 1.55
Crash 02 · broken shaping
น้ำดื่มสะอาดสำหรับทุกคน
น้ำดื่มสะอาดสำหรับทุกคน

Tracking ฉีกสระออกจากพยัญชนะ

letter-spacing ถ่างช่องว่างเข้าไประหว่างพยัญชนะกับสระของมันเอง สระอำ (ำ) คือตัวแรกที่พังยับ

ใช้ tracking แค่กับ :lang(en) — ห้ามแตะภาษาไทย
Crash 03 · mid-syllable break
ระบบจะแจ้งเตือนอัตโนมัติเมื่อระดับน้ำต่ำกว่าเกณฑ์
ระบบจะแจ้งเตือนอัตโนมัติเมื่อระดับน้ำต่ำกว่าเกณฑ์

break-all ตัดมั่วกลางคำ

ภาษาไทยไม่มีช่องว่างระหว่างคำ word-break: break-all เลยตัดตรงไหนก็ได้ — กลางพยางค์ อ่านไม่รู้เรื่อง

ตัดคำตาม dictionary · Intl.Segmenter('th')
03
The Axis

มีหัว / ไม่มีหัว — เลือกครั้งเดียว คุมทั้งงาน

ฟอนต์ไทยมีสองสาย มีหัว (looped) กับไม่มีหัว (loopless) — มันคือแกนหลักเหมือน serif vs sans แบบมีหัวอ่าน paragraph ยาวๆ ได้เร็วกว่าแบบวัดผลได้จริง แบบไม่มีหัวคมกว่าตอนขึ้น size ใหญ่ ลองสลับตัวอักษรยักษ์ดู แล้วจะเห็นหัวโผล่มา

SAME FAMILY · SAME WEIGHT
ONLY THE หัว DIFFERS

IBM PLEX SANS THAI
↔ PLEX THAI LOOPED
คนมือ
VERDICT: loopless = headings · looped = body ไม่มีหัวล้วนใช้ได้แค่กลุ่มวัยรุ่น + UI สั้นๆ บทความยาว / ราชการ / การเงิน body ต้องมีหัวเท่านั้น ห้ามแหกกฎ
1.70 line-height
✓ CORRECT — MARKS CLEAR

ปั๊มน้ำที่นี่ใช้พลังงานแสงอาทิตย์ทั้งหมด ระบบจะวัดระดับน้ำและแจ้งเตือนเมื่อต่ำกว่าเกณฑ์ที่ตั้งไว้ น้ำที่ปั๊มขึ้นมาผ่านการกรองสามขั้นตอน ปั๊มน้ำที่นี่ใช้พลังงานแสงอาทิตย์ทั้งหมด ระบบจะวัดระดับน้ำและแจ้งเตือนเมื่อต่ำกว่าเกณฑ์ที่ตั้งไว้

04
Violations

7 ทางโดนประทับตรา ห้าม

พังจริง ไม่ใช่เรื่องสไตล์ skill ปัดตกทุกข้อนี้ในทุกงานที่มันแตะ

Violation 01
ใส่ letter-spacing ให้ภาษาไทย — สระ/วรรณยุกต์หลุดจากตัว สระอำ (ำ) พังก่อนเพื่อน
Violation 02
ปล่อย stack โดยไม่มี Thai fallback — ปิดท้ายด้วย 'Noto Sans Thai', system-ui เสมอ
Violation 03
body line-height ต่ำกว่า 1.55 — วรรณยุกต์โดนตัดหัว
Violation 04
word-break: break-all — ภาษาไทยไม่มีช่องว่างระหว่างคำ มันจะตัดมั่วกลางพยางค์
Violation 05
เอาฟอนต์สาย display (Pattaya, Chonburi, Itim…) มาทำ body text
Violation 06
ผสมมีหัว / ไม่มีหัวมั่วๆ — มันคือแกนที่ต้องเลือกแล้วยืนให้สุด
Violation 07
เหมาเอาว่าไทยกับ Latin ขนาดเท่ากัน — แยกด้วย unicode-range แล้วจูนด้วย font-size-adjust
05
Directions

จับคู่มาให้ 10 แบบ เลือกหนึ่ง แล้วลุย

ทุกแถวแสดงผลจริงด้วยฟอนต์ heading ของมันเอง เอาเมาส์จ่อเพื่อสลับสี คลิกแตะที่แถวเพื่อกางดู spec เต็มๆ — ตัวอย่าง body, metrics และ URL สำหรับ import พร้อมแปะ

06
Install

แปะทีเดียวจบ ทุกงานได้มาตรฐาน

# ติดตั้ง skill ลงใน project
> use skill: praneet-front

# แล้วก็สั่งได้เลย
> "ออกแบบหน้า checkout เป็นภาษาไทยหน่อย"

 pairing locked      DIR-08 Prompt / Anuphan
 line-height         1.3 head / 1.7 body
 letter-spacing      scoped to :lang(en)
 fallback stack      Noto Sans Thai → system-ui
 numerals            tabular, ฿-ready
ผ่านPASS · PRN-001

ได้อะไรบ้าง

คัมภีร์อ้างอิงครบชุด — ตัวอย่าง crash-test, รายการข้อห้าม และคู่ฟอนต์ 10 แบบพร้อม URL จาก Google Fonts — ถูกใช้กับทุกงานดีไซน์ภาษาไทยของคุณโดยอัตโนมัติ

01ติดตั้ง skill ลงใน project หรือบทสนทนา
02สั่งงาน UI, สไลด์ หรือเอกสารภาษาไทยได้เลย
03ได้ฟอนต์ที่รอดทั้ง น้ำ, ที่ และ ปั๊ม — ทุกครั้ง
07
Acknowledgement
ขอบคุณ

ถึง Cadson Demak

เกือบทุกตระกูลใน skill นี้ — Kanit, Prompt, Mitr, Krub, Chakra Petch, KoHo, Taviraj, Trirong, Chonburi, Pattaya, Anuphan — วาดโดย Cadson Demak ฟาวน์ดรีตัวอักษรในกรุงเทพฯ ที่พาฟอนต์ไทยร่วมสมัยออกสู่โลกในแบบ open fonts skill นี้แค่เขียนกฎ พวกเขาคือคนวาดตัวอักษร ขอบคุณครับ

CADSON DEMAK CO., LTD. · BANGKOK
RELEASED UNDER SIL OPEN FONT LICENSE · SERVED VIA GOOGLE FONTS
SARABUN BY SUPPAKIT CHALERMLARP · IBM PLEX THAI BY IBM + CADSON DEMAK