۲۱/۲/۱۳۹۰, ۰۹:۴۸ صبح
کنسرسیوم وب (W3C) استانداردهای HTML و CSS را با یک دید کلی به همه زبانها و ملیتها در نظر گرفته است. بخصوص راجع به زبانهای موجود در خاورمیانه که از راست به چپ هستند. زبان فارسی و عربی از جمله این زبانها می باشند. لازم بذکر است که زبان فارسی و چند زبان دیگر مانند اردو و پشتو بعنوان بخشی از زبان عربی در نظر گرفته شده اند. اما این مساله نه تنها سبب عدم بکارگیری فارسی در دنیای اینترنت نیست بلکه دریچه ارزشمندی است که بسوی زبان فارسی گشوده شده است تا بلکه در آینده نگاه مستقلی به این زبان ایجاد گردد. زبان فارسی در استاندارد یونیکد تحت بلوک زبان عربی این استاندارد بخوبی پشتیبانی شده است و امروزه تنها راه بکارگیری زبان فارسی در اینترنت بصورت استاندارد محسوب می شود.
مجموعه مقالاتی که در این زمینه ارائه می گردد با الهام از مقاله ای بنام Authoring HTML for Middle Eastern Content منتشره توسط شرکت مایکروسافت در سال ۲۰۰۱ می باشد. در این مقالات سعی خواهد شد روش های ساخت صفحات وب بصورت فارسی با استفاده از HTML 4.0 و CSS2 بیان گردد.
مجموعه نویسه
جهت نمایش صحیح یک صفحه وب، مرورگر باید نوع مجموعه نویسه ای که در آن صفحه استفاده شده است را بداند. جهت این امر باید نوع مجموعه نویسه در قسمت HEAD صفحه HTML قبلا معرفی شده باشد. برای اینکار از یک تگ META بین تگ های <HEAD> و <HEAD/> بصورت زیر استفاده می کنیم:
<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=utf-8″>
در حالت فوق مجموعه نویسه صفحه بصورت utf-8 مناسب برای صفحات فارسی بصورت یونیکد تعریف شده است. برای صفحات وب با زبانهای خاورمیانه ای معمولا مجموعه نویسه های زیر را داریم:
iso-8859-1 – ISO Latin-1 standard (no Arabic characters included)
iso-8859-6 – ISO Arabic standard
windows-1252 – Windows 1252 (no Arabic characters included)
windows-1256 – Windows Arabic codepage
asmo-708 – ASMO 708 codepage
dos-720 – Arabic DOS 720 codepage
بخاطر داشته باشید که مجموعه نویسه ها محدود هستند. اگر نویسه ای در یک صفحه استفاده شده است که در مجموعه نویسه تعیین شده برای صفحه وجود ندارد، این مساله باید بصورت صریح برای مرورگرمشخص گردد تا عمل نمایش صفحه بدرستی انجام پذیرد.
تعیین زبان
با استفاده از مشخصه LANG می توان نوع زبان را برای هر یک از عناصر HTML مانند بدنه، پاراگراف، متن و غیره را مشخص نمود. تعیین این مشخصه می تواند در موارد زیر مفید باشد:
• تشخیص زبان برای موتورهای جستجو
• کمک به مرورگر جهت انتخاب نوع بهتر نمایش شکل نویسه ها
• کمک به مرورگر جهت رعایت علائم و نقطه گذاری، فواصل، اتصال یا جداسازی حروف
• کمک به برنامه های غلط گیر املائی یا انشائی
بعنوان مثال می توان زبان را برای تگهای <P> و <BODY> بصورت زیر تعریف نمود:
<BODY LANG=”fa”>
<P LANG=”fa”>
همچنین می توان این عمل را یک بار برای کل صفحه در قسمت HEAD بصورت زیر تعریف نمود:
<META HTTP-EQUIV=”Content-Language” CONTENT=”fa”>
در عبارت فوق که در قسمت HEAD صفحه HTML می آید با استفاده از علامت fa نوع زبان، فارسی تعریف شده است. توجه داشته باشید که تقدم مشخصه LANG برای هر عنصر HTML از عبارت فوق بالاتر است.
هر زبان علامت یا مجموعه علائم مخصوص به خود را دارد که همه این علائم مشخص شده اند و می توانید استاندارد مربوطه را در [RFC1766] ببینید. بعنوان مثال برای زبان انگلیسی از en و برای عربی از ar استفاده می شود.
اندازه فونت
هنگامی که مرورگر، یک صفحه با متون مختلف، مثلا فارسی و انگلیسی را نمایش می دهد ممکن است استفاده از اندازه فونت پیش فرض برای هر دو زبان، سبب نمایش نادرست و یا ناموزون صفحه گردد. بعبارت دیگر مثلا ممکن است متون فارسی در مقابل متون انگلیسی خیلی کوچکتر به نظر برسند.
بهترین راه حل برای حل چنین مشکلی تعیین اندازه فونت برای هر نوع از متون است. بدین منظور برای راحتی کار می توان از CSS استفاده نمود. در مثال زیر دو نوع مدل یکی برای نمایش متون فارسی و دیگری برای نمایش متون انگلیسی تعریف و استفاده شده است.
<STYLE type=”text/css”>
SPAN.farsi
{ font-face: Times New Roman;
font-size: 12pt; }
SPAN.english
{ font-face: Times New Roman;
font-size: 10pt; }
</STYLE>
<BODY>
<P>
<SPAN class=”farsi”>.سلام اینجا ایران است</SPAN>
<SPAN class=”english”>Hello, This is Iran.</SPAN>
</P>
</BODY>
مجموعه مقالاتی که در این زمینه ارائه می گردد با الهام از مقاله ای بنام Authoring HTML for Middle Eastern Content منتشره توسط شرکت مایکروسافت در سال ۲۰۰۱ می باشد. در این مقالات سعی خواهد شد روش های ساخت صفحات وب بصورت فارسی با استفاده از HTML 4.0 و CSS2 بیان گردد.
مجموعه نویسه
جهت نمایش صحیح یک صفحه وب، مرورگر باید نوع مجموعه نویسه ای که در آن صفحه استفاده شده است را بداند. جهت این امر باید نوع مجموعه نویسه در قسمت HEAD صفحه HTML قبلا معرفی شده باشد. برای اینکار از یک تگ META بین تگ های <HEAD> و <HEAD/> بصورت زیر استفاده می کنیم:
<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=utf-8″>
در حالت فوق مجموعه نویسه صفحه بصورت utf-8 مناسب برای صفحات فارسی بصورت یونیکد تعریف شده است. برای صفحات وب با زبانهای خاورمیانه ای معمولا مجموعه نویسه های زیر را داریم:
iso-8859-1 – ISO Latin-1 standard (no Arabic characters included)
iso-8859-6 – ISO Arabic standard
windows-1252 – Windows 1252 (no Arabic characters included)
windows-1256 – Windows Arabic codepage
asmo-708 – ASMO 708 codepage
dos-720 – Arabic DOS 720 codepage
بخاطر داشته باشید که مجموعه نویسه ها محدود هستند. اگر نویسه ای در یک صفحه استفاده شده است که در مجموعه نویسه تعیین شده برای صفحه وجود ندارد، این مساله باید بصورت صریح برای مرورگرمشخص گردد تا عمل نمایش صفحه بدرستی انجام پذیرد.
تعیین زبان
با استفاده از مشخصه LANG می توان نوع زبان را برای هر یک از عناصر HTML مانند بدنه، پاراگراف، متن و غیره را مشخص نمود. تعیین این مشخصه می تواند در موارد زیر مفید باشد:
• تشخیص زبان برای موتورهای جستجو
• کمک به مرورگر جهت انتخاب نوع بهتر نمایش شکل نویسه ها
• کمک به مرورگر جهت رعایت علائم و نقطه گذاری، فواصل، اتصال یا جداسازی حروف
• کمک به برنامه های غلط گیر املائی یا انشائی
بعنوان مثال می توان زبان را برای تگهای <P> و <BODY> بصورت زیر تعریف نمود:
<BODY LANG=”fa”>
<P LANG=”fa”>
همچنین می توان این عمل را یک بار برای کل صفحه در قسمت HEAD بصورت زیر تعریف نمود:
<META HTTP-EQUIV=”Content-Language” CONTENT=”fa”>
در عبارت فوق که در قسمت HEAD صفحه HTML می آید با استفاده از علامت fa نوع زبان، فارسی تعریف شده است. توجه داشته باشید که تقدم مشخصه LANG برای هر عنصر HTML از عبارت فوق بالاتر است.
هر زبان علامت یا مجموعه علائم مخصوص به خود را دارد که همه این علائم مشخص شده اند و می توانید استاندارد مربوطه را در [RFC1766] ببینید. بعنوان مثال برای زبان انگلیسی از en و برای عربی از ar استفاده می شود.
اندازه فونت
هنگامی که مرورگر، یک صفحه با متون مختلف، مثلا فارسی و انگلیسی را نمایش می دهد ممکن است استفاده از اندازه فونت پیش فرض برای هر دو زبان، سبب نمایش نادرست و یا ناموزون صفحه گردد. بعبارت دیگر مثلا ممکن است متون فارسی در مقابل متون انگلیسی خیلی کوچکتر به نظر برسند.
بهترین راه حل برای حل چنین مشکلی تعیین اندازه فونت برای هر نوع از متون است. بدین منظور برای راحتی کار می توان از CSS استفاده نمود. در مثال زیر دو نوع مدل یکی برای نمایش متون فارسی و دیگری برای نمایش متون انگلیسی تعریف و استفاده شده است.
<STYLE type=”text/css”>
SPAN.farsi
{ font-face: Times New Roman;
font-size: 12pt; }
SPAN.english
{ font-face: Times New Roman;
font-size: 10pt; }
</STYLE>
<BODY>
<P>
<SPAN class=”farsi”>.سلام اینجا ایران است</SPAN>
<SPAN class=”english”>Hello, This is Iran.</SPAN>
</P>
</BODY>