انجمن ویکی قلم‌های فارسی
ورود / عضویت

استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

بحث‌های کلی درمورد سیستم عامل مکینتاش (OS X)

استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Behnam » 19 نوامبر 2013, 06:28

این مشکلات با ZWNJ یعنی کُدی که ما برای «نیم فاصله» بکار می بریم تمامی ندارند! علت این مشکلات هم از این است که این کُد بنا نیست که به عنوان یک «کاراکتر» بکار برود (کاراکتری به نام «نیم فاصله»). ZWNJ در یونیکد یک کُد «نقطه گذاری»ست. کاربردی را هم که معمولاً برایش پیش بینی کرده اند این است که مثلاً ترکیب چند حرف مشخص را به یک لیگاتور بدل کند. یعنی نویسنده با استفاده از یا عدم استفاده از ZWNJ مشخص کند که آیا می خواهد آن چند حرف مشخص به لیگاتور (لاتین و چپ به راست) بدل بشوند یا نشوند.
من که دیگر از خیرش گذشتم! کُد نیم فاصله ام را در صفحه کلیدم عوض کردم! ما در یونیکد کُدی داریم که دقیقاً مختصاتش مطابق با آن چیزی است که ما از «نیم فاصله» انتظار داریم. یعنی یک فاصلهٔ تنگ نشکن. کُد U+202F که اسمش هم داد می زند چکار می کند: Narrow No-Break Space
خُب ما این کُد را سالهاست کنار گذاشته ایم به این بهانه که زمانی که در فارسی از ZWNJ شروع به استفاده شد این کُد هنوز در یونیکد وجود نداشته است! خب حالا که وجود دارد! سالهاست که وجود دارد. بهانهٔ دیگر این است که چون موتورهای جستجو ZWNJ را نادیده می گیرند، کل واژه را می توانند پیدا کنند. خب این مشکل هم (که جدیست) قابل حل است اگر همتی وجود داشته باشد. همت است که وجود ندارد.
من که دیگر از خیرش گذشتم. این متن را با صفحه کلیدی می نویسم که از NNBS برای نیم فاصله استفاده می کند. آن را در Pages هم امتحان کردم و هیچ مشکلی ندارد. حتی اگر فانتی این کُد را نداشته باشد در مک از جای دیگری قرض گرفته می شود و به تمامیت متن لطمه ای وارد نمی آورد چون مثل ZWJ (چسبان) نیست که حتماً باید در فانت وجود داشته باشد تا کارگر افتد. موتور متن می داند که واژه را در آخر خط نباید در محل این فاصله بشکند و نمی شکند. حالا این نیم فاصله از هرکجا که آمده باشد فرقی نمی کند. البته طبعاً بهتر است که فانت های فارسی مثل سری ایکس آن را داشته باشند تا بتوانند تنگی آن را کنترل کنند.
--------
ویرایش دوبارهٔ عنوان. نیم فاصله یک چیز است، ZWNJ چیز دیگری. نباید آنها را یکسان قلمداد کرد.
آخرین ویرایش توسط Behnam on 20 نوامبر 2013, 05:24, ویرایش شده در 2.
نماد کاربر
Behnam
 
پست‌ها : 3466
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

پاسخ: نیم‌فاصله در Pages 2013

پستتوسط alireza3335 » 19 نوامبر 2013, 18:45

لطف می‌کنید کمی سطح پایین‌تر توضیح دهید که به صورت عملی چگونه می‌توانیم این مشکل را برطرف کنیم؟
علیرضا
نماد کاربر
alireza3335
 
پست‌ها : 675
تاریخ عضویت: 02 ژوئیه 2011, 16:15
محل سکونت: تهران

پاسخ: استفاده از فاصلهٔ کوتاه نشکن NNBS برای نیم فاصله بجای

پستتوسط Behnam » 20 نوامبر 2013, 03:30

این را که راست گفتی! موضوع را طوری نوشته ام که تنها برای کسانی که دستی بر آتش دارند قابل فهم است. حالا این که سرش را بخورد، خیلی هم با عصبانیت نوشته ام!
حالا چیزی به ذهنم رسیده است که برای کاربران معمولی مک قابل استفاده باشد ولی مقداری وقت می برد تا به جایی برسد. هروقت به جایی رسید در همینجا خبر خواهم داد.
نماد کاربر
Behnam
 
پست‌ها : 3466
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن (NNBS) بجای نیم فاصله (ZW

پستتوسط Ilia » 20 نوامبر 2013, 04:21

بهنام جان ما با این نیم‌فاصله هیچ قرابتی نداریم و منکه با کمال میل حاضرم که از فاصلهٔ کوتاه نشکن که اصلا انگار مادرزاد برای همین کار ساخته شده استفاده کنم. وقت داری که یه کیبورد QWERTY فارسی که این رو روش داشته باشه هم درست کنی؟ شیفت سمت راست بعلاوهٔ اسپیس بد جایی نیست برای این.

من خواستم با شورتکات های کیبورد درستش کنم، اما متاسفانه اپل یک کاری کرده که شورتکاتهای کیبورد، اسپیس رو بعنوان تکس قبول نمیکنه. منهم اجالتا یک شورتکات براش درست کرده ام که اگه دوبار بزنم روی // بجاش یک این فاصلهٔ نشکن+| رو تایپ میکنه بعد باید دوبار دیلیت کنم که دو کاراکتر اضافی پاک بشند. این کلک رشتی در آیدیوایس‌ها هم کار میکنه.

اما بهنام جان اینکار یک دردسرهایی هم داره که نمیشه ندیدش گرفت. مثلا اگر فانت فارسی این کاراکتر رو نداشته باشه ممکنه که وسط تایپ کردن فانت عوض بشه. چون سیستم لوسیدا گرند رو میگذاره به جاش و بعد ادامهٔ متن رو با جیزه مینویسه. یا اینکه غالب فانتهای فارسی این کاراکتر رو ندارند (حتی جیزه هم نداردش). و یا اینکه عرض این کاراکتر حتی در فانت‌هایی که دارندش هم خیلی متفاوته و در بعضی مواقع زیادی عریضه.

کسی اگر این کاراکتر رو خواست بین این دو تا پرانتزه ( ).
نماد کاربر
Ilia
Site Admin
 
پست‌ها : 5613
تاریخ عضویت: 25 سپتامبر 2006, 01:01
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن برای نیم فاصله

پستتوسط Behnam » 20 نوامبر 2013, 04:46

من هم در همین فکر بودم که یک ست صفحه کلیدهای آلترناتیو برای صفحه کلیدهای موجود در مک بسازم. QWERTY هم جزءشونه. واسهٔ همین هم هست که مقداری وقت می بره. اما در مورد اون مشکل رفتن به جیزه و ماندن در جیزه، این تنها در مواقعی رخ می ده که فانتی که در مک داری استفاده می کنی -یعنی فانت تعیین شده برای متن- اصلاً فارسی نداره. مثلاً هلوتیکا یا چیزی از این دست. اگر با چنین فانتی فارسی بنویسی، اول میره سراغ جیزه، بعد اگر جیزه یک کُد رو نداشته باشه میره سراغ فانتی که اون رو داشته باشه... و همونجا می مونه و دیگه به جیزه بر نمی گرده چون جیزه از همون اول هم در نقش کمکی وارد معرکه شده بود و حالا یک فانت کمکی دیگه جاش رو گرفته. مگر اینکه باز چیزی رو تایپ کنی که فقط جیزه داشته باشه ولی اون فانت دیگه نداشته باشه! اگر فانتی که برای متن فارسی تعیین کردی فارسی داشته باشه این مشکل پیش نمیاد و تنها برای کاراکترهایی که نداره میره سراغ فانت های دیگه و باز برمی گرده به فانت تعیین شده برای حروفی که موجود هستند.
NNBS مطمئناً مشکلات خودش رو خواهد داشت. چون کُد خیلی کم مصرف و ناشناخته ای بوده تا حالا. اخیراً امتحان نکردم ولی مثلاً یادم هست که مدتها پیش امتحان کردم و در Mail کار نمی کرد. البته فاصله اش کار می کرد ولی آخر خط می شکست. ولی رفع باگ کردن از NNBS خیلی ساده تر از رفع باگ کردن از ZWNJ هست. تنها مشکلی که با NNBS ممکنه پیش بیاد (و پیش خواهد آمد) اینه که یک برنامه اون رو در نظر نگرفته باشه و کافیست از سازندگان برنامه درخواست بشه که درنظر بگیرند.
فرقش مثل اینه که یک کارگردان تئاتری یک تئاتر «حسن کچل» روی صحنه آورده باشه و از این کارگردان بخواهیم که این کاراکتر «حسن کچل» باید رقصیدن باله هم بلد باشه! یا این که به کارگردان بگیم توی نمایشنامه یک کاراکتر آبدارچی هم بوده که تو در نمایش خودت از قلم انداخته ای. این را که بگویی دیگه بقیه اش را کارگردان خودش می فهمه چون نقش آبدارچی در نمایشنامه نوشته شده و موجوده و کافیه که به اون مراجعه کنه!
تشبیه های من هم واقعاً به درد عمه ام می خوره!
نماد کاربر
Behnam
 
پست‌ها : 3466
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Ilia » 20 نوامبر 2013, 20:24

بهنام جان من روی این یک مقداری وقت گذاشتم. بنظرم برای اینکار Word Joiner با کد U+2060 گزینهٔ بهتریست تا NNBSP.
جیزه هم این را دارد و فاصله⁠اش متغیر نیست و برایش هم راحت میشود در iOS شورتکات درست کرد. (⁠)
نماد کاربر
Ilia
Site Admin
 
پست‌ها : 5613
تاریخ عضویت: 25 سپتامبر 2006, 01:01
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط eysun » 20 نوامبر 2013, 21:51

من زیاد از این موضوع سر در نمیارم. ولی برای اطلاع اینکه پست ایلیا روی سیستم ویندوز من سر کار اینطوری نشون داده شد... حالا اینکه چرا و چطور رو نمیدونم. (راستی نیم فاصله در ویندوز با چه کلیدی هست؟ :-دی)

Capture.JPG
نماد کاربر
eysun
 
پست‌ها : 343
تاریخ عضویت: 13 نوامبر 2009, 22:16
محل سکونت: امریکا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Pooria Azimi » 20 نوامبر 2013, 22:21

؟! یکهو چرا اون وسط (نیمهٔ اول خط دوم) تاهومای ملعون سروکله‌ش پیدا شده؟ مثل جن می‌مونه این قلم...
نماد کاربر
Pooria Azimi
Site Admin
 
پست‌ها : 3332
تاریخ عضویت: 23 اوت 2008, 14:32
محل سکونت: Santa Barbara, CA

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط saeidk » 20 نوامبر 2013, 23:33

eysun نوشته است:[نمایش]
من زیاد از این موضوع سر در نمیارم. ولی برای اطلاع اینکه پست ایلیا روی سیستم ویندوز من سر کار اینطوری نشون داده شد... حالا اینکه چرا و چطور رو نمیدونم. (راستی نیم فاصله در ویندوز با چه کلیدی هست؟ :-دی)

Capture.JPG

ولی برای من به خوبی نشون داده شد. مشکل از سیستم ویندوز شما است.
فاصله نشکن در سون رو باید از persian computing بگیری و اضافه کنی (صفحه کلید جدید اضافه بشه) و در ویندوز ۸ هم که هست به اسم isiri (یعنی صفحه کلیدی که توی اون شیفت و اسپیس می شه فاصله نشکن)
نماد کاربر
saeidk
 
پست‌ها : 971
تاریخ عضویت: 17 دسامبر 2005, 19:20
محل سکونت: ایران-تهران

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Behnam » 21 نوامبر 2013, 00:21

من دارم این صفحه را با ویندوز سر کار -بدون هیچ فونت اضافه- و با تاهوما میبینم (و با بهنویس مینویسم!). NNBS هیچ مشکلی‌ ندارد فقط طول نیم فاصله بیشتر از انتظار است. آن Word Joiner یک مربع است.
نماد کاربر
Behnam
 
پست‌ها : 3466
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط eysun » 21 نوامبر 2013, 00:30

نوشته های همه شما درست نشون داده می شه به جز پست ایلیا.
نماد کاربر
eysun
 
پست‌ها : 343
تاریخ عضویت: 13 نوامبر 2009, 22:16
محل سکونت: امریکا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Masiha » 21 نوامبر 2013, 00:59

ویندوز من هم این قسمت از نوشته‌های ایلیا‌جان را با قلم تاهوما نشان می‌دهد.

[نمایش]
...
جیزه هم این را دارد و فاصله⁠اش متغیر نیست و برایش هم راحت میشود در
...
 MacBook Air MC504LL/A (Late 2010), macOS Sierra
نماد کاربر
Masiha
Site Admin
 
پست‌ها : 276
تاریخ عضویت: 23 ژانویه 2011, 12:46
محل سکونت: تهران

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Ilia » 21 نوامبر 2013, 02:58

این چیزیه که من در یونیکد پیدا کردم:

[نمایش]
Zero Width No-Break Space. In addition to its primary meaning of byte order mark (see“Byte Order Mark” in Section 16.8, Specials), the code point U+FEFF possesses the semanticsof zero width no-break space, which matches that of word joiner. Until Unicode 3.2, U+FEFF was the only code point with word joining semantics, but because it is more commonly used as byte order mark, the use of U+2060 word joiner to indicate word joining is strongly preferred for any new text. Implementations should continue to support the word joining semantics of U+FEFF for backward compatibility.


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

بهر حال طبق معمول این قبیل چیزها یک چند سالی طول میکشه تا همه خودشون رو بروز و هماهنگ بکنند و این داستان حل بشه. اما اجالتا این روی مک و آیدیوایس‌ها بخوبی کار میکنه.
نماد کاربر
Ilia
Site Admin
 
پست‌ها : 5613
تاریخ عضویت: 25 سپتامبر 2006, 01:01
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Behnam » 21 نوامبر 2013, 03:58

نیم فاصله به نظر من یک فاصله است و نه بی فاصلگی. حالا به تناسب شکل و شمایل حروف یک فانت، طراح می تواند به دلخواه آن را بزرگ و کوچک کند. ولی وقتی ما بی فاصلگی را برای نیم فاصله بکار می بریم (همانطور که تاکنون بکار برده ایم) دیگر این کنترل از دست فانت ساز خارج می شود. من به همین دلیل در سری ایکس ترتیبی داده بودم که همهٔ حروف مقداری sidebearing داشته باشند. خیلی هم زحمت و دردسر داشت. دقیقاً برای این که از چسبندگی کامل حروف در صورت بکار بردن ZWNJ (یا کُد پیشنهادی تو) پرهیز شود. با این همه در مورد فانت هایی که به شکل سایه دار و یا توخالی و این قبیل تبدیل کرده ام و حروف «باد» کرده اند، این sidebearing از میان رفته است و حروف می چسبند. عکس زیر از کیهان نوار با NNBS و ZWNJ است. نیم فاصله باید فاصله باشد به نظر من. در توضیحات جانبی word joiner آمده است که «فاصلهٔ صفر نشکن». بهرحال اگر کسی فاصلهٔ صفر بخواهد، این بهتر از ZWNJ است احتمالاً.
تصویر
نماد کاربر
Behnam
 
پست‌ها : 3466
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

پاسخ: استفاده از فاصلهٔ کوتاه نشکن بجای نیم فاصله

پستتوسط Ilia » 21 نوامبر 2013, 07:09

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

این کاراکتر چیز بدرد بخوریه و جلوی جدا شدن عبارت‌ها رو از هم میگیره. یعنی مثلا اگر وقتی مینویسیم 4+5 و بین اینها این WJ رو تایپ کنیم، اینها از هم جدا نمیشوند. این برای لی‌آوت کردن خیلی چیز مفیدیه اما جلوی تبدیل حروف فارسی از حالت‌های چسبیده به نچسب رو نمیگیره. پس انگار راه باقی مانده میمونه همین فاصلهٔ کوتاه نشکن که شما پیشنهادش رو کرده بودی.
نماد کاربر
Ilia
Site Admin
 
پست‌ها : 5613
تاریخ عضویت: 25 سپتامبر 2006, 01:01
محل سکونت: کانادا

بعدی


بازگشت به سیستم عامل مک


کاربران حاضر در این انجمن: بدون کاربران آنلاین و 3 مهمان