ফন্ট রেন্ডারিং আসলে কীভাবে কাজ করে?


11

আমি বুঝতে পারি যে আমার কম্পিউটারে ফন্টগুলি যেভাবে রেন্ডার করা হয় সে সম্পর্কে আমি মূলত কিছুই জানি না।

আমি যা পর্যবেক্ষণ করতে পারি তা থেকে হরফ রেন্ডারিংটি পুরো সিস্টেম জুড়েই ধারাবাহিক উপায়ে তৈরি করা হয়। উদাহরণস্বরূপ, আমি আমার ডিই কন্ট্রোল প্যানেলে কনফিগার করা সাবপিক্সেল ফন্টের ইঙ্গিত সেটিংসের উইন্ডো সীমান্তে, আমার ব্রাউজারে, আমার পাঠ্য সম্পাদকটিতে এবং এমন কি অন্য পাঠ্যের উপর প্রভাব রয়েছে। (আমার পর্যবেক্ষণ করা উচিত যে কিছু জাভা অ্যাপ্লিকেশনগুলি একটি লক্ষণীয় পার্থক্য দেখায়, তাই আমি অনুমান করি যে তারা একটি ভিন্ন ফন্ট রেন্ডারিং প্রক্রিয়া ব্যবহার করছে)।

উপরের থেকে আমি যা পাই তা সম্ভবত হ'ল ফন্টের রেন্ডারিংয়ের প্রয়োজনীয় সমস্ত অ্যাপ্লিকেশনই কিছু ওএস (বা ডিই) -ব্যাপী লাইব্রেরি ব্যবহার করে।

অন্যদিকে, ব্রাউজারগুলি সাধারণত একটি রেন্ডারিং ইঞ্জিনের মাধ্যমে তাদের নিজস্ব রেন্ডারিং পরিচালনা করে, যা নির্দিষ্ট প্রবাহের নিয়ম অনুসারে পাঠ্য সহ - বিভিন্ন আইটেমের অবস্থানের যত্ন নেয়।

এই দুটি তথ্য কীভাবে সামঞ্জস্যপূর্ণ তা আমি নিশ্চিত নই। আমি ধরে নেব যে ব্রাউজারটি ওএসকে একটি নির্দিষ্ট অবস্থানে একটি গিলিফ আঁকার জন্য জিজ্ঞাসা করতে হবে, তবে এটি গ্লিফটি কতটা স্থান গ্রহণ করবে তা আগে না জেনে কীভাবে পাঠ্যের প্রবাহ পরিচালনা করতে পারে? গ্লাইফ আকারগুলি নির্ধারণ করার জন্য আলাদা আলাদা কল রয়েছে, যাতে ব্রাউজারটি প্রবাহ পরিচালনা করতে পারে যেন অক্ষরগুলি ছোট বাক্সে থাকে যা পরে ওএস দ্বারা পূরণ করা হয়? (যদিও এটি কার্নিংয়ের যত্ন নেয় না)। অথবা ওএস পাঠ্য প্রবাহ সহ পুরো পাঠ্য অঞ্চল অঙ্কনের জন্য দায়ী? ওএস কি রেন্ডার গ্লাইফটিকে বিটম্যাপ হিসাবে ফিরিয়ে দেয় এবং স্ক্রিনে আঁকতে অ্যাপ্লিকেশনটিতে ফেলে দেয়?


1
সংক্ষিপ্ত উত্তর হল হ্যাঁ".
গ্রাহাম বোরল্যান্ড

@ গ্রাহামবারল্যান্ড ...: - / / আমি তিনটি বিকল্পের মধ্যে কোনটির প্রতি চিত্রিত করেছি তার উত্তর "হ্যাঁ"?
Andrea

তাদের সমস্ত, পরিস্থিতির উপর নির্ভর করে। আমি একটি সঠিক উত্তর রচনা করার চেষ্টা করব।
গ্রাহাম বোরল্যান্ড

উত্তর:


9

আপনি ঠিক বলেছেন যে, সাধারণভাবে, অ্যাপ্লিকেশনগুলি ফন্ট রেন্ডারিং করতে ওএস বা একটি জিইউআই সরঞ্জামকিট দ্বারা সরবরাহিত লাইব্রেরি ব্যবহার করে।

সাধারণ ফন্ট ইঞ্জিনগুলি প্রচুর পরিমাণে অপারেশন করতে দেয়। সাধারণ ক্ষেত্রে, কোনও অ্যাপ্লিকেশন নির্দিষ্ট অবস্থানে টেক্সটের একটি স্ট্রিং আঁকতে চাইতে পারে এবং ইঞ্জিনটি সমস্ত কিছু (পরিমাপ, অবস্থান নির্ধারণ, পিক্সেলগুলিকে প্রদর্শনে আঁকানো ইত্যাদি) যত্ন করে care

অ্যাপ্লিকেশনগুলির জন্য যাদের নিয়ন্ত্রণের একটি সূক্ষ্ম ডিগ্রী প্রয়োজন - ব্রাউজারগুলি বা ওয়ার্ড প্রসেসর, উদাহরণস্বরূপ - ইঞ্জিন এমন ইন্টারফেসগুলি প্রকাশ করবে যেখানে অ্যাপ্লিকেশন প্রদত্ত কোনও টুকরো টুকরো অগ্রিম পরিমাপ করতে চাইতে পারে। অ্যাপ্লিকেশন তখন এই জ্ঞানটি কোনও লাইনে কত টেক্সট ফিট করতে পারে, যেখানে লাইন-ব্রেকগুলি হওয়া উচিত, কোন অনুচ্ছেদে কতটা জায়গা নেবে ইত্যাদি কাজে ব্যবহার করতে পারে still অ্যাপ্লিকেশনটি এখনও ইঞ্জিনটিকে প্রকৃত রেন্ডারিং করতে বলতে পারে পিক্সেল এর।

(এর মধ্যে একটি অভ্যন্তরীন দৃশ্য থাকতে পারে যেখানে ইঞ্জিন সর্বাধিক প্রস্থের প্যারামিটার নিতে পারে এবং সম্ভবত কিছু কার্নিং / প্যাডিং পরামিতি নিতে পারে এবং এটি স্বয়ংক্রিয়ভাবে যতটা টেক্সট ফিট করতে পারে তেমন রেন্ডার করতে পারে))

অবশেষে, ফন্ট ইঞ্জিনটি অ্যাপ্লিকেশনটিকে নির্দিষ্ট আকারে প্রাক-রেন্ডার করা গ্লাইফগুলির বিটম্যাপগুলি ফিরিয়ে অ্যাপটিকে পাঠের চূড়ান্ত উপস্থাপনের অনুমতি দিতে পারে, এবং অ্যাপ্লিকেশনটিকে এটি চূড়ান্ত প্রদর্শনে মিশ্রিত করতে পারে। অথবা ইঞ্জিন এমনকি কিছু ভেক্টর টুলকিটের সাথে রেন্ডারিংয়ের জন্য কাঁচা গ্লাইফ আউটলাইন ডেটা ফেরত দেওয়ার প্রস্তাবও দিতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.