کاراکتر های فارسی در عکس توسط PHP

اکـسـیـژن

شنبه، 29 مرداد 1384

کاراکتر های فارسی در عکس توسط PHP

ارسال شده توسط امید در پی‌اچ‌پی در 09:56


پروژه Persian Log2Vis version 1 beta 1

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

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



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

خواهشمندم، نظرات خودتون و مشکلات تابع رو قسمت نظرات بنویسید.

پروژه در سایت berlios قرار گرفت، می تونید از آدرس زیر اطلاعات لازم رو دریافت کنید:
http://developer.berlios.de/projects/persian-log2vis/

نظر ها (32) | دنبالک ها (0) | بیشترین خروج ها (0)
23844 hits

دنبالک ها
یک آدرس دنبالک برای ارسال

هیچ دنبالکی وجود ندارد

نظر ها
نمایش نظرات به صورت (خطی | بند کشی شده)

salam,
shoma tabetoon be darde tolide PDF nemikhoreh?
dar zemn be addresi ke dadid raftam vali neveshteh ke projeie morede nazar hanooz upload nashodeh.
Mamnoon
#1 omid (سایت) در 1384-05-30 06:45 (پاسخ)
سلام،

این تابع کلا کارش تبدیل رشته ای از کاراکتر های منطقی به کاراکتر هایی است که قابلیت نمایش دارند (البته فعلا فقط برای utf8)

برای همین، کلا باید برای کارهای گرافیکی مناسب باشه.... من هم به این دلیل این مورد رو ذکر نکردم، چون مورد هایی غیر از GD رو تست نکردم (اعم از Imagick یا PDFlib یا ...) ممنون می شم اگر تست کردید، من رو هم خبر کنید.

در مورد لینک فوق هم، زمانی که شما لینک رو دیدید، هنوز فعال نشده بود، به زودی مشکلش رو حل می کنم.
#1.1 امید (سایت) در 1384-05-30 12:32 (پاسخ)
سلام
کار خیلی مفیدیه امید جان ..
اتفاقا میلاد هم کارایی داره میکنه (که حکما خودتم خبر داری)
موفق باشی ...
#2 علی ستاری (سایت) در 1384-05-31 02:05 (پاسخ)
سلام علی جان...
ممنون به خاطر نظرت.

برنامه میلاد رو هم در جریانش هستم :-) کار خوبی رو شروع کرده و در مورد متون فارسی خوب کار می کنه، اما برای جملات bidi (یا دو جهته) در نسخ فعلی مشکل داره.

ضمن اینکه تابع میلاد عزیز، به هیچ تابع اضافی ایکه ذاتا در PHP نصب نیست نیاز نداره، اما برنامه من از یکی از توسعه های pecl (البته فعلا) استفاده می کنه که باید روی سیستم طرف نصب بشه و این کار روی اغلب سرور ها غیر ممکنه!!

خدا رو چه دیدی، شاید روزی برنامه ایشون با این برنامه تلفیق بشه :-) (یا بالعکس!! :-D)
#2.1 امید (سایت) در 1384-05-31 02:32 (پاسخ)
تصاویر دیگه ای از این پروژه رو می تونید در اینجا زیر ببینید:

http://developer.berlios.de/dbimage.php?id=1994

http://developer.berlios.de/dbimage.php?id=1993

http://developer.berlios.de/dbimage.php?id=1995
#3 امید (سایت) در 1384-05-31 04:11 (پاسخ)
نسخه 0.2 از این تابع منتشر شد.

در این نسخه، مشکل حروفی مصل فتحه و کسره و تنوین و تشدید حل شد.
اما به دلیل مشکلات توابع GD در PHP برای پردازش این علامت ها، رشته هایی با چنین علاماتی، کمی در بخش نمایش دچار مشکل می شوند، و این مشکل ربطی به کار این تابع ندارد.

