Capítulo 11. Conversão de dados

Índice

11.1. Ferramentas de conversão de dados em texto
11.1.1. Converter um ficheiro de texto com o iconv
11.1.2. Verifica ficheiro se é UTF-8 com o iconv
11.1.3. Converter os nomes dos ficheiros com o iconv
11.1.4. conversão EOL
11.1.5. Conversão de TAB
11.1.6. Editores com auto-conversão
11.1.7. Extracção de texto simples
11.1.8. Destacar e formatar dados de texto simples
11.2. Dados XML
11.2.1. Dicas básicas para XML
11.2.2. Processamento de XML
11.2.3. A extracção de dados de XML
11.3. Formatação de texto
11.3.1. formatação de texto roff
11.3.2. TeX/LaTeX
11.3.3. Impressão bonita de um manual
11.3.4. Criar um manual
11.4. Dados imprimíveis
11.4.1. Ghostscript
11.4.2. Juntar dois ficheiros PS ou PDF
11.4.3. Utilitários de dados imprimíveis
11.4.4. Imprimir com o CUPS
11.5. A conversão de dados de mail
11.5.1. Noções básicas de dados de mail
11.6. Ferramentas de dados gráficos
11.7. Conversão de dados variados

São descritas ferramentas e dicas para converter formatos de dados no sistema Debian.

As ferramentas baseadas em standards são muitos boas mas o suporte para formatos proprietários de dados é limitado.

Os seguintes pacotes para a conversão de dados de texto saltaram-me à vista.


[Dica] Dica

iconv(1) é disponibilizado como parte do pacote libc6 e está sempre disponível em praticamente todos os sistemas tipo Unix para converter a codificação de caracteres.

Pode converter a codificação de um ficheiro de texto com o iconv(1) com o seguinte.

$ iconv -f codificação1 -t codificação2 entrada.txt >saída.txt

Os valores de codificação são sensíveis a maiúsculas/minúsculas e ignoram "-" e "_" para correspondência. As codificações suportadas podem ser verificadas pelo comando "iconv -l".

Tabela 11.2. Lista de valores de codificação e a utilização deles

valor de codificação utilização
ASCII American Standard Code for Information Interchange, código de 7 bits sem caracteres acentuados
UTF-8 standard multilingue atual para todos os sistemas operativos modernos
ISO-8859-1 antigo standard para linguagens da Europa ocidental, ASCII + caracteres acentuados
ISO-8859-2 antigo standard para linguagens da Europa oriental, ASCII + caracteres acentuados
ISO-8859-15 antigo standard para linguagens da Europa ocidental, o ISO-8859-1 com o símbolo do euro
CP850 página de código 850, caracteres DOS da Microsoft com gráficos para linguagens da Europa ocidental, variante ISO-8859-1
CP932 página de código 932, variante Shift-JIS do estilo Microsoft Windows para Japonês
CP936 página de código 936, variantes GB2312, GBK ou GB18030 do estilo Microsoft Windows para Chinês Simplificado
CP949 página de código 949, variante EUC-KR ou or Unified Hangul Code de estilo Microsoft Windows para Coreano
CP950 página de código 950, variante Big5 de estilo Microsoft Windows para Chinês Tradicional
CP1251 página de código 1251, codificação estilo Microsoft Windows para o alfabeto Cirílico
CP1252 página de código 1252, variante ISO-8859-15 de estilo Microsoft Windows para linguagens de Europeu ocidental
KOI8-R antigo standard Russo de UNIX para o alfabeto Cirílico
ISO-2022-JP codificação standard para email Japonês que usar apenas códigos de 7 bits
eucJP antigo standard Unix de Japonês de código de 8 bits e completamente diferente do Shift-JIS
Shift-JIS JIS X 0208 Appendix 1 standard para Japonês (veja CP932)

[Nota] Nota

Algumas codificações são apenas suportadas para conversão de dados e não são usados como valores do locale (Secção 8.4.1, “Bases de codificação”).

