1 pontos por GN⁺ 2024-02-14 | 1 comentários | Compartilhar no WhatsApp
  • A proposta original da WWW, de Tim Berners-Lee, era um documento Microsoft Word for Macintosh 4.0 de 68.608 bytes, e a questão central era se seria possível abri-lo hoje com alta fidelidade ao original e convertê-lo em PDF
  • Microsoft Word e Apple Pages falharam, e o Apache OpenOffice até abriu o arquivo, mas não preservou corretamente a formatação e os diagramas
  • O LibreOffice abriu o documento e exibiu diagramas nítidos, mas margens, tamanho de fonte, cabeçalho/rodapé e espaçamento diferiam do original, exigindo ajustes adicionais
  • Enquanto o PDF de 1998 do CERN tem 20 páginas, o layout original verificado em um Macintosh dos anos 1990 com Word no Infinite Mac apareceu com 22 páginas em A4
  • O arquivo .odt ajustado manualmente e o PDF criado no Mac emulado foram enviados ao GitHub, mostrando que mesmo um documento de 34 anos não é fácil de abrir e preservar com precisão

O que é o arquivo original e qual era o objetivo da conversão

  • O W3C oferece, na página da proposta original da WWW de Tim Berners-Lee, um download que parece ser o arquivo original do documento
  • Esse download vinha com a observação “I think - I can't test it”, e também há separadamente uma versão RTF e uma versão HTML gerada a partir do arquivo original em 1998
  • O comando file no Mac identifica o documento original como um arquivo Microsoft Word for Macintosh 4.0
  • Uma nota na página do W3C também diz que este documento é o original em MacWord ou Word for Mac escrito em março de 1989, redistribuído sem alterações, exceto pela adição da data de maio de 1990
  • O objetivo era abrir o documento original e, se possível, convertê-lo para um formato moderno como um PDF de alta fidelidade

O resultado ao abrir com software moderno

  • A primeira tentativa foi com o Microsoft Word: adicionou-se a extensão .doc ao arquivo, ele foi enviado ao OneDrive e então aberto
  • O Apple Pages também não conseguiu entender esse antigo arquivo do Microsoft Word for Macintosh
  • O Apache OpenOffice conseguiu abrir o arquivo, mas a formatação se perdeu e os diagramas ficaram ausentes
  • O LibreOffice abriu o arquivo e também exibiu os diagramas com nitidez
    • Ainda assim, havia margens estranhas e outros problemas de formatação

Diferenças entre o PDF do CERN e a saída do LibreOffice

  • O CERN fornece uma versão em PDF da proposta
  • Esse PDF parece ter sido gerado em 1998 com o Acrobat Distiller Daemon 2.1 para SunOS/Solaris(SPARC) e tem 20 páginas
  • A versão importada no LibreOffice tinha 24 páginas
  • Depois de gerar um PDF a partir da versão do LibreOffice, ele foi comparado ao PDF do CERN usando a visualização em contact sheet do Apple Preview
    • Na versão do LibreOffice, a margem direita desaparecia
    • A maior parte do texto principal aparecia em 14 pt, e não em 12 pt como no PDF do CERN
    • O cabeçalho com as iniciais TBL havia sido transformado em rodapé
    • Pela posição das imagens, as quebras de página em geral pareciam corretas, e o maior problema parecia ser o tamanho da fonte
    • O PDF do CERN tinha um espaço em branco abaixo do título, mas a versão do LibreOffice não

Verificação do layout original por emulação

  • Para confirmar como o documento original realmente aparecia, um Macintosh dos anos 1990 foi inicializado no Infinite Mac, e o documento original foi executado no Word for Macintosh 4.0
  • Dessa forma, foi possível verificar diretamente a fonte, o tamanho da fonte e o layout reais
  • O resultado visto no Mac emulado mostrou que o documento original no Mac e o PDF do CERN eram bem diferentes
    • O PDF do CERN tem 20 páginas
    • O documento rodando no Word for Macintosh 4.0 em papel A4 tem 22 páginas
  • A partir daí, o objetivo deixou de ser reproduzir o PDF do CERN e passou a ser aproximar o documento ao original exibido no Mac

