Pango

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Pango
software
Siglă
Tip Biblioteca C
Dezvoltator Owen Taylor [1]
Raph Levien
Behdad Esfahbod
Data primei versiuni 11 iulie 1999 [2]
Ultima versiune 1.48.9 (18 august 2021)
Ultima versiune beta 1.44.7 (25 octombrie 2019)
Sistem de operare Multiplatform
Limba C.
Licență LGPL
( licență gratuită )
Site-ul web www.pango.org/

Pango (stilizat ca Παν 語) este o bibliotecă pentru plasarea (aspectul) și redarea (redarea) glifelor unui text în modul grafic pentru majoritatea alfabetelor comune în lume.

Numele său derivă din unirea cuvântului grecesc pan (παν, „toate”) cu japonezul one go (語, „limbă”) [3] și s-a născut ca o fuziune propusă între proiectele GScript și GnomeText. [4] [5] [6] [7] [8]

Caracteristici

Este o bibliotecă cu scop special , care diferă de cele cu scop general pentru redarea grafică, cum ar fi Cairo , cu care poate fi utilizată în combinație și care este chiar recomandată în documentația Cairo în sine. [9]

Până acum, cea mai mare parte a muncii la Pango a fost în contextul setului de instrumente widget GTK + . Pango formează nucleul pentru manipularea fonturilor de text și caractere și pentru GTK + versiunea 2.x.

Biblioteca este concepută pentru a fi modulară; Nucleul motorului de layout Pango poate fi utilizat cu diferite fonturi backend . Există trei backend-uri de bază, cu mai multe opțiuni pentru redarea fiecăruia dintre ele:

  • Fonturi din partea clientului care utilizează bibliotecile FreeType și fontconfig și care utilizează HarfBuzz pentru manipularea textului complex. Redarea poate avea loc cu bibliotecile Cairo sau Xft sau direct la un buffer în memorie fără a recurge la biblioteci suplimentare.
  • Fonturi native în Microsoft Windows care folosesc Uniscribe pentru manipularea textului complex. Redarea se poate face prin Cairo sau direct folosind API-ul nativ Win32.
  • Fonturi native pe Mac OS X folosind CoreText pentru manipularea textului complex și folosind Cairo pentru redare.

Este posibil să încărcați dinamic module suplimentare și apoi să gestionați aspectul textului anumitor combinații de scripturi și fonturi backend. Pango este distribuit cu o mare selecție de module, de exemplu pentru ebraică , arabă , hangŭl , thailandeză și o serie de scripturi indiene . Practic toate alfabetele majore din lume sunt acceptate.

Pango include PangoLayout, un driver de nivel înalt pentru plasarea unor blocuri întregi de text și rutine pentru a ajuta la redactarea textului internaționalizat.

Pango depinde de versiunea 2.x a bibliotecii GLib .

Suport pentru funcționalitatea OpenType

Redarea implicită a textului (jos) comparativ cu cea localizată pentru limba română (sus)

Versiunea Pango 1.17 (și mai recentă) acceptă caracteristica OpenType locl , care permite utilizarea glifelor localizate pentru același punct de cod Unicode . Un exemplu rapid vizibil pe Linux este dat de următorul cod (presupunând că ați instalat versiunea 5.01 a fontului Verdana , care acceptă funcționalitatea locl pentru limba română ):

 pentru lang in en ro ; face pango-view \
 --font = "Verdana 64" \
 --text "șț vs. șț in $ lang " \
 --language = $ lang ; Terminat

Prin setarea limbii locale prin variabila de mediu POSIX adecvată (de exemplu LANG = ro_RO.UTF-8), Pango va adopta funcționalitatea locl pentru fonturi. În cele din urmă, puteți schimba instantaneu limba în același text folosind marcajul Pango, ca în următorul cod:

 vizualizare pango \
 --font = "Verdana 24" \
 --markup \
 --text 'În același text: șț (en) și <span lang = "ro"> șț (ro). </span>'

Începând cu versiunea 1.37.1, Pango a adăugat atribute suplimentare pentru a oferi suport complet pentru funcțiile OpenType. [10] [11] [12]

Principalele aplicații

Arhitectura software simplificată a GTK

Pango a fost integrat în majoritatea distribuțiilor Linux . GTK User Interface Toolkit folosește Pango pentru toate versiunile sale de text [13] , precum și versiunile Linux ale Mozilla Firefox și Mozilla Thunderbird . [14]

Notă

  1. ^ (EN) Eugenia Loli, Interviu: Owen Taylor de la Red Hat pe GTK + , pe osnews.com, 19 decembrie 2003. Accesat la 15 noiembrie 2019.
  2. ^ (EN) Owen Taylor, Pango, Made versiunea 0.2 , pe redhat.com. Adus la 15 noiembrie 2019 .
  3. ^ (RO) Conexiunea Pango: Partea 1 , pe ibm.com. Adus la 15 noiembrie 2019 (depus de „URL original 27 iunie 2009).
  4. ^ (EN) Owen Taylor, Pango - Status on people.redhat.com, 14 ianuarie 2000. Accesat la 15 noiembrie 2019.
  5. ^ (RO) Raph Levien, propunerea Pango, Rev. 0.1 , levien.com la 28 iulie 1999. Accesat la 15 noiembrie 2019.
  6. ^ (EN) GScript - Unicode și Procesare complexă a textului pe people.redhat.com. Adus la 15 noiembrie 2019 (arhivat din original la 15 august 2000) .
  7. ^ (EN) Raph Levien, documentația Gnome-Text API pe levien.com, 10 iulie 1999. Accesat la 15 noiembrie 2019.
  8. ^ (EN) Ali Abdin, Urmărirea interviului dezvoltatorului GNOME pe beast.testbit.eu, 1999. Accesat la 15 noiembrie 2019 (depus de 'url original 2 iunie 2013).
  9. ^ (EN) Cairo: A Vector Graphics Library: text pe cairographics.org. Adus la 15 noiembrie 2019 .
  10. ^ (RO) Prezentare generală a modificărilor între 1.37.0 și 1.37.1 , pe gnome.org. Adus la 15 noiembrie 2019 .
  11. ^ (RO) Bug 738 505 - Adăugați suport pentru caracteristicile fontului în Pango Attributes și markup , pe bugzilla.gnome.org, GNOME Bugzilla. Adus la 15 noiembrie 2019 .
  12. ^ (EN) Font Land Features in Inkscape Trunk on tavmjong.free.fr, Tavmjong Bah's Blog, 23 iunie 2015. Accesat la 15 noiembrie 2019.
  13. ^ (EN) Descărcare pentru GNU / Linux și Unix pe gtk.org. Adus la 15 noiembrie 2019 (Arhivat din original la 18 august 2016) .
  14. ^ (EN) Thunderbird 52.1.0 Cerințe de sistem pe mozilla.org. Adus la 15 noiembrie 2019 (arhivat din original la 10 mai 2017) .

Alte proiecte

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit