# Inkscape

Inkscape è un software libero di grafica vettoriale basato sul formato Scalable Vector Graphics (SVG), multipiattaforma ma particolarmente focalizzato per i sistemi GNU/Linux. Esiste sia la versione per l'architettura a 64 bit che per la vecchia architettura a 32 bit.
L'obiettivo del progetto è quello di fornire un potente strumento grafico, che offra una piena compatibilità con gli standard XML, SVG e CSS e che dia retro-compatibilità ai formati proprietari di Adobe Illustrator, Macromedia FreeHand, Corel Draw.

## Storia

Lo sviluppo di Inkscape cominciò nel 2003, come un fork del programma Sodipodi, causato dalle divergenze sullo sviluppo futuro del progetto. Sodipodi è esso stesso fork di Gill, un software di grafica creato da Raph Levien per le applicazioni da ufficio per GNOME.
Inkscape è, tra l'altro, passato dal linguaggio di programmazione C a C++, e ai binding C++ della libreria grafica GTK (Gtkmm). Delle modifiche sono state fatte a livello di interfaccia utente e nuove funzionalità sono state aggiunte (lo sviluppo è tuttora attivo).
L'attenzione è stata messa particolarmente sull'ergonomia e la facilità d'uso dell'interfaccia del programma, anche attraverso una maggiore conformità con la Guida per l'interfaccia umana del desktop GNOME, usando le scorciatoie da tastiera universale, ecc.
Dopo l'annuncio di Xara, in ottobre 2005, della liberazione dei sorgenti del proprio software di disegno vettoriale Xara Xtreme, con il loro rilascio sotto licenza GPL, è nata una volontà di lavoro in collaborazione con il team di sviluppo di Inkscape. Entrambi i software intendono condividere il loro codice e coordinare i loro sforzi al fine di raggiungere il livello di sviluppo dei software di disegno vettoriale commerciali.

## Strumenti