Ajustes manuais e resultado da preservação

  • Para aproximar o documento do LibreOffice ao original, vários itens foram ajustados manualmente
    • O papel foi definido como A4
    • A margem direita foi ajustada para ter o mesmo tamanho da margem esquerda
    • Como a primeira página tinha sarjeta, rodapé e cabeçalho diferentes, ela foi ajustada com uma formatação separada
    • A fonte do corpo do texto foi alterada de 14 pt e outros tamanhos para 12 pt
    • Foram corrigidos manualmente textos quebrados incorretamente entre páginas e problemas de alinhamento
    • Elementos que haviam ido para o rodapé foram recolocados no cabeçalho
  • O resultado final ficou bastante próximo do documento visto no Mac
  • A versão .odt resultante da conversão foi enviada ao repositório no GitHub
  • Esse trabalho mostra como é difícil preservar documentos antigos em formatos modernos e como software de código aberto pode ser útil nesse tipo de conversão
  • O objetivo inicial era obter diagramas de alta qualidade da proposta original para usar em uma apresentação, mas o processo levou mais tempo do que o esperado

PDF adicional criado com o Mac emulado

  • Em um comentário no Hacker News, foi sugerido que seria possível gerar um arquivo PostScript ou PDF a partir do Mac emulado
  • Usando o System 7, o Word de 1992 e o driver de impressora Print2PDF, que cria arquivos PDF, o documento foi impresso diretamente a partir do Word for Macintosh 5.1a
  • O PDF gerado dessa forma também foi adicionado ao GitHub
    • Essa versão tem 20 páginas
    • As fontes são diferentes, mas o requisito original de gerar um PDF foi atendido
  • Outro comentário no Hacker News leva a um caso de criação de uma boa conversão para formato moderno com outras versões do Word e ajustes

