اس‌وی‌جی

**نگاره‌سازی برداری مقیاس‌پذیر**  یا **اس‌وی‌جی**  یک قالب تصویر برداری مبتنی بر اکس‌ام‌ال برای گرافیک دوبعدی است که توانایی تعامل و پویانمایی را نیز دارد. مشخصات اس‌وی‌جی یک استاندارد باز است که توسط ائتلاف وب جهان‌گستر (W3C) از سال ۱۹۹۹ تولید شده‌است.

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

## بررسی اجمالی
اس‌وی‌جی از سال ۱۹۹۹ در ائتلاف وب جهان‌گستر (W3C) در حال گسترش بوده‌است، پس از آنکه شش پیشنهاده رقیب برای زبان گرافیک برداری در سال ۱۹۹۸ به ائتلاف ارسال شد.

کارگروه ابتدایی اس‌وی‌جی تصمیمی برای ایجاد هیچ‌کدام از موارد ارسالی تجاری را نداشت، بلکه می‌خواست یک زبان نشان‌گذاری جدید ایجاد کند که از همه الهام می‌گرفت ولی مبتنی بر هیچ‌کدام نبود.

در اس‌وی‌جی سه نوع شیء گرافیکی وجود دارد: اشکال گرافیک برداری (مثل مسیر شامل خط مستقیم، و منحنی)، تصاویر بیت‌مپ و متن. اشیای گرافیکی را می‌توان به اشیای از قبل پرداز شده (رندر شده) گروه‌بندی، استایل‌دهی، تبدیل و ترکیب کرد. مجموعه ویژگی شامل تبدیل تودرتو، مسیر الصاقی، ماسک آلفا، تاثیرات فیلتری، و اشیای قالبی است. نقاشی اس‌وی‌جی می‌تواند تعاملی باشد، همچنین می‌تواند شامل پویانمایی باشد، که در عناصر اس‌وی‌جی اکس‌ام‌ال تعریف شده‌است، یا اینکه از طریق اسکریپت‌دهی که به مدل شیء سند (DOM) برای اس‌وی‌جی دسترسی دارد. اس‌وی‌جی از سی‌اس‌اس برای استایل‌دهی و از جاوااسکریپت برای اسکریپت‌دهی استفاده می‌کند. متن، که شامل بین‌المللی‌سازی و محلی‌سازی هم هست، در داخل متن ساده در SVG DOM پدیدار می‌شود، که این موضوع دسترس‌پذیری گرافیک اس‌وی‌جی را افزایش می‌دهد.

در سال ۲۰۱۱ مشخصات SVG به نسخه ۱٫۱ روزآمدسازی شد. دو نوع «رخ‌نمای اس‌وی‌جی موبایل» وجود دارد، یکی اس‌وی‌جی تاینی  و یکی اس‌وی‌جی بیسیک ، که برای دستگاه‌های همراه ساخته شده‌اند که توانایی محاسباتی و نمایشی کمتری دارند. در ۱۵ سپتامبر ۲۰۱۶ مشخصات اس‌وی‌جی ۲ تبدیل به یک پیشنهاده کاندید W3C شد. مشخصات اس‌وی‌جی ۲ ویژگی‌های جدید زیادی، علاوه بر موارد موجود در اس‌وی‌جی ۱,۱ و اس‌وی‌جی تاینی ۱,۲، را شامل شده‌است.

### چاپ
اگرچه مشخصات اس‌وی‌جی در درجه اول روی زبان نشان‌گذاری گرافیک برداری تمرکز دارد، طراحی آن شامل توانمندی‌های اساسی برای یک زبان توصیف صفحه مثل موارد موجود در ادوبی پی‌دی‌اف است. در این زبان قابلیت‌هایی برای گرافیک غنی وجود دارد، و برای اهداف استایل‌دهی با CSS سازگاری دارد. اس‌وی‌جی شامل اطلاعات مورد نیاز برای قرار دادن هر گلیف و تصویر در یک محل انتخاب شده روی یک صفحه پرینتی است.

### اسکریپت‌دهی و پویانمایی
نقاشی اس‌وی‌جی می‌تواند پویا و تعاملی باشد. اصلاحات مبتنی بر زمان برای عناصر را می‌توان به زبان SMIL توصیف کرد، روش دیگر توصیف، برنامه‌نویسی در یک زبان اسکریپتی (مثل جاوااسکریپت) است. ائتلاف W3C صراحتاً زبان SMIL را به عنوان استاندارد پویانمایی در اس‌وی‌جی پیشنهاد کرده‌است.

