دوستان این آخر هفته وقت گذاشتم دستی به سر و گوش صفحهکلید استاندارد دولتی ۹۱۴۷ بزنم.
انگیزهٔ اصلی مشکلی بود که با ماوریکس پیش آمده است که این صفحهکلید را به عنوان صفحهکلید RTL تشخیص نمیدهد اما همینجا بگویم که این مشکل حل نشد!
پیش از لاین، صفحهکلیدهای مک از یک ساختار xlm باز با پسوند keylayout استفاده میکردند که برنامهٔ Ukelele هم بر مبنای این ساختار طراحی شده بود. پس از آن، مک برای صفحهکلیدهای سیستمش به یک ساختار بسته رو کرد ولی همچنان سیستم عامل مک صفحهکلیدهای keylayout را به رسمیت میشناسد و ساپورت میکند. این برای Ukelele مشکلی جدی پیش آورد که من در فورومشان گوشزد کردم. وقتی Ukelele یک صفحهکلید از «سیستم» را به عنوان صفحهکلید «مبنا» باز میکند، دیگر این صفحهکلید صفحهکلید سیستم نیست بلکه برگزیده از کلکسیونی است که از دوران تایگر به جا مانده است و به همراه پوشهٔ دانلود Ukelele میآید. هر تغییری که اپل در چیدمان صفحهکلیدهایش -برای هر زبانی- از آن پس داده باشد، از چشم Ukelele پوشیده میماند. این مطلب مرا ظاهراً کسی در اپل دید و شنید و به کمک John Brownie سازندهٔ Ukelele شتافت. در نتیجهٔ در نسخهٔ جدید Ukelele این امکان اضافه شد که برای انتخاب صفحهکلید «مبنا» از آن صفحهکلیدی استفاده شود که در آن هنگام فعال است. این دیگر اطلاعاتش را از صندوقخانهٔ پوشهٔ Ukelele نمیگیرد. بلکه ترتیبی داده شده است که از متن بستهٔ صفحهکلید فعال در سیستم، یک فایل xlm کاربردی تولید و در Ukelele تعبیه شود. به عبارت دیگر این گزینه در انتخاب صفحهکلید مبنا در Ukelele همیشه به روز است.
این خبر خوبی بود ولی ربطی به موضوعی نداشت که شروع کرده بودم! کجا بودم؟
آها موضوع این است که چون در نسخههای اخیر Ukelele امکانات جدیدی برای تبیین هویت زبانی و سیستم نگارش صفحهکلید اضافه شده است، فکر کردم که شاید با استفاده از آن این مشکل عدم شناسایی هویت RTL این صفحهکلید (و صفحهکلید مصرف شخصی خودم) حل شود. ولی نشد.
اما فرصتی شد که فایل صفحهکلید ISIRI 9147 را کمی تر و تمیز کنم. در آن زمانی که من این صفحهکلید را نوشتم یا از بیدقتی من و یا بخاطر ابتکارات سرخود Ukeleleی که در آن زمان داشتم، لایههای متعدد و بیموردی از چیدمان صفحهکلید به فایل اضافه شده است. سیستم صفحهکلید اپل این امکان را میدهد که برای کلیدهای همنام modifier در سمت چپ یا راست صفحهکلید، مثل کلید shift در سمت چپ و shift در سمت راست، دستورالعملهای مجزایی نوشت. این شاید برای برخی کارهای ویژه خیلی چیز بدرد خوری باشد ولی برای یک صفحهکلید مصرف عمومی چندان خاصیتی ندارد و چه بسا در بعضی موارد و برای بعضی از صفحهکلیدها، کارکرد درست صفحهکلید را مختل کند.
در نظافتی که این آخر هفته کردم من این لایههای اضافی را از فایل برداشتم و آن را کوچک و مختصر کردم. کلاً یک صفحهکلید فارسی مصرف عموم شش لایه با کلیدهای modifier میتواند لازم داشته باشد. لایهٔ «بالا» بدون modifier، با شیفت، با آپشن، با شیفت-آپشن و دو لایه هم با command و control که البته فارسی نیستند ولی برای کارکرد درست صفحهکلید با کامپیوتر و برنامههایش ضرورت دارند. من لایههای بیمورد اضافی را پاک کردم و صفحهکلید را کمی جمع و جور کردم. کلید caps lock اصلاً در فارسی مصرف ندارد. این است که ترتیبی دادم که دیگر در امور دیگران اخلال نکند!
از آنجا که بازی با صفحهکلید کار وقتگیری است و هر روز پیش نمیآید، به فکرم رسید که کُدهایی را که اخیراً یونیکد در نسخهٔ ۶٫۳ به استاندار اضافه کرده است، به این صفحهکلید اضافه کنم. البته این جزء استاندارد ISIRI نیست ولی آنها را در جاهای خالی قرار دادهام و ضرری به جایی نمیزند. فکر کردم معلوم نیست کی دوباره این صفحهکلید خانه تکانی شود و بهتر است هم اکنون این کُدها را اضافه کنم چون فکر میکنم نسخهٔ ۶٫۳ یونیکد یک تحول بسیار قابل توجه در راستای مسائل نوشتاری از راست به چپ است.
البته همانطور که در عکس میبینید هنوز نه موتور متنی هست که این کُدها را ساپورت کند و نه فانتی برای آنها ساخته شده است (حروف نیستند، کُدهای مدیریت جهت نگارش هستند) و مدتی طول خواهد کشید که سیستم عامل خود را با استاندارد جدید تطبیق دهد.
از آنجا که در همین تاپیک عکسهایی از شکل و شمایل keyboard viewer نسخههای قدیمیتر مک موجود است، در همینجا از جانب جاناتان آیو از همهٔ کاربران عزیز پوزش میخواهم!
اصل مطلب پاک داشت یادم میرفت! این هم لینک به نسخهٔ تمیز شدهٔ ISIRI 9147
https://dl.dropboxusercontent.com/u/536 ... bundle.zipدوستان لطف کنند و این نسخه را به جای نسخهٔ موجود در ویکی بگذارند.