با ما در تماس باشید! 88520412 (021)

فارسی‌سازی MS Project تصحیح نمایش راست به چپ

یکی از امکانات جالب پرنیان در فارسی‌سازی مایکروسافت پراجکت تصحیح نمایش راست به چپ است. در اغلب نرم‌افرارهای مجموعه‌ی آفیس امکان تنظیم قابل‌بندی متن به صورت راست به چپ (RTL) و یا چپ به راست (LTR) پیش‌بینی شده است. این تنظیم بدان معنا است که آیا متن یک متن راست به چپ است یا بر عکس. این تنظیم به خصوص در نمایش متن‌های مخلوط از دو زبان کاربرد دارد مثلا فارسی و لاتین. در این حالت متن ممکن است به زبان فارسی باشد که در آن کلمات لایتن هم بکار رفته و یا متن لاتین باشد که در آن کلمات فارسی هم بکار رفته باشد. برای مثال به دو متن زیر توجه کنید:

کلمه‌ی Book در انگلیسی به معنای کتاب است.

The word کتاب means book in Persian.

اولین عبارت به صور RTL و دومی به شکل LTR قالب‌بندی شده‌اند و به درستی نمایش داده می‌شوند. اگر این تنظیم‌ها درست انتخاب نشوند به شکل اشتباهی نمایش داده خواهند شد:

کلمه‌ی Book در انگلیسی به معنای کتاب است.

The word کتاب means book in Persian.

این موضوع اهمیت امکان تنظیم RTL را می‌رساند. متاسفانه در مایکروسافت پراجکت این امکان وجود ندارد. یعنی جایی نیست که شما بتوانید از طریق آن جهت متن‌ها را مشخص کنید. به همین خاطر مثلا در وارد کردن اسامی فعایت‌ها در صورتیکه این اسامی شامل کلمات لاتین باشند دچار مشکل می‌شوید. پرنیان این مشکل را حل می‌کند. برای اینکار پرنیان فرض می‌کند عباراتی که با حروف فارسی آغاز شده‌اند RTL و در غیر اینصورت LTR هستند. این موضوع در شکل روبرو نمایش داده شده است. در اینجا نام فعالیت‌ها بر حسب حرف اول متن به دو شکل RTL و LTR نمایش داده شده‌اند.

این امکان تاثیر دیگری هم دارد. از آنجاییکه متن‌های بدو حروف مشخص، مانند اعداد به صورت RTL نمایش داده می‌شوند. مواردی نظیرتاریخ هم با اعداد فارسی نمایش داده خواهند شد.

امکان تصحیح رفتار راست به چپ مانند سایر امکانات پرنیا از طریق جعبه ابزار پرنیان قابل تنظیم است. شما میتوانید آنر از طریق انتخاب RTL Corrections فعال یا غیر فعال کنید.

 

جزئیات فنی

جزئیات فنی این موضوع به نحوه‌ی نمایش متن‌ها برمی‌گردد. نکته‌ی کلیدی آنست که روی حافظه‌ی کامپیوتر متن‌ها همیشه به صورت ترتیب حروف آن نگاه‌داری می‌شوند. برای مثال حرف “ک” در کلمه‌ی “کتاب” به عنوان حرف اول درست مانند حرف “B” در کلمه‌ی “Book” در خانه‌ی اول حافظه و حروف بعدی به ترتیب بعد از آن قرار می‌گیرد. این به خاطر آن است که ارزش اطلاعاتی متن درست حفظ شود و بتوان عملیاتی نظیر مرتب‌سازی را به سادگی انجام داد. تنها به هنگام نمایش است که ترتیب نمایسی حروف مشخص می‌شود. در مورد کلمه‌ی کتاب، حروف معکوس شده و اول حرف “ب” و در انتها حرف “ک” چاپ می‌شود. (چاپ را چپ به راست فرض کنید.) حتی مواردی نظیر حروف اول، وسط و آخر تنها به هنگام چاپ تعیین می‌شوند و به هنگام ذخیره سازی حرف همواره به شکل ساده (تنها) ذخیره می‌شوند.

۴

۳

۲

۱

ب

ا

ت

ک

k

o

o

B

         

 

همه‌ی اینکارها بر اساس الگوریتم‌هایی که در استانداردها یونیکد معرفی شده‌اند صورت می‌گیرد. این الگوریتم‌ها مشخص می‌کنند که حروف چگونه پردازش شده و نهایتا تبدیل به مجموعه‌ای از گیلیف‌های (Glyph) قابل چاپ می‌شوند. انتخاب‌های RTL و LTR از ورودی‌های این الگوریتم‌ها هستند و تاثیر به سزایی در خروجی آن دارند.

مایکروسافت پراجکت متن‌های خود را با استفاده از تابع DrawText ترسیم می‌کند. پرنیان این تابع را بازنویسی می‌کند و مطابق آنچه در شکل زیر نشان داده شده است، بر حسب نیاز از انتخاب DT_RTLREADING استفاده می‌کند.

 


 


 

مشتاقانه منتظر دریافت نظرات شما دوستان عزیز هستیم