در عین حال، دوستان می توانند تابعی ساده برای GD بنویسند تا رشته خروجی این پروژه را دریافت کند تا درست دیده شود.
#4 امید (سایت) در 1384-06-01 10:20 (پاسخ)
یاهو
دوست عزیز تمتم این مطالب در خود libهای php ساپورت میشود. فقط به کمک utf-8
#5 Rahim (سایت) در 1384-06-01 18:04 (پاسخ)
سلام...
ممنون میشم توضیحات بیشتری بدین، من منظور شما رو نفهمیدم.
#5.1 امید (سایت) در 1384-06-01 23:42 (پاسخ)
نسخه 1RC1 منتشر شد.
در این نسخه تعدادی از باگ های برنامه برطرف شد و دیگه اینکه امکان اضافه کردن چندین انکودینگ و زبان به برنامه اضافه شد.
هنوز تا انتشار نهایی اولین (و شاید آخرین) نسخه باید 2-3 کار دیگه روش انجام بدم :-)

منتظر پیشنهادات و نظرات شما هستم.

موفق باشید.
#6 امید (سایت) در 1384-06-03 03:59 (پاسخ)
یاهو
سلام و عرض پوزش !!! من درست موضوع رو نگرفتم !!! کار قشنگ و ردیفی انجام دادی... خسته نباشید داره..
#7 Rahim در 1384-06-04 15:14 (پاسخ)
ممنونم، موفق و پیروز باشی :-)
#7.1 امید (سایت) در 1384-06-05 03:53 (پاسخ)
albatteh man dide boodam ke ye nafar ba ye technic e sade ba ye class bedoon niaz be load extension i in kar ro karde bood
#8 ali masoudi (سایت) در 1384-06-06 04:33 (پاسخ)
ممنون میشم لینک اون یه نفر رو بهم بدین :-)

آخه مسلما برای این کار طرف باید بایت های فارسی و انگلیسی رو از هم تشخیص بده، انجام این کار با کد نویسی هم میشه، ولی من ترجیح دادم از امکانات موجود استفاده کنم (MB)

در مورد استفاده از fribidi هم، الگوریتم این روش و سورس های C این برنامه رو تو اینترنت دیدم، اما احتیاج به کد زنی زیادی داره که باز هم به دلایلی، تصمیم گرفتم با این توسعه کار کنم و مسلما برای اینکه بخوایم با این تابع کار نکنیم، احتیاج به کد زنی نسبتا زیادی داره......

در نهایت، فکر نکنم بشه با یک تکنیک ساده این مشکل رو حل کرد :-)
#8.1 امید (سایت) در 1384-06-06 09:27 (پاسخ)
http://www.phpclasses.org/browse/package/2132.html
#9 ali masdoui (سایت) در 1384-06-07 12:36 (پاسخ)
به نظر می رسه تابع فوق با فونت های ساختگی آقای عابدینی (خود برنامه نویس) کار کنه و این به نظر من اصلا مطلوب نیست.
در حالی که کد من با هر نوع فونتی که بشه گفت در خانواده یونیکد قرار می گیره، می تونه کار کنه.

ضمن اینکه حدس می زنم کد ایشون نتونه با جملات bidi کار کنه :-)

به زودی بررسی اش می کنم.

ممنون.
#9.1 امید (سایت) در 1384-06-09 03:50 (پاسخ)
من هم احتمالا برای چک کردن کارکتر ها بیارمش روی mbstring چون این طوری که من درست کردم مشکل پیش اومده
فکر کنم کد رو دیده باشی پر از if شده !!! :-))
#10 میلاد (سایت) در 1384-06-17 12:32 (پاسخ)
آره، خوبه.
حداقل mbstring الان جزو توسعه های رسمی PHP هست و حداقل روی تمام سرور هایی که من کانفیگ کردم، فعالش کردم، چون ایرانی ایم!! ;-)
#10.1 امید (سایت) در 1384-06-17 23:33 (پاسخ)
نسخه 1.1RC2 منتشر شد.
#11 امید (سایت) در 1384-10-05 00:28 (پاسخ)
جدا کار قشنگیه !
موفق باشی
#12 صادق (سایت) در 1385-01-07 10:19 (پاسخ)
It's really amazing you did a great job.
chejoori begam vaghean damet garm! heif ke nemitoonam be farsi khodemoon benevisam.