Para os conjuntos de caracteres que cabem num byte único como os conjuntos de caracteres ASCII e ISO-8859, a codificação de caracteres significa quase o mesmo que o conjunto de caracteres.

Para conjuntos de caracteres com muitos caracteres como o JIS X 0213 para Japonês ou Universal Character Set (UCS, Unicode, ISO-10646-1) para praticamente todas as linguagens, existem muitos esquemas de codificação para os pôr na sequência dos dados do byte.

Para estes, existem diferenciações claras entre o conjunto de caracteres e a codificação de caracteres.

A página de código é usada como o sinónimo para as tabelas de codificação de caracteres para alguns específicos de marcas.

[Nota] Nota

Por favor note que a maioria dos sistemas de codificação partilham o mesmo código com o ASCII para caracteres de 7 bits. Mas há algumas exceções. Se está a converter programas C antigos Japoneses e dados de URLs a partir do casualmente chamado formato de codificação shift-JIS no formato UTF-8, use "CP932" como o nome de codificação em vez de "shift-JIS" para obter os resultados esperados: 0x5C → "\" e 0x7E → "~". Caso contrário, estes são convertidos para caracteres errados.

[Dica] Dica

O recode(1) também pode ser usado e oferece mais do que as funcionalidades combinadas do iconv(1), fromdos(1), todos(1), frommac(1) e tomac(1). Para mais, veja "info recode".

Os editores modernos inteligentes como o programa vim são bastante inteligentes e lidam bem com quaisquer sistemas de codificação e quaisquer formatos de ficheiro. Deve usar estes editores sob o locale UTF-8 numa consola com capacidades de UTF-8 para melhor compatibilidade.

Um antigo ficheiro de texto Unix em Europeu ocidental, "u-file.txt", armazenado com a codificação latin1 (iso-8859-1) pode ser editado com o vim com o seguinte.

$ vim u-file.txt

Isto é possível porque o mecanismo de auto detecção da codificação do ficheiro no vim assume primeiro a codificação UTF-8 e, se falhar, assume que é latin1.

Um antigo ficheiro de texto Unix em Polaco, "pu-file.txt", armazenado com a codificação latin2 (iso-8859-2) pode ser editado com o vim com o seguinte.

$ vim '+e ++enc=latin2 pu-file.txt'

Um antigo ficheiro de texto unix em Japonês, "ju-file.txt", armazenado com a codificação eucJP pode ser editado com o vim com o seguinte.

$ vim '+e ++enc=eucJP ju-file.txt'

Um antigo ficheiro de texto do MS Windows em Japonês, "jw-file.txt", armazenado na chamada codificação shift-JIS (mais precisamente: CP932) pode ser editado com o vim com o seguinte.

$ vim '+e ++enc=CP932 ++ff=dos jw-file.txt'

Quando um ficheiro é aberto com as opções "++enc" e "++ff", o ":w" na linha de comandos do Vim guarda-o no formato original e sobrescreve o ficheiro original. Também pode especificar o formato de gravação e o nome do ficheiro na linha de comandos do Vim, ex., ":w ++enc=utf8 new.txt".

Por favor consulte o mbyte.txt "suporte a texto multi-byte" na ajuda on-line do vim e Tabela 11.2, “Lista de valores de codificação e a utilização deles” para os valores de locale usados com "++enc".

A família de programas emacs pode executar as funções equivalentes.

O seguinte lê uma página web para um ficheiro de texto. Isto é muito útil quando se copia as configurações da Web ou se aplica ferramentas de texto básicas do Unix como o grep(1) numa página web.

$ w3m -dump http://www.remote-site.com/help-info.html >ficheiro_de_texto

De modo semelhante, pode extrair dados de texto simples a partir de outros formatos a usar o seguinte.


Pode destacar e formatar dados de texto simples com o seguinte.

Tabela 11.6. Lista de ferramentas para destacar dados em texto simples

