cpdoc / dhbb

Dicionário Histórico Biográfico Brasileiro
Other
10 stars 2 forks source link

codificação verbetes #45

Closed arademaker closed 9 months ago

arademaker commented 3 years ago

O processo de copiar/colar conteúdo de editores como MS Word pode ser problemático na manutenção dos arquivos. O verbete 11959.txt está com encoding misturado, parte do texto parece estar com UTF-8 e outra parte com ISO-8859-1 ou Latin1.

O Emacs consegue mostrar os caracteres corretamente, independente do encoding:

image

Mas se forçarmos a conversão de todo o texto para um único formato, vemos o problema:

iconv -f latin1 -t utf8 < 11959.text > tmp
image

Quantos outros arquivos estão com este problema? Tem como corrigir de forma automática?

arademaker commented 3 years ago

Identifiquei este problema no contexto do issue #44, o fmt parece ter se confundido com este mix de encoding também..

arademaker commented 3 years ago

Leituras obrigatórias:

  1. https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
  2. https://blog.codinghorror.com/there-aint-no-such-thing-as-plain-text/
arademaker commented 9 months ago

todos os arquivos foram detectados como utf-8, podem existir errors de encoding, mas não temos ainda uma forma automática de detectar.

arademaker commented 9 months ago

Também não foram encontradas ocorrências do

             position: 180 of 226057 (0%), column: 5
            character:   (displayed as  ) (codepoint 160, #o240, #xa0)
              charset: iso-8859-1 (Latin-1 (ISO/IEC 8859-1))
code point in charset: 0xA0
               script: latin
               syntax:      which means: whitespace
             category: .:Base, b:Arabic, j:Japanese, l:Latin
             to input: type "C-x 8 RET a0" or "C-x 8 RET NO-BREAK SPACE"
          buffer code: #xC2 #xA0
            file code: not encodable by coding system nil
              display: by this font (glyph code):
    mac-ct:-*-Menlo-regular-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x62)
       hardcoded face: nobreak-space

Character code properties: customize what to show
  name: NO-BREAK SPACE
  old-name: NON-BREAKING SPACE
  general-category: Zs (Separator, Space)
  decomposition: (noBreak 32) (noBreak ' ')