Homóglifo - Homoglyph

Os homóglifos latim minúscula letra A (Unicode 0061) e cirílico minúsculo A (Unicode 0430) sobrepostos. Ambos os personagens são ambientados em Helvetica LT Std.

Na ortografia e na tipografia , um homoglifo é um de dois ou mais grafemas , caracteres ou glifos com formas que parecem idênticas ou muito semelhantes. A designação também se aplica a sequências de caracteres que compartilham essas propriedades.

Sinóglifos são glifos que parecem diferentes, mas significam a mesma coisa. Os sinóglifos também são conhecidos informalmente como variantes de exibição . O termo homógrafo às vezes é usado como sinônimo de homóglifo, mas no sentido linguístico usual, homógrafos são palavras que têm a mesma grafia, mas têm significados diferentes, uma propriedade das palavras, não dos caracteres.

Em 2008, o Unicode Consortium publicou seu Relatório Técnico nº 36 sobre uma série de questões derivadas da semelhança visual de personagens em scripts únicos e semelhanças entre personagens em scripts diferentes.

Um exemplo de confusão homoglífica em um aspecto histórico resulta do uso de um 'y' para representar um 'þ' ao definir textos ingleses mais antigos em fontes que não contêm o último caractere. Nos tempos modernos, levou a fenômenos como Ye olde shoppe , implicando incorretamente que a palavra the foi escrita anteriormente ye / j / . Para uma discussão mais aprofundada, veja thorn .

Exemplos de símbolos homoglíficos são (a) o diérese e o trema (ambos um par de pontos, mas com significados diferentes, embora codificados com os mesmos pontos de código ); e (b) o hífen e o sinal de menos (ambos um traço horizontal curto, mas com significado diferente, embora frequentemente codificado com o mesmo ponto de código ). Entre os dígitos e letras , o dígito 1 e l minúsculo são sempre codificados separadamente, mas em muitas fontes são fornecidos glifos muito semelhantes, e o dígito 0 e O maiúsculo são sempre codificados separadamente, mas em muitas fontes são fornecidos glifos muito semelhantes. Praticamente todos os exemplos de um par de caracteres homoglíficos podem ser potencialmente diferenciados graficamente com glifos claramente distinguíveis e pontos de código separados, mas isso nem sempre é feito. Tipos de letra que não distinguem enfaticamente os homoglifos um / el e zero / oh são considerados inadequados para escrever fórmulas , URLs , código-fonte , IDs e outro texto onde os caracteres nem sempre podem ser diferenciados sem contexto . Fontes que distinguem glifos por meio de um zero cortado , por exemplo, são preferidas para esses usos.

Trema e diarese

Nos dias das máquinas de escrever mecânicas, elas eram digitadas com a mesma chave, que também era usada para uma vírgula dupla invertida. No entanto, o trema se originou especificamente como um par de linhas verticais curtas (não dois pontos) (ver Sutterlin ). A propósito, os dois pontos acima da letra E em albanês são descritos como uma diarese, mas não cumprem a função de uma diarese.

0 e O; 1, eu e eu

Dois conjuntos comuns e importantes de homoglifos em uso hoje são o dígito zero e a letra maiúscula O (isto é, 0 e O); e o dígito um, a letra L minúscula e i maiúsculo (ou seja, 1, le I). Nos primeiros dias das máquinas de escrever mecânicas, havia muito pouca ou nenhuma diferença visual entre esses glifos, e os digitadores os tratavam como atalhos de teclado. Na verdade, a maioria dos teclados nem mesmo tinha uma tecla para o dígito "1", exigindo que os usuários digitassem a letra "l", e alguns também omitiram 0. Como esses mesmos digitadores fizeram a transição nas décadas de 1970 e 1980 para operadores de teclado de computador , seus velhos hábitos de digitação continuaram com eles e foram uma fonte ocasional de confusão.

A maioria dos projetos de tipo atuais distingue cuidadosamente entre esses homóglifos, geralmente desenhando o dígito zero mais estreito e desenhando o dígito um com serifas proeminentes . As primeiras impressões de computador foram ainda mais longe e marcaram o zero com uma barra ou ponto, o que levou a um novo conflito envolvendo a letra escandinava " Ø " e a letra grega Φ ( phi ). O redesenho dos tipos de personagens para diferenciar esses personagens significou menos confusão. O grau em que dois personagens diferentes parecem iguais para um determinado observador é chamado de "semelhança visual".