Inkscape è dotato di strumenti molto potenti che, inoltre, migliorano di qualità e aumentano di numero ad ogni versione. Al momento gli strumenti che il software offre sono:
* Crea rettangoli e quadrati: con questo strumento si ha la possibilità di creare rettangoli e quadrati; di essi si possono gestire, oltre alle dimensioni, anche il parametro che regola lo smussamento degli spigoli in corrispondenza dei vertici. Ognuna di queste operazioni può essere eseguita direttamente sull'oggetto, oppure da riga di comando, con la modifica del parametro corrispondente.
* Crea cerchi, ellissi e archi: con questo strumento si ha la possibilità di creare cerchi, ellissi, archi. Anche questo strumento dispone delle stesse possibilità di intervento di quello precedente, con la gestione da riga di comando o direttamente sull'oggetto.
* Crea poligoni e stelle: con questo strumento si ha la possibilità di creare poligoni e stelle. Lo strumento è dotato di righe di comando che permettono di regolare gli "Angoli" del poligono (che si traducono in punte per le stelle), le forme "Stella" con il "Rapporto raggi" (distanza dei punti più interni da quelli più esterni. Vi è inoltre anche in questo caso l'"Arrotondamento" per regolare la smussatura degli angoli che permette di ottenere varie forme. Inoltre è dotato della riga "Casuale" per permettere di controllare l'irregolarità delle forme
* Crea spirale: con questo strumento si ha la possibilità di creare delle spirali regolandone il numero di archi con il parametro "Rivoluzione", la distanza tra questi con "Divergenza" e con "Raggio interno" si regola il protrarsi degli archi verso l'interno.
* Crea solido 3D: permette la creazione di semplici figure 3D sia assonometriche che prospettiche regolando gli assi
* Disegna linee a mano libera: è uno strumento che serve a tracciare le linee a mano libera
* Disegna tracciati: lo strumento permette di creare tracciati rettilinei e curvilinei posizionando semplicemente dei "nodi" a cui si collegano le rette
* Crea linea calligrafica: permette di creare linee calligrafiche che simulano l'azione dell'inchiostro su carta; lo strumento in questione e regolabile da riga di comando con "Larghezza" per impostare la dimensione del pennello, "Diradamento" per impostare lo spessore dei tratti regolandoli con la velocità di tracciamento della linea, "Angolo" per l'angolazione, "Incidenza" per impostare l'ampiezza del tratto rendendolo irregolare, "Estremi" per impostare l'effetto alle estremità della linea, "Tremore" per rendere irregolare il tratto nella forma, "Ondulazione" per rendere maggiormente ondulato il tratto, "Inerzia" che rallenta la formazione della traccia e altri strumenti che riguardano l'uso di dispositivi input esterni (ad esempio una tavoletta grafica)
* Ritocca oggetto: questo strumento permette di ritoccare sia il colore che la forma come fosse un pennello di cui si regola anche la grandezza e l'intensità; per quanto riguarda il colore dà la possibilità di applicare i colori anche in modalità gradiente colore multiplo e di sfasarli, mentre per la forma consente degli effetti di scultura con l'opzione "Sposta parti" per spostare delle zone dell'oggetto, "Riduce" per ridurre l'ampiezza delle zone considerate, "Accresce" per aumentarne l'ampiezza, "Attrarre" per avvicinare al centro del cursore le zone circoscritte dal pennello, "Respinge" per allontanare dal centro del cursore le zone circoscritte dal pennello e "Increspa" per increspare i bordi.
* Seleziona e trasforma oggetto: questo strumento permette di selezionare uno o più oggetti e di cambiarne l'altezza e larghezza e inoltre la rotazione e l'inclinazione se si clicca una volta sopra all'oggetto; ci sono righe di comando per una maggiore precisione
* Modifica tracciati nodi: questo strumento rende lavorabile qualsiasi oggetto convertendo il contorno in tracciato e permettendo di spostare, aggiungere ed eliminare i nodi, oltre a unirli e separarli; permette inoltre di spostare le rette sia direttamente che attraverso maniglie regolabili che possono essere simmetriche e non, e di incurvarle; inoltre permette di creare ed eliminare rette tra due nodi
* Ingrandisce e rimpicciolisce: lo strumento può selezionare un'area da lavoro per visionarla ingrandita.
* Colora aree: lo strumento permette di riempire di colore con poligoni vettoriali colorati le zone di colore simili; esso può agire su poligoni monocromi e spazi aperti di tali poligoni, su sfumature e anche su bitmap importati regolando anche la soglia oltre ad un'opzione "intrudere" o "estrudere" regolabile.
* Crea e modifica Gradiente: con questo strumento si possono inserire nei poligoni monocromi dei gradienti sia lineari che radiali avente più colori anche sfumati; tale strumento si usa tracciando una linea che regola il gradiente stesso; con la creazione di "pomelli" sulla linea è possibile aggiungere altri colori nella posizione voluta
* Preleva colore immagine: questo strumento preleva un colore da un oggetto o una figura bitmap per darla all'oggetto selezionato, e permette di prelevare le proprietà della trasparenza alpha.
* Crea connettori di diagrammi: questo strumento facilita la creazione di diagrammi (anche se non permette un controllo analogo a programmi appositi per la creazione di diagrammi, ad esempio Dia) e permette di creare linee che evitano in automatico gli oggetti.
* Crea e modifica gli oggetti testuali: questo strumento crea e modifica il testo, che resta sempre editabile se non convertito in tracciato, e permettere di scegliere il font, la dimensione, l'allineamento, di crearlo in corsivo e in grassetto e di disporlo in orizzontale o in verticale.

## Altre operazioni possibili con Inkscape

Inkscape permette, come altri programmi simili, un gran numero di operazioni sugli oggetti e ha diversi strumenti utili.
Possono essere create delle guide, di cui si possono regolare la posizione (in diverse unità di misura) e l'inclinazione; possono anche essere create a partire da un poligono. Il programma permette di gestire oggetti su diversi livelli.
Le operazioni possibili con gli oggetti in Inkscape sono di Unione (anche multipla), Differenza, Intersezione, Esclusione, Divisione, Taglia tracciato, Combina e Separa; inoltre si possono applicare azioni come Intrudi, Estrudi, Proiezione dinamica, Proiezione collegata e operazioni come Semplifica tracciati o inverti. Gli oggetti si possono raggruppare, allineare, distribuire, incolonnare, selezionare, spostare, riflettere, duplicare, clonare, trasformare in altezza, larghezza, inclinazione e rotazione.
Inkscape permette di gestire il colore e di creare gradienti con singoli colori in percentuale di trasparenza alpha. Permette di diminuire l'opacità dell'intero oggetto e di sfocarlo in percentuale. Questa opzione è utile per creare figure curve più realistiche. Lo strumento "effetto su tracciato" permette di deformare l'oggetto e di creare duplicazioni di oggetti lungo una tracciato.
Inkscape può gestire il testo, che può essere disposto lungo un tracciato anche curvo, ma non ha un controllo ortografico.
Dispone di un editor XML che permette di modificare a mano i nodi che compongono il documento. Questo rende possibile l'utilizzo di trucchi che non sono possibili con il solo editor grafico, a patto di conoscere la sintassi XML e quella SVG (è utile anche conoscere lo standard CSS). Tuttavia, anche una persona non esperta in questi linguaggi può intuitivamente eseguire alcune operazioni comuni (ad esempio controllare le proprietà del documento; modificare l'ordine con cui vengono disegnati gli elementi, riordinando i corrispettivi nodi XML; eccetera).

