Test 14 - Justify and Line Breaking Matrix

# Test 14: ครอบคลุม Justify + ตัดคำ + ตัดบรรทัด (Thai/English)

เป้าหมาย: ทดสอบ text-align/text-justify, word-break, overflow-wrap, line-break, hyphens และ white-space โดยเทียบพฤติกรรมภาษาไทยและอังกฤษในความกว้างเท่ากัน

## A) Justify และ Alignment ทุกรูปแบบหลัก

Mode | Thai | English
--- | --- | ---
text-align: justify; text-justify: auto; | การจัดย่อหน้าให้เต็มบรรทัดต้องกระจายช่องว่างอย่างสมดุลและต้องไม่ทำให้เครื่องหมายวรรณยุกต์เสียตำแหน่งแม้ข้อความจะยาวและต่อเนื่อง | Justified layout should distribute spacing smoothly across each line while keeping readability stable for long paragraphs with mixed punctuation and rhythm.
text-align: justify; text-justify: inter-word; | ระบบต้องเน้นการขยายช่องว่างระดับคำเมื่อมีจุดตัดคำที่ชัดเจนและยังคงความต่อเนื่องของจังหวะการอ่านในเอกสารทางการ | Inter-word expansion should prioritize word gaps first so the paragraph edges align while preserving predictable spacing and clean visual flow.
text-align: justify; text-justify: inter-character; | สำหรับภาษาไทยที่ไม่เว้นวรรคระหว่างคำ การกระจายระดับตัวอักษรหรือคลัสเตอร์ช่วยลดช่องโหว่ขนาดใหญ่ที่ทำให้คอลัมน์ดูแตก | Inter-character mode spreads tracking-like spacing through glyph clusters to avoid giant rivers in narrow columns and stressed paragraphs.
text-align: justify; text-justify: none; | หากปิดกลไก justify ย่อหน้าควรแสดงตามการคำนวณพื้นฐานโดยไม่ยืดช่องไฟเพิ่มแม้กำหนด text-align เป็น justify | With justification behavior disabled, alignment remains logically justified but without extra spacing expansion beyond baseline line composition.
text-align: left / center / right; | left: จัดชิดซ้ายเพื่ออ่านเร็วและเป็นค่าปริยายที่เสถียร center: จัดกึ่งกลางสำหรับหัวข้อหรือคำประกาศ right: จัดชิดขวาสำหรับเลขหรือหมายเหตุ | left: default block flow for predictable reading in dense text. center: useful for headings, captions, or certificate lines. right: useful for totals, labels, and metadata columns.

## B) word-break, overflow-wrap, line-break, hyphens

Mode | Thai (long/no-space stress) | English (long-word stress)
--- | --- | ---
word-break: normal; overflow-wrap: normal; line-break: auto; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should reveal default wrap boundaries.
word-break: break-all; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should break aggressively across characters.
word-break: keep-all; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should avoid forced breaks where possible.
word-break: break-word; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should fallback to emergency breaks.
overflow-wrap: break-word; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should break only when overflow happens.
overflow-wrap: anywhere; | การทดสอบการตัดคำภาษาไทยที่ต่อเนื่องยาวมากโดยไม่มีช่องว่างและมีสระวรรณยุกต์ซ้อนกันเพื่อตรวจสอบความเสถียรของการตัดบรรทัด | Supercalifragilisticexpialidocious data-driven architectural patterns without natural break points should permit wrapping at nearly any point.
line-break: loose / normal / strict / anywhere; | loose: ภาษาไทย-ทดสอบ, เครื่องหมาย/วงเล็บ(ชุด)และจังหวะคำ normal: ภาษาไทย-ทดสอบ, เครื่องหมาย/วงเล็บ(ชุด)และจังหวะคำ strict: ภาษาไทย-ทดสอบ, เครื่องหมาย/วงเล็บ(ชุด)และจังหวะคำ anywhere: ภาษาไทย-ทดสอบ, เครื่องหมาย/วงเล็บ(ชุด)และจังหวะคำ | loose: punctuation-aware wrapping with commas, dashes, and brackets (alpha/beta/gamma). normal: punctuation-aware wrapping with commas, dashes, and brackets (alpha/beta/gamma). strict: punctuation-aware wrapping with commas, dashes, and brackets (alpha/beta/gamma). anywhere: punctuation-aware wrapping with commas, dashes, and brackets (alpha/beta/gamma).
hyphens: none / manual / auto; | hyphens none: ภาษาไทยทดสอบการเว้นช่วงโดยไม่ใช้เครื่องหมายขีดแบ่งคำ hyphens manual: ภาษาไทยทดสอบการเว้นช่วงโดยไม่ใช้เครื่องหมายขีดแบ่งคำ hyphens auto: ภาษาไทยทดสอบการเว้นช่วงโดยไม่ใช้เครื่องหมายขีดแบ่งคำ | none: electroencephalographically internationalization microarchitecture. manual: electroencephalographically internationalization. auto: electroencephalographically internationalization microarchitecture.

## C) white-space modes

Mode | Thai | English
--- | --- | ---
white-space: normal; | บรรทัดหนึ่ง มีช่องว่างหลายช่วง และ ขึ้นบรรทัดใหม่เพื่อดูการยุบช่องไฟ | Line one has irregular spaces and line breaks that should collapse in normal mode.
white-space: nowrap; | ข้อความยาวมากที่ไม่ควรถูกตัดบรรทัดอัตโนมัติแม้พื้นที่แนวนอนจะจำกัดมากและอาจล้นกล่องเพื่อดูพฤติกรรม nowrap | This is a very long sentence that should not automatically wrap even in a narrow container and may overflow in nowrap mode.
white-space: pre; | บรรทัดที่ 1 ช่องว่างเยอะ บรรทัดที่ 2 ต้องคงไว้ บรรทัดที่ 3 ทดสอบ pre | Line 1 keeps spaces Line 2 keeps breaks Line 3 checks pre
white-space: pre-wrap; | บรรทัดที่ 1 ช่องว่างเยอะ บรรทัดที่ 2 ต้องคงไว้และยังตัดบรรทัดได้เมื่อยาวมากเป็นพิเศษ | Line 1 keeps spaces Line 2 keeps breaks and still wraps if the line is too long for the box.
white-space: pre-line; | บรรทัดที่ 1 มีช่องว่างเยอะ บรรทัดที่ 2 ต้องเก็บขึ้นบรรทัดใหม่แต่ยุบช่องว่าง | Line 1 has extra spaces Line 2 keeps new lines but collapses repeated spaces.