pacote popcon tamanho palavra chave descrição
vim-runtime V:19, I:435 31723 destaque MACRO do Vim para converter código fonte em HTML com ":source $VIMRUNTIME/syntax/html.vim"
cxref V:0, I:0 1193 c→html conversor de programa C para latex e HTML (linguagem C)
src2tex V:0, I:0 622 destaque converte muitos códigos fonte para TeX (linguagem C)
source-highlight V:0, I:7 1992 destaque converte muitos códigos fonte para HTML, XHTML, LaTeX, Texinfo, sequências de escape do cores ANSI e ficheiros do DocBook com destaques (C++)
highlight V:1, I:12 1083 destaque converte muitos códigos fonte para HTML, XHTML, RTF, LaTeX, TeX ou ficheiros XSL-FO com destaques (C++)
grc V:0, I:3 190 texto→cor colorizador genérico para tudo (Python)
txt2html V:0, I:3 259 texto→html conversor de texto para HTML (Perl)
markdown V:0, I:8 57 texto→html formatador de documentos de texto markdown para (X)HTML (Perl)
asciidoc I:13 81 texto→qualquer formatador de documentos de texto AsciiDoc para XML/HTML (Python)
pandoc V:8, I:47 151714 texto→qualquer conversor geral de markup (Haskell)
python-docutils V:12, I:133 1771 texto→qualquer Formatador de documento de Texto Re-Estruturado para XML (Python)
txt2tags V:0, I:1 342 texto→qualquer conversão de documentos de texto para HTML, SGML, LaTeX, man page, MoinMoin, Magic Point e PageMaker (Python)
udo V:0, I:0 583 texto→qualquer documento universal - utilitário de processamento de texto (linguagem C)
stx2any V:0, I:0 264 texto→qualquer conversor de documentos de texto simples estruturado para outros formatos (m4)
rest2web V:0, I:0 527 texto→html conversor de documentos de Texto Re-Estruturado para html (Python)
aft V:0, I:0 235 texto→qualquer sistema de preparação de documentos de "formato livre" (Perl)
yodl V:0, I:0 610 texto→qualquer linguagem de pré-documento e ferramentas para a processar (linguagem C)
sdf V:0, I:0 1445 texto→qualquer analisador de documentos simples (Perl)
sisu V:0, I:0 5344 texto→qualquer infraestrutura de estruturação de documentos, publicação e busca (Ruby)

A The Extensible Markup Language (XML) é uma linguagem de marcação para documentos que contêm informação estruturada.

Veja informação de introdução em XML.COM.

O texto em XML parece-se com HTML. Permite-nos gerir múltiplos formatos de saída de um documento. Um sistema XML fácil é o pacote docbook-xsl, o qual é usado aqui.

Cada ficheiro XML começa com a declaração XML standard como o seguinte.

<?xml version="1.0" encoding="UTF-8"?>

A sintaxe básica para um elemento XML é marcado como a seguir.

<nome atributo="valor">conteúdo</nome>

O elemento XML com conteúdo vazio é marcado no seguinte formato curto.

<nome atributo="valor"/>

O "atributo="valor"" nos exemplos em cima é opcional.

A secção de comentários em XML está marcada como a seguir.

<!-- comment -->

Em vez de adicionar marcações, o XML requer conversão menor ao conteúdo a usar entidades predefinidas para os seguintes caracteres.


[Cuidado] Cuidado

"<" ou "&" não podem ser usados em atributos ou elementos.

[Nota] Nota

Quando são usadas entidades definidas pelo utilizador de estilos SGML, ex. "&some-tag:", a primeira definição ganha sobre as outras. A definição de entidade é expressa em "<!ENTITY alguma-etiqueta "valor da entidade">".

[Nota] Nota

Desde que as marcações de XML sejam feitas de modo consistente com um certo conjunto de nomes de etiquetas (em vez de alguns dados como conteúdo ou valor de atributo), a conversão para outro XML é uma tarefa trivial a usar Extensible Stylesheet Language Transformations (XSLT).

Existem muitas ferramentas disponíveis para processar ficheiros XML como o Extensible Stylesheet Language (XSL).

Basicamente, após criar um ficheiro XML bem formado, pode convertê-lo para qualquer formato a usar o Extensible Stylesheet Language Transformations (XSLT).

A Extensible Stylesheet Language for Formatting Objects (XSL-FO) é suposto ser a solução para a formatação. O pacote fop é novo no arquivo main de Debian devido à sua dependência da linguagem de programação Java. Por isso o código LaTeX é normalmente gerado a partir de XML a utilizar XSLT e o sistema LaTeX é utilizado para criar ficheiros imprimíveis tais como DVI, PostScript e PDF.


Como o XML é um sub-conjunto da Standard Generalized Markup Language (SGML), pode ser processado pelas ferramentas extensivas disponíveis para SGML, como o Document Style Semantics and Specification Language (DSSSL).


[Dica] Dica

O yelp do GNOME por vezes é jeitoso para ler ficheiros XML do DocBook directamente pois ele renderiza directamente no X.

Pode extrair dados de HTML ou XML a partir de outros formatos a usar os seguintes.


Para ficheiros HTML não-XML, pode convertê-los para XHTML o que é uma instância de XML bem formado. O XHTML pode ser processado por ferramentas de XML.


Após o XML apropriado ser gerado, pode usar a tecnologia XSLT para extrair dados baseados no contexto de marcações e etc.

O programa troff do Unix desenvolvido originalmente pela AT&T pode ser usado para formatação de texto simples. É geralmente usado para criar as páginas de manual (manpages).

O TeX criado por Donald Knuth é uma ferramenta de formatação de texto muito poderosa e é o standard de facto. O LaTeX originalmente escrito por Leslie Lamport permite um acesso de alto nível ao poder do TeX.


Tradicionalmente, o roff é o sistema de processamento de texto principal do Unix. Veja roff(7), groff(7), groff(1), grotty(1), troff(1), groff_mdoc(7), groff_man(7), groff_ms(7), groff_me(7), groff_mm(7) e "info groff".

Pode ler ou imprimir um bom tutorial e referência à macro "-me" em "/usr/share/doc/groff/" ao instalar o pacote groff.

[Dica] Dica

"groff -Tascii -me -" produz resultados em texto simples com código de escape ANSI. Se deseja obter resultados tipo manpage com muitos "^H" e "_", então use "GROFF_NO_SGR=1 groff -Tascii -me -".

[Dica] Dica

Para remover "^H" e "_" de um ficheiro de texto gerado pelo groff, filtre-o com "col -b -x".

A distribuição de software TeX Live oferece um sistema TeX completo. O meta-pacote texlive disponibiliza uma seleção decente dos pacotes TeX Live que deverão ser suficientes para as tarefas mais comuns.

Existem muitas referências disponíveis para TeX e LaTeX.

  • O HOWTO do The teTeX: O Guia Local de Linux-teTeX

  • tex(1)

  • latex(1)

  • texdoc(1)

  • texdoctk(1)

  • "The TeXbook", por Donald E. Knuth, (Addison-Wesley)

  • "LaTeX - A Document Preparation System", por Leslie Lamport, (Addison-Wesley)

  • "The LaTeX Companion", por Goossens, Mittelbach, Samarin, (Addison-Wesley)

Este é o ambiente de formatação de texto mais poderoso. Muitos processadores SGML usam isto como processador de texto em backend. O Lyx disponibilizado pelo pacote lyx e o GNU TeXmacs disponibilizado pelo pacote texmacs oferecem um bom ambiente de edição OQVEOQT para o LaTeX enquanto muitos usam o Emacs e o Vim como a sua escolha para editor de código fonte.

Existem muitos recursos online disponíveis.

Quando os documentos ficam maiores, por vezes o TeX pode causar erros. tem de aumentar o tamanho do pool em "/etc/texmf/texmf.cnf" (ou mais apropriadamente editar o "/etc/texmf/texmf.d/95NonPath" e correr update-texmf(8)) para corrigir isto.

[Nota] Nota

A fonte TeX de "The TeXbook" está disponível em http://tug.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex. Este ficheiro contém a maioria das macros necessárias. Ouvi que pode processar este documento com o tex(1) após comentar as linhas 7 a 10 e a adicionar "\input manmac \proofmodefalse". É fortemente recomendado comprar este livro (e todos os outros livros de Donald E. Knuth) em vez de usar a versão online mas a fonte é um grande exemplo de entrada em TeX!

Os dados imprimíveis são expressos no formato PostScript no sistema Debian. O Common Unix Printing System (CUPS) usa o Ghostscript como o programa backend de rasterização dele para as impressoras não-PostScript.

Pode unir dois ficheiros PostScript (PS) ou Portable Document Format (PDF) a usar o gs(1) do Ghostscript.

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bla.ps -f foo1.ps foo2.ps
$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bla.pdf -f foo1.pdf foo2.pdf
[Nota] Nota

O PDF, que é um formato de dados imprimíveis amplamente usado em várias plataformas, é essencialmente o formato PS comprimido com algumas funcionalidades e extensões adicionais.

[Dica] Dica

Para a linha de comandos, o psmerge(1) e outros comandos do pacote psutils são úteis para manipular documentos em PostScript. O pdftk(1) do pacote pdftk também é útil para manipular documentos em PDF.

Os seguintes pacotes para utilitários de dados imprimíveis chamaram a minha atenção.


Ambos comandos lp(1) e lpr(1) oferecidos pelo Common Unix Printing System (CUPS) disponibilizam opções para impressão personalizada dos dados a imprimir.

Pode imprimir 3 cópias coligidas de um ficheiro a usar um dos seguintes comandos.

$ lp -n 3 -o Collate=True nome_do_ficheiro
$ lpr -#3 -o Collate=True nome_do_ficheiro

Pode personalizar ainda mais as operações da impressora ao usar opções da impressão como "-o number-up=2", "-o page-set=even", "-o page-set=odd", "-o scaling=200", "-o natural-scaling=200", etc., documentadas em Impressão em Linha de Comandos e Opções.

Os seguintes pacotes para conversão de dados de mail chamaram a minha atenção.


[Dica] Dica

O servidor de Internet Message Access Protocol versão 4 (IMAP4) (veja Secção 6.7, “Servidor POP3/IMAP4”) pode ser usado para mover mails de sistemas de mail proprietários se o software cliente de mail puder ser configurado para usar também o servidor IMAP4.

Os dados (SMTP) de mail devem ser limitados séries de dados de 7 bits. Portanto os dados binários e os dados de texto a 8 bits são codificados em formato de 7 bits com o Multipurpose Internet Mail Extensions (MIME) e a seleção do conjunto de caracteres (veja Secção 8.4.1, “Bases de codificação”).

O formato de armazenamento de mail standard é mbox de acordo com RFC2822 (RFC822 atualizado). Veja mbox(5) (disponibilizado pelo pacote mutt).

Para as linguagens Europeias, "Content-Transfer-Encoding: quoted-printable" com o junto de caracteres ISO-8859-1 é geralmente usado para mail porque não existem muitos caracteres de 8 bits. Se o texto Europeu estiver codificado em UTF-8, é provável que seja usado o "Content-Transfer-Encoding: quoted-printable" pois é maioritariamente dados de 7 bits.

Para Japonês, tradicionalmente usa-se "Content-Type: text/plain; charset=ISO-2022-JP" para o mail para manter o texto em 7 bits. Mas os sistemas mais antigos da Microsoft podem enviar dados de mail em Shift-JIS sem a declaração apropriada. Se o testo Japonês for codificado em UTF-8, é provável que se use Base64 pois contém muitos dados de 8 bits. A situação de outras linguagens Asiáticas é semelhante.

[Nota] Nota

Se os seus dados de mail não-Unix são acessíveis por um software cliente não-Debian o qual pode falar com o servidor IMAP4, pode ser capaz de movê-los para fora ao executar o seu próprio servidor IMAP4 (veja Secção 6.7, “Servidor POP3/IMAP4”).

[Nota] Nota

Se usa outros formatos de armazenamento de mail, movê-los para o formato mbox é um bom primeiro passo. Um programa cliente versátil como o mutt(1) pode dar jeito para isto.

Pode dividir os conteúdos da mailbox para cada mensagem a usar o procmail(1) e o formail(1).

Cada mensagem de mail pode ser desempacotada a usar o munpack(1) do pacote mpack (ou outras ferramentas especializadas) para obter os conteúdos codificados em MIME.

Os seguintes pacotes para conversão de dados gráficos, edição e ferramentas de organização chamaram a minha atenção.

Tabela 11.17. Lista de ferramentas de dados gráficos

pacote popcon tamanho palavra chave descrição
gimp V:68, I:341 22313 imagem(bitmap) GNU Image Manipulation Program
imagemagick I:400 218 imagem(bitmap) programas de manipulação de imagens
graphicsmagick V:3, I:17 5224 imagem(bitmap) programas de manipulação de imagens (fork do imagemagick)
xsane V:17, I:173 2346 imagem(bitmap) Frontend X11 baseado em GTK+ para o SANE (Scanner Access Now Easy)
netpbm V:32, I:409 4302 imagem(bitmap) ferramentas de conversão de gráficos
icoutils V:21, I:127 221 png↔ico(bitmap) converte ícones e cursores do MS Windows de e para formatos PNG (favicon.ico)
scribus V:2, I:23 30375 ps/pdf/SVG/… editor de DTP do Scribus
libreoffice-draw V:177, I:434 14600 imagem(vector) suite de escritório do LibreOffice - desenho
inkscape V:55, I:209 84823 imagem(vector) editor de SVG (Scalable Vector Graphics)
dia V:5, I:31 3727 imagem(vector) editor de diagramas (Gtk)
xfig V:2, I:15 1793 imagem(vector) Habilidade para Geração interactiva de figuras sob X11
pstoedit V:4, I:98 988 ps/pdf→imagem(vector) conversor de ficheiro PostScript e PDF para gráficos vectoriais editáveis (SVG)
libwmf-bin V:10, I:211 113 Windows/imagem(vector) ferramentas de conversão de meta-ficheiros do Windows (dados de gráficos vectoriais)
fig2sxd V:0, I:0 149 fig→sxd(vector) converte ficheiros XFig ao formato do OpenOffice.org Draw
unpaper V:2, I:19 460 imagem→imagem ferramenta de pós-processamento para páginas digitalizadas em scanner para OCR
tesseract-ocr V:8, I:37 1500 imagem→texto software livre de OCR baseado no motor de OCR comercial da HP
tesseract-ocr-eng V:7, I:37 4032 imagem→texto Dados de motor OCR: ficheiros de linguagem tesseract-ocr para texto Inglês
gocr V:1, I:13 531 imagem→texto software de OCR livre
ocrad V:0, I:5 303 imagem→texto software de OCR livre
eog V:71, I:264 10189 imagem(Exif) Programa de visualização de gráficos Olho do GNOME
gthumb V:5, I:22 5475 imagem(Exif) visualizador e navegador de imagens (GNOME)
geeqie V:6, I:21 14643 imagem(Exif) Visualizador de imagens que usa GTK+
shotwell V:19, I:223 6451 imagem(Exif) organizador de fotos digitais (GNOME)
gtkam V:0, I:6 1154 imagem(Exif) Aplicação para recolher media de câmaras digitais (GTK+)
gphoto2 V:1, I:12 955 imagem(Exif) cliente de linha de comandos de camera digital gphoto2
gwenview V:28, I:97 10570 imagem(Exif) visualizador de imagens (KDE)
kamera I:97 798 imagem(Exif) Suporte para cameras digitais para aplicações do KDE
digikam V:2, I:13 2646 imagem(Exif) aplicação de gestão de fotos digitais para KDE
exiv2 V:3, I:44 321 imagem(Exif) ferramenta de manipulação de meta-dados EXIF/IPTC
exiftran V:1, I:21 70 imagem(Exif) transformar imagens jpeg de câmaras digitais
jhead V:1, I:11 109 imagem(Exif) manipula a parte de não-imagem de ficheiros JPEG compatíveis com Exif (fotos de câmaras digitais)
exif V:1, I:12 339 imagem(Exif) utilitário de linha de comandos para mostrar informação EXIF nos ficheiros JPEG
exiftags V:0, I:5 292 imagem(Exif) utilitário para ler etiquetas Exif de ficheiros JPEG de câmaras digitais
exifprobe V:0, I:4 499 imagem(Exif) ler meta-dados de imagens digitais
dcraw V:2, I:19 535 imagem(Raw)→ppm descodifica imagens cruas de câmaras digitais
findimagedupes V:0, I:1 79 image→fingerprint encontra imagens visualmente semelhantes ou duplicadas
ale V:0, I:0 839 imagem→imagem junta imagens para aumentar a fidelidade ou criar mosaicos
imageindex V:0, I:2 145 imagem(Exif)→html gera galerias HTML estáticas a partir de imagens
outguess V:0, I:2 261 jpeg,png ferramenta de Esteganografia universal
librecad V:4, I:18 8205 DXF editor de dados CAD (KDE)
blender V:4, I:38 79166 blend, TIFF, VRML, … editor de conteúdos 3D para animação e etc
mm3d V:0, I:0 3778 ms3d, obj, dxf, … editor de modelos 3D baseado em OpenGL
open-font-design-toolkit I:0 10 ttf, ps, … meta pacote para desenho de font aberta
fontforge V:0, I:8 4191 ttf, ps, … editor de tipo de letra para fonts PS, TrueType e OpenType
xgridfit V:0, I:0 806 ttf programa para ajustes e alinhamento em grelha de tipos de letra TrueType

[Dica] Dica

Procure mais ferramentas de imagem com a expressão regular "~Gworks-with::image" no aptitude(8) (veja Secção 2.2.6, “Opções do método de pesquisa com o aptitude”).

Apesar dos programas com GUI como o gimp(1) serem muito poderosos, as ferramentas de linha de comandos como o imagemagick(1) são bastante úteis para automatizar a manipulação de imagens via scripts.

O formato de facto de ficheiros de imagem das câmeras digitais é o Exchangeable Image File Format (EXIF) o qual é o formato de ficheiros de imagem JPEG com etiquetas de meta-dados adicionais. Pode conter informações como a data, hora e definições da camera.

A patente de compressão de dados sem perdas de Lempel-Ziv-Welch (LZW) expirou. Os utilitários de Graphics Interchange Format (GIF) que usam o método de compressão LZW estão agora livremente disponíveis no sistema Debian.

[Dica] Dica

Qualquer camera digital ou scanner com meio de gravação amovível funciona em Linux através de leitores de armazenamento USB desde que sigam as Regras de Desenho para Sistemas de Ficheiros de Câmeras e usem o sistema de ficheiros FAT. Veja Secção 10.1.7, “Aparelho de armazenamento amovível”.

Existem muitos outros programas para converter dados. Os pacotes seguintes chamaram a minha atenção a usar a expressão regular "~Guse::converting" no aptitude(8) (veja Secção 2.2.6, “Opções do método de pesquisa com o aptitude”).


Também pode extrair dados do formato RPM com o seguinte.

$ rpm2cpio file.src.rpm | cpio --extract