## Interazione di Inkscape con altri software
### GIMP

Con GIMP è possibile aprire un file SVG, importandolo come immagine raster o estraendone i singoli tracciati, i quali sono modificabili e si possono riesportare da GIMP.

### Blender

Il formato SVG è importabile sia in Blender, grazie al filtro Paths che converte il tracciato in curva Bezier, che in Scribus, un software di desktop publishing.

### Sozi

Con Sozi è possibile creare una presentazione, basata su tutti i contenuti del file SVG, che può essere salvata in html e presentata nel browser.

## Versioni

| Versione | Data di rilascio | Caratteristiche notevoli |
| 00.35.00 | 11/11/2003 | Rilascio iniziale di Inkscape basato su Sodipodi 0.32, nuove scorciatoie da tastiera |
| 00.36.00 | 11/12/2003 | Riprogettazione della GUI e migliore usabilità |
| 00.37.00 | 16/2/ 2004 | Operazioni sui percorsi booleani e inserimento/inizio del percorso, refactoring del codice principale |
| 00.38.00 | 12/4/2004 | Crenatura del testo e spaziatura delle lettere, gradienti a più fasi |
| 00.39.00 | 20/7/2004 | Marcatori, cloni e riempimenti a motivo |
| 00.40.00 | 30/11/2004 | Supporto multistrato, traccia bitmap (solo scala di grigi) e testo sul tracciato |
| 00.41.00 | 10/02/05 | Strumento clone piastrellista e traccia bitmap a colori |
| 00.42.00 | 26/07/05 | Supporto per testo scorrevole, estensione di testo in stile, supporto per effetti migliorato e nuovo strumento sfumatura |
| 00.43.00 | 19/11/05 | Strumento connettore, modifica collaborativa, sensibilità alla pressione/angolo della tavoletta |
| 00.44.00 | 24/06/06 | Pannello Livelli, supporto per ritaglio e mascheramento, esportazione PDF con trasparenza |
| 00.45.00 | 05/02/07 | Sfocatura gaussiana, motivo lungo il percorso, nuovo pannello Cronologia annullamenti, tracciamento bitmap migliorato mediante semplice estrazione interattiva di oggetti, effetti colore |
| 00.46.00 | 24/03/08 | Interfaccia utente docking, Paint Bucket, strumenti Tweak e 3D Box, Live Path Effects, supporto per la maggior parte dei filtri SVG, la possibilità di aprire file PDF, importare dalla Open Clip Art Library e supporto per OpenType/PostScript e Type1 |
| 00.47.00 | 24/11/09 | Strumento Gomma (può tagliare i tracciati), salvataggio automatico a tempo, interfaccia spiro spline per i tracciati, nodi levigati automaticamente per i tracciati, correttore ortografico per lo strumento testo, nuovi effetti tracciati come "schizzo" e "tratteggi", nuove estensioni Python come "alphabet soup" e "converti in Braille ", supporto di base per i caratteri SVG |
| 0.48 0.48.5 | 23/8/2010; Luglio 2014 | Modifica del nodo multipath, strumento di testo migliorato: pedice, apice, input numerici e preimpostati per crenatura del testo, tracciamento e altri miglioramenti del testo, nuovo strumento Aerografo (Spray), esportazione LaTeX con PDF/PS/EPS, estensione JessyInk per la creazione di presentazioni visualizzabili in SVG browser web abilitati |
| 01.31.00 | 30/1/2015 | È passato da libnr alla libreria di rendering Cairo, che ha portato un significativo miglioramento della velocità di rendering. Refactoring: strumento di misurazione, nuovi formati di importazione/esportazione, modalità scala di grigi, modalità di allineamento, libreria di simboli e supporto per gli stampini Visio, le guide possono avere etichette, tratti a larghezza variabile (PowerStroke). |
| 01.32.00 | 04/01/2017 | Focus sull'infrastruttura; Sono ora supportati i gradienti di mesh, diversi nuovi effetti di tracciato, risoluzione predefinita modificata da 90 dpi a 96 dpi per adattarsi allo standard CSS. |
| 01.32.01 | 07/02/17 | Diverse correzioni di bug |
| 01.32.02 | 07/08/17 | Diverse correzioni di bug e convertitore batch da 90 a 96 dpi |
| 01.32.03 | 11/03/18 | Pacchetto Snap pronto per Linux, Windows a 32 e 64 bit e app per Windows 10 pronto, versione di macOS non ancora pronta, diverse correzioni di bug |
| 01.32.04 | 17/01/19 | Maggiore stabilità, correzioni di bug |
| 01.32.05 | 09/04/20 | Maggiore stabilità, correzioni di bug, estensioni compatibili con Python 2 e 3 |
| 1.0alpha | 17/01/19 | Focus su manutenzione e ottimizzazione, vedere la nuova roadmap con la versione da 0.92 a 1.2, GTK + 3 Transition, Python da 2 a 3 |
| 1.0beta1 | 08/09/19 | Scenario di test e focus sulla documentazione, versione MacOS certificata, HiDpi migliorato e altro |
| 1.0beta2 | 03/12/19 | Correzioni di bug, MacOS 10.10-10.15 Catalina supportato |
| 1.0rc1 | 09/04/20 | Correzioni di bug |
| 01.00.00 | 04/05/20 | Messa a fuoco della stabilizzazione |
| 01.00.01 | 06/09/20 | Correzioni di bug, esportazione sperimentale di PDF con gestione del colore |
| 01.00.02 | 17/01/21 | Correzioni di bug, zoom con clic centrale del mouse, blocco della rotazione della tela |
| 1.1 alfa | 17/01/21 | Collaudo di nuove funzionalità |
| 1.1.1 | 27/09/21 | Correzione di bug e reso Inkscape più stabile |
| 1.1.2 | 05/02/22 | Risolve quasi 60 problemi e migliora le traduzioni per 15 lingue |
| 1.2 | 16/05/22 | Alcune nuove funzionalità e molte altre modifiche |
| 1.2.1 | 14/07/22 | Risolve la perdita di dati e problemi di arresto anomalo |
| 1.2.2 | 05/12/22 | Manutenzione e bug fix |
| 1.3 | 23/07/23 | Nuovi strumenti per la creazione di forme, editor di modelli, risorse di documenti, margine di pagina e smarginatura; ritorno delle modalità di ricerca, opacità e fusione nella finestra di dialogo Livelli e oggetti e di una barra di snap persistente opzionale; modifica tela migliorata, editor XML, finestra di dialogo di benvenuto, LPE, importazione PDF, versione beta pubblica disponibile |
| 1.3.1 | 18/11/23 | Manutenzione e correzione di bug da dedicare al suo 20º anniversario |
| 1.3.2 | 26/11/23 | Risolti i bug di perdita di dati della versione precedente, che influivano sul salvataggio di stelle, poligoni, spirali e riquadri 3D in SVG |

