Files
2026-03-12 15:45:55 +01:00

69 lines
5.7 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bun
import { TextRenderable, createCliRenderer } from "../src/index.js"
import { ScrollBoxRenderable } from "../src/renderables/ScrollBox.js"
async function main() {
const renderer = await createCliRenderer({ exitOnCtrlC: true })
console.log("capabilities:", renderer.capabilities)
const scrollBox = new ScrollBoxRenderable(renderer, {
id: "scroll-box",
border: true,
height: 20,
title: "Thai Render Debug (Up/Down to scroll, Ctrl+C to exit)",
titleAlignment: "center",
})
const thaiLorem = `ภาษาไทยเป็นภาษาที่มีความสวยงามและซับซ้อนมาก มีพยัญชนะ 44 ตัว สระ 32 รูป และวรรณยุกต์ 4 รูป
มอญเป็นชนชาติที่มีอิทธิพลต่อภาษาไทยมาก คำว่า "มอ" เป็นพยัญชนะที่ใช้บ่อยในภาษาไทย
ตัวอย่างคำที่มี มอ: มา มี มือ มอง มัว มอบ มวย มอม มอด มอก
การเขียนภาษาไทยต้องใส่ใจเรื่องวรรณยุกต์ เช่น ม่า ม้า หม่า หม้า
สระลอยและสระเปลี่ยนรูปทำให้ภาษาไทยมีความพิเศษ เช่น เมือง แมว ไม้ ใหม่
คำผสมที่น่าสนใจ: มอมแมม มอดมอด มอมเมา มืดมอม มอมดำ
ภาษาไทยมีระบบการเขียนที่ไม่เว้นวรรคระหว่างคำ ทำให้การอ่านต้องอาศัยความเข้าใจ
ตัวอักษรไทยมีสามระดับ: บน กลาง ล่าง เช่น ก็ ปี่ ฎุ ฏู ญ ฐ ฑ
วรรณยุกต์ไทยมี 5 เสียง: สามัญ เอก โท ตรี จัตวา
ตัวอย่างเสียงวรรณยุกต์: มา ม่า ม้า หมา หม่า หม้า
การสะกดคำในภาษาไทยมีกฎเกณฑ์ที่ซับซ้อน มีทั้งตัวสะกดมาตราแม่ ก กา และตัวสะกดไม่ตรงมาตรา
คำยืมจากภาษาบาลีสันสกฤต: กรรม ธรรม สงฆ์ ศาสนา พระ มหา
คำยืมจากภาษาเขมร: ถนน เสวย ขนม ตำรวจ ทหาร
คำยืมจากภาษาจีน: ก๋วยเตี๋ยว เต้าหู้ บะหมี่ เกี๊ยว ซาลาเปา
ภาษาไทยถิ่นมีหลายภาษา: ภาษาเหนือ ภาษาอีสาน ภาษาใต้ ภาษากลาง
มอญกับไทยมีความสัมพันธ์ทางวัฒนธรรมมายาวนาน
ตัวเลขไทย: ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙
เครื่องหมายวรรคตอน: ฯ ๆ ฯลฯ « » ๏
อักษรไทยมีต้นกำเนิดจากอักษรเขมร ซึ่งมาจากอักษรปัลลวะของอินเดียใต้
พ่อขุนรามคำแหงมหาราชทรงประดิษฐ์อักษรไทยเมื่อ พ.ศ. 1826
ภาษาไทยเป็นภาษาที่มีวรรณยุกต์ การออกเสียงผิดวรรณยุกต์ทำให้ความหมายเปลี่ยน
ตัวอย่าง: ขาว (สีขาว) ข่าว (news) ข้าว (rice) เข้า (enter)
มอเตอร์ไซค์ มอนิเตอร์ มอลต์ มอร์ฟีน เป็นคำทับศัพท์ที่มี มอ
สำนวนไทยที่มี มอ: มอมเมา หมอมหมาม มืดมอม มอดไหม้
คำกริยาที่มี มอ: มอง มอบ มอม มอด มอก
คำนามที่มี มอ: มอญ มอด หมอ มอเตอร์
การผันวรรณยุกต์ของ มอ: มอ ม่อ ม้อ หมอ หม่อ หม้อ
ภาษาไทยมีคำควบกล้ำ: กร กล กว ขร ขล ขว คร คล คว
ตัวอย่างคำควบกล้ำ: กราบ กลาง กวาง ครู คลอง ความ
อักษรสูง กลาง ต่ำ มีผลต่อการผันวรรณยุกต์
อักษรสูง: ข ฃ ฉ ฐ ถ ผ ฝ ศ ษ ส ห
อักษรกลาง: ก จ ฎ ฏ ด ต บ ป อ
อักษรต่ำ: ค ฅ ฆ ง ช ซ ฌ ญ ฑ ฒ ณ ท ธ น พ ฟ ภ ม ย ร ล ว ฬ ฮ`
const text = new TextRenderable(renderer, {
id: "thai-text",
content: thaiLorem,
})
scrollBox.add(text)
renderer.root.add(scrollBox)
renderer.keyInput.on("keypress", (event) => {
if (event.name === "down") scrollBox.scrollDown()
if (event.name === "up") scrollBox.scrollUp()
})
renderer.requestRender()
renderer.keyInput.on("keypress", (event) => {
if (event.name === "`") {
renderer.console.toggle()
}
})
}
main().catch((err) => {
console.error("Error:", err)
process.exit(1)
})