کامپيوتر

مطالب تخصصی در زمینه برنامه نویسی ، طراحی وب و ...

فارسی را پاس بداريم
ساعت ۱٢:٥٤ ‎ب.ظ روز ۱۳۸٦/۱٠/٢۸ 

تا بحال به نقطه‌های زیر بعضی حروف ي توجه کردین ؟! یا به همزه روی حرف ك ؟! می‌دونید که اینها حروف عربی هستند ؟ می‌دونید ISIRI 6219 چیه؟ اگر نمی‌دونید پس به ادامه مطلب توجه کنید.

«فنّاوری اطلاعات – تبادل و شیوه‌ی نمایش اطلاعات فارسی بر اساس یونی‌کد» عنوان استاندارد ملی ایران ISIRI 6219 است. هدف این استاندارد طبق متن آن بدین شرح است :

هدف از تدوین این استاندارد تعیین شیوه‌ی استفاده‌ی صحیح از دو استاندارد یونی‌کد و ISO/IEC 10646 برای متون فارسی و قسمت‌های فارسی متون چندزبانه است که در سیستم‌های کامپیوتری، یا هرگونه سیستم دیگری که توانایی‌های پردازشی مورد نیاز در این استاندارد را داشته باشد، به‌کار می‌رود. ...

خب پس شکر خدا یک استاندارد ملی در زمینه کامپیوتر داریم ! در بخش ۵−۶ یادآوری ۱ آمده است :

استفاده از «حرف کاف عربی» به جای «حرف فارسی کاف» و استفاده از «حرف ی عربی نقطه‌دار» یا «حرف ی عربی بی‌نقطه» به جای «حرف فارسی ی» به هیچ عنوان مجاز نیست. تنها در صورتی می‌توان از این نویسه‌ها استفاده کرد که شکل خاص آنها مورد نظر بوده، یا متن به زبان عربی، اردو و امثال آنها باشد.

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


فاصله مجازی و اتصال مجازی دو کاراکتر کنترلی هستند که نحوه نمایش حرف قبل از خودشان را تغییر میدهند. بعنوان مثال برای تایپ کلمه "کتاب‌ها" از کاراکتر کنترلی فاصله مجازی بین حرف ب و ه استفاده شده است و برای تایپ "ه‍ . ش" از کاراکتر کنترلی اتصال مجازی بعد از حرف ه استفاده شده است. این دو کاراکتر برای متون فارسی بسیار مهم هستند. کاراکتر "ـ" هم که در ردیف بالا بین پرانتز و + قرار گرفته همون کاراکتر معروف تطویل است ( در ویندوز Shift+J ). خوشبختانه در سیستم عامل لینوکس ( من فدورا 7 رو امتحان کردم ) این استاندارد رعایت شده. پیشهاد میکنم حتماً از صفحه کلید استاندارد استفاده کنید. برای نصب صفحه کلید استاندارد در ویندوز اینجا یک راهنمای خوب وجود دارد.

و اما فونت. در حال حاضر اکثر فارسی زبانان از ویندوز استفاده میکنن ( متأسفانه ) و در ویندوز هم به جز فونت تاهوما، بقیه بدرد متون فارسی نمی‌خورند. البته در توزیع‌های غیر فارسی لینوکس هم فونت مناسبی برای زبان فارسی وجود ندارد ! ولی در توزیع‌های فارسی مثل لینوکس شریف یا پارسیکس فونت‌های مناسبی وجود دارد. خوشبختانه فونت‌های فارسی استاندارد برای دانلود موجود هستند و کاربران لینوکس غیر فارسی و ویندوز میتونن اونها رو دانلود کنن. من دو نمونه بسیار خوب سراغ دارم : اولی مجموعه فونت‌های فارسی‌وب و دومی فونت فارسی آزاد. توصیه میکنم هر دو را دانلود کنید و استفاده کنید و به دوستان و آشنایان هم معرفی کنید !


کلمات کلیدی:
 
معرفی چند تگ HTML
ساعت ۱٠:٥۸ ‎ب.ظ روز ۱۳۸٦/۱٠/۱٠ 

شاید بعضی از شما خوانندگان با تگ های ol و ul و نحوه درست کردن لیست آشنا باشید ولی مطئنم که اکثر شما از وجود تگ های blockquote و code بی خبر هستید ! البته جای تعجب هم ندارد چون خودِ من هم اخیراً با این تگ ها آشنا شده ام ! و اما اصل مطلب :