## Ricezione

TechRadar ha assegnato a Inkscape una valutazione positiva di quattro stelle su cinque. Ha lodato l'ampia gamma di strumenti di modifica e il supporto per molti formati di file, ma ha notato che l'elaborazione dell'applicazione può essere lenta. Considerava Inkscape una buona alternativa gratuita agli editor grafici proprietari come Adobe Illustrator. Il giudizio di PC Magazine è stato piuttosto contrastante, dando all'applicazione tre su cinque. Ha criticato la grafica dell'interfaccia e la mancanza di ottimizzazione per il supporto dello stilo, la scarsa interoperabilità dell'applicazione con altri editor grafici, i controlli di formattazione del testo ingombranti e la qualità della versione per Mac. Tuttavia, ha elogiato la possibilità di aggiungere filtri ed estensioni personalizzati, la passione della comunità di Inkscape per crearli e condividerli e il percorso preciso e gli strumenti di posizionamento. Ha scoperto che Inkscape ha usi limitati nella professione rispetto ad Adobe Illustrator e CorelDRAW. Nel 2012 il premio Best of Open Source Software, InfoWorld ha assegnato a Inkscape un premio per essere una delle migliori applicazioni desktop open source, lodando i suoi controlli tipografici e la capacità di modificare direttamente il testo XML dei suoi documenti.

## Critiche

L'attuale implementazione degli standard SVG e CSS è al momento incompleta; nello specifico non sono stati ancora implementati tutti i filtri SVG, le animazioni e i font SVG.
Altre importanti lacune riguardano la stampa professionale, poiché il software utilizza unicamente lo spazio colore RGB e non permette l'esportazione in formato PDF/X-4, non consentendo la stampa in quadricromia direttamente da Inkscape. Gli stessi sviluppatori consigliano di importare il tracciato svg in Scribus per produrre file con spazio colore CMYK e in formato PDF/X-4).
Non supporta nativamente i file EPS se non tramite plugin.