یک مجموعه غنی از رسیدگی به رویداد مثل "*onmouseover"* و "*onclick"* را می‌توان به هر شیء گرافیکی اس‌وی‌جی انتساب داد تا به آن‌ها وقعه و عمل اعمال کنیم.

### فشرده‌سازی
تصاویر اس‌وی‌جی، که نوعی اکس‌ام‌ال هستند، شامل تعداد زیادی قطعه متن تکراری هستند، از این رو برای الگوریتم‌های فشرده‌سازی داده بدون‌اتلاف بسیار مناسب اند. وقتی که یک تصویر اس‌وی‌جی توسط الگوریتم gzip فشرده شود، به آن یک تصویر SVGZ گفته می‌شود که از پسوند نام فایل متناظر  `.svgz` استفاده می‌کند. نمایشگرهای سازگار با SVG 1.1 تصاویر فشرده‌سازی شده را نمایش می‌دهند. یک فایل SVGZ معمولاً ۲۰ تا ۵۰ درصد حجم کمتری از اندازه اصلی دارد. ائتلاف W3C چندین فایل SVGZ را برای آزمایش سازگاری ارائه کرده‌است.

بندانگشتی|250px

اس‌وی‌جی زبانی‌ست از نوع اکس‌ام‌ال که به منظور ایجاد، انتشار، و کار با گرافیک دوبعدی و نیز کاربردهای گرافیکی بر روی اینترنت ایجاد گردیده‌است. به عنوان استانداردی جدید از سوی کنسرسیوم وب جهان‌شمول (W3C)، اس‌وی‌جی باعث کوچک‌تر گردیدن، سریع‌تر بودن، و تعاملی‌تر (interactive) شدن اسناد دربردارندهٔ گرافیک و انیمیشن بر روی وب می‌گردد. نرم‌افزارهای گوناگونی از جمله اینک‌اسکیپ برای ساختن تصاویر اس‌وی‌جی به کار می‌روند.

## تجربهٔ اوّل
در حال حاضر، اکثر مرورگرهای امروزی (همچنین اینترنت اکسپلورر ۱۰ و ۱۱) از اس‌وی‌جی پشتیبانی می‌کنند. از آنجا که برخی از مرورگرهای وب قدیمی (مثل IE نسخه ۶ و ۷) توانایی ارائهٔ (rendering) اس‌وی‌جی را ندارند، پیش از همه‌چیز، باید به تهیه و نصب یک نرم‌افزار ویژه موسوم به اس‌وی‌جی‌نگر (SVG viewer) اقدام نمائیم. پس از آن می‌توانیم هریک از مثال‌های ساده و ابتدائی زیر را در فایل‌های جداگانه‌ای که به اس‌وی‌جی. ختم می‌شوند ذخیره نموده و مورد آزمایش قرار دهیم. اگر از مرورگرهای امروزی استفاده می‌کند (کروم، فایر فاکس و …) نیازی با اینکار نیست.

مثال ۱: ترسیم دایره‌ای به مرکز (۲۰۰ ،۶۰۰) (با واحد پیکسل) و با شعاع ۳ سانتیمتر

```xml
<svg>
<circle cx="600" cy="200" r="3cm"/>
</svg>
```

مثال ۲: ترسیم پاره خطی با نقطهٔ شروع (۵۰ ،۷۰)، و نقطهٔ انتهایی (۴۰۰ ،۲۰۰) (با واحد پیکسل)، به رنگ قرمز، و دارای ضخامت ۸ پیکسل

```xml
<svg>
<line x1="70" y1="50" x2="300" y2="400" style="stroke: red; stroke-width: 8"/>
</svg>
```

مثال ۳: در ابتدا، یک مستطیل با رأس گوشهٔ بالایی سمت چپ (۶۰ ،۸۰)، دارای عرض ۴۰۰ و قاعدهٔ ۶۰ رسم می‌شود، و سپس، پهنای مستطیل در مدت زمانی ۱۵ ثانیه (زمان اسمی و نه واقعی) از ۴۰۰ به ۲۰ به صورت انیمیشن کاهش می‌یابد. (همهٔ واحدها پیکسل است)

