پروژه Persian Log2Vis

oxygenws

Active Member
persian_log2vis_1.png


تابعی برای نوشتن متون فارسی بر روی عکس نوشتم.
http://oxygenws.com/blog/archives/33-PHP.html

یکی از مشکلات موجود برای کتابخانه GD، پشتیبانی نکردن از کاراکتر های فارسی (کاراکتر های "راست به چپ" و "دو جهته") است. بسیاری از توسعه های مختلف و مشکل دار برای این کتابخانه نوشته شده اند که تقریبا هیچ کدام به طور کامل قابل استفاده نیستند.

تابعی ای توسط توسعه های FriBiDi و Multibyte String موجود در PHP نوشتم که این کار را به خوبی انجام می دهد. نمونه ای از تصاویر گرفته شده توسط این تابع را در ادامه مطلب مشاهده کنید.

با توجه به اینکه این تابع از توسعه FriBiDi استفاده می کند و این توسعه در بخش PECL سایت PHP می باشد و هنوز در توسعه های رسمی و نهایی PHP منتشر نمی شود، باید این توسعه، پایین گذاری شده و روی PHP در سرور نصب شود. راهنمای نصب PECL در manual اصلی PHP قرار دارد.
 

miladmovie

Active Member
ایول :D
مشکل rtl بودن متنش رو چه طوری حل کردی ؟ با همون FriBiDi (مثل اینکه این مربوط به الگوریتم unicode این چیزها باید باشه) ؟
سایتش اینه دیگه ؟ : http://fribidi.org/wiki
راستی یک چیزی اگر بین اون کلمات انگلیسی _ رو برداشته بشه باز هم درست کار می کنه ؟
 

iman_ebru

Active Member
عالی بود امید جان. اجازه میدی در بخش پروژه های فارسیگر بزاریم؟
 

oxygenws

Active Member
ممنونم میلاد....
در ضمن، امیدوارم این توسعه، شما رو در منع کردن از توسعه تابع خودت تشویق نکنه!!
توسعه تو فقط به PHP و چندین تابع داخلی اون احتیاج داره، اما توسعه ای که من نوشتم، به کتابخانه fribidi احتیاج داره که فعلا تقریبا رو هیچ سروری نصب نیست.

مشکل rtl بودن متنش رو چه طوری حل کردی ؟
آره، با fribidi حل کردم، فقط امیدوارم به زودی در نسخ رسمی PHP منتشر بشه :)
لازمه بگم که کتابخانه اصلی fribidi (منظورم توسعه PHP اش نیست) رو یک ایرانی ایجاد کرده :)

راستی یک چیزی اگر بین اون کلمات انگلیسی _ رو برداشته بشه باز هم درست کار می کنه ؟
آره، فعلا تنها مشکلی که من بهش برخوردم، مشکل علاماتی مانند فتحه و کسره و تنوین و تشدید و ... است، که دارم درستش می کنم، در نسخه بتا 2 برطرف میشه.

عالی بود امید جان. اجازه میدی در بخش پروژه های فارسیگر بزاریم؟
ایمان جان، پروژه تحت مجوز GPL منتشر شده. انتشار اون کاملا مجازه :)
وقتی منتشر کردی، ممنون میشم لینکش رو هم اینجا بذاری.

در ضمن......
این پروژه مختص تصاویر GD نیست، و کلا کار تبدیل نوشته های فارسی و عربی که به یونیکد نوشته شده اند، از حالت منطقی به حالت قابل خواندن (logical to visible) را دارد.
 

miladmovie

Active Member
oxygenws گفت:
ممنونم میلاد....
در ضمن، امیدوارم این توسعه، شما رو در منع کردن از توسعه تابع خودت تشویق نکنه!!
من سر همین راست چین چپ چین بودن اعصابم خرد شد ! ولش کردم !
حالا برم ببینم می تونم الگوریتم !!! (اگه بشه بهش گفت الگوریتم) در بیارم که حروف انگلیسی رو بدون تغییر بذارم توش

راستی طرز کدنویسی ات رو که دیدم فرق خودم و خودت رو کاملا فهمیدم :lol:
 