- تگ ul : برای ساختن لیست بدون شماره گذاری ( Unordered List ) بکار میرود. مثلاً :

  • ایتم اول
  • ایتم دوم
  • و...

کد HTML تولید کننده اینگونه لیست ها به این شکل است :

<ul>
  <li> list item 1 </li>
  <li> list item 2 </li>
  <li> list item 3 </li>
  ...
</ul>

- تگ ol : برای ساخت لیست با شماره گذاری ( Ordered List ) بکار میرود و تنها تفاوت آن استفاده از حرف o به جای u می باشد !! مثال :

  1.  
    1. ایتم اول
    2. ایتم دوم
    3. و ...

- تگ blockquote : برای نقل قول بکار می رود. مثلاً :

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

نحوه استفاده از این تگ بدین شکل است :

<blockquote>
  <p> contents here ... </p>
</blockquote>

- تگ code : برای بلاک های کد ( قطعه برنامه و ... ) استفاده می شود و نیازی به ذکر مثال هم ندارد ! چون قطعات کدی که در همین مثال ها بکار بردم و همچنین در پست قبلی برای کدهای جاوا اسکریپت ، بهترین مثال هستند ! و اما نحوه استفاده از تگ code :

<p>
  <code>
   code line 1 <br>
   code line 2 <br>
   code line 3 <br>
   ...
  </code>
</p>

سوال : مزیت استفاده از تگ های blockquote و code در چیست ؟

جواب : مزیت اش در اینه که شما می تونید در کد CSS ای که برای صفحات سایت می نویسید، قالب بندی خاصی برای این تگ ها مشخص کنین تا به طور اتوماتیک هر بار که از این تگ ها استفاده می کنین به طرز دلخواه شما قالب بندی بشن. برای مثال در قالبی که برای این وبلاگ طراحی شده ، تگ های code و blockquote در قسمت CSS طوری تغییر داده شدن که نتیجه اش رو ملاحظه می فرمایید ( برای مثال به حاشیه کد ها و مخصوصاً حاشیه سمت چپ که پهنتر است و یا فونت مورد استفاده در آنها توجه کنید ).

در پست های آینده درباره XHTML و CSS مطالب مفصلتری خواهم نوشت.


کلمات کلیدی:
 
کد جاوا اسکریپت برای تبدیل تاریخ میلادی به شمسی
ساعت ۸:٢٦ ‎ب.ظ روز ۱۳۸٦/۱٠/۱ 

برای تبدیل تاریخ از میلادی به هجری شمسی در صفحات وب می توانید از این کد جاوا اسکریپت استفاده کنید. برای استفاده از کد مذکور این خط رو به اول صفحه ( در قسمت Head ) اضافه کنید: <script src="http://mwxyz62.xm.com/javascript/jalali.js">
</script>

حالا نحوه استفاده از کد رو با چند مثال توضیح میدم.

مثال اول : برای نمایش تاریخ جاری ( به صورت طولانی ) از این قطعه کد استفاده کنید : <script>
  document.write(getPersianDate(new Date()));
</script>
خروجی :

مثال دوم : برای نمایش تاریخ جاری ( به صورت مختصر ) از این قطعه کد استفاده کنید : <script>
  document.write(jalali_today());
</script>
خروجی :

مثال سوم : برای تبدیل و نمایش یه تاریخ خاص مثلاً 11 ژانویه 1970 ، به هجری شمسی ( به صورت طولانی ) از این کد استفاده کنید: <script>
  document.write(getPersianDate(new Date(1979,1,11)));
</script>
خروجی :

مثال چهارم : برای تبدیل و نمایش یه تاریخ خاص مثلاً 11 ژانویه 1970 ، به هجری شمسی ( به صورت مختصر ) از این کد استفاده کنید: <script>
  year = 1979;
  month = 1;
  day = 11;
  j = gregorian_to_jalali(new Array(year,month+1,day));
  document.write(j[2]+"/"+j[1]+"/"+j[0]);
</script>
خروجی :

