Pular para o conteúdo

Por que o texto copiado do Word chega cheio de caractere invisível

Fomos medir, e a resposta é outra. Abrimos 46 documentos públicos por dentro e contamos caractere por caractere: o que o Word entrega quase nunca é invisível. É parecido, que dá bem mais trabalho.

Em quantos documentos cada coisa apareceu

OrigemDocsAspas curvasMeia-riscaEspaço duroLargura zeroHífen suave
Arquivos .docx824100
PDFs612000
Páginas web322015711

1.122.930 caracteres de texto ao todo. Os `.docx` foram lidos por dentro, no XML do próprio arquivo; os PDFs, com pdftotext; as páginas web são o corpus montado para o artigo do travessão. Medido em 9 de agosto de 2026.

Quem é quem, e o que o conversor faz com cada um

CódigoNomeDe onde vemLimpar espaços tira?
U+00A0espaço duropágina web e Word, onde ele evita que a linha quebre no meiosim
U+2009espaço finotipografia de PDF, entre número e unidadesim
U+202Fespaço estreito que não quebraPDF e editor de fórmulasim
U+3000espaço ideográficotexto em japonês, chinês ou coreanosim
U+200Bespaço de largura zerosite que força a quebra de uma palavra compridasim
U+FEFFmarca de ordem de bytearquivo exportado, grudado no primeiro caracteresim
U+2028separador de linhaWord e alguns PDFs, no lugar da quebra normalsim
U+00ADhífen suavePDF, que o usa para hifenizar no fim da linhasim
U+201Caspas curvasautocorreção do Word e de editor de texto de sitenão
U+2013meia-riscaautocorreção, que troca o hífen entre númerosnão
U+FB01ligadura fiPDF, que junta as duas letras num caractere sónão

A última coluna não é promessa: o build roda limparEspacos em cada um destes caracteres e a página não sobe se a resposta divergir.

O que mais aparece não é invisível

Nos oito arquivos do Word, o campeão foi a meia-risca, em quatro deles, seguida das aspas curvas, em dois. Nenhum dos oito tinha um único caractere de largura zero, e nenhum tinha hífen suave. A lenda promete texto cheio de coisa que não se vê, e o que estava lá era pontuação que se vê muito bem.

Isso vem da autocorreção. Você digita aspa reta e o Word troca por aspa curva; digita hífen entre dois números e ele troca por meia-risca. Na tela o resultado é mais bonito, e é justamente por isso que o problema passa: você olha “2019–2020” e lê um hífen, mas o computador lê outro caractere. A busca por “2019-2020” não acha nada, e a fórmula da planilha não casa.

O invisível veio mais da web que do Word

O espaço duro apareceu em sete das trinta e duas páginas medidas e em apenas um dos oito arquivos do Word. O único documento do corpus inteiro com hífen suave é uma página do Wikisource, com 101 deles espalhados pelo texto de um conto do Machado. O de largura zero apareceu uma vez, num verbete da Wikipédia.

Faz sentido quando se olha para que servem. O espaço duro existe para impedir que a linha quebre entre o número e a unidade, e é a página web que precisa disso. O de largura zero serve para dizer ao navegador onde pode partir uma palavra comprida. Os dois são ferramentas de quem publica na tela, e vão junto quando você seleciona e copia.

Quando “fi” vira um caractere só

Um dos seis PDFs, o manual do dígito verificador do CNPJ publicado pelo Serpro, tinha nove ligaduras tipográficas. A ligadura é um caractere único que desenha duas letras coladas, e o texto extraído traz U+FB01 no lugar de “f” seguido de “i”.

O efeito é digno de piada de mau gosto: você copia um parágrafo, procura por “oficial” e não encontra, porque no seu texto está escrito “oficial” com um caractere que não é nem “f” nem “i”. O olho não distingue e nenhuma ferramenta avisa.

Onde isso quebra de verdade

O caso mais comum é a planilha. Um PROCV que devolve erro sobre duas células que você jura serem iguais costuma ser espaço duro no fim de uma delas, e o pior é que o próprio Excel mostra as duas idênticas. Depois vem a busca do navegador, que não acha o que está na tela. E vem o formulário que recusa um número correto.

Esse último a gente conhece de perto. O validador de CPF daqui aceita sete tipos diferentes de traço na entrada, incluindo a meia-risca do Word e o hífen não-quebrável do PDF, porque a versão anterior recusava “123.456.789–09” com a mensagem “tem um caractere que não é número: –”. Quem lia aquilo via um tracinho igualzinho ao que digitou. Acusar alguém de um caractere que ele não consegue distinguir é pior que não acusar nada.

O que esta medição não cobre

Arquivo não é área de transferência. Colar do Word passa pelo HTML da área de transferência, que pode acrescentar coisa que o arquivo não tem, e medir isso exigiria Word e navegador de verdade no circuito. Os oito documentos são formulário de órgão público, que é texto simples por natureza — um relatório com citação e tabela provavelmente traria mais. E o pdftotext lê a camada de texto do PDF, que não é exatamente o caminho de quem seleciona no leitor.

Nada disso muda a direção do resultado, e o número serve para o que este texto usa: mostrar que a pontuação tipográfica é mais comum que o caractere invisível, e que o invisível mora mais na web que no Word.

Como limpar

O conversor daqui tem uma opção que troca todos os espaços disfarçados por espaço normal, apaga os de largura zero e padroniza a quebra de linha. Ela resolve 8 dos 11 caracteres da tabela.

Os outros ela deixa passar de propósito, e a tabela diz quais. Aspas curvas, meia-risca e ligadura não são espaço: são escolha de escrita, e apagar sozinho o que a pessoa quis escrever seria a ferramenta corrigindo o texto por conta própria.

O hífen suave era a exceção incômoda dessa lógica, e a primeira versão desta página disse isso: ele não é espaço, então atravessava a limpeza inteira. Só que ele também não é escolha de ninguém — quem cola de PDF nunca digitou aquilo. A limpeza passou a apagá-lo no dia em que este artigo saiu, a trava do build reprovou a tabela velha na hora, e a linha dele virou “sim”.

Para descobrir se sobrou alguma coisa, o contador conta tudo que está lá, invisível incluído: se ele mostra mais caracteres do que você consegue ver, a diferença é exatamente o que este artigo lista.