oxygenws

Active Member
فعلا تنها مشکلی که من بهش برخوردم، مشکل علاماتی مانند فتحه و کسره و تنوین و تشدید و ... است، که دارم درستش می کنم، در نسخه بتا 2 برطرف میشه.
نسخه بتا 2 منتشر شد و اشکال فوق در اون رفع شد.
اما رشته خروجی به طور *خام* به درد نمایش در Gd نمی خوره، چون خود Gd با این قضیه مشکل داره!! خودتون تست کنید :)
 

oxygenws

Active Member
همونطور که گفتم...
با توجه به اینکه این تابع از توسعه FriBiDi استفاده می کند و این توسعه در بخش PECL سایت PHP می باشد و هنوز در توسعه های رسمی و نهایی PHP منتشر نمی شود، باید این توسعه، پایین گذاری شده و روی PHP در سرور نصب شود. راهنمای نصب PECL در manual اصلی PHP قرار دارد.

برای دریافت توسعه مربوطه برای ویندوز و برای نسخه 5.0.4، می تونید به لینک زیر برین(یکی از آینه ها را انتخاب کنید!!):
http://ir.php.net/get/pecl-5.0.4-Win32.zip/from/a/mirror
 

erroring

Member
اين تاپيك واسه سه سال پيشه و شايد درست نباشه بياد بالا، اما چون فكر ميكنم مي خوام مطلب مهمي بگم مجبورم در تاپيك مربوطه اين مطلب رو بگم.
همونطور كه اينجا نوشته و آقا اميد هم جاهاي مختلف گفته براي استفاده از اين تابع بايد fribi روي سرور نصب باشه. اما من يه ابتكار به خرج دادم و تو كد ها دست بردم و تونستم از اين كد در سرور بدون fribidi اجراي درست بگيرم. حتي زماني كه كاراكتر ها و كلمات انگليسي در تركيب با كلمات فارسي بيان باز هم درست كار ميكنه :
اين هم نمونه اجرا كه از فونت homa استفاده شده :

33701example.png



اين هم لينك دانلود اديت شده
 
آخرین ویرایش:

ziXet

مدیر انجمن PHP/MYSQL
اين تاپيك واسه سه سال پيشه و شايد درست نباشه بياد بالا، اما چون فكر ميكنم مي خوام مطلب مهمي بگم مجبورم در تاپيك مربوطه اين مطلب رو بگم.
همونطور كه اينجا نوشته و آقا اميد هم جاهاي مختلف گفته براي استفاده از اين تابع بايد fribi روي سرور نصب باشه. اما من يه ابتكار به خرج دادم و تو كد ها دست بردم و تونستم از اين كد در سرور بدون fribidi اجراي درست بگيرم. حتي زماني كه كاراكتر ها و كلمات انگليسي در تركيب با كلمات فارسي بيان باز هم درست كار ميكنه :
اين هم نمونه اجرا كه از فونت homa استفاده شده :

33701example.png



اين هم لينك دانلود اديت شده
عالی بود دستت درد نکنه!

جسارتا: جمع 23 و 12 می شود 35 نه 45 :دی
موفق باشید
 

ziXet

مدیر انجمن PHP/MYSQL
اين تاپيك واسه سه سال پيشه و شايد درست نباشه بياد بالا، اما چون فكر ميكنم مي خوام مطلب مهمي بگم مجبورم در تاپيك مربوطه اين مطلب رو بگم.
همونطور كه اينجا نوشته و آقا اميد هم جاهاي مختلف گفته براي استفاده از اين تابع بايد fribi روي سرور نصب باشه. اما من يه ابتكار به خرج دادم و تو كد ها دست بردم و تونستم از اين كد در سرور بدون fribidi اجراي درست بگيرم. حتي زماني كه كاراكتر ها و كلمات انگليسي در تركيب با كلمات فارسي بيان باز هم درست كار ميكنه :
اين هم نمونه اجرا كه از فونت homa استفاده شده :

33701example.png



اين هم لينك دانلود اديت شده
عوضش کردی کلک؟! :دی
 

جدیدترین ارسال ها

بالا