Pango software | |
---|---|
![]() | |
Genere | Libreria diC |
Sviluppatore | Owen Taylor[1] Raph Levien Behdad Esfahbod |
Data prima versione | 11 luglio 1999[2] |
Ultima versione | 1.56.3 (16 marzo 2025) |
Ultima beta | 1.44.7 (25 ottobre 2019) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | LGPL (licenza libera) |
Sito web | www.pango.org/ |
Modifica dati su Wikidata ·Manuale |
Pango (stilizzato comeΠαν語) è unalibreria per la collocazione (layout) e la resa (rendering) deiglifi di un testo in modalità grafica per la maggior parte deglialfabeti diffusi al mondo.
Il suo nome deriva dall'unione del terminegrecopan (παν, "tutto") con quellogiapponesego (語, "linguaggio")[3] e nacque come proposta di fusione tra i progetti GScript e GnomeText.[4][5][6][7][8]
Si tratta di una libreriaspecial purpose, che si differenzia da quellegeneral purpose per la resa grafica comeCairo, con cui può essere usata in abbinamento e che viene persino raccomandata nella documentazione stessa di Cairo.[9]
La maggior parte del lavoro su Pango ha finora riguardato il contesto del widget toolkitGTK+. Pango costituisce il nucleo per la manipolazione del testo e dei font di caratteri anche per GTK+ versione 2.x.
La libreria è progettata per essere modulare; il nucleo del motore di layout di Pango può essere utilizzato con diversi font dibackend. Ci sono tre backend di base, con molteplici opzioni per il rendering di ciascuno di essi:
È possibile caricare dinamicamente moduli aggiuntivi per poi gestire il layout del testo di particolari combinazioni di scritture e di font di backend. Pango viene distribuita con una vasta selezione di moduli, per esempio per l'ebraico, l'arabo, l'Hangŭl, ilthailandese e un certo numero di scrittureindiane. Sono virtualmente supportati tutti i principali alfabeti del mondo.
Pango include PangoLayout, un driver di alto livello per la collocazione di interi blocchi di testo, e le routine per aiutare la stesura di testo internazionalizzato.
Pango dipende dalla versione 2.x della libreriaGLib.
La versione 1.17 di Pango (e successive) supportano la funzionalitàOpenTypelocl, che consente l'utilizzo di glifi localizzati per lo stesso punto di codiceUnicode. Un esempio rapido visibile suLinux è dato dal seguente codice (assumendo che si sia installata la versione 5.01 del fontVerdana, che supporta la funzionalitàlocl per lalingua romena):
forlanginenro;dopango-view\--font="Verdana 64"\--text"şţ vs. șț in$lang"\--language=$lang;done
Impostando la lingua locale attraverso l'appositavariabile d'ambientePOSIX (ad esempio LANG=ro_RO.UTF-8), Pango adotterà la funzionalitàlocl per i font. Infine, è possibile cambiare la lingua all'istante nello stesso testo usando il markup di Pango, come nel seguente codice:
pango-view\--font="Verdana 24"\--markup\--text'In the same text: şţ(en) and <span lang="ro">şţ(ro).</span>'
A partire dalla versione 1.37.1, Pango ha aggiunto ulteriori attributi per fornire un pieno supporto per le funzionalità OpenType.[10][11][12]
Pango è stato integrato nella maggior parte delledistribuzioni Linux. Iltoolkit per l'interfaccia utenteGTK utilizza Pango per tutti i suoi rendering di testo,[13] così come le versioni perLinux diMozilla Firefox eMozilla Thunderbird.[14]
Altri progetti
GNOME | |||||
---|---|---|---|---|---|
Comunità | Progetto GNOME ·GNOME Foundation ·GUADECPersone:Miguel de Icaza ·Federico Mena ·Havoc Pennington | ![]() | |||
Componenti |
| ||||
Applicazioni | |||||
Tecnologie | ATK ·Bonobo ·Cairo ·Clutter ·D-Bus ·GConf ·GLib ·Keyring ·GNOME VFS ·GObject ·GStreamer ·GTK ·java-gnome ·Mono ·Pango ·Vala | ||||
Voci correlate | Common Desktop Environment ·KDE ·Xfce ·Freedesktop.org |
Progetti ospitati dafreedesktop.org | ||
---|---|---|
Componenti | Avahi ·Compiz ·ConsoleKit ·D-Bus ·DeviceKit ·DRI ·Flatpak ·FriBidi ·HAL (deprecato) ·Nouveau ·PackageKit ·Plymouth ·PolicyKit ·Portland Project ·systemd ·Wayland ·X.Org | ![]() |
Librerie | AppStream ·cairo ·Fontconfig ·GStreamer ·HarfBuzz ·Pango ·Mesa 3D ·Poppler ·Swfdec ·Video Acceleration API ·XCB ·Xft | |
Framework | CppUnit ·Galago ·GeoClue ·Telepathy ·Open Collaboration Services | |
Voci correlate | Create Project ·Libre Graphics Meeting |