don't you want to turn it to a web service? using the UTF-8 font series from FarsiWeb Project, it can be a unique web service for Iraninans!
#13 Aziz (سایت) در 1385-01-09 14:05 (پاسخ)
ممنون صادق و عزیز :-)
پیشنهاد وب سرویس برای این تابع، فکر خیلی خوبیه، اما در ابعاد فعلی ای که دارم، از انتشار چنین مطالبی، و هجوم کاربران(درخواست ها)، و کم آوردن سرور و سایتم می ترسم :-)
دوست ندارم یک سرویسی رو راه بندازم که 4 روز بعدش مجبور بشم ببندمش!!
به هر حال ممنونم، پیشنهاد عالی ای بود :-)
#13.1 امید (سایت) در 1385-01-10 02:51 (پاسخ)
سلام خسته نباشید.توی php 5 که اصلا extension fribidi نداریم باید برای فارسی سازسی چیکارکنیم؟؟؟؟؟؟
#14 ArtCom در 1385-11-07 03:21 (پاسخ)
می تونید نسخه مربوط به ویندوز + PHP5 رو از اینجا بگیرید :-)
http://www.php.net/get/pecl-5.2.0-Win32.zip/from/a/mirror

اگر لینوکس دارید بگید تا لینک اون رو براتون بذارم.
#14.1 امید (سایت) در 1385-11-07 03:43 (پاسخ)
ممنون من اینو در حال حاضر برا windows می خوام . ولی لطف میکنید اگر برا linux هم لینکشو بذارید . بازم ممنون.
#15 ArtCom در 1385-11-07 04:44 (پاسخ)
سورس برنامه رو از اینجا بگیرید:
http://pecl.php.net/package/fribidi
#15.1 امید (سایت) در 1385-11-07 04:50 (پاسخ)
سلام خیلی متشکرم . میشه لطف کنید و مراحل انجام کار و استفاده از این کدها رو یه بار بنویسید . خیلی ممنون میشم.
با تشکر موفق باشید.
#16 ArtCom در 1385-11-08 02:39 (پاسخ)
خواهش می کنم...

تو لینوکس یا تو ویندوز؟!
تا حالا برنامه ای توی لینوکس کامپایل کردی؟! اگر نکردی که بیخیال شو... یعنی برو اول این مورد رو برای خودت برطرف کن، اونوقت نصب این توسعه رو پیگیری کن :-)
#16.1 امید (سایت) در 1385-11-08 02:45 (پاسخ)
ادامه‌ی این مطلب و توسعه های بعدی رو می تونید در لینک زیر ببینید:
http://oxygenws.com/blog/archives/63-persian_log2vis-RC3.html
#17 امید (سایت) در 1386-09-16 13:34 (پاسخ)
Hello

I can't understand Persian, but I have this problem when I try to run example.php

I get this error

Fatal error: Call to undefined function fribidi_log2vis() in D:\MyWeb\test\writeimage\persian_log2vis.php on line 134

I followed all the steps in the install file and enabled all the required extensions

any idea what's wrong?
#18 Saleh در 1387-05-08 15:07 (پاسخ)
It seems that you didn't install fribidi pecl extension.

///////

If you are using *Linux*, you should download fribidi from PECL site from:
http://pecl.php.net/package/fribidi

There are three ways to install a PECL extension, you should read them from here:
http://us3.php.net/manual/en/install.pecl.php
And, shared compile is preferred.

///////

If you are in *Windows*, please go to the following URL and download PECL extensions, and install it on your PHP:
http://pecl.php.net/package/fribidi

to install PECL, go to this URL:
http://us3.php.net/manual/en/install.pecl.windows.php

///////

Saleh, thanks for using this ext. And please leave me address of that website that you built with this extension.
#18.1 امید (سایت) در 1387-05-09 00:33 (پاسخ)
سلام
خسته نباشید . مطلبو درست نفهمیدم!!! ;-)
#19 هوشمند در 1387-09-05 12:06 (پاسخ)
سلام، ممنون. با کدوم قسمتش مشکل دارید؟
توی PHP امکان نوشتن فارسی روی تصویر نیست.
با استفاده از این تابع می‌شه چنین کاری رو انجام داد :-)
#19.1 امید (سایت) در 1387-09-05 12:30 (پاسخ)

ارسال نظر

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
:'( :-) :-| :-O :-( 8-) :-D :-P ;-) 
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

 
نظرات ارسال شده قبل از نمایش داده شدن، باید مدیریت شوند.
 
 
این سایت توسط امید متقی راد با ایدهء اصلی از طرح ولادیمیر سیمو ویچ طراحی شده است و هرگونه کپی برداری از آن با ذکر منبع آزاد است.

