Pango
Pango (Παν语) é uma biblioteca de computação, sob licença LGPL open source, usada por desenvolvedores de software para disposição e renderização de texto em alta qualidade, enfatizando o suporte para texto multilíngüe. Diferentes front-end podem ser usados, permitindo o suporte multi-plataforma, de modo que textos apresentados pelo Pango aparecerão semelhantes em diferentes sistemas operacionais, como Linux, Apple Mac OS e Microsoft Windows.
Παν語 | |
Desenvolvedor | Behdad Esfahbod |
Lançamento | 30 março 2010 |
Versão estável | 1.52.2 (31 março 2024) |
Sistema operacional | |
Gênero(s) | renderização de texto |
Licença | LGPL |
Estado do desenvolvimento | Ativo |
Página oficial | www.pango.org |
Utilização
editarO Pango foi integrado na maioria das distribuições Linux. O GTK+ toolkit de interface do usuário usa o Pango para todos os seus processamentos de texto.
Nome
editarO nome deriva do grego pan (παν, "todos") e do japonês gô (语, "linguagem").
Suporte a recursos OpenType
editarPango 1.17 é dos mais recentes suportarem o script locl tag que permite que os glifos alternativos a serem utilizados para o mesmo ponto de código Unicode. Supondo que você tenha Verdana versão 5.01 instalado, que suporta o recurso para o script locl Latn/ROM (romeno), uma demonstração rápida (no Linux) é:
for lang in en ro; do pango-view \
--font="Verdana 64" \
--text "şţ vs. șț in $lang" \
--language=$lang; done
Definindo o locale através da variável de ambiente POSIX, por exemplo, LANG = ro_RO.UTF-8 também fará Pango usar recurso locl' de fonte. Finalmente, você pode alterar o idioma na mosca no mesmo texto usando a marcação Pango, por exemplo:
pango-view \
--font="Verdana 24" \
--markup \
--text 'In the same text: <span lang="en">şţ</span>(en) and <span lang="ro">şţ</span>(ro).'
A mostra oficial do conhecimento de recursos de script Pango é aqui.
Texto e gráficos
editarA manipulação de texto completo e renderização de gráficos é fornecida quando integradas com Cairo.
HarfBuzz
editarHarfBuzz (em persa : حرفباز ) é um layout/motor de modelagem para fontes OpenType. Seu objetivo é padronizar o layout de texto em software livre, seu código começou originalmente como parte do projeto FreeType, foi então desenvolvida separadamente em Qt e Pango, finalmente mescladas de volta para um repositório comum. Ambos Qt e Pango usam atualmente HarfBuzz; outros usuários autônomos incluem Firefox e Chromium, o projecto de código aberto por trás do Google Chrome.
Veja também
editar- Uniscribe, motor proprietário de processamento de texto multilingue do sistema Windows.
- WorldScript mecanismo proprietário de processamento de texto multilingue utilizando antigamente nos sistemas Macintosh.
- Core Text, motor proprietário de processamento de texto multilingue introduzido na versão 10.5 do sistema Mac OS X.
- Graphite, um sistema em software livre (e multiplataforma) para renderização de fontes inteligentes desenvolvido pela organização SIL International.
- Cairo, uma biblioteca gráfica livre de propósito geral para manipulação de gráficos vetoriais com múltiplos backends.
- FreeType, uma biblioteca de software livre que implementa um motor de rasterização de fontes.
- FontForge, um software livre editor de fontes tipográficas.
Ligações externas
editar- Pango website
- State of Text Rendering by Behdad Esfahbod, Updated 2010
- Pango, an open-source Unicode text layout engine. by Owen Taylor in Twenty fifth Internationalization and unicode conference, April 2004
- The Pango Connection : Part 1, Tony Graham, 2001
- The Pango Connection : Part 2, Tony Graham, 2001
- "Pango: internationalized text handling" Owen Taylor in Ottawa linux symposium 2001
- "Implementation of Reverse Chaining Mechanism in Pango for Rendering Nastaliq Script" Wali, A., Rehman, S., In the Proceedings of Second Workshop of Computational Approaches to Arabic Script-based Languages (CAASL-2), Stanford University, US, 2007
- "Enhancing Contextual Substitution Support in Pango Using Opentype", Wali, A. MS Thesis, National University of Computer and Emerging Sciences, Lahore, Pakistan, 2004
- HarfBuzz Official website
- Harfbuzz API design discussion thread