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

تبدیل متن فارسی مک به استاندارد مایکروسافت Word

درمورد نرم‌افزارهای کاربردی مکینتاش

تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط AliGhz » 24 اکتبر 2011, 20:49

عجب گرفتاری‌ایه!

متن فارسی را در Mellel تایپ کرده بودم و آن را به‌ فرمت ورد، Export کردم. روی ورد در ویندوز، همه چیز درست نشان داده می‌شود. اما وقتی متن داخل InDesign وارد می‌شود، تمام نیم‌فاصله‌ها از بین می‌رود و هر جا نیم‌فاصله بوده، حروف به هم می‌چسبند. در ورد، نمایش کاراکترهای پنهان را فعال کردم، و می‌بینید که به‌جای نیم‌فاصله، کاراکتری شبیه مربع است به‌رنگ خاکستری. کپی می‌شود، اما paste نمی‌شود تا بتوان با Find/Replace مشکل را حل کرد. روی InDesign مک امتحان نکردم ببینم همین مشکل هست یا نه. به هر حال روی مک هم درست باشد، مشکل فعلی من را حل نمی‌کند!
(روی ملل، با فونت XB Yas کار کرده بودم و آن مربع‌های خاکستری همان فونت را نشان می‌دهند. ابتدا، این‌دیزاین پیغام داد که این فونت را نمی‌شناسد و آن را با فونت پیش‌فرض جایگزین می‌کند. برای همین، XB Yas را برای این PC دانلود و نصب کردم و مجدد متن را در این‌دیزاین ریختم؛ پیغام ناشناخته بودن فونت نداد اما باز هم نیم‌فاصله‌ها را نشناخت و متن را به هم چسباند.)

راه سختش این است که دستی، تمام اینها در ورد به نیم‌فاصله تبدیل شوند. اما آیا راه اتوماتیکی بلدید؟ و چطور مطمئن شویم که متن فارسی ما در مک، در ویندوز هم درست دیده خواهد شد؟ (مخصوصا این نیم‌فاصله که پنهان است و واقعا این‌طور مشکلات آزاردهنده را ایجاد می‌کند.)

(ضمنا در ملل، شمارش کلمات به‌گونه‌ای است که اگر کلمه‌ای شامل نیم‌فاصله باشد، آن را جداجدا حساب می‌کند؛ مثلا "می‌دانم" را ۲ کلمه حساب می‌کند. اما ورد ویندوز آن را یک کلمه حساب می‌کند.)

متن اکسپورت‌شده از ملل، روی ورد ویندوز:
word.jpg


متن ایمپورت‌شده از همان فایل بالایی، روی InDesign در ویندوز:
indesign.jpg


--------------------------------------
برای این موضوع یک مبحث جدید درست کردم، چون مباحث قبلی مربوط به ورد و تایپ فارسی زیاده از حد شلوغ شده‌اند و چنین مشکلی به آشفتگی آنها بیشتر می‌افزود.
 Think Different.
نماد کاربر
AliGhz
Site Admin
 
پست‌ها : 2144
تاریخ عضویت: 14 نوامبر 2009, 16:55
محل سکونت: تهران

Re: تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط Ilia » 24 اکتبر 2011, 21:21

علی جان، من کارم لی‌آوت فارسی نیست اما برای تمیز نگه داشتن تکست، آنرا در ورد اول به فرمت "Plain Text" سیو میکنم. وقتی این فرمت را انتخاب کنی، جعبهٔ دیگری باز میشود که از آن بایستی انکودینگ را انتخاب کنی. از لیست UTF8 را انتخاب کن و سیوش کن. آنوقت این نوشته را وارد ایندیزاین کن.

ممکن است که اینکار را با ملل هم بتوانی بکنی اما من نکرده‌ام و الان هم دم دستم نیستند تا امتحان کنم. اما اگر خواستی مطمئن بشوی که تکستت درست انتقال پیدا میکند، آنرا با فرمت doc سیو نکن. معلوم نیست که در آن چه اتفاقی خواهد افتاد.

اگر در مرحلهٔ سیو کردن در ملل، مشکل داشتی، نوشته‌ات را از ملل کپی کن و در تکست‌ادیت پیست کن و بعد به فرمت HTML سیوش کن و آنرا در ورد باز کن و دوباره Text Only همانطور که در اول گفتم سیو کن و یا اگر کار کرد، همین HTML را مستقیما با ایندیزاین امتحانش کن.

اگر هم باز مشکل داشتی، میتوانی اجالتا در ملل یا تکست ادیت، نیم‌فاصله را با یک چیز مشخص و عجیب و غریب Find & Replace کنی، مثلا %% و تا بعد آنرا در ایندیزاین با نیم فاصله Find & Replace کنی.

حتما دوستان دیگری که کارشان فارسیسیت شما را بهتر راهنمایی خواهند کرد.

ایلیا
نماد کاربر
Ilia
Site Admin
 
پست‌ها : 6175
تاریخ عضویت: 25 سپتامبر 2006, 01:01
محل سکونت: کانادا

Re: تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط AliGhz » 24 اکتبر 2011, 21:42

ممنون ایلیا جان، الان راه اول را امتحان کردم و جواب داد. تک‌وتوک بعضی حرف‌ها غیرعادی شده بودند، مثلا یک "س" وسط کلمه "تاسیس" این‌جوری شده بود: "تاس‌یس" که وقتی فانت کل متن را عوض کردم، این حروف فانتشان عوض نشد و تشخیص و تغییرشان خیلی راحت بود. راه‌های بعدی را حتما سر فرصت امتحان می‌کنم. قبلا با نئوآفیس مشکلات این‌طوری پیش نیامده بود. ولی نئوآفیس برنامه نچسبی است برای نوشتن متن فارسی (به‌نظر من) و ملل محیط خیلی خوبی دارد؛ مخصوصا الان که Full Screen هم می‌شود.

----------------------------------
این تبدیل به plain text من را یک‌کم یاد زمان پیج‌میکر و پروین انداخت که باید اول متن از هر آرایه‌ای خالی می‌شد و بعد با پروین تبدیل می‌شد و داخل پیج‌میکر در Text Box های چرخیده حول محور عمودی وارد می‌شد. آنجا هم خیلی‌ وقت‌ها کاراکترهای عجیب پیدا می‌شدند؛ و بماند نیاز به بولد یا ایتالیک کردن کلماتی از متن و... که باید روی صفحه انجام می‌شدند و کلا همه ریزه‌کاری‌های نویسنده را به‌هدر می‌داد و مخصوصا اعراب که کلا از بین می‌رفت و کسی حال و حوصله گذاشتن آنها را نداشت. کلا داستانی است این خط فارسی در دنیای دیجیتال!
 Think Different.
نماد کاربر
AliGhz
Site Admin
 
پست‌ها : 2144
تاریخ عضویت: 14 نوامبر 2009, 16:55
محل سکونت: تهران

Re: تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط Behnam » 25 اکتبر 2011, 03:34

انتقال صفحه آرایی‌های پیچیده به فورمت doc.، مثل جدول و پاورقی و غیره، تقریباً در هیچ برنامه‌ای، بهتر بگویم، تحقیقاً در هیچ برنامه‌ای بی اشکال صورت نمی‌گیرد. اگر مقصد نهایی برای صفحه‌ آرایی پیچیده فورمت doc. است، بهتر است که با همان مایکروسافت وُرد آغاز کنی. این هم البته برای ما مکی‌های فارسی زبان یعنی وَرد روی ویندوز.
مشکل نیم‌فاصله مشکلی کلافه کننده است. حقیقتش این است که ما اصلاً‌ نمی‌بایست این کُد را برای نیم‌فاصله روی صفحه‌کلید فارسی می‌داشتیم! کُد نیم‌فاصلهٔ فارسی در یونیکد یک «کاراکتر» نیست. یک کُد «فرمان» است. از نوع کُدهای دیگری که در یونیکد مثلاً برای تغییر جهت چیده شدن حروف در کنار یکدیگر بکار می‌رود. احتمالاً این کُد در زمانی برای نیم‌فاصله انتخاب شده بود که همهٔ تلاش‌ها در جهت «سر هم بندی» کردن امور برای فارسی بیرون کشیدن از کامپیوتر با امکانات محدود بود. در همان دوره‌ای که مثلاً نقطه‌های ي هم در فانت‌ها برداشته می‌شدند تا شکل فارسی داشته باشند!
این توضیحات برای این بود که بگویم اگر برنامه‌ای بطور مشخص مشتریان پر و پا قرص و پر سر و صدای فارسی زبان نداشته باشد، و توسعه دهندگان آن برنامه بطور مشخص برای مشتریان فارسی زبان خود تدبیری نیاندیشیده باشند، به احتمال زیاد کُد نیم‌فاصله همواره مشکل‌ساز خواهد بود. من شخصاً طرفدار تغییر دادن کُد نیم‌فاصله در صفحه‌کلید فارسی و تبدیل آن به کُد یک کارکتر شناخته شده در یونیکد هستم. چنین کارکتری با ویژگی‌ەای مورد نیاز «نیم‌فاصله» در یونیکد موجود است ولی تقریباً در هیچ فانت فارسی موجود نیست (بجز سری ایکس۲ البته!) ولی به نظر من کار اصولی این است که در استاندارد ISIRI مثلاً این کُد را رسمیت ببخشیم و بعد به استناد این استاندارد، از توسعه‌دهندگان نرم‌افزار بخواهیم که از این کُد پشتیبانی کنند [مشخصات کُد این «کاراکتر» در استاندارد یونیکد ثبت است و دیگر لازم نیست به آنها توضیح دهیم که چگونه باید رفتار کند در حالی که در مورد کُد فرمان کنونیِ نیم‌فاصله قضیه به این روشنی نیست چون اکثر توسعه‌دهندگان آن را کُدی می‌شناسند که باید از سوی نرم‌افزار بکار گرفته شود و نباید در متن وجود داشته باشد] این امر اگر رسمیت بیابد دیگر اضافه کردن آن کارکتر در فانت که کاری ندارد.
-------------
این مقدمات به کنار، بد نیست که برای انتقال متنی که صفحه‌آرایی پیچیده ندارد، قبل از plain text فورمت rich text را امتحان کنی. این مثل فورمت plain text یک فورمت استاندارد است و به همهٔ برنامه‌ها قابل انتقال است به اضافهٔ این که برخی از صفحه‌آرایی‌ها، مثل اندازه و نوع قلم، و بولد و ایتالیک و غیره را نیز حفظ می‌کند. البته قضیهٔ نیم‌فاصله با خداست!
ملِل هم که البته export به فورمت rtf. را دارد.
نماد کاربر
Behnam
 
پست‌ها : 3534
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا

Re: تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط AliGhz » 25 اکتبر 2011, 17:17

ممنون از این توضیحات دقیق و مفصل. فکر کنم با استاندارد شدن کاراکتر نیم‌فاصله، مشکل شمارش کلمات هم حل بشود.

راستی، در این رمزنگاری‌ها یا encodingهای یونیکد، unicode با utf-8 چه تفاوتی دارد؟ در همین ملل مثلا برای اکسپورت به‌صورت متن خام، از جمله این دو امکان وجود دارد.
 Think Different.
نماد کاربر
AliGhz
Site Admin
 
پست‌ها : 2144
تاریخ عضویت: 14 نوامبر 2009, 16:55
محل سکونت: تهران

Re: تبدیل متن فارسی مک به استاندارد مایکروسافت Word

پستتوسط Behnam » 26 اکتبر 2011, 03:25

اتفاقاً «کارکتر» نیم‌فاصله در گروه «فاصله‌ها» تعریف شده و شاید بیشتر باعث بشه که یک کلمه دو تا شمرده بشه. این از اون چیزهایی هست که باید در نرم‌افزار اصلاح بشه که این کار رو نکنه. تعجب من اینه که چرا ملِل کُد فعلی رو که کاراکتر فاصله نیست به عنوان معیار تفکیک دو کلمه حساب می‌کنه. مشکل کُد فعلی که کُد «فرمان» هست اینه که ممکنه خود نرم‌افزار هم برای رتق و فتق اموراتش ازش استفاده کنه و بعد در تشخیص اینکه کدام رو کاربر وارد متن کرده و کدام رو خودش وارد کرده گیج بشه.
یونیکد اسم خود کنسورسیوم هست. به شکل متعارف به رمزنگاری مبتنی بر استاندارد این کنسورسیوم هم اطلاق می‌شه. UTF-8 یا UTF-16 یا UTF-32 اسامی دقیق‌تر و فنی‌تر قضیه هست. ما با همان UTF-8 بیشتر سر و کار داریم. نه بخاطر فارسی بلکه بخاطر لاتین این رمزنگاری که با اسکی تا حدود زیادی backward compatibility داره. من شخصاً بیشتر از این در این موارد سرم رو درد نمی‌آورم ولی خب اگه اصرار داری...
http://en.wikipedia.org/wiki/UTF-8
من که می‌گم همون یونیکد رو استفاده کن و بقیهٔ امور رو به خدای کامپیوتر بسپار. ولی اگر باز هم اصرار داری که بیشتر گیج بشی، این پاسخ رو در مورد فرق یونیکد و UTF-8 پیدا کردم. یادت باشه که خودت پرسیده بودی!

Unicode is an encoding system that can be implemented officially according to the rules of the Unicode consortium in three encoding forms: UTF-8, UTF-16, and UTF-32,in which “UTF stands for “Unicode Transformation Format”. These forms are eactually implemened as one of seven different encoding schemas, depending on whether the high bit or low bit of each byte comes first, and whether a Unicode file is preceded by a BOM (byte-order mark) character, that is the Unicode marker character U+FEFF.

All encodings are equally official “Unicode”, but Microsoft Windows tends to wrongly use “Unicode” to mean its own internal form of Unicode which is UTF-16 Big Endidan, as contrasted with UTF-8, UTF16 Little Endian, and UTF-43.

Normally your browser should convert properly, if necessary. If it doesn’t usually because the code used is not labeled properly, you can select a different code page in the browser. Since there are numerous code pages available, sometimes it may take several attempts before you find one that will work.

If you have a file in UTF-8 text format, and want to convert it to UTF-16 text format, you can do so through many editors and word processors available today. For example, if you are using Windows, open the file in Notepad, identifythe file in the open dialog box as text and identify its type as “Unicode TextDocuments (*.txt)”. Then save it in the same format. It will now actually be in UTF-16 format.

Some other editors and word processors will make you specifically chose UTF-8 or UTF-16 and which endian format you want. It won’t matter much.
نماد کاربر
Behnam
 
پست‌ها : 3534
تاریخ عضویت: 27 مه 2004, 04:44
محل سکونت: کانادا



بازگشت به برنامه‌های مک


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