خوراک‌ها

  • XML RSS 2.0 feed
  • XML RSS 2.0 نظر ها

ایمیل من

omi...@gmail.com

Google the Site

موضوعات

  • XML فایرفاکس (1)
  • XML لینوکس (10)
  • XML متفرقه (23)
  • XML چیستان (2)
  • XML پی‌اچ‌پی (18)
  • XML زنگ تفریح (2)
  • XML طراحی وب (4)

تمامی موضوعات

محبوب ترین مطالب

  • تقویم فارسی برای Google Personalized Homepage (96)
  • تکامل چیست؟ (42)
  • روش های نگهداری فیلم - بخش دوم - تبدیل فایل های تصویری (42)
  • روش های نگهداری فیلم - بخش سوم - تبدیل فایل های تصویری DVD (41)
  • زمین و گربه (40)
  • بزرگ ترین عدد (34)
  • کاراکتر های فارسی در عکس توسط PHP (32)
  • چگونگی فارسی سازی phpMyAdmin (30)
  • 11 نکته مفید در مورد فایرفاکس (28)
  • تغییر ظاهر وبلاگ (26)

آمار

آخرین نوشته: 1388-08-18 04:52
تعداد مطالب: 62
تعداد نظر ها: 815

لینک

لینک های روزانه

مقایسه‌ی کرنل ویندوز و لینوکس
عضویت در تیم اهدای عضو
Who uses Linux?
ده تغییر مهم مهاجران به لینوکس!
بهینه سازی فایرفاکس
امنیت شبکه (باگ تراک)
طریقه توسعه افزونه، برای فایرفاکس
اینترنت اکسپلورر 7 را بمباران کنید
رفع مشکل حافظه فایرفاکس
نمایش محتویات cache شده در فایرفاکس

قبل | بعد

PageRank Counter

کپی برداری از مطالب سایت طبق لایسنس CC مجاز می باشد

Creative Commons License - Some Rights Reserved
Original content in this work is licensed under a Creative Commons License

نظر ها

یوسفی about شیوه نگارش مطالب علمی - بخش دوم - نامه اداری
چ، 19.12.1388 03:25
نمونه نامه دعوت از م دیر شرکتی به بازدید از مکانی
میرزایی about فایرفاکس ۳ در ایران
ش، 08.12.1388 01:01
سلام یه دلیلش اینه که سایت هایی مثل شات ل برای پشتیبانی و در ک علت سرعت پایین مشت رکانشون دانلود [...]
امیر about چگونگی فارسی سازی phpMyAdmin
ش، 28.09.1388 05:29
ممنون از اینکه حداقل یه جوابی میدی و بدو ن پاسخ نمیذاری.
امید about چگونگی فارسی سازی phpMyAdmin
ش، 28.09.1388 04:08
به نظر می‌رسه یونیکد باشه! اما بد fetch شده.
امیر about چگونگی فارسی سازی phpMyAdmin
ش، 28.09.1388 03:41
نه خوب عرض کردم که ز یاد باهاش ور رفتم و قطعا اولین کاری هم ک ه کردم تغییر encodin g نمایش است ول [...]
امید about پی.اچ.پی ۵.۳ و تقویم فارسی
ش، 28.09.1388 02:39
درسته. من با php 5. 3 مشکلی با این کلاس ندارم! phpinfo رو ب بین.
امید about چگونگی فارسی سازی phpMyAdmin
ش، 28.09.1388 02:32
احتمالن مشکل از تگ‌ه ای meta توی خود صفحا ت HTMLات است.
امیر about پی.اچ.پی ۵.۳ و تقویم فارسی
ج، 27.09.1388 11:04
Fatal error: Class ' IntlDateFormatter' n ot found php vers ion: 5.3.0 مگه ای ن کلاس پیش فرض [...]
امیر about چگونگی فارسی سازی phpMyAdmin
ج، 27.09.1388 10:40
سلام ممنون اقا امید مشکل مال من هم حل ش د اما هنوز برخی نقاط ابهام وجود دارد. و قتی متن فارسی [...]
Soulless about پی.اچ.پی ۵.۳ و تقویم فارسی
چ، 25.09.1388 18:08
عالی بود، بسیار م منون.

مدیریت وبلاگ

باز کردن صفحه ورود