কেউ কি এমন কোনও অ্যালগরিদম জানেন যা ব্যবহারকারীর পাঠ্য টাইপ করার সময় গ্লিফ আকারের উপর ভিত্তি করে অক্ষরগুলি স্বয়ংক্রিয়ভাবে কর্নিংয়ের গণনা করবে?
আমার অর্থ অগ্রিম প্রস্থ বা তত্সহ তুচ্ছ হিসাব নয়, আমি অক্ষরের মধ্যে চাক্ষুষভাবে অনুকূল দূরত্ব অনুমান করার জন্য গ্লাইফগুলির আকৃতি বিশ্লেষণ করতে চাইছি। উদাহরণস্বরূপ যদি আমরা একটি লাইনে ধারাবাহিকভাবে তিনটি অক্ষর রাখি তবে মাঝের অক্ষরটি অক্ষরের আকার সত্ত্বেও রেখার মাঝখানে হওয়া উচিত। একটি উদাহরণ কার্নিং-অন-ফ্লাই কার্যকারিতাটি আলোকিত করে:
দ্য ফ্লাইয়ে কার্নিংয়ের একটি উদাহরণ:
উপরের চিত্রটি a
খুব সঠিক বলে মনে হচ্ছে। এটা একটা স্থানান্তরিত করা উচিত নির্দিষ্ট পরিমাণ প্রতি T
যাতে এটি মাঝখানে মনে করা হয় T
এবং g
। অ্যালগরিদমটির আকারগুলি T
এবং a
(এবং সম্ভবত অন্যান্য অক্ষরগুলিও) পরীক্ষা করা উচিত এবং সিদ্ধান্ত নেওয়া উচিত যে কতটা a
বামে স্থানান্তরিত করতে হবে। এই নির্দিষ্ট পরিমাণটি হ'ল আলগোরিদিমটি গণনা করা উচিত - ফন্টের পজিবল কের্নিংয়ের জুড়ি পরীক্ষা না করে।
আমি একটি জাভাস্ক্রিপ্ট (+ এসভিজি + এইচটিএমএল) প্রোগ্রাম কোডিংয়ের কথা ভাবছি যা হাতে আঁকা ফন্ট ব্যবহার করে এবং তাদের অনেকের কাছে কার্নিংয়ের জুড়ি নেই। পাঠ্যক্ষেত্রগুলি সম্পাদনাযোগ্য হবে এবং একাধিক ফন্টের পাঠ্য অন্তর্ভুক্ত করতে পারে। আমি মনে করি যে এই ক্ষেত্রে গড় পাঠ্য প্রবাহ নিশ্চিত করার জন্য ফ্লাইং-অন-দ্য ফ্লাইং একটি উপায় হতে পারে।
সম্পাদনা: এটির একটি সূচনা পয়েন্ট হ'ল এসভিজি ফন্ট ব্যবহার করা যায়, তাই পাথের মান পাওয়া সহজ। এসভিজি ফন্টে পথটিকে এইভাবে সংজ্ঞায়িত করা হয়:
<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"/>
অ্যালগরিদম (বা জাভাস্ক্রিপ্ট কোড) এর সেই পথগুলি কোনওভাবে পরীক্ষা করা উচিত এবং তাদের মধ্যে অনুকূল দূরত্ব নির্ধারণ করা উচিত।