Pango - Pango
Pierwotni autorzy | Owen Taylor Raph Levien |
---|---|
Deweloper (y) | Behdad Esfahbod |
Pierwsze wydanie | 11 lipca 1999 |
Wersja stabilna | 1,80,4 (30 marca 2021 r . [±] | )
Magazyn | |
Napisane w | do |
System operacyjny | Podobny do systemu Unix , Microsoft Windows , inny |
Rodzaj | Biblioteka do tworzenia oprogramowania |
Licencja | LGPL |
Stronie internetowej | www |
Pango (stylizowane na Παν 語) jest biblioteką silnika układu tekstu (tj. Glifów ), która współpracuje z silnikiem kształtowania HarfBuzz do wyświetlania tekstu w wielu językach.
Pełnofunkcyjne renderowanie tekstu i obsługę wielu platform jest osiągane, gdy Pango jest używane z interfejsami API platformy lub bibliotekami innych firm, takimi jak Uniscribe i FreeType , jako zaplecze renderujące tekst . Tekst przetworzony przez Pango będzie wyglądał podobnie w różnych systemach operacyjnych.
Pango jest biblioteką specjalnego przeznaczenia dla tekstu, a nie biblioteką do renderowania grafiki ogólnego przeznaczenia, taką jak Cairo , z którą można używać programu Pango. Dokumentacja z Kairu zaleca używanie Pango do "renderowania" tekstu zamiast "Cairo" dla wszystkich, z wyjątkiem najprostszego "renderowania" tekstu.
Historia i nazewnictwo
Nazwa pango pochodzi od greckiego pan (παν, „all”) i japońskiego go (語, „ język ”).
W styczniu 2000 roku połączenie projektów GScript i GnomeText zostało nazwane Pango.
Wersja Pango 1.0.0 została wydana 11 marca 2002.
Obsługa funkcji OpenType
Pango 1.17 i nowsze obsługują znacznik funkcji locl, który pozwala na użycie zlokalizowanych glifów dla tego samego punktu kodowego Unicode. Zakładając, że masz zainstalowaną wersję Verdana 5.01, która obsługuje funkcję locl dla skryptu latn / ROM (rumuński), szybka demonstracja (w systemie Linux) to:
for lang in en ro; do pango-view \
--font="Verdana 64" \
--text "şţ vs. șț in $lang" \
--language=$lang; done
Aby uzyskać wyjaśnienie zasad zastępowania języka rumuńskiego, zobacz tę dyskusję .
Ustawienie locale poprzez zmienną środowiskową POSIX, np. LANG = ro_RO.UTF-8 również spowoduje, że Pango użyje funkcji czcionki locl . Wreszcie, możesz zmienić język w locie w tym samym tekście za pomocą znaczników Pango , np:
pango-view \
--font="Verdana 24" \
--markup \
--text 'In the same text: şţ(en) and <span lang="ro">şţ(ro).</span>'
Od wersji 1.37.1 Pango dodał więcej atrybutów, aby zapewnić pełną obsługę funkcji przetwarzania OpenType.
Oficjalna prezentacja funkcji obsługujących skrypty Pango znajduje się tutaj .
Główni użytkownicy
Pango zostało zintegrowane z większością dystrybucji Linuksa. Zestaw narzędzi GTK UI wykorzystuje Pango do całego renderowania tekstu. The Linux wersje Mozilla Firefox przeglądarki internetowej i Mozilla Thunderbird klient poczty użyciu Pango dla renderowania tekstu.
Zobacz też
- HarfBuzz (silnik kształtowania tekstu, który jest włączony do samego Pango, ale może być również używany samodzielnie)
- Core Text (nowoczesny wielojęzyczny silnik renderujący tekst wprowadzony w systemie Mac OS X 10.5 )
- Grafit (wieloplatformowy mechanizm renderowania czcionek typu open source)
- WorldScript (wielojęzyczny silnik renderowania tekstu starego Macintosha)
- Ligatura typograficzna
- Czcionka komputerowa
Bibliografia
Linki zewnętrzne
- Oficjalna strona internetowa
- Pango, mechanizm układu tekstu Unicode o otwartym kodzie źródłowym. Owen Taylor w Dwudziestej piątej konferencji dotyczącej internacjonalizacji i unicode, kwiecień 2004
- „Pango: międzynarodowa obsługa tekstu” Owen Taylor na sympozjum linuxowym w Ottawie 2001
- Podręcznik użytkownika Pango
- Podróż słowa: jak tekst trafia na stronę w YouTube , na linux.conf.au 2017 Simon Cozens wyjaśnił renderowanie czcionek