Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

Pango

Da Wikipedia, l'enciclopedia libera.
Pango
software
Logo
Logo
GenereLibreria diC
SviluppatoreOwen Taylor[1]
Raph Levien
Behdad Esfahbod
Data prima versione11 luglio 1999[2]
Ultima versione1.56.3 (16 marzo 2025)
Ultima beta1.44.7 (25 ottobre 2019)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaLGPL
(licenza libera)
Sito webwww.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]

Caratteristiche

[modifica |modifica wikitesto]

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:

  • Fontlato client che utilizzano le librerieFreeType e fontconfig e che utilizzano HarfBuzz per la manipolazione di testi complessi. Il rendering può avvenire con le librerie Cairo oppureXft, o direttamente verso un buffer in memoria senza ricorso a librerie aggiuntive.
  • Font nativi suMicrosoft Windows che utilizzano Uniscribe per la manipolazione di testi complessi. Il rendering può essere fatto tramite Cairo o direttamente utilizzando le API native Win32.
  • Font nativi suMac OS X che utilizzano CoreText per la manipolazione di testi complessi, ed utilizzando Cairo per il rendering.

È 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.

Supporto per funzionalità OpenType

[modifica |modifica wikitesto]
Rendering di default del testo (in basso) comparato con quello localizzato per lalingua romena (in alto)

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]

Principali applicazioni

[modifica |modifica wikitesto]
Architettura software semplificata diGTK

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]

Note

[modifica |modifica wikitesto]
  1. ^(EN) Eugenia Loli,Interview: Red Hat's Owen Taylor on GTK+, suosnews.com, 19 dicembre 2003.URL consultato il 15 novembre 2019.
  2. ^(EN) Owen Taylor,Pango, Made version 0.2, suredhat.com.URL consultato il 15 novembre 2019.
  3. ^(EN)The Pango connection: Part 1, suibm.com.URL consultato il 15 novembre 2019(archiviato dall'url originale il 27 giugno 2009).
  4. ^(EN) Owen Taylor,Pango - Status, supeople.redhat.com, 14 gennaio 2000.URL consultato il 15 novembre 2019.
  5. ^(EN) Raph Levien,Pango proposal, rev 0.1, sulevien.com, 28 luglio 1999.URL consultato il 15 novembre 2019.
  6. ^(EN)GScript - Unicode and Complex Text Processing, supeople.redhat.com.URL consultato il 15 novembre 2019(archiviato dall'url originale il 15 agosto 2000).
  7. ^(EN) Raph Levien,Gnome-Text API documentation, sulevien.com, 10 luglio 1999.URL consultato il 15 novembre 2019.
  8. ^(EN) Ali Abdin,GNOME Developer's Interview Follow-up, subeast.testbit.eu, 1999.URL consultato il 15 novembre 2019(archiviato dall'url originale il 2 giugno 2013).
  9. ^(EN)Cairo: A Vector Graphics Library: text, sucairographics.org.URL consultato il 15 novembre 2019.
  10. ^(EN)Overview of changes between 1.37.0 and 1.37.1, sugnome.org.URL consultato il 15 novembre 2019.
  11. ^(EN)Bug 738505 - Add fontfeatures support in Pango Attributes and markup, subugzilla.gnome.org, GNOME Bugzilla.URL consultato il 15 novembre 2019.
  12. ^(EN)Font Features Land in Inkscape Trunk, sutavmjong.free.fr, Tavmjong Bah's Blog, 23 giugno 2015.URL consultato il 15 novembre 2019.
  13. ^(EN)Download for GNU/Linux and Unix, sugtk.org.URL consultato il 15 novembre 2019(archiviato dall'url originale il 18 agosto 2016).
  14. ^(EN)Thunderbird 52.1.0 System Requirements, sumozilla.org.URL consultato il 15 novembre 2019(archiviato dall'url originale il 10 maggio 2017).

Altri progetti

[modifica |modifica wikitesto]

Altri progetti

Collegamenti esterni

[modifica |modifica wikitesto]
V · D · M
GNOME
ComunitàProgetto GNOME ·GNOME Foundation ·GUADECPersone:Miguel de Icaza ·Federico Mena ·Havoc PenningtonGNOME
Componenti
GNOME 3-4GNOME Display Manager ·GNOME Shell ·Mutter
GNOME 2GNOME Display Manager ·GNOME Panel ·Metacity ·Clearlooks
Applicazioni
CoreCheese ·Disk Usage Analyzer ·Evince ·Eye of GNOME ·GNOME Files ·gedit ·GNOME Calculator ·GNOME Disks ·GNOME Screenshot ·GNOME Software ·System Monitor ·Web ·Seahorse ·Terminal ·Videos
SviluppoAnjuta ·GNOME Boxes ·Devhelp ·Geany ·Glade ·GNOME Builder
AltreDia ·Dictionary ·Ekiga ·Empathy ·Evolution ·GNOME Archive Manager ·GNOME Office ·Gnote ·Pitivi ·Rhythmbox ·Sound Juicer ·Tomboy ·Programmi GNOME
TecnologieATK ·Bonobo ·Cairo ·Clutter ·D-Bus ·GConf ·GLib ·Keyring ·GNOME VFS ·GObject ·GStreamer ·GTK ·java-gnome ·Mono ·Pango ·Vala
Voci correlateCommon Desktop Environment ·KDE ·Xfce ·Freedesktop.org
V · D · M
Progetti ospitati dafreedesktop.org
ComponentiAvahi ·Compiz ·ConsoleKit ·D-Bus ·DeviceKit ·DRI ·Flatpak ·FriBidi ·HAL (deprecato) ·Nouveau ·PackageKit ·Plymouth ·PolicyKit ·Portland Project ·systemd ·Wayland ·X.Org
LibrerieAppStream ·cairo ·Fontconfig ·GStreamer ·HarfBuzz ·Pango ·Mesa 3D ·Poppler ·Swfdec ·Video Acceleration API ·XCB ·Xft
FrameworkCppUnit ·Galago ·GeoClue ·Telepathy ·Open Collaboration Services
Voci correlateCreate Project ·Libre Graphics Meeting
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero
Estratto da "https://it.wikipedia.org/w/index.php?title=Pango&oldid=134843251"
Categorie:
Categorie nascoste:

[8]ページ先頭

©2009-2025 Movatter.jp