چرا بعضی وقتها در متنهای فارسی حروف عربی دیده میشود؟
برای پاسخ دادن به این سئوال لازم است بدانیم یونیکد چیست.
[ویرایش]یونیکد چیست؟ ![]()
به طور خلاصه و با صرف نظر از بعضی از پیچیدگیها میشود گفت یونیکد مجموعهای بسیار بزرگ از نویسه (character)های مختلف است. این مجموعه تقریباً تمام نویسههای مورد استفاده در کامپیوتر در جهان را در خود دارد. از حرف سین الفبای فارسی گرفته تا حروف الفبای چینی و انواع و اقسام علامتها و حتی خط میخی فارسی باستان. مهمترین خاصیت یونیکد این است که به هر کدام از این نویسهها یک شمارهٔ یکتا اختصاص میدهد که به آن کد یونیکد آن نویسه میگویند. کد یونیکد ی فارسی U+06CC است در حالی که کد یونیکد ي عربی U+064A است. وقتی یک پرونده ذخیره میشود این کدها هستند که ذخیره میشوند نه شکل نویسهها. بنابر این تأثیر این مسأله این است که اگر پروندهای با قالب یونیکد ذخیره شود و در هر کجای دیگر دنیا که از یونیکد استفاده میکند باز شود، همان نویسهها درونش قرار خواهند داشت.
[ویرایش]اگر قیافهٔ نویسهها در پرونده ذخیره نمیشود پس از کجا میآید؟
از قلمها. هر قلم تعدادی تصویر از نویسههایی که میتواند نمایش بدهد دارد. به این شکلها گلیف میگویند. هر قلم جدولی نیز دارد که میگوید هر گلیف متعلق به کدام نویسه است. مثلاً اطلاعات قلم نازلی به آن میگوید اگر نویسهٔ U+06CC را دید این شکل را نمایش بدهد و اگر نویسهٔ U+064A را باید نشان میداد این شکل را به نمایش درآورد.
یکی از دلایل نمایش نویسههای اشتباه، اشکال در جدول اطلاعات قلم است.
جدول بعضی از قلمها طوری نوشته شدهاند که به قلم میگوید وقتی نویسهٔ U+06CC را دید این شکل را نمایش بدهد و اگر کد نویسهٔ U+064A بود این شکل را به جایش بگذارد. یعنی درست برعکس استاندارد. به همین دلیل با بعضی از قلمها به جای حروف فارسی، حروف عربی نمایش داده میشود.
دلیل دیگر نمایش نویسههای اشتباه، استفاده از صفحهکلید غیراستاندارد است.
[ویرایش]چرا استفاده از صفحهکلید غیراستاندارد باعث نمایش نویسههای اشتباه میشود؟
هر صفحهکلید، نرمافزاری به نام گرداننده (driver) دارد که به کامپیوتر میگوید در صورت فشرده شدن کلیدها روی صفحهکلید چه نویسهای را وارد کند. مثلاً در صفحهکلید فارسی گرداننده باید به کامپیوتر بگوید که در صورت فشرده شدن کلید C06 (کلیدی که در ردیف سوم از پایین، و زیر رقم شش قرار دارد و به طور عادی حرف H لاتین روی آن است) کد U+0627 که متعلق به حرف الف است باید وارد کامپیوتر شود. حال اگر گردانندهٔ صفحهکلید شما استاندارد نباشد کد اشتباهی را وارد خواهد کرد که به نمایش نویسههای اشتباه منجر میشود. مثلاً ممکن است شما روی صفحهکلیدتان کلید D08 را فشار دهید تا حرف را وارد کامپیوتر کنید ولی گردانندهٔ شما کد حرف را وارد کند.
[ویرایش]من در کامپیوتر خودم حروف فارسی را درست میبینم، ولی دیگران نوشتههای من را با حروف عربی میبینند. چرا؟
ممکن است یک علت این اتفاق آن باشد که شما متن را با قلم غیر استانداردی که مثلاً حرف «ي»ی آخر عربی را بدون نقطه نمایش میدهد نوشتهاید. یعنی صفحهکلید غیراستاندارد شما کد نویسهٔ «ي» را به جای «ی» وارد میکند و قلم غیراستاندارد شما هم شکل «ی» را برای آن کد نمایش میدهد. واضح است که کسی که فقط از قلمهای استاندارد روی کامپیوترش استفاده میکند شکل درست نویسهای که شما کدش را وارد کردهاید میبیند.
[ویرایش]از کجا بفهمیم صفحهکلید نصب شده استاندارد است؟
چیدمان صفحهکلید استاندارد ملی ایران را ببینید. اگر حروفی که وارد میکنید مطابق با این چیدمان باشد صفحهکلید شما استاندارد است. یک راه ساده امتحان حرف پ است. در استاندارد ملی ایران حرف پ روی کلید B07 (کلیدی که در ردیف دوم از پایین، و زیر رقم هفت قرار دارد و به طور عادی حرف M لاتین روی آن است) قرار دارد.
[ویرایش]برای این که نویسهها همیشه درست وارد شوند و نمایش پیدا کنند چه کار باید کرد؟
از صفحهکلید و قلمهای استاندارد استفاده کنید. قلمهای استاندارد را میتوانید از اینجا بارگیری کنید. در صورت نیاز، به صفحات راهنمای نصب قلمها برای سیستم عامل لینوکس و ویندوز مراجعه کنید. لینوکس شریف به طور پیشفرض از قلمهای استاندارد استفاده میکند.
بسیاری از توزیعهای لینوکس از جمله شریف، ردهت، فدورا، اوبونتو، و مندریوا صفحهکلید استاندارد فارسی دارند. برای اضافه کردن این صفحهکلید به صفحهکلیدهای مورد استفاده در رومیزیتان به این راهنما مراجعه کنید.
صفحهکلید فارسی سیستم عامل ویندوز استاندارد نیست. برای نصب گردانندهٔ استاندارد برای سیستم عامل ویندوز راهنمای نصب آن را ببنید.
