SVG sayfada, telefonda ve baskıda
Bir SVG dosyası yazmak ile belirli bir programın onu çizmesi ayrı sorunlardır. Biçim, bir ziyaretçinin tarayıcısının onu göstereceğini varsaymanın güvenli olmasından yıllar önce belirtilmişti.
Tarayıcılar
Konqueror, bir sürümde SVG destekleyen ilk tarayıcıydı: Şubat 2004'te sürüm 3.2. 2011'e gelindiğinde her büyük masaüstü tarayıcının ve daha küçüklerinin birçoğunun bir düzeyde desteği vardı. Gerçeklemeler eşit derecede bitmiş değildi. Sıkıntılı yıllardan birkaç ayrıntıyı tutmakta yarar var, çünkü eski sayfalar hâlâ eski alışkanlıkları kullanır.
1.5'ten 3.6'ya kadar Firefox ve o dönemin kimi başka tarayıcıları, SVG'yi bir sayfanın içinde yalnızca object ya da iframe ile gömülüyse gösterirdi, olağan img öğesiyle değil. SVG, XML ad alanları yoluyla XHTML içine de konabiliyordu. Web'i icat eden Tim Berners-Lee, biçimi hiç desteklemediği için erken Internet Explorer'i açıkça eleştiriyordu. Opera'da SVG Tiny, 8. sürümden beri vardır. Opera 9, SVG Basic'i ve tam 1.1 dilinin bir bölümünü ekledi. Opera 9.5'te Tiny 1.2 desteği kısmiydi ve sıkıştırılmış SVGZ dosyalarını çiziyordu. Firefox'un da aralarında olduğu Gecko motorlu tarayıcılar, tam 1.1 belirtimini 2005'ten beri eksik destekler. Firefox 3.0'daki Gecko 1.9 bir dilim daha ekledi, filtreler de bunun içindeydi. Gecko'nun çatalı Goanna motorundaki Pale Moon, SVG destekler. Safari, Chrome ve OmniWeb'in aralarında olduğu WebKit tarayıcıları, tam 1.1 desteğini 2006'dan beri eksik taşır. Amaya'nın desteği kısmiydi.
Internet Explorer 8 ve daha eskileri SVG çizmez. 14 Mart 2011'de çıkan IE9, temel özellik kümesini destekler. IE10, SVG 1.1 filtrelerini ekledi. Microsoft Edge Legacy, SVG 1.1 destekler. Maxthon bulut tarayıcısı da destekler. Yerel destek gerçekten tam olduğunda, eklentilerin bir türlü tam veremediği üç üstünlüğü vardır. Fazladan bir şey kurulması gerekmez. SVG, tek belgede başka içerikle serbestçe karışabilir. İşleme ve betik yazma belirgin biçimde daha güvenilir olur, çünkü iki motorun pazarlığı değil, tek motor vardır.
Telefonlar
Telefonda destek çoğu zaman SVG Tiny ile sınırlıydı ya da tarayıcının hevesinden çok işletim sistemi sınırlıyordu. Adobe Flash Lite, 1.1 sürümünden itibaren Tiny'yi isteğe bağlı çizebiliyordu. 2005'teki SVG Open konferansında Sun, küçük bir Java platformu olan Connected Limited Device Configuration için bir Tiny 1.1 gerçeklemesi gösterdi. Opera Mobile ve iPhone'deki tarayıcı SVG içeriyordu. Android tarayıcısı, WebKit kullandığı halde, 3.0 sürümü Honeycomb'dan önce içermiyordu. Honeycomb'dan önce, Android'de çalışan tarayıcılar arasında SVG'yi öntanımlı destekleyen ilki Firefox Mobile 4.0 beta 2 oldu.
Bir telefonun Tiny'nin ne kadarını gerçeklediği, birlikte gelen motora göre değişiyordu. Sonraki pek çok telefon, Tiny 1.1'in ötesinde gradyan ve opaklık ekledi. Buna kimi zaman “SVGT 1.1+” deniyordu. Böyle bir standart yoktur. BlackBerry'de gömülü Tiny 1.1, OS 5.0'dan beri vardır. WebKit tabanlı Torch tarayıcısı bunu OS 6 ve 7'de de sürdürdü. Nokia'nın S60 platformu SVG ile çizer. Bu platformdaki simgeler genellikle SVG motorunca işlenir. Nokia, SVG'yi sunmak ve işlemek için Java ME API'si olan JSR 226'yı yazan gruba öncülük etti. Bu, S60 3rd Edition Feature Pack 1'den itibaren gerçeklendi. Kimi Series 40 telefonlar, aralarında Nokia 6280 de olmak üzere, onu da çizer. K700'den itibaren çoğu Sony Ericsson telefonu Tiny 1.1 destekler. K750'den itibaren opaklık ve gradyan eklerler. Sony Ericsson Java Platform 8 üzerindeki telefonlar JSR 226 destekler. Windows Phone, 7.5 sürümünden beri SVG destekler. Motorola, Samsung, LG ve BenQ-Siemens cihazları da bunu taşımıştır. Gömülü cihazlara yönelik bir işleme kütüphanesi olan eSVG, bu platformların bazılarında karşımıza çıkar.
2003'te, mobil iletişimi belirleyen ortaklık 3GPP, SVG Tiny'yi telefonların sonraki kuşağı için zorunlu vektör biçimi olarak benimsedi. Çoklu ortam iletisinde ve paket anahtarlamalı akışta Tiny zorunlu, Basic isteğe bağlıdır. Daha sonra IP Multimedia Subsystem içinde vektör grafik için de zorunlu kılındı. İki mobil profil de tam belge nesne modelini içermez. Yalnızca Basic'te isteğe bağlı betik vardır. Profiller gerçek alt kümeler olduğu için olağan SVG'nin büyük bölümü, yalnızca profili gerçekleyen bir cihazda da çizilir. Tiny 1.2 bir mikro DOM, biçemleme ve betik ekler. Ayrıca 1.1'de olmayan birkaç özellik, bunların içinde çizimle birlikte ölçeklenmeyen konturlar. Opera, Firefox ve WebKit'in aralarında olduğu kimi 1.1 gerçeklemeleri bu konturları yine de edindi. Telefon tarayıcıları ile masaüstü tarayıcıları kodu paylaşmaya başlayınca tam SVG 1.1, pratikte Tiny 1.2'nin yerini aldı. Küçük profil bir köprüydü. Köprü artık yol değildi.
Sıkıştırma, üretim ve başka programlar
SVG, XML olduğu için kendini yineler. İki yüz kez görünen bir etiket adı, kayıpsız bir sıkıştırıcı için bulunmaz bir hediyedir. Dosya gzip ile sıkıştırıldığında adına SVGZ denir ve uzantısı .svgz olur. Uygun bir SVG 1.1 görüntüleyicisi sıkıştırılmış dosyayı gösterir. Bir SVGZ, tipik olarak özgün boyutun yüzde 20 ile 50'i kadardır. W3C, uygunluk sınamalarının parçası olarak SVGZ dosyaları yayımlar. “Görüntüleyici sıkıştırılmış dosyayı açıyor mu” sorusunun bilinen doğru bir yanıtı vardır.
İşaretleme elle yazılabilir. Bir vektör düzenleyici de kullanılabilir: Inkscape, Adobe Illustrator, Adobe Animate, CorelDRAW. Aynı programlar sonucu PNG'ye rasterleştirebilir. Inkscape ile Boxy SVG, potrace, autotrace ve imagetracerjs gibi motorlarla raster bir görüntüyü Bézier eğrilerine geri izleyebilir. İz, daha kurnazca saklanmış fotoğraf değil, yeni bir çizimdir. İnce ayrıntı, kaç eğrinin tutulacağına dair siyasi bir karara döner.
Kütüphaneler, SVG'yi başka programların içinde çizer. librsvg, 2000'den beri GNOME tarafından kullanılır. Batik, Java gerçeklemesidir. 2020'den ThorVG, daha hafif sistemleri hedefler. Komut satırı dönüştürücüsü ImageMagick, librsvg kullanır ve öbür uçta alışılmış raster biçimlerini yazabilir. Bir web uygulaması için önemli kip satır içi SVG'dir: HTML belgesinin içindeki bir svg öğesi. Çizim o zaman sayfanın olaylarını ve CSS'ini paylaşır. SVG'nin arayüz parçalarında da, çizimlerde de kullanılmasının nedeni budur. Çizim olan bir düğme, yanındaki metinle aynı biçem sayfasından biçemlenebilir.
Tarayıcı dışında SVG, sözcük işlemeye, örneğin LibreOffice'ye, ve masaüstü yayıncılığa, örneğin Scribus'a gömülür. gnuplot onu üretebilir. Yollar GIMP'e ya da Blender'e aktarılabilir. Microsoft 365 ile Office 2019, SVG içe aktarabilir, dışa aktarabilir ve düzenleyebilir. Apple sistemlerinde tür tanımlayıcısı public.svg-image biçimindedir ve hem public.image hem public.xml ile uyumludur. Bu, biçimin tamamının derli toplu özetidir. Hatta bir hesap tablosunun birleştirme işleviyle sayıların ve etiket adlarının bitmiş bir SVG belgesine yapıştırıldığı ev işi bir yöntem bile vardır. İşe yarar. Dosyanın metin olduğunun hatırlatıcısıdır.
Windows'ta Dosya Gezgini, yıllardır SVG küçük resimlerini kendiliğinden çizmez. Bir önizleme eklentisi eklenir ya da biçimi zaten anlayan bir dosya yöneticisi kullanılır. Tarayıcı ayrı bir sorudur. Tarayıcı dosyayı çizer. Masaüstü kabuğu çoğu zaman çizmez. İki olgu, aynı öğleden sonra ikisine birden rastlayanı şaşırtır.
Anlık görüntü değil, belge
SVG, bir HTML belgesinin yapabildiği gibi bir betik ya da bir biçem sayfası barındırabilir. Bir yabancı bir SVG yükleyebildiğinde, örneğin bir profil resmi, ve site bu yüklemeyi olağan bir görüntü saydığında sorun olur. Dosya ardından CSS arka planı, logo ya da bir galeri içinde kullanılırsa tarayıcı, görüntüyü yüklerken betiği çalıştırabilir. Düşmanca bir dosya, saçma miktarda iş yükleyerek tarayıcıyı kilitleyebilir. HTML enjeksiyonuna ve siteler arası betik çalıştırmaya da yol açabilir. W3C bu yüzden, SVG'nin düpedüz görüntü olarak kullanıldığı durum için ek koşullar koyar.
Sayfanın parçası olan bir svg öğesi, yani satır içi SVG, ayrı bir durumdur. W3C bunu daha az sürpriz sayar, çünkü içerik daha büyük bir belgenin parçasıdır ve o sayfadaki betik beklenen bir şeydir. Pratik kural kısadır. Denetlenmemiş bir SVG yüklemesi, güvenilir bir resim diye geri sunulmaz. Bu denetimlerin ayrıntısı W3C'nin görüntü olarak SVG kurallarındadır.
Adı anılmaya değer bir standart akrabası vardır. MPEG-4 Part 20, Lightweight Application Scene Representation ve Simple Aggregation Format, SVG Tiny üzerine kuruludur. ISO/IEC 14496-20:2006 olarak yayımlandı. Bir mobil hizmetin istediği şeyleri ekler: dinamik güncellemeler, ikili bir kodlama, yazı tiplerini taşımanın sıkışık bir yolu. SVG, MPEG-4 Part 11'de de, metin halindeki XMT temsilinde görünür. Web biçimi ile mobil çoklu ortam biçimi akrabadır. Dosyada ne vardır, her iki yönde de aynı söz dağarcığıdır. Grafiğin kullanıldığı yerler, bunların herhangi birini standartlaştırmaya değdiren daha eski nedendir: sayfanın bir işaret istediği her yerde yinelenen küçük, keskin bir resim.