Homóglifos com várias letras

St efan Szczotkowski se parece com A effan Szczotkowski na lápide.

Algumas outras combinações de letras são semelhantes, por exemplo, rn é semelhante a m , cl é semelhante a d e vv é semelhante a w .

Em certas fontes com espaçamento estreito (como Tahoma ), colocar a letra c ao lado de uma letra como j, l ou i criará um homoglifo, como cj cl ci (gda).

Quando alguns personagens são colocados próximos uns dos outros, vistos juntos de relance, eles dão a impressão visual de outro personagem não relacionado. Uma maneira mais precisa de dizer isso é que algumas ligaduras tipográficas podem ser semelhantes a glifos autônomos. Por exemplo, a fi ligatura ( ) pode ser semelhante a A em alguns tipos ou fontes. Esse potencial de confusão às vezes é um argumento contra o uso de ligaduras.

Homoglifos Unicode

Os três alfabetos europeus mais proeminentes (grego, cirílico e latino) compartilham muitas formas de letras que são codificadas em Unicode em pontos de código separados.

O conjunto de caracteres Unicode contém muitos caracteres fortemente homoglíficos, conhecidos como "confundíveis". Estes apresentam riscos de segurança em uma variedade de situações (abordadas na UTR # 36) e recentemente foram chamados a atenção especial em relação aos nomes de domínio internacionalizados . Pode-se falsificar deliberadamente um nome de domínio substituindo um caractere por seu homoglifo, criando assim um segundo nome de domínio, não facilmente distinguível do primeiro, que pode ser explorado em phishing ( consulte o artigo principal Ataque homógrafo de IDN ). Em muitas fontes, a letra grega 'Α', a letra cirílica 'А' e a letra latina 'A' são visualmente idênticas, assim como a letra latina 'a' e a letra cirílica 'а' (o mesmo pode ser aplicado ao Letras latinas "aBeHKopcTxy" e as letras cirílicas " аВеНКорсТху "). Um nome de domínio pode ser falsificado simplesmente substituindo uma dessas formas por outra em um nome registrado separadamente. Existem também muitos exemplos de quase homóglifos no mesmo script, como 'í' (com um acento agudo) e 'i', É (E-agudo) e Ė (ponto E acima) e È (E-grave), Í (com acento agudo) e ĺ (L minúsculo com agudo). Ao discutir este problema de segurança específico, quaisquer duas sequências de caracteres semelhantes podem ser avaliadas em termos de seu potencial para serem consideradas como um 'par de homoglifos', ou se as sequências claramente parecem ser palavras, como 'pseudo-homógrafos' (observando novamente que esses termos podem causar confusão em outros contextos). No idioma chinês , muitos caracteres chineses simplificados são homoglifos dos caracteres chineses tradicionais correspondentes .

Esforços de registros de TLDs e designers de navegadores da Web estão em andamento para minimizar os riscos de confusão homoglífica. Normalmente, isso é conseguido proibindo nomes que misturam conjuntos de caracteres de vários idiomas ( toys-Я-us.org , usando a letra cirílica Я , seria inválido, mas wíkipedia.org e wikipedia.org ainda existem como sites diferentes); O registro .ca do Canadá vai além ao exigir que nomes que diferem apenas em diacríticos tenham o mesmo proprietário e o mesmo registrador. O tratamento dos caracteres chineses varia: em .org e .info o registro de uma variante torna a outra indisponível para qualquer pessoa, enquanto em .biz as versões tradicional e simplificada do mesmo nome são entregues como um pacote de dois domínios que apontam para o mesmo servidor de nome de domínio .

A documentação relevante pode ser encontrada nos sites dos desenvolvedores e em um fórum para IDNs fornecido pela ICANN .

Canonização

Homóglifos de todos os tipos podem ser detectados por meio de um processo denominado 'canonização dupla'. O primeiro passo neste processo é identificar conjuntos de homoglifos, ou seja, caracteres que parecem iguais para um determinado observador. A partir daqui, um único token é especificado para representar o conjunto homoglifo. Esse token é chamado de cânone. A próxima etapa é converter cada caractere no texto para o cânone correspondente em um processo chamado canonização. Se os cânones de duas sequências de texto forem iguais, mas o texto original for diferente, então existe um homoglifo no texto.

Veja também

Referências

links externos