مثال آخر بیشترین انعطاف پذیری را دارد و در صورتی که بخواهید قالب بندی متفاوتی داشته باشید ، با تغییرات اندکی در آن به خواسته تان می رسید ! ضمناً کد اصلی هم منبع خوبی است مخصوصاً تابع getPersianDate. نکته آخر اینکه از همین کد می توانید برای تبدیل از هجری شمسی به میلادی هم استفاده کنید ! در این مورد به یک مثال اکتفا می کنم : <script>
  year = 1386;
  month = 9;
  day = 28;
  g = jalali_to_gregorian(new Array(year,month,day));
  document.write(g[2]+"/"+g[1]+"/"+g[0]);
</script>
خروجی :


کلمات کلیدی:
 
ملاحظات حجم
ساعت ۳:٥٢ ‎ب.ظ روز ۱۳۸٦/٩/٢۸ 

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

و اما برای کسانی که نمی دانند چه کار کنند :

- نوشته ها : اگر مطالبتون رو توی Word تایپ می کنین، کپی / پیست کردن رو به این روش انجام بدین : کپی از Word - پیست در Notepad - کپی از Notepad و نهایتا پیست در مقصد ! با این روش کدهای قالب بندی که Word به مطلب شما اضافه کرده، حذف میشن.

- تصاویر : حجم تصاویرتون رو تا جای ممکن پایین بیارین. اولین روش برای پایین آوردن حجم اینه که تصاویر رو به همون سایزی ذخیره کنین که می خواین دیده بشن. یعنی اینکه مثلا فرض کنید من یه عکس 800 در 600 پیکسل دارم که می خوام ازش توی مطلبم استفاده کنم ولی 800 پیکسل خیلی زیاده و می خوام عرضش 200 پیکسل باشه. اولین راه و در عین حال مزخرف ترین راه ! اینه که تصویر رو با همون ابعاد اولیه آپلود کنم و موقع گنجاندن تصویر در مطلب، سایز دلخواهم رو مشخص کنم ! مشکل این روش در اینه که من میتونستم حجم تصویر رو تا 16 برابر کم کنم ولی اینکارو نکردم ! خب راه درستش اینه که قبل از آپلود کردن تصویر به کمک ابزاری مثل Photoshop یا Paint سایز تصویرم رو کوچک کنم و بعد تصویر کوچک شده رو آپلود کنم. راه های دیگه ای هم برای کم کردن حجم تصاویر هست : اگه تعداد رنگ های بکار رفته در تصویر زیاد نباشه میشه کاری کرد که حجمش خیلی کمتر بشه. این مثال رو در نظر بگیرین : من یه عکس دارم که توش از 11 تا رنگ متفاوت استفاده شده خب به کمک فتوشاپ میتونم عکس رو از حالت RGB Color به حالت Indexed Color تبدیل کنم. فرق این دو تا اینه که در حالت RGB برای ذخیره کردن هر پیکسل سه بایت فضا ( برای سه فاکتور رنگی قرمز ، سبز ، آبی ) مصرف میشه ولی در حالت Indexed یه جدول از رنگها در ابتدای فایل ایجاد میشه که توی اون جدول هر رنگ به یک کد نگاشت میشه و در ادامه برای هر پیکسل از کد رنگ متناظر با اون استفاده میشود و در مثال ما که 11 رنگ وجود داره برای هر پیکسل 4 بیت کافی خواهد بود ( در مقایسه با سه بایت = 24 بیت ! ) یعنی با این روش حجم تصویر من با تبدیل از RGB به Indexed شش برابر کمتر خواهد شد ( یعنی یک ششم حجم قبلی ! ) و نکته آخر در مورد انواع فایل های تصویری (BMP  ، GIF ، JPG و ... )  : این فرمت ها از روش های مختلفی برای فشرده سازی استفاده می کنن ( یا ممکنه اصلا فشرده سازی نکنن مثل بعضی فایل های BMP ) و این در کیفیت و حجم تصویر موثره. فتوشاپ موقع ذخیره کردن تصویر به فرمت JPG این امکان رو به شما میده که بین کیفیت و حجم تعادل دلخواه برقرار کنین. اما برای ذخیره کردن تصاویری که کیفیت آنها خیلی مهم است و در عین حال فشرده سازی هم مطلوب است ، من پیشنهاد میکنم از فرمت PNG استفاده کنید.


کلمات کلیدی: