domingo, 23 de março de 2025

Declaração de Missão Groff 2014

Declaração de Missão Groff 2014

(texto inteiramente traduzido, e não revisado, do inglês para o português pelo Google Translator)

Como a implementação mais amplamente implantada do troff em uso hoje, o groff ocupa um lugar importante no universo Unix. Frequentemente e erroneamente descartado como um programa legado para formatação de manuais Unix (manpages), o groff é, na verdade, um sistema sofisticado para produzir material tipográfico de alta qualidade, desde correspondência comercial até relatórios técnicos complexos e livros prontos para impressão. Com um histórico impressionante de compatibilidade com versões anteriores, ele continua a evoluir e a desempenhar um papel de liderança no desenvolvimento de software de composição livre.

O desenvolvimento futuro se concentrará nos recursos de composição do groff, com o objetivo de melhorar a formatação automática de documentos sem perda correspondente do controle do usuário sobre detalhes tipográficos. Além do binário principal, onde grande parte do trabalho será feito, o sistema compreende uma linguagem macro, conjuntos de macros pré-construídos, pré e pós-processadores e drivers para saída em vários formatos. O princípio orientador para mudanças nessas partes será melhorar e estender, não alterar, especialmente com relação ao uso estabelecido.

Uma parte fundamental do mandato do projeto será corrigir problemas que historicamente desencorajaram a adoção generalizada do groff. Os problemas incluem a superioridade percebida do TeX para composição tipográfica de uso geral, a longa e um tanto infeliz associação com manpages e a dificuldade de dominar as solicitações de composição tipográfica de baixo nível do groff.

Em termos gerais, o desenvolvimento será canalizado para duas áreas:
* ♦ [1]core groff

* – o backend de composição tipográfica e solicitações de formatação de baixo nível

♦ [2]uso do programa
* – conjuntos de macros de uso geral e manpages

Melhorias e aprimoramentos em outras áreas do sistema continuarão a formar uma parte rotineira do crescimento do groff, com suporte ativo para contribuições fornecidas por uma equipe de especialistas em groff.

Núcleo groff

O backend

Atualmente, o Groff usa um algoritmo guloso para formatar parágrafos uma linha por vez, mas o algoritmo Knuth-Plass, implementado no TeX, Heirloom troff e em outros lugares, otimiza quebras de linha em parágrafos inteiros e obtém um cinza tipográfico mais uniforme. Um dos desafios mais empolgantes que o Groff enfrentará será implementar um algoritmo de formatação aprimorado, sendo o candidato mais provável o Knuth-Plass. É um trabalho grande, mas com a base de código limpa do Groff e a comunidade útil de especialistas, espera-se que desenvolvedores adicionais se apresentem e contribuam com suas habilidades de programação.

Igualmente importante será instituir suporte nativo para TrueType, Open Type e outras fontes PostScript não Type1, e melhorar o suporte Unicode.

Solicitações de formatação de baixo nível

Solicitações de formatação de baixo nível suplementares continuarão a ser adicionadas, e o comportamento de algumas solicitações existentes será revisado, com cuidado para manter a compatibilidade com versões anteriores sempre que modificações forem consideradas valiosas.

No nível de solicitação, o uso de aritmética de inteiros e avaliação linear de expressões por groff remonta à idade da pedra. Embora não seja prioridade máxima, esses e outros empecilhos históricos (leia-se "aborrecimentos") serão abordados — novamente, com um olhar atento para a compatibilidade com versões anteriores.

Uso do programa

Conjuntos de macros de uso geral

Os conjuntos de macros formam a interface de usuário principal para o groff. Conjuntos bem projetados e bem documentados ajudam a tornar o groff acessível aos usuários — novos usuários em particular. A adoção ou rejeição do programa geralmente se baseia em se os conjuntos disponíveis atendem às necessidades do usuário sem exigir o domínio de solicitações de baixo nível. A curva de aprendizado e a facilidade de uso são igualmente importantes.

A área mais ativa do desenvolvimento do groff na última década foi em conjuntos de macros, com [3]mom sozinho adicionando mais de 13.000 linhas de código e 1 MB de documentação ao projeto. O suporte para conjuntos de macros existentes e o design e desenvolvimento de novos, portanto, desempenharão um papel significativo no futuro do groff.

Manpages

A necessidade de manuais Unix renderizarem de forma limpa para múltiplas mídias de saída favorece a marcação estrutural em vez da de apresentação, no entanto, as macros clássicas man(7) permanecem quase exclusivamente de apresentação. O mdoc(7) fornece uma alternativa semanticamente superior, mas o uso do man(7) está profundamente enraizado no Unix.

O trabalho futuro em manpages envolverá a melhoria da clareza semântica das macros man(7), desacoplando-as o máximo possível de solicitações de apresentação de baixo nível. O objetivo será facilitar a conversão de manpages para linguagens de marcação que não dependem do groff para exibição e impressão, por exemplo, XML, preservando a riqueza de apresentação completa das manpages processadas com o groff.

Simultaneamente ao trabalho no man(7), o mdoc(7) será ativamente suportado e seu uso promovido.

Para resumir, o objetivo desta estratégia dupla é promover a marcação de manpage que:
* ♦ renderiza de forma limpa para o terminal
* ♦ respeita a marcação de apresentação quando a saída para PostScript
* ♦ permite análise semântica
* ♦ é portátil

Olhando para frente, olhando para trás

A compatibilidade com versões anteriores de documentos e uso existentes continuará sendo uma prioridade máxima, assim como evitar o inchaço de recursos e o aumento de despesas gerais. A viabilidade e vitalidade do Groff dependem tanto disso quanto do desenvolvimento voltado para o futuro.

Finalmente, espera-se que os usuários e contribuidores do Groff promovam seu uso, fornecendo uma defesa discreta para encorajar uma adoção mais ampla do programa, aumentando assim o grupo de potenciais contribuidores e desenvolvedores e promovendo a causa da boa tipografia.

©2014 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110, EUA

Nenhum comentário:

Postar um comentário