یک فونت از قسمتهای مختلفی تشکیل شده است. که عبارت است از کاراکتر ها، حروف و سمبلهایی هستند که در یک فونت وجود دارند. از طرفی دیگر یک کاراکتر دارای حالات مختلفی است، برای مثال کاراکتر ب از حالات ب – بـ – ـبـ – ـب تشکیل شده است، این حالات مختلف یک کاراکتر را گلیف میگویند. ابزاری به نام موتور رندر متن با توجه به مشخصات هر کاراکتر نسبت به کاراکترهای بعد و قبل از آن یکی از حالات مختلف گلیف مورد نظر را شناسایی کرده و بر روی خروجی ترسیم میکند.
اما نکته مهمی که باید به آن توجه داشت این است که هر گلیف دارای کد متفاوتی است که به آن کد پوینت گفته میشود. در سالهای آغازین دنیای کامپیوتر، تمامی مراودات انجام شده با کامپیوتر با استفاده از زبان انگلیسی و یکسری سمبل های خاص انجام میشد. این دسته از حروف در استانداردی با نام اسکی گنجانده شدند.
با فراگیرتر شدن کامپیوترها در نیمه دوم دهه ۹۰ میلادی، نیاز بود تا زبانهای بیشتری به دنیای دیجیتال وارد شود. به همین دلیل تولیدکنندگان کامپیوتر اقدام به ایجاد استاندادرهای مختلف کردند که هر استاندارد حاوی کاراکترها و سمبل هایم ورد نیاز یک یا چند زبان با ریشه مشترک بود. به این صفحات کد پیج گفته میشد. متاسفانه وجود کدهای برابر و یکسان در کدپیجهای مختلف باعث سردرگمی کاربران شده بود. برای مثال شخصی با استفاده از کدپیج زبان آلمانی یک متن را مینوشت و دیگری بدون اینکه اطلاعی از کدپیج نگارنده داشته باشد، با استفاده از کدپیج روسی اقدام به مطالعه متن میکرد. نتیجه آنکه متنی که کاربر نهایی مطالعه میکرد حاوی یکسری کاراکتر و سمبل زبان روسی بود که هیچ ارتباطی با متن نوشته شده به زبان آلمانی نداشت. با ازدیاد این مشکلات کنسرسیومی به نام یونیکد اقدام به وضع استانداردی کرد که با نام خود این کنسرسیوم به نام Unicode شناخته میشود...