فونت فارسی برای وب با مجوز آزاد: هدیه‌ای به مناسبت روز وبلاگستان فارسی

من هم به نوبه خودم روز وبلاگستان فارسی  را به تمامی بلاگر‌های ایرانی و فارسی زبان تبریک عرض می‌کنم البته با دو روز تاخیر.

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

به همبن خاطر تصمیم گرفتم امانتی که به دستم سپرده شده بود رو خارج از برنامه‌ و به عنوان یک هدیه کوچک به جامعه وبلاگستان فارسی تقدیم کنم. این هدیه در حقیقت  معرفی مخزن نگهداری و پشتیبانی خانواده فونت ایرانین[سنس-سریف} می‌باشد، که دو ویژگی دارد:

  1.  دارای مجوز آزاد هستند.
  2.  اختصاصا برای استفاده در وب اصلاح شده‌اند.

Continue reading “فونت فارسی برای وب با مجوز آزاد: هدیه‌ای به مناسبت روز وبلاگستان فارسی” »

فونت فارسی در وب : نکاتی پیرامون اصلاح سازی فونت‌های فارسی برای وب

شاید شما هم خبر”ارائه ۳۹ فونت فارسی استانداردسازی شده توسط شورای عالی اطلاع‌رسانی” رو شنیده باشید. در نگاه اول خبر بسیار خوب و قابل تحسین هست. اما برای من یک مقدار هضمش سنگین هست. به این دلیل هم مجبور شدم پیرامون این خبر بعد از مدت‌ها یک مطلب تو وبلاگم بنویسم.

از اونجایی که در مباحث(داستان) اصلاح سازی فونت های فارسی بنده هم دارای یک نقش یا رول هستم صحبت هایی که میخوام بیان کنم از چند بعد مختلف هستند ، مجبور از چند زاویه(فصل) به این موضوع نگاه کنم.

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

فصل اول – قسمت اول : شروع داستان

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

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

Continue reading “فونت فارسی در وب : نکاتی پیرامون اصلاح سازی فونت‌های فارسی برای وب” »

توابع تاریخ شمسی جهت استفاده در Mysql

این پروژه رو تقدیم می کنم به سازمان مدیریت برنامه نویسان php

در تمامی پروژه ها یی که نیاز به تاریخ شمسی هست. برنامه نویسان با مشکلات خاصی ربرو هستند. در خیلی از تالار های گفتگو  بارها و بارها خوندم که برای ذخیره تاریخ و محاسبات دقیق تر بر روی فیلد هایی که نوع انها تاریخ هست. بهتر هست تاریخ رو به صورت میلادی و به صورت timestamp نگهداری کنیم.خوب این روش بسیار کار آمد هست و بهینه . زیرا میتونیم با داشتن یک تاریخ  میلادی ، تمامی تاریخ های دیگر همچون شمسی و قمری را استخراج کنیم. اما این روش معایب خودش رو همراه داره.این معایب رو با بیان یک مثال بررسی می کنم:

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

SELECT month(FROM_UNIX(regdate) as mo, SELECT year(FROM_UNIX(regdate) as yr, COUNT(*) as total FROM table GROUP BY mo,yr ORDER BY mo DESC yr DESC

برنامه نویس با مثال بالا به راحتی می تواند آرشیو ماهیانه مطالب سیستم خود را ایجاد کند. البته به میلادی.
اما برای آرشیو ماهیانه شمسی آیا جواب گو هست. جواب این هست. خیر!!!.

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

من در این پروژه با استفاده از قابلیت تعریف پروسیجر و تابع که در نسخه ۵٫x.x  به بعد ارائه شد.  یک سری تابع  ، همانند توابع MySql شبیه سازی کردم با این تفاوت که این توابع نتیجه را به صورت شمسی بر میگردانند.

در این پروژه ۴ تا بع کاربردی date(),month(),year(), monthname() شبیه سازی شده.

برای استفاده از این توابع شما کافیست مراحل زیر را انجام بدید.

۱- دریافت فایل توابع : دریافت

۲- ایپورت کردن فایل در دیتابیس مورد نظر

بعد از انجام مراحل بالا برای تست توابع می تونید. از این کوئری برای تست استفاده کنید.


SELECT pnum(pdate(NOW())),pyear('2009-09-22'),pmonth('2009-09-22') , pmonthname( NOW());

مثال آرشیو ماهیانه


SELECT pmonth(FROM_UNIX(regdate) as mo, SELECT pyear(FROM_UNIX(regdate) as yr, COUNT(*) as total FROM table GROUP BY mo,yr ORDER BY mo DESC yr DESC

اگر نتیجه گرفتید. پس براحتی می توانید از این توابع کمال استفاده را ببرید.

نکته : در حال حاضر فقط می توان این توابع را از نسخه ۵٫۱٫به بالا استفاده کرد

جهت ادامه روند توسعه و رفع مشکلات این پروژه، من پروژه رو در github قرار دادم.

ممنون از شما پروژه رو در گیت هاب منتشر کردم. ممنون میشم به اسم خودتون این مورد رو فیکس کنید.
https://github.com/zoghal/Presian-Date-for-MySQL