"เรียบเรียง" บนคอนโซลอนุญาตให้พิมพ์อักขระสองตัว แต่ส่งออกอักขระที่สาม
ปัญหาคือว่าการเรียบเรียงคำนิยามที่ใช้ไบต์ทั้งสองเป็นอินพุท (นั่นคือคุณไม่สามารถกำหนดการเขียนในแง่ของคีย์พิมพ์ แต่ในแง่ของสัญลักษณ์พิมพ์) และสำหรับการส่งออก
เพื่อให้ทำงานใน UTF-8 ซึ่งเป็นมัลติไบต์ (1 ถึง 4 ไบต์อย่างน้อย) จะต้องมีการเปลี่ยนแปลงอย่างมากในวิธีการจัดการอินพุตคอนโซลและแทนที่อาร์เรย์ char แบบธรรมดาที่ปัจจุบันใช้โดยบางสิ่งที่ซับซ้อนกว่า ดูเหมือนว่าไม่มีแผนจะทำเช่นนั้น (ความเห็นร่วมกันระหว่างเคอร์เนล devlopers คือคอนโซลควรยังคงเป็นคอนโซลซึ่งเป็นสิ่งที่เรียบง่ายใช้สำหรับการส่งข้อความครั้งสุดท้ายเท่านั้นหากคุณต้องการยูนิโค้ดจริง ๆ แล้วคุณอาจต้องใช้ bidi มันจะดีกว่าที่จะเรียกใช้กราฟิก terminal (xterm แบบเต็มหน้าจอบน X11; แต่มีความเป็นไปได้อื่น ๆ )
ดังนั้นมันจึงใช้งานไม่ได้และใช้งานไม่ได้กับตัวอักษรหลายไบต์บนคอนโซล แต่ก็ยังใช้งานได้ถ้าคุณจำกัดความหมายของการเขียนเป็น ASCII ธรรมดา
และฉันยังพบว่ามันยังใช้งานได้หากเอาต์พุตอยู่ใน iso-8859-1 (ที่สอดคล้องกับค่า Unicode สูงถึง 0x00ff); สำหรับสิ่งที่คุณสามารถใส่ในบรรทัดเริ่มต้นสคริปต์:
loadkeys / somepath / somefile
และใส่คำจำกัดความการเขียนที่คุณต้องการในไฟล์นั้น (โปรดใช้ความระมัดระวังในการบันทึกไฟล์ในการเข้ารหัส ISO-8859-1 และใช้ตัวอักษรที่มีขนาดใหญ่กว่า 0x7f เป็นเอาต์พุตเท่านั้น) ไวยากรณ์ของไฟล์ดังกล่าวนั้นง่ายมาก
เขียน 'somechar' 'somotherchar' เป็น 'Preferredoutput'
เช่น:
เขียน 'a' 'a' เป็น 'å'
เขียน 'a' 'e' เป็น 'æ'
อะพอสโทรฟีต้องหลบหนี
ผลของคีย์กำกับจะถูกกำหนดไว้ในไฟล์นั้นด้วย; สำหรับ dead_acute + a คุณกำหนดบรรทัดเช่น:
เขียน '\' '' a 'เป็น' á '
dead_grave ใช้ backtick (`), dead_diaeresis ใช้ doublequote ("), dead_circumflex ใช้ circumflex (^) และ dead_tilde ใช้ tilde (~)