ไม่มีใครรู้อัลกอริทึมใด ๆ ที่จะคำนวณการจัดช่องไฟของตัวอักษรโดยอัตโนมัติตามรูปร่างของรูปสัญลักษณ์เมื่อผู้ใช้พิมพ์ข้อความ?
ฉันไม่ได้หมายถึงการคำนวณเล็กน้อยของความกว้างล่วงหน้าหรือคล้ายกันฉันหมายถึงการวิเคราะห์รูปร่างของ glyphs เพื่อประมาณระยะห่างที่เหมาะสมที่สุดระหว่างตัวละคร ตัวอย่างเช่นถ้าเราจัดเรียงอักขระสามตัวตามลำดับในบรรทัดอักขระกลางควรจะอยู่ในกึ่งกลางของบรรทัดแม้ว่าจะมีรูปร่างของตัวละครก็ตาม ตัวอย่างช่วยเพิ่มความสามารถในการทำงานของการปรับระยะห่าง
ตัวอย่างของ kerning-on-the-fly:
ในภาพด้านบนa
ดูเหมือนว่าจะถูกเกินไป มันควรจะเลื่อนจำนวนหนึ่งต่อT
เพื่อที่ว่ามันน่าจะเป็นในช่วงกลางของและT
g
อัลกอริทึมควรตรวจสอบรูปร่างของT
และa
(และตัวอักษรอื่น ๆ ด้วย) และตัดสินใจว่าa
จะต้องเลื่อนไปทางซ้ายเท่าใด นี้จำนวนหนึ่งเป็นสิ่งที่อัลกอริทึมควรคำนวณ - โดยไม่มีการตรวจสอบการจัดช่องไฟคู่เป็นไปได้ของ FONT
ฉันคิดถึงการเขียนโปรแกรมจาวาสคริปต์ (+ svg + html) ที่ใช้ฟอนต์ที่วาดด้วยมือและหลายคนขาดการจัดช่องไฟ ฟิลด์ข้อความจะสามารถแก้ไขได้และสามารถรวมข้อความหลายแบบอักษร ฉันคิดว่า kerning-on-the-fly อาจเป็นวิธีหนึ่งที่ทำให้มั่นใจว่าการส่งข้อความในกรณีนี้หมายถึง
แก้ไข: จุดเริ่มต้นหนึ่งจุดนี้อาจใช้ฟอนต์ svg ดังนั้นจึงง่ายต่อการรับค่าพา ธ ในฟอนต์ svg พา ธ ถูกกำหนดด้วยวิธีนี้:
<glyph glyph-name="T" unicode="T" horiz-adv-x="1251" d="M531 0v1293h
-483v173h1162v-173h-485v-1293h-194z"/>
<glyph glyph-name="a" unicode="a" horiz-adv-x="1139" d="M828 131q-100 -85
-192.5 -120t-198.5 -35q-175 0 -269 85.5t-94 218.5q0 78 35.5 142.5t93
103.5t129.5 59q53 14 160 27q218 26 321 62q1 37 1 47q0 110 -51 155q-69 61
-205 61q-127 0 -187.5 -44.5t-89.5 -157.5l-176 24q24 113 79 182.5t159
107t241 37.5 q136 0 221 -32t125 -80.5t56 -122.5q9 -46 9 -166v-240q0
-251 11.5 -317.5t45.5 -127.5h-188q-28 56 -36 131zM813 533q-98 -40 -294
-68q-111 -16 -157 -36t-71 -58.5t-25 -85.5q0 -72 54.5 -120t159.5 -48q104
0 185 45.5t119 124.5q29 61 29 180v66z"/>
อัลกอริทึม (หรือรหัสจาวาสคริปต์) ควรตรวจสอบเส้นทางเหล่านั้นด้วยวิธีใดวิธีหนึ่งและกำหนดระยะห่างที่เหมาะสมระหว่างพวกเขา