1 comentários

 
GN⁺ 2024-02-14
Comentários no Hacker News
  • Para quem tiver interesse, publiquei um documento em formato moderno do Word com toda a arte vetorial e as fontes preservadas: https://jasomill.at/proposal.docx
    A conversão foi feita abrindo e salvando novamente no Word 98[1] em um Power Mac emulado no QEMU e depois abrindo no Word for Mac 16.82 moderno
    Só que as imagens ficaram de fora, e o Word dizia “There is not enough memory or disk space to display or print the picture.”, mas parece mais que o Word não oferece mais suporte ao formato de imagem PICT do que um problema de RAM
    Restaurei as imagens criando um PDF no Word 98 via impressão para PDF do Acrobat 5.0.10, extraindo cada uma das três imagens como PDF no Adobe Illustrator moderno, preservando as fontes, vetores, tamanhos e caixas delimitadoras originais, e então arrastando-as do Finder para o documento
    Para comparação, o PDF criado pelo Acrobat a partir do Word 98 no Power Mac está em https://jasomill.at/proposal-Word98.pdf, e o PDF criado pelo Word moderno no macOS Sonoma está em https://jasomill.at/proposal-Word16.82.pdf
    [1] https://archive.org/details/ms-word98-special-edition

    • Fiquei curioso se você tentou extrair as imagens separadamente e convertê-las diretamente com outro programa. Segundo o Archive Team, o LibreOffice consegue ler arquivos PICT vetoriais[1] e também salvá-los como SVG
      Claro que, se houver texto, ainda fica o problema das fontes, mas a ideia de preservar os vetores em PDF não tinha me ocorrido, e o PDF também lida bem com a incorporação de fontes
      [1] http://fileformats.archiveteam.org/wiki/PICT
    • A propósito, o MacClippy 98 já estava por dentro da situação: https://jasomill.at/Clippy.png
    • A profissão de arqueólogo digital que aparecia na ficção científica está virando realidade
    • Não esperava ver o LHC em um documento tão antigo
      Pelo pouco que pesquisei rapidamente durante o trabalho, não consegui confirmar quando o projeto LHC começou e se ele já era relevante em 1990, mas o fato de ser 20 anos antes da operação real também parece muito mais tempo do que eu imaginava
  • A ideia de que “dá para ver as fontes, os tamanhos de fonte e o layout reais e conferir como o documento deveria ter aparecido” só vale quando se tem as fontes originais
    O Word 4.0 saiu para o System 6 e tinha suporte até o System 3.2; naquela época, as fontes tinham arquivos separados para tela e para impressora, conforme a resolução de saída
    Se a fonte de impressora não existisse, ele ampliava a fonte de tela pelo método do vizinho mais próximo para imprimir; se a fonte de tela não existisse, substituía pela fonte do sistema. Como na captura de tela, o padrão era Geneva
    Neste caso, só seriam necessárias as conhecidas Palatino e Courier, mas o LibreOffice substituiu por Times New Roman mesmo com Palatino Linotype instalada

    • Provavelmente é porque o nome interno da Palatino Linotype é PalatinoLinotype na versão incluída no Windows e PalatinoLTStd na versão Adobe OpenType
      Sem exceções codificadas manualmente, a correspondência de fontes por prefixo comum pode facilmente gerar resultados inadequados. Por exemplo, Lucida pode ser mapeada para LucidaConsole, quando, em termos da intenção do autor do documento, quase qualquer fonte sans-serif proporcional poderia ser melhor do que isso
      Além disso, nem mesmo a correspondência exata de nomes é garantida. A Apple distribuiu duas vezes uma fonte cujo nome interno é NewYork: uma era uma conversão para TrueType do design bitmap original do Macintosh de 1983, de Susan Kare, e a outra é um design sem relação, lançado em 2019
    • Isso pode explicar em certa medida essas diferenças, mas o que eu queria verificar principalmente na emulação era o tamanho das fontes
  • O herói fácil de subestimar nesta pequena história é o antigo comando file(1)
    proposal: Microsoft Word for Macintosh 4.0
    Quando quero saber o que é um arquivo, uso quase por reflexo, e ele é realmente útil porque retorna informação na medida certa: suficiente para satisfazer a curiosidade e ainda ser prática

    • Concordo. file é uma ferramenta excelente
      Já xinguei várias vezes quando me sentei diante de um computador de trabalho com Windows e não conseguia usar essa ferramenta facilmente. Depois o WSL facilitou, e hoje, felizmente, quase não uso Windows
  • O LibreOffice abre esse arquivo diretamente. O suporte a formatos antigos de documentos é realmente excelente, e por isso continuo deixando-o instalado para esse tipo de uso: https://imgur.com/a/JENgq6V
    Ainda assim, também gosto de usar os emuladores BasiliskII e InfiniteMac

    • O texto original também dizia que o LibreOffice abre, mas ao mesmo tempo dizia que “as margens ficam estranhas e há outros problemas de formatação”
      Esse problema também parece aparecer na captura de tela e, embora seja muito bom oferecer esse nível de suporte a um formato proprietário tão antigo, com esses problemas fica meio difícil dizer que é “realmente excelente”
    • Vale a pena experimentar o QEMU também. As versões recentes emulam bem o Power Mac, então conseguem rodar tanto o Mac OS clássico 9.2.2, a versão PowerPC mais recente, quanto o Mac OS X 10.5
    • Na época, o StarOffice já existia
      Fico me perguntando se ainda resta dentro do LibreOffice algum código dos anos 1990 para analisar formatos de terceiros daquela época, ou se quem está fazendo o trabalho de fato é o código de compatibilidade/conversão criado por engenharia reversa para versões muito posteriores do Word
  • Como exemplo da compatibilidade retroativa da Microsoft, no Word 2401 para Windows o arquivo abriu em geral sem problemas, e o layout também parecia idêntico ao PDF do texto.
    Por padrão, o formato do arquivo era bloqueado, mas foi fácil permiti-lo.
    No entanto, como faltava o filtro gráfico para o formato Microsoft Word Picture, as imagens não abriram. Parece ter sido descontinuado há bastante tempo, mas o Word 2003 provavelmente conseguiria abri-las, e ele também não é tão antigo a ponto de não rodar em sistemas modernos.

    • Instalei o Word 2003 e, com as configurações padrão, o documento abriu imediatamente e de forma perfeita.
      Ao salvá-lo ali, ele foi convertido para um .doc moderno, que pôde ser aberto no Office 365 e convertido para PDF etc.
      A lição é que a equipe do Office para Windows parece dedicar um pouco mais de tempo à compatibilidade retroativa.
  • Acho que uma empresa como a Microsoft deveria considerar importante conseguir abrir documentos criados por todas as versões do Microsoft Word, por mais antigos que sejam.
    Acredito que ela tenha uma responsabilidade social, histórica e econômica.
    Se houver preocupação com vulnerabilidades em códigos antigos de parsing, basta movê-los para um processo externo, executá-los isolados em uma sandbox e fazê-los gerar na hora uma nova versão legível. Não se deve remover esse recurso em si.
    Correção: descobri que o Word para desktop abre o arquivo corretamente, e que só a versão web não abre, então este comentário pode ser considerado inválido.
    Correção 2: o documento abre, mas parece não conseguir exibir nem imprimir os gráficos incorporados.

    • Muitos formatos antigos eram, na prática, dumps binários da memória, ou não muito diferentes disso.
      Documentar formatos não era o padrão. Concordo que há uma responsabilidade social, mas, pela minha experiência com arquivamento digital, o passado era realmente, realmente bagunçado. De verdade.
    • Nem é preciso voltar a 1990: é fácil encontrar casos em que aplicativos modernos da Microsoft, especialmente aplicativos em nuvem, têm problemas para abrir documentos criados em versões anteriores.
    • Tenho uma curiosidade sincera: existe alguma empresa com reputação melhor que a Microsoft em compatibilidade retroativa de software comercial?
    • Formatos de arquivo antigos têm vulnerabilidades de segurança. A versão online do Word foi projetada basicamente para docx apenas, e só consegue abrir alguns documentos binários.
    • Eu deixei passar o fato de que o Word de verdade abre bem esse arquivo. O problema é só a versão web meio de brinquedo; o Mac também pode ter esse problema, mas isso é outra questão.
  • Se você quiser saber exatamente como era o impresso na época, provavelmente poderia instalar, em um emulador rodando o Word for Mac 4.0, uma fila de impressão que gere um arquivo PostScript.
    Esse arquivo .ps pode ser convertido para PDF.
    Ou, se houver Acrobat mesmo em um OS tão antigo, talvez seja possível criar um PDF diretamente com um driver de impressora virtual.

    • https://web.mit.edu/ghostscript/www/Ps2pdf.htm
      Se quiser ajustar muito mais por conta própria, é só mergulhar nas águas profundas do Ghostscript :)
      https://www.ghostscript.com
    • Ainda tenho um Mac que roda o Word 5.1a e, pessoalmente, considero essa a última versão do Word de que precisei.
      Lembro de também ter aberto arquivos do Word 4.0 nele.
    • Boa sugestão. Acabei de criar um PDF a partir do Word com o Print2PDF e vou atualizar o blog.
  • O LibreOffice é surpreendente. Além de conseguir abrir muitos formatos de documento, ele permite automatizar tarefas como conversão de formatos por meio de execução headless e opções de linha de comando.
    Esse tipo de tarefa muitas vezes é difícil de fazer de outras maneiras.
    https://help.libreoffice.org/latest/en-US/text/shared/guide/start_parameters.html
    https://opensource.com/article/21/3/libreoffice-command-line

  • Há um problema potencial que as empresas frequentemente subestimam. Algumas têm backups com retenção indefinida.
    Backups com retenção de 10 anos são comuns, e há lugares que guardam por 20 anos por motivos legais, mas a maioria não entende a diferença entre “pode ser lido” e “pode ser usado”.
    Depende dos dados, mas também há empresas que fazem backup indefinido de máquinas virtuais inteiras acreditando que poderão executá-las depois. Já é difícil o bastante restaurar uma máquina do vSphere 5.x no vSphere 8 atual; não entendo muito bem esse desperdício de espaço.

    • Se você fizer backup de tudo, pode organizar depois — e, no fim, nem precisa organizar. No Google Cloud, armazenar 1 TB custa 1 dólar por mês.
      A esse preço, não vale a pena organizar. Um DevOps custa mais de 100 dólares por hora, sem contar o custo de oportunidade de fazer uma limpeza tediosa em vez de um trabalho mais produtivo.
      Depois que a empresa for adquirida, ou depois de tempo suficiente, basta apagar ou descartar os dados sem organizá-los.
      Máquinas virtuais também, por exemplo no caso de VMDK, permitem ler o disco bruto sem inicializá-las. Não vale a pena correr o risco de perder dados para economizar 10 dólares por mês, valor parecido com um desenvolvedor tomar uma cerveja a mais em um evento da equipe.
    • Arquivos antigos ou imagens de disco muitas vezes são pequenos em comparação com os tamanhos de arquivos modernos.
      Por isso, é mais um desperdício administrativo do que exatamente um desperdício de espaço.
  • É um bom alerta sobre o quanto formatos envelhecem rápido, especialmente sobre o perigo de formatos fechados
    Para documentos de arquivamento de longo prazo, uso Markdown, texto simples e PNG
    Mesmo que esses formatos desapareçam, seria fácil reimplementar os parsers por conta própria

    • Implementar um parser de Markdown não é nada simples
      É fácil criar um parser que, nos casos simples, se comporte como um parser de Markdown e faça as pessoas acreditarem que estão fazendo parsing, mas um parser de verdade é outra coisa
      Ainda assim, é alta a chance de dados em Markdown serem recuperáveis. Se forem dados gerados por você mesmo, HTML talvez seja mais seguro
    • O problema do Markdown é que, ao convertê-lo em um conjunto de páginas formatadas, a saída muda conforme a versão do conversor
      HTML é parecido, e texto simples também é até certo ponto. PDFs deveriam permanecer exatamente iguais para sempre, mas, entre os formatos de documento editáveis, pelo que sei, o único que realmente mantém a mesma formatação mesmo com atualizações de software é TeX/LaTeX
      Na prática, no LaTeX, se o mesmo documento de entrada não gerar exatamente o mesmo layout de versões anteriores, isso é oficialmente um bug
    • Por esse motivo, acho melhor escrever documentos de protocolos e formatos de arquivo em texto ASCII puro sempre que possível
      Isso é especialmente problemático quando a documentação de um formato ou protocolo mais complexo precisa ser escrita nesse próprio formato ou protocolo
      Também existe o wiki Just Solve The File Format Problem. Eu mesmo já acrescentei conteúdo lá; ele usa HTML e não tem as especificações completas de todos os formatos de arquivo, e alguns são links para arquivos externos, mas ajuda a encontrar informações sobre formatos de arquivo
    • Markdown também não é texto simples? Eu não disse que não recomendo
    • A sociedade deveria ter levado a preservação digital mais a sério desde o momento em que começamos a reduzir o arquivamento de cópias impressas em papel
      Dizem que quem não conhece a história repete os mesmos erros, mas, se os nossos documentos não puderem ser lidos pelas gerações futuras ou desaparecerem, como elas poderão aprender com os nossos erros?