```xml
<svg>
<rect x="80" y="60" width="400" height="60" stroke="black" fill="none">
<animate attributeName="width" attributeType="XML"
from="400" to="20"
begin="0s" dur="15s"
fill="freeze"/>
</rect>
</svg>
```

مثال ۴: یک انیمیشن واقعی‌تر

```xml
<svg>
<rect x="210" y="210" width="20" height="20" style="stroke: black; fill: red;">

<animate attributeName="width" attributeType="XML"
begin="0s" dur="1s"
from="20" to="120"
fill="freeze"/>

<animate attributeName="height" attributeType="XML"
begin="0s" dur="1.0s"
from="20" to="120"
fill="freeze"/>

</rect>

<circle cx="270" cy="270" r="60"
style="fill: green; stroke: black;">

<animate attributeName="r" attributeType="XML"
begin="0.7s" dur="0.8s" from="20" to="50" fill="freeze"/>
</circle>
</svg>
```


نمونه‌های مختلف
* نمونه‌های مختلف اس‌وی‌جی - موزیلا
* مثال‌های گوناگون به همراه خودآموزها و مقالات
* پرونده‌های اس‌وی‌جی ایجادشده به وسیلهٔ برنامه‌های کامپیوتری پرطرفدار
* نمونه‌های مختلف اس‌وی‌جی از ادوبی

### خودآموزها
* اصول پایهٔ اس‌وی‌جی - اس‌وی‌جی
* راهنماییهای کلّی برای نوشتن اس‌وی‌جی - اس‌وی‌جی

## اس‌وی‌جی در وب
در حال حاضر وب سایت‌های بسیاری از جمله ویکی‌پدیا از اس‌وی‌جی و Raster برای تصاویر استفاده می‌کنند.

گوگل در تاریخ ۳۱ اوت ۲۰۱۰ اعلام کرد که از این پس موتور جستجو گوگل می‌تواند تصاویر اس‌وی‌جی را در قالب فایل یا به شکل جاسازی شده در اچ‌تی‌ام‌ال ایندکس کند، همچنین در تاریخ ۸ دسامبر ۲۰۱۰ گوگل ایندکس شدن تصاویر اس‌وی‌جی را در جستجو تصاویر گوگل میسر ساخت.

### پشتیبانی مرورگرها
Konqueror در نسخه ۳٫۲ منتشر شده در فوریه ۲۰۰۴ اولین مرورگری بود که از اس‌وی‌جی پشتیبانی کرد. در سال ۲۰۱۱ تمامی مرورگرهای تحت دسکتاپ با ویژگی‌های کم قادر به پشتیبانی از اس‌وی‌جی بودند. برخی از نسخه‌های قبلی فایرفاکس (نسخه‌های ۱٫۵ تا ۳٫۶) قادر به نمایش برخی از ویژگی‌های اس‌وی‌جی بود البته موضوع تنها به کمک برچسب‌های `<object>` و `<iframe>` امکان‌پذیر بود.

در جدول زیر وضعیت پشتیبانی مرورگرها آمده‌است:

## جستارهای وابسته
* اینترنت
* اکس‌ام‌ال
* ریاضیات کاربردی
* گرافیک رایانه‌ای
* اینک‌اسکیپ

## منابع

* جوهره‌های اساسی اس‌وی‌جی

## پیوند به بیرون

* گرافیک برداری مقیاس‌پذیر از W3C
* ابزار اس‌وی‌جی
* اس‌وی‌جی در ادوبی (Adobe)
* مقدّمه‌ای بر ارائهٔ داده‌های علمی و پزشکی در وب با استفاده از اس‌وی‌جی

رده:اچ‌تی‌ام‌ال۵
رده:استانداردهای وب
رده:پسوند نام پرونده
رده:زبان‌های نشانه‌گذاری
رده:قالب پرونده‌های رایانه‌ای
رده:قالب‌های پرونده‌های گرافیکی
رده:گرافیک برداری مقیاس‌پذیر
رده:معرفی‌شده‌های مرتبط با رایانه در ۲۰۰۱ (میلادی)
رده:استانداردهای ائتلاف وب جهان‌گستر
رده:قالب‌های آزاد