Arco Iris Ou Arco Íris - Arco-íris ou arco iris: Qual a forma certa de escrever?
Arco-íris ou arco iris: Qual a forma certa de escrever?

A questão do acento que todo mundo se pergunta

Eu já vi gente travando editores inteiros só porque o arquivo tinha "arco íris" em vez de "arco iris". Não é brinadeira. A diferença entre arco iris ou arco íris vai além da ortografia e pode causar problemas reais em processos de normalização de texto, indexação e até em buscas automáticas.

Arco iris ou arco íris: qual é o certo?

O correto em português é arco íris, com acento circunflexo no i. O termo em espanhol é arco iris, sem acento. A confusão acontece porque os dois idiomas compartilham a mesma raiz latina, arcus iris, mas a evolução fonológica de cada língua divergiu. No português brasileiro, o i tônico que aparece na segunda sílaba de uma palavra oxítona terminada em ditongo recepta acento. É a regra do acento diferencial que todo mundo aprende no ensino médio e esquece três meses depois. A forma "arco íris" foi padronizada pelo Acordo Ortográfico de 1990 e consolidada pela edição de 2009. Antes disso, a grafia já era essa, mas havia certa flexibilidade editorial em publicações mais antigas.

O que acontece quando você não trata isso direito

Em 2019, eu estava configurando um pipeline deETL para um cliente que agregava dados de notícias de três países lusófonos. O sistema de busca não retornava resultados quando o termo era digitado como "arco iris" — sem acento. O índice estava indexado corretamente com "arco íris", então qualquer query sem acento simplesmente não batia. Levamos duas semanas pra resolver isso, e a solução foi criar uma camada de normalização que remove acentos das queries antes de fazer a busca, mantendo o texto original indexado com acentos para exibição. Isso não é um problema específico do arco íris. Qualquer termo acentuado no português vai sofrer o mesmo tratamento. Mas o "arco íris" é um desses casos clássicos porque aparece em metadados, títulos de imagens, legendas e conteúdo gerado por usuários. A variação de grafia aparece em todos os lugares, e o sistema precisa decidir o que fazer com isso.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Como normalizar na prática

Se você está construindo um sistema que precisa lidar com texto em português, aqui está o que funciona: Use a função unicodedata.normalize('NFD', texto) do Python para decompor os caracteres acentuados. Depois remova os diacríticos com uma regex simples como [^\w\s] ou mais especificamente /[\u0300-\u036f]/g. Isso converte "í" em "i" e "ã" em "a" sem esforço.

O problema é que essa abordagem tem um ponto cego: ela também transforma "para" em "para" (sem mudança visível) mas transforma "pá" em "pa", o que pode criar colisões em buscas case-sensitive. Se o seu sistema usa hash de texto como identificador único, essas colisões vão estragar seus dados. No nosso caso do cliente, o problema era apenas de busca, então a normalização simples resolveu. Se você precisar de integridade relacional, considere usar um campo separado para o texto normalizado. Para indexação em bancos como Elasticsearch ou Solr, o ideal é configurar um analyzer com o tokenizer padrão e um asciifolding filter. Isso faz a normalização automaticamente em tempo de query, sem precisar tocar no texto armazenado. Custa praticamente nada em performance e elimina a necessidade de pré-processamento manual.

Quando a normalização não é a resposta

Tem situações em que você não deve normalizar. Documentos legais, transcrições fiéis de álbuns musicais, nomes próprios com acentuação específica — nesses casos, preservar a grafia original é requisito, não opção. Eu já vi um caso onde um processo judicial dependia da grafia exata de um termo em um contrato de 1987, e a normalização teriamapagado uma evidência importante. O acento no "í" ali era parte do que tornava o documento válido. Então a recomendação é: normaliza pra busca e indexação, mas mantenha o texto original em campo separado. Isso resolve 99% dos problemas sem criar novos.

Recursos úteis

Se você quer baixar uma lista completa de palavras acentuadas em português para testar seu sistema de normalização, o repositório abre- PORTUGUESE/wordlists no GitHub tem uma lista com mais de 50 mil termos do corpus do CLIN (Centro de Linguística da Universidade de Lisboa). É um dado aberto, atualizado em 2023, e serve bem como corpus de teste para validar seu filtro de acentuação. Outra coisa: a regra do acento circunflexo no "i" do "arco íris" se aplica também a palavras como "história", "herói", "matéria". Se o seu sistema normaliza "arco íris" mas não normaliza "história" da mesma forma, seu analizador tá com defeito e precisa ser revisado. Teste os dois casos lado a lado antes de colocar em produção.