PDA

View Full Version : سوال: نمایش اعراب با رنگ متفاوت از متن اصلی



Nazanin Banoo
سه شنبه 04 مهر 1391, 14:08 عصر
سلام خدمت دوستان گرامی ی ی ی
واقعا ممنون میشم اگه کسی بتونه به من کمک کنه ! من تمام راه هایی که (به ذهنم میرسیده رو) امتحان کردم (دانش من محدود است)
ولی هیچ راهی پیدا نکردم که بتونم اعراب رو در داخل یک Richedit رنگی کنم(مثلا متن مشکیه اما اعرابش قرمز) واقعا عصبیم کرده :ناراحت: مشکل اینه که richedit اعراب رو با حرفی که روش قرار گرفته به عنوان "یک کاراکتر" تشخیص میده، توی این سایت چند تا تاپیک در این مورد بحث شده اما هیچ کدومش هیچ نتیجه ای نداشته. (لطفا بنده رو محکوم به جستجو و ارجاع به تاپیکهای دیگه نکنید.) یه نفر بهم گفته باید C++‎‎ یاد بگیری با اون میشه نوشت !! ولی C++‎‎ رو نتونستم یاد بگیرم، چون مثل دلفی و "وی بی"خودش کدهارو نمایش نمیده (من با مطالعه همین توضیحات و نمایش خاصیت ها و مقدادیرشون یاد میگیرم و برنامه نویسی میکنم)
همین دیگه :لبخند:

mbshareat
سه شنبه 04 مهر 1391, 14:53 عصر
سلام
قبلا این سوال بنده بوده. اعراب خودش یک کارکتره اما بحث اینه که وقتی بخوایم به اعراب رنگ قلم بدیم کلمه از هم می پاشه و حرف قبل و بعد از هم منفصل میشن.
بعید میدونم راهی براس این مساله باشه. اما برنامه های مرکز تحقیقات اسلامی رو ببینین متوجه میشین که اعراب رنگ متفاوتی داره. احتمال میدم چون قلم رو خودشون طراحی کردند برای این مساله فکری کردن.
من قلم QuranTaha1 ساخت مرکز رو دارم بررسی کردم توی محیط Word سعی کردم فقط اعراب رو رنگی کنم،اعراب رو رنگی نکرد
اما احتمالا بشه توی دو تا بیت مپ، توی یکی متن با اعراب و توی دیگری بی اعراب رو نوشت و نقاط رنگی غیر مشترک بین دو بیت مپ رو اعراب حساب کرد.تنها مساله اینه که معمولا متن با اعراب و بدون اعراب طول یکسانی ندارند.
میتونین این قلم رایگان رو دانلود کنین و مساله رو بررسی کنین.
در ضمن کمتر قلمی پیدا میشه اعراب رو خوب نمایش بده و این قلم یکی از بهترینهاست! (من خودم قبلا دنبال دانلود قلمهای عربی بودم !)

BORHAN TEC
سه شنبه 04 مهر 1391, 15:01 عصر
یه نفر بهم گفته باید C++‎‎‎ یاد بگیری با اون میشه نوشت !!
یعنی گفته که با دلفی انجام این کار غیر ممکن است؟؟؟ :متعجب:

اگر به تاپیک زیر نگاهی بیاندازید مشکلتون حل خواهد شد:
http://barnamenevis.org/showthread.php?355151

