IN THE NAME OF GOD
Download
Report
Transcript IN THE NAME OF GOD
چيست ؟Unicode
1
يونيکد چيست؟
• يونيکد استانداردي است که با استفاده از آن ميتوان براي تمامي
زبانهاي زنده و مرده (مثل زبانهاي باستاني ) دنيا ،يک حرف (کاراکتر)
متناظر ايجاد کرد .
• با استفاده از يونيکد يک برنامه نويس قادر است براي يک زبان يا يک
لهجه خاص ،يک فونت ايجاد کند ،بدون اينکه براي اين کار ،حروف (
کاراکترهاي ) زبان يا لهجه مورد نظرش را ،در جاي مربوط به يک لهجه
يا زبان ديگر رونوشت ( کپي ) کند .
2
• مزيت اين روش آن است که هر” glyphگليف ” يک کد مخصوص و انحصاري
دارد که به غير خود آن گليف هيچ گليف ديگري اجازه استفاده از آن را ندارد .
( به شکل ظاهري حروف گليف گفته ميشود ،اين شکل ميتواند هندس ي – براي زبان هاي
باستاني – يا يک عالمت نقاش ي شده – مثل زبان هيروگليف مصر -يا به شکل عدد – يا
به شکل هر حرف ديگري باشد )
• اين کار باعث جلوگيري از دوبار تکرار شدن يک حرف ميشود.
• همچنين باعث مي شود ،گليف ( يا حرف يا کاراکتر ) مورد نظر به سادگي قابل
تشخيص باشد ،مثال کد 0041متعلق به حرف Aانگليس ي است ،و ساير
کاراکترها کدهاي مخصوص به خود را دارند .
3
Unicode vs. Non-Unicode
• :)Non-Unicode( MARC-8
– فضاي 8بيتي براي هر کاراکتر
– حداکثر 256کاراکتر
– 128تا داراي کد اسکي هستند.
• :)Unicode( UTF-8
– افزايش فضا به 16بيت
– افزايش تعداد کاراکترهاي قابل کددهي از 256به ! 65536
– فضا به ميزان کافي براي تعريف گليفهاي جديد وجود دارد.
بلوکهاي يونيکد
• در يونيکد براي اينکه کاراکترهاي زبانهاي يک شکل را ( مثل فارس ي و عربي ) دوبار تکرار نکنند ،از
يک ساختار بلوک بندي شده استفاده کردهاند.
• اين ساختار از بزرگ شدن يونيکد جلوگيري مي کنند.
• هر زبان کاراکترهاي غيرمشترک را به بلوک کاراکترها اضافه مي کند.
• در مثال فارس ي و عربي کاراکترهاي مشابه تکرار نمي شوند و از يک کد مشترک هر دو زبان استفاده
مي کنند.
• نکته :در يونيکد هيچ بلوک مشخص ي براي زبان فارس ي موجود نيست و حروف فارس ي در بلوک
عربي جاي گرفتهاند.
5
:مثال
Basic Latin
: 0000..007F;
Arabic
: 0600..06FF;
Arrows
: 2190..21FF;
Mathematical Operators : 2200..22FF;
…
•
•
•
•
•
مثال:
آيا يونيکد فونت است؟
• يوني کد فونت نيست.
• يونيکد يک استاندارد است و فونتهايي که پياده سازي ميشوند ميتوانند با
اين استاندارد سازگار باشند و يا نباشند.
• سازگاري يک فونت با يونيکد به آن معني است که آن فونت خاص ،هنگام
پياده سازي گليف ها ،هر گليف را دقيقا سر جاي خود قرار بدهد .
8
• يونيکد يک استاندارد است و داراي نسخه هاي مختلف.
• در هر نسخه از يونيکد تعداد کاراکترهاي بيشتري ( که از قبل در استاندارد ،با توجه به زبانهاي
مختلف تعريف شده بودند ) به محدوده کاراکترهاي ايجاد شده ميپيوندند
• مثال در نسخه 6بعد گليفهاي زبانهاي باستاني ( ايراني ) هم به جمع گليفهاي ايجاد شده
اضافه ميشوند .
• براي نمونه فونت Arialکه در ويندوز هست فونتي با حجم بيشتر از 20مگابايت است که
تقريبا بيشتر حروف يونيکد که در نسخه پنج وجود دارد را در خود جا داده است .
9
ساختار داخلي يونيکد
• در يونيکد ،هر گليف براي خود يک کد انحصاري دارد و فقط و تنها فقط همان
گليف مجاز به استفاده از آن فضا در بلوک مختص به خود است .
• مث ال عدد 6فارس ي نمي تواند در محل عدد 6انگليس ي قرار بگيرد
• يکي از مهمترين داليل غيراستاندارد بودن فونتهاي فارس ي همين است
مثال:
استقالل از پلت فرم
• يونيکد يک استاندارد است و وابسته به هيچ پلت فرم سخت افزاري و يا نرم
افزاري نيست.
• يونيکد به هيچ محيط اجرايي وابسته نيست.
• فونتهاي يونيکد به ساختار صفحه کليد وابستگي ندارند و مهم نيست که شما
از چه آرايش ي براي تنظيم کاراکترهاي خودتان بر روي کيبورد استفاده کردهايد .
• هر کاراکتر داراي يک کد انحصاري است و در بلوک مرتبط با خود قرار گرفته و
اين قضيه هيچ ارتباطي با آرايش صفحه کليد ندارد.
12
ارتباط با سيستم عامل
• کار کيبورد توليد يک کد به ازاي هر کاراکتر است.
• هر وقت روي کليدي را فشار مي دهيد ،درايور کيبورد ( که معموال يک فايل dllاست ،
مثل ) kbdfa.dllکد يونيکد معادل آن گليف خاص را توليد کرده و براي سيستم
عامل ارسال ميکند .
• سيستم عامل بسته به کد دريافتي اقدام به نمايش و ثبت کليد ميکند .
• براي اينکه شما بتوانيد يونيکد را فارس ي بنويسيد ،اول بايد اين زبان را روي ويندوز يا هر
سيستم عامل ديگري فعال کنيد.
– با اين کار يک dllايجاد ميشود که ترکيب چيدمان و کدهاي يونيکد را در خود قرار داده و
هنگامي که شما تايپ ميکنيد ،بسته به چيدماني که براي آن تعريف شده ،کدهايي را توليد
ميکند .
13
؟