যথাযথতা পাওয়ার সর্বোত্তম পদ্ধতির মতো মনে হচ্ছে প্রোগ্রামারদের "স্ট্রিং হ্যাকিং" করা থেকে বিরত রাখা ... আপনার নিজের শব্দ মোড়ানো, হাইফেনেশন, শব্দের গণনা, ন্যায়সঙ্গততা, কার্সার মুভমেন্ট ইত্যাদি রুটিন লিখতে ঠিক হবে না। সমস্ত আধুনিক ইউআই ফ্রেমওয়ার্কগুলি আজকাল আপনার জন্য এই জিনিসগুলি করবে।
অর্থাৎ, আপনি যে বিমূর্ততাটি নিয়ে সাধারণত কাজ করবেন তা হ'ল জিটিকে যেমন: "অনুচ্ছেদে প্রদর্শন অবজেক্ট", এর বেশি:
http://library.gnome.org/devel/pango/stable/pango-Layout-Objects.html
গ্রাফিম স্ট্রিংয়ের পরিবর্তে, যেমন:
http://library.gnome.org/devel/pango/stable/pango-Glyph-Storage.html
গ্লাইফগুলির একটি স্ট্রিংয়ে পৌঁছানোর জন্য আপনার এমন তথ্য প্রয়োজন যা কেবলমাত্র "ভিউ" স্তরে উপলব্ধ, তাই বেশিরভাগ স্ট্রিংয়ের ব্যবহারে এই তথ্য নাও থাকতে পারে। উদাহরণস্বরূপ, আপনাকে ফন্টটি জানতে হবে, কারণ ফন্টগুলির বিভিন্ন লিগাচার থাকতে পারে।
এই ধরণের ব্যবহারিক বিষয় বাদ দিয়ে গ্লিফগুলি সম্ভবত আপনি যা চান তা নয়।
অনেকগুলি প্রসঙ্গে আপনি এই ইউপিএলে প্রদর্শিত যথাযথ ইউনিকোড বৈশিষ্ট্যগুলি ব্যবহার করতে চান উদাহরণস্বরূপ:
http://library.gnome.org/devel/pango/stable/pango- পাঠ্য-প্রসেসিং html#PangoLogAtr
আপনি যে কাঠামোটি থেকে দেখতে পাচ্ছেন (যেটি ইউনিকোড অ্যালগরিদমগুলি প্রতিফলিত করে) গ্লিফ সীমানায় বিভিন্ন জিনিস করা চরিত্রের সীমানায় তাদের করা ছাড়া আর সঠিক নয়।
এই দুটি চশমা বিভিন্ন ধরণের সীমানা খুঁজতে অ্যালগরিদমগুলি বর্ণনা করে:
পাঠ্য প্রক্রিয়াকরণ করাতে অ্যালগোরিদমের সাথে সেই সীমানাগুলি সন্ধান করা এবং তারপরে সীমানা দিয়ে কাজ করা জড়িত।
আপনি যদি সমস্ত ভাষা সঠিকভাবে পরিচালনা করতে কতটা কঠিন তা খনন করতে শুরু করেন, আপনি খুব তাড়াতাড়ি বুঝতে পারবেন আপনার একটি লাইব্রেরি দরকার যা পুরো অনুচ্ছেদে দেখে এবং সেগুলি সঠিকভাবে পরিচালনা করে। উইন্ডোজ, ম্যাক, লিনাক্স (কিউটি এবং জিটিকে), এবং জাভা সকলেই এর জন্য সুবিধাদি নিয়ে আসে, উদাহরণস্বরূপ http://site.icu-project.org/ রয়েছে ।
ওয়েব অ্যাপ্লিকেশন লেখার সময়, দুর্ভাগ্যক্রমে আপনি যতদূর জানি ব্রাউজারটিকে (সম্ভবত ওএস দ্বারা সহায়তা করা) এই জিনিসগুলি করতে দেওয়া উচিত। আপনি জাভাস্ক্রিপ্ট বা সার্ভারের পক্ষে যা করতে পারেন তা হ'ল এটি গোলযোগ।
সম্ভবত আমি উত্তরটি সংক্ষিপ্ত করে বলতে পারি: প্রাকৃতিক ভাষার পাঠ্যের সর্বাধিক স্ট্রিং ম্যানিপুলেশন নষ্ট হয়ে গেছে, সুতরাং স্ট্রিং ক্লাস সম্পর্কে খুব একটা উদ্বেগ নয়, সম্ভবত এটির কোনও পদ্ধতি না থাকলেও ;-)