Nazanin Banoo
سه شنبه 04 مهر 1391, 17:28 عصر
سلام
قبلا این سوال بنده بوده. اعراب خودش یک کارکتره اما بحث اینه که وقتی بخوایم به اعراب رنگ قلم بدیم کلمه از هم می پاشه و حرف قبل و بعد از هم منفصل میشن.
بعید میدونم راهی براس این مساله باشه. اما برنامه های مرکز تحقیقات اسلامی رو ببینین متوجه میشین که اعراب رنگ متفاوتی داره. احتمال میدم چون قلم رو خودشون طراحی کردند برای این مساله فکری کردن.
من قلم QuranTaha1 ساخت مرکز رو دارم بررسی کردم توی محیط Word سعی کردم فقط اعراب رو رنگی کنم،اعراب رو رنگی نکرد
اما احتمالا بشه توی دو تا بیت مپ، توی یکی متن با اعراب و توی دیگری بی اعراب رو نوشت و نقاط رنگی غیر مشترک بین دو بیت مپ رو اعراب حساب کرد.تنها مساله اینه که معمولا متن با اعراب و بدون اعراب طول یکسانی ندارند.
میتونین این قلم رایگان رو دانلود کنین و مساله رو بررسی کنین.
در ضمن کمتر قلمی پیدا میشه اعراب رو خوب نمایش بده و این قلم یکی از بهترینهاست! (من خودم قبلا دنبال دانلود قلمهای عربی بودم !)

من قلم رو دارم در ورد هم کاراکترهاش بدون مشکل رنگی میشن. در مورد استفاده از نقاط غیر مشترک هم باید بگم من این مسئله رو در یک ریچ ادیته ترنسپرنت تست کردم، دوتا ریچ ادیت رو روی هم انداختم اما همونطور که فرمودید طول رشته ها با هم متفاوته !





یعنی گفته که با دلفی انجام این کار غیر ممکن است؟؟؟ :متعجب:

اگر به تاپیک زیر نگاهی بیاندازید مشکلتون حل خواهد شد:
http://barnamenevis.org/showthread.php?355151

آقای عشایری من برنامه آقای Mahan-1363 رو تست کردم روی حروف جواب میده مثلا حرف "م" رو رنگی کنه اما کاراکترهارو نمی تونه شناسایی کنه و رنگ کاراکتر به رنگ حرفی که روش قرار داره در میاد. شما خودتون راه حلی سراغ ندارین ؟

Nazanin Banoo
سه شنبه 04 مهر 1391, 17:52 عصر
ببینین این یه نمونه
هر حرف رو هنگام تایپ با یک رنگ از پیش تعین شده نشون میده ، حرف " َ " با رنگ قرمز نمایش داده میشه اما وقتی که روی حرف" ز " قرار میگیره رنگش با رنگ حرف ز یکی میشه.
این برنامه رو آقا ماهان البته نوشتن. برای هایلایت کردن کلمات کلیدی دلفی.

mbshareat
سه شنبه 04 مهر 1391, 23:17 عصر
سلام
متوجه منظورتون نشدم:

من قلم رو دارم در ورد هم کاراکترهاش بدون مشکل رنگی میشن
توی Word حروف رنگی میشن اما اعراب ابداً رنگی نمیشن.
فکر نکنم هیچ جای بخش دلفی هم کسی راه خوبی ارائه کرده باشه.(بماند که کسی هم دنبال رنگی کردن اعراب نبوده!)
به نظر من توی اینترنت جستجو بدین.
کد آقا ماهان و مانند اون هم همونطور که فرمودید کمکی در مورد اعراب نمی کنه.

