กลับไปหน้าบทความ

อ่าน 2 นาที

การจัดวางข้อความที่ซับซ้อน

การจัดวางข้อความที่ซับซ้อน ( CTL ) หรือการแสดงผลข้อความที่ซับซ้อนคือการจัดเรียงตัวอักษรในระบบการเขียนซึ่งรูปร่างหรือตำแหน่งของหน่วยอักษรขึ้นอยู่กับความสัมพันธ์กับหน่วยอักษรอื่นๆ

การจัดวางข้อความที่ซับซ้อน

อักษร เชื่อม เทวนาครีddhryaที่แสดงใน แบบอักษร JanaSanskritSansซึ่งควรถูกเรียกใช้โดยกลไกการจัดวางเพื่อแสดงลำดับ द + ् + ध + ् + र + ् + य = द्ध्र्य
คำว่าالعربية al-arabiyyahซึ่งแปลว่า "ภาษาอาหรับ" ในภาษาอาหรับ แสดงผลเป็นลำดับขั้น บรรทัดแรกแสดงตัวอักษรเรียงจากซ้ายไปขวาโดยไม่เชื่อมต่อกัน เหมือนกับที่ปรากฏในแอปพลิเคชันที่ไม่มีการจัดวางข้อความที่ซับซ้อน บรรทัดที่สองใช้การแสดงผลแบบสองทิศทาง และบรรทัดที่สาม กลไกการจัดรูป ทรงตัวอักษรได้แสดงผลตัวอักษรตามบริบท

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

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

ลักษณะที่ต้องใช้ CTL

ลักษณะสำคัญของความซับซ้อนของ CTL มีดังนี้:

  • ข้อความสองทิศทางซึ่งตัวอักษรสามารถเขียนได้ทั้งจากขวาไปซ้ายหรือจากซ้ายไปขวา
  • การจัดรูปตัวอักษร และการเชื่อมตัวอักษรตามบริบทซึ่งตัวอักษรอาจเปลี่ยนรูปร่างได้ ขึ้นอยู่กับตำแหน่งและ/หรือตัวอักษรโดยรอบ ตัวอย่างเช่น ตัวอักษรในอักษรอาหรับสามารถมีรูปร่างแตกต่างกันได้มากถึงสี่แบบ ขึ้นอยู่กับบริบท
  • การเรียงลำดับที่ลำดับการแสดงผลของตัวอักษรไม่ตรงกับลำดับเชิงตรรกะ ตัวอย่างเช่น ในอักษรเทวนาครี ซึ่งเขียนจากซ้ายไปขวา อักษร "i สั้น" จะปรากฏอยู่ทางซ้าย ("ก่อน") พยัญชนะที่ตามมา เช่น ในकि ki อักษร ि -i ควรแสดงอยู่ทางซ้าย โดยส่วนโค้งของอักษรจะอยู่เหนืออักษรk-ทางขวา

ไม่ใช่ทุกกรณีของลักษณะเหล่านี้ที่จำเป็นต้องใช้ CTL ตัวอย่างเช่นอักษรกรีก มีการจัดรูปตัวอักษร ซิกมาที่ขึ้นอยู่กับบริบทซึ่งปรากฏเป็น ς ที่ท้ายคำและ σ ที่อื่น อย่างไรก็ตาม รูปแบบทั้งสองนี้โดยปกติจะถูกจัดเก็บเป็นอักขระที่แตกต่างกัน ตัวอย่างเช่นUnicodeมีทั้งU+03C2 ς GREEK SMALL LETTER FINAL SIGMAและU+03C3 σ GREEK SMALL LETTER SIGMAและไม่ถือว่าทั้งสองรูปแบบนี้เทียบเท่ากันสำหรับวัตถุประสงค์ในการเรียงลำดับและการเปรียบเทียบ ซอฟต์แวร์ควรพิจารณาสตริง "δῖος Ἀχιλλεύς" เทียบเท่ากับ "δῖοσ Ἀχιλλεύσ" [ 1 ]แต่สำหรับวัตถุประสงค์ในการจัดพิมพ์ พวกมันแตกต่างกันและไม่จำเป็นต้องใช้ CTL เพื่อเลือกรูปแบบที่ถูกต้อง

การนำไปใช้

ซอฟต์แวร์แสดงผลข้อความส่วนใหญ่ที่รองรับ CTL จะมีข้อมูลเกี่ยวกับสคริปต์เฉพาะ และจึงสามารถแสดงผลได้อย่างถูกต้องโดยไม่ต้องมีไฟล์ฟอนต์ที่ระบุวิธีการจัดวางตัวอักษร ซอฟต์แวร์ดังกล่าวโดยทั่วไปจะมีให้ในรูปแบบไลบรารีตัวอย่างเช่น:

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

ตัวอย่างของแนวทางหลังนี้ ได้แก่Apple Advanced Typography (AAT) และGraphiteทั้งสองชื่อนี้ครอบคลุมทั้งรูปแบบคำสั่งและซอฟต์แวร์ที่รองรับ AAT มีอยู่ในระบบปฏิบัติการของ Apple ในขณะที่ Graphite มีให้ใช้งานสำหรับระบบปฏิบัติการ Microsoft WindowsและLinux

รูป แบบไฟล์ OpenTypeมีจุดประสงค์หลักสำหรับระบบที่ใช้วิธีการแรก (ความรู้ด้านการจัดวางในตัวแสดงผล ไม่ใช่ในตัวฟอนต์) แต่ก็มีคุณสมบัติบางอย่างที่ช่วยในการใช้งาน CTL เช่น การเชื่อมตัวอักษรตามบริบท คำสั่ง AAT และ Graphite สามารถฝังอยู่ในไฟล์ฟอนต์ OpenType ได้

ดูเพิ่มเติม

  • ตัวอย่างการแสดงผลที่ซับซ้อน — ตัวอย่างระบบการเขียนที่ซับซ้อนจากทั่วโลกของSIL International
  • การจัดวางข้อความที่ซับซ้อน — เทคโนโลยีเดสก์ท็อปของThe Open Group
  • การรองรับอักษรภาษาอินเดียใน Mozillaรวมถึงอักษร CTL อื่นๆ
  • โครงการ SILA — โครงการบูรณาการGraphiteและMozilla
  • สถาปัตยกรรม CTL ใน Solaris — เอกสารไวท์เปเปอร์เกี่ยวกับการใช้งาน Solaris ในระดับสากล
  • สคริปต์ที่ซับซ้อน — พอร์ทัลการพัฒนาและการประมวลผลระดับโลกของ Microsoft
  • เว็บไซต์ของเทพพิทักษ์ — ข้อมูลเกี่ยวกับการประมวลผลภาษาไทย
  • หน้าของ HarfBuzzที่Freedesktop.org
  • โมดูลข้อความยูนิโค้ด D-Type — ไลบรารีซอฟต์แวร์แบบพกพาสำหรับข้อความที่ซับซ้อน
  • BidiRenderer — แอปพลิเคชันที่แสดงภาพการจัดรูปทรงและเค้าโครงของข้อความที่ซับซ้อนในย่อหน้าแบบสองทิศทางโดยใช้ FriBidi, FreeType และ HarfBuzz
  • Tehreer-Android — ไลบรารีที่ให้การควบคุมอย่างเต็มรูปแบบสำหรับเทคโนโลยีที่เกี่ยวข้องกับข้อความ เช่น อัลกอริทึมแบบสองทิศทาง การจัดรูปแบบ OpenType การเรียงพิมพ์ข้อความ และการแสดงผลข้อความ
  • Tehreer-Cocoa — โปรแกรมสร้างฟอนต์/ข้อความแบบสแตนด์อโลนสำหรับ iOS
  • กรณีทดสอบ MediaWiki สำหรับการแสดงผลสคริปต์ที่ซับซ้อน
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Complex_text_layout&oldid=1346940267 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การจัดวางข้อความที่ซับซ้อน

การจัดวางข้อความที่ซับซ้อน ( CTL ) หรือการแสดงผลข้อความที่ซับซ้อนคือการจัดเรียงตัวอักษรในระบบการเขียนซึ่งรูปร่างหรือตำแหน่งของหน่วยอักษรขึ้นอยู่กับความสัมพันธ์กับหน่วยอักษรอื่นๆ

ลักษณะที่ต้องใช้ CTL

ลักษณะสำคัญของความซับซ้อนของ CTL มีดังนี้:

การนำไปใช้

ซอฟต์แวร์แสดงผลข้อความส่วนใหญ่ที่รองรับ CTL จะมีข้อมูลเกี่ยวกับสคริปต์เฉพาะ และจึงสามารถแสดงผลได้อย่างถูกต้องโดยไม่ต้องมี ไฟล์ฟอนต์ ที่ระบุวิธีการจัดวางตัวอักษร ซอฟต์แวร์ดังกล่าวโดยทั่วไปจะมีให้ใน รูปแบบไลบรารี ตัวอย่างเช่น:

ดูเพิ่มเติม

การจัดพิมพ์ ยูนิโค้ด ระบบการเขียนที่ต้องการการจัดวางข้อความที่ซับซ้อน: อักษรอาหรับ อักษรส่วนใหญ่ในตระกูลอักษร พราหมณ์ สคริปต์ N'Ko เต็งวาร์ (เครื่องหมายกำกับเสียงและตัวเลข)