Test 9 — Kerning & Ligature

# Test 9: Kerning & Ligature

ทดสอบ kerning, ligature, letter-spacing และคุณภาพการแสดงผลตัวอักษร

### Test 9.1 — Kerning Pairs (คู่อักษรที่ต้องปรับระยะ)

คู่อักษรที่มี kerning — ระยะห่างต้องปรับอัตโนมัติ:

Latin Kerning Pairs (ขนาด 28px):
AV AW AY AT AC AO
VA WA YA TA To Te
LT LV LW LY Ty Tw
PA P. F. r. f. Yo We
เปรียบเทียบ: ตัว A กับ V ควรอยู่ชิดกันมากกว่า A กับ H (kerning negative)
AV
Kern: AV (negative)
AH
No kern: AH
To
Kern: To (negative)
✓ คู่อักษร AV, To ต้องมีระยะห่างน้อยกว่า AH (kerning ทำงาน)

### Test 9.2 — Ligatures (อักษรเชื่อม)

อักษรที่ควรเชื่อมกัน (ขึ้นอยู่กับฟอนต์ที่รองรับ):

Standard Ligatures (fi, fl, ff, ffi, ffl):
fi fl ff ffi ffl
ในบริบทคำ (ขนาด 24px):
office • difficult • affluent • waffle • official
suffix • offline • coffee • efficient • butterfly
หมายเหตุ: การแสดง ligature ขึ้นอยู่กับ OpenType features ของฟอนต์ (liga, clig)
✓ ถ้าฟอนต์รองรับ ligature ตัวอักษร fi, fl, ff ต้องเชื่อมกัน

### Test 9.3 — Thai Glyph Positioning (ตำแหน่งสระ-วรรณยุกต์)

สระลอย วรรณยุกต์ต้องอยู่ในตำแหน่งที่ถูกต้อง:

สระบน + วรรณยุกต์ (ขนาด 28px):
กิ ปี มือ ดู เสือ เนื้อ เกี่ยว เรียน
วรรณยุกต์ซ้อน (ขนาด 28px):
น้ำ ก้าง ปิ้ง ชื้น ค้ำ ยุ่ง จิ๊บ หนู่
สระล่าง (ขนาด 28px):
สุ ภุ ยุ ธุ ตุ ปุ กุ ลุ
ตัวหนังสือที่มีหาง + สระบน + วรรณยุกต์ (ซ้อน 3 ชั้น):
ปู่ ผี่ ฝี้ ฟ้า ฬ่อ
✓ สระลอย วรรณยุกต์ ต้องไม่ทับกับพยัญชนะ ต้องไม่เลื่อนหาย

### Test 9.4 — Letter Spacing (ระยะห่างตัวอักษร)

เปรียบเทียบ letter-spacing ค่าต่าง ๆ:

letter-spacing: normal
การพัฒนาซอฟต์แวร์ | Software Development
letter-spacing: 2px
การพัฒนาซอฟต์แวร์ | Software Development
letter-spacing: 5px
การพัฒนาซอฟต์แวร์ | Software Development
letter-spacing: 10px (wide)
CERTIFICATE | ประกาศนียบัตร
✓ ต้องเห็นความแตกต่างของ letter-spacing ชัดเจน

### Test 9.5 — Multi-font Stacking (ฟอนต์หลายตัว — Google Fonts + TLWG OTF)

ทดสอบ kerning/ligature ของฟอนต์หลายตัว:

── Google Thai Fonts ──
Sarabun: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Prompt: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Kanit: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Mitr: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
ChakraPetch: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
── TLWG Thai Fonts (OTF) ──
Garuda: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Loma: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Norasi: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Kinnari: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Sawasdee: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Waree: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Purisa: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Umpush: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
Laksaman: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
TlwgMono: AV To fi fl — น้ำพริก เกี่ยวข้าว ผู้ใหญ่
✓ แต่ละฟอนต์ต้องแสดงรูปร่างที่แตกต่างกัน, kerning/ligature ต่างกัน

### Test 9.6 — Font Weights & Styles

ทดสอบ Regular, Bold, Italic, BoldItalic:

Regular 400:
The quick brown fox jumps — ทดสอบฟอนต์ปกติ AV fi fl
Bold 700:
The quick brown fox jumps — ทดสอบฟอนต์ตัวหนา AV fi fl
Italic:
The quick brown fox jumps — ทดสอบฟอนต์ตัวเอียง AV fi fl
Bold Italic:
The quick brown fox jumps — ทดสอบฟอนต์ตัวหนาเอียง AV fi fl
✓ ต้องเห็นความแตกต่างของ weight/style ชัดเจน, kerning ในแต่ละ variant ต้องถูกต้อง

### Test 9.7 — ขนาดตัวอักษรต่าง ๆ (Kerning at Different Sizes)

Kerning ต้องทำงานถูกต้องในทุกขนาด:

10px: AVATAR — Typography — สวัสดีครับ ผมชื่อสมชาย
14px: AVATAR — Typography — สวัสดีครับ ผมชื่อสมชาย
20px: AVATAR — Typography — สวัสดีครับ ผมชื่อสมชาย
28px: AVATAR — Typography
36px: AVATAR — Typography
48px: AV To fi
✓ Kerning ต้องมีสัดส่วนที่ถูกต้องในทุกขนาดตัวอักษร