mbshareat
سه شنبه 04 مهر 1391, 23:23 عصر
سلام مجدد خدمت دوستان
اینجا (http://forum.ecl4u.com/default.aspx?g=posts&m=40119) ترفتدی برای رنگی کردن اعراب در محیط Word اومده.
نمی دونم کامپوننت مربوط به word در دلفی چطور کار میکنه. شاید بشه ازش برای رنگی کردن اعراب استفاده کرد.

Nazanin Banoo
سه شنبه 04 مهر 1391, 23:30 عصر
سلام
متوجه منظورتون نشدم:

توی Word حروف رنگی میشن اما اعراب ابداً رنگی نمیشن.
فکر نکنم هیچ جای بخش دلفی هم کسی راه خوبی ارائه کرده باشه.(بماند که کسی هم دنبال رنگی کردن اعراب نبوده!)
به نظر من توی اینترنت جستجو بدین.
کد آقای ماهان و مانند اون هم همونطور که فرمودید کمکی در مورد اعراب نمی کنه.

اقا همونی که شما فرمودید : تا حالا کسی دنبالش نبود وگرنه محاله راهی نداشته باشه ! مگه اینکه مثلا علوم تحقیقات یه ریچ ادیت مخصوص واسه خودش نوشته باشه
اما در مورد رنگی کردن اعراب در ورد ، نمیدونم شما از چه روش استفاده میکنین اما من به قسمت Option میرم و اونجا در قسمت Advanced یه گزینه هست به اسم Diacritics و در اونجا قسمت (Use This Color For Diacritics) رنگ مورد نظرم رو قرار میدم و اعراب و همه کاراکترهای Diacritics به رنگ مورد نظر من در میاد. فونت هم هیچ اهمیتی نداره
این معضل باید حل بشه ، من به جامعه برنامه نویسان ایرانی اعتراض دارم. من از طریق مراجع قانونی، مشکل اعراب رنگی رو پیگیری میکنم :لبخند:

Nazanin Banoo
سه شنبه 04 مهر 1391, 23:33 عصر
اره دیگه مهندس منم از همین راه استفاده میکنم :لبخند: منتها فقط در ورد قابل استفاده است ، حتی اگه اون فایل ورد با اعراب رنگی رو به صورت HTMl‌ هم ذخیره کنی ، با همون رنگ فونت ذخیره میشه

mbshareat
سه شنبه 04 مهر 1391, 23:57 عصر
متاسفانه انگلیسی بلد نیستم وهمچنین زبان C
ممکنه کسی بگه کدی که توی این آدرس (http://www.windowsdevelop.com/windows-forms-data-controls-databinding/different-color-for-diacritics-in-arabic-language-41734.shtml) اومده چه کار میکنه و آیا تو دلفی میشه معادش رو نوشت؟

Nazanin Banoo
چهارشنبه 05 مهر 1391, 00:14 صبح
اااااا
من اینو قبلا پیدا کرده بودن منتها نمیدونستم با C‌ نوشتن :لبخند:
الان تو سی شارپ پیادش کردم خروجیش این شد 93271

mbshareat
چهارشنبه 05 مهر 1391, 08:04 صبح
نمی دونم شاید تحقیق در مورد EM_SETCHARFORMAT هم کمک کنه

mbshareat
یک شنبه 09 مهر 1391, 08:29 صبح
من رفتم سوال کردم
گفتند قبلا کارکترها رو تک تک ترسیم می کردند و قلم رو هم خودشون طراحی کرده بودند
اما الان از USB10.Dll مخفف UniScribe استفاده می کنند که چند تا تابع برای این کار داره .گفتند:ظاهرا دو تا آرایه بهش میدادند و گفتند سایت ?.Cash22 در موردش راهنمایی کرده.
من کلی جستجو دادم چیزی نفهمیدم.
اگه اشتباه نکنم قبلا توی بخش دلفی نحوه لیست کردن توابع یک DLL اومده بود.
ظاهرا اسم DLL رو اشتباه برام نوشتند و USP10.DLL مخفف Uniscribe Unicode script processor محصول مایکروسافت که ظاهرا!! توی Word 2007 هم استفاده میشه!
این هم Dll(یه سری هم به اینجا (http://www.clootie.ru/delphi/download_vcl.html#usp10) بزنید):

Nazanin Banoo
یک شنبه 09 مهر 1391, 10:38 صبح
سلام آقای شریعت ! از خود موسسه علوم تحقیقات پرسیدی ؟؟ :لبخند:

mbshareat
یک شنبه 09 مهر 1391, 23:02 عصر
بله
احتمالا cache22 هم درستش باشه
کسی که برام توضیح میداد خودش زیاد یادش نمی اومد و تقریبا همه برنامه نویسهاشون هم با ++C یا #C کار می کنند.
اون فایلی که تو آدرسی که دادم بود اگه دانلود کنید می بینید یه یونیته که اگه شاگرد زرنگای بخش کمک کنند شاید یه راهی برای استفاده ازش پیدا بشه.
ممکنه textoutW هم کمک کنه