Pular para o conteúdo
LeedyBox
Apoiar

Caracteres de largura total e de meia largura

ABC123 e ABC123 parecem quase iguais, mas para o computador são caracteres diferentes. Este guia explica de onde vêm os caracteres de largura total (full-width) e de meia largura (half-width), por que formulários e buscas tropeçam neles, como o katakana de meia largura escreve ガ com dois caracteres e quais sósias não formam par.

Por que existem duas larguras

Em japonês, chinês e coreano, cada caractere ocupa uma célula quadrada. Os primeiros computadores japoneses tinham dois tipos de conjunto de caracteres: um de um byte, o JIS X 0201, com letras latinas, números e um pequeno conjunto de katakana que ocupava meia célula, e outros de dois bytes, como o JIS X 0208, com kanji, kana e uma segunda cópia das letras e dos números que ocupava a célula inteira. O padrão coreano KS X 1001 também traz uma cópia de largura total do alfabeto latino.

O Unicode manteve as duas cópias para que textos antigos pudessem ser convertidos sem perda. As formas de largura total dos caracteres ASCII (U+FF01–FF5E) e o katakana de meia largura (U+FF61–FF9F) ficam no bloco "Halfwidth and Fullwidth Forms", e o banco de dados de caracteres Unicode registra a qual caractere comum cada um corresponde. É esse registro que um conversor usa.

O que tem forma de largura total e de meia largura

TipoLargura totalMeia largura
Letras latinasABC abcABC abc
Números01230123
Símbolos ASCII!?@#()-/!?@#()-/
EspaçoU+3000 (espaço ideográfico)U+0020
Sinais¥ ¢ £¥ ¢ £
Katakanaカタカナ ガ パカタカナ ガ パ
Pontuação japonesa。「」、・ー。「」、・ー

Kanji, hiragana e sílabas hangul só têm uma largura. Não existe hiragana de meia largura, e os katakana pequenos ヵ, ヶ e ヮ e as letras antigas ヰ e ヱ também não têm forma de meia largura.

Onde a diferença dá problema

  • Formulários. Um campo que só aceita números recusa 090, e um CEP ou número de cartão copiado de um site japonês costuma estar em largura total. Converter para meia largura resolve.
  • Busca e duplicados. Uma busca por ABC nem sempre encontra ABC, e uma lista de clientes pode guardar o mesmo nome duas vezes, em duas larguras.
  • Aparência. Letras de largura total num texto em português ficam espaçadas; katakana de meia largura num texto japonês fica apertado.
  • Sistemas com regras próprias. Alguns formulários japoneses pedem a leitura do nome (フリガナ) em katakana de largura total, outros em hiragana, e alguns sistemas antigos só aceitam katakana de meia largura. Siga o que o formulário pede.

O katakana de meia largura e os sinais sonoros

O katakana de meia largura não tem letras sonoras próprias. ガ é escrito com dois caracteres, カ seguido do sinal sonoro ゙, e パ com ハ seguido do sinal semissonoro ゚. Um bom conversor junta o par numa só letra de largura total e o separa de novo na volta. Por isso o número de caracteres muda: ガッコウ tem cinco e ガッコウ, quatro.

Um sinal que não pode se unir à letra anterior, como em ア゙, fica como sinal separado (ア゛). ヴ vira ヴ, e ヷ e ヺ viram ヷ e ヺ.

Sósias que não formam par

CaractereO que éTem par de meia largura?
~ (U+FF5E)Til de largura totalSim: ~
〜 (U+301C)Traço ondulado, sinal de pontuação japonêsNão
- (U+FF0D)Hífen-menos de largura totalSim: -
ー (U+30FC)Sinal de vogal longa do katakanaSó ー (katakana de meia largura)
" 'Aspas retas de largura totalSim: " '
“ ” ‘ ’Aspas curvasNão

A barra invertida é um caso à parte. O JIS X 0201 colocou o sinal do iene no código que o ASCII usa para a barra invertida, por isso algumas fontes japonesas ainda a desenham como ¥. O caractere é o mesmo; só o desenho muda.

Hiragana e katakana

Cada hiragana de ぁ a ゖ tem um katakana de mesmo nome, e o Unicode os coloca a 96 posições de distância, então a conversão é exata: やまだ たろう vira ヤマダ タロウ. O sinal de vogal longa ー é usado nas duas escritas e não muda. Katakana sem hiragana próprio, como ヷ, continuam em katakana.

Para programadores: a normalização muda mais

A forma de normalização Unicode NFKC também passa letras de largura total para meia largura e junta ガ em ガ, mas ao mesmo tempo muda muitos outros caracteres: ① vira 1, № vira No, ㈱ vira (株) e ㍻ vira 平成. Use-a quando quiser tudo isso, por exemplo para comparar chaves de busca. Para mudar só a largura, converta apenas os pares de largura e deixe o resto como está.

Perguntas frequentes

Por que um formulário diz que meu número é inválido se ele parece certo?

Provavelmente ele tem números de largura total copiados de outra página. Passe-o pelo conversor com "Meia largura" e cole de novo.

Converter para meia largura muda os kanji?

Não. Kanji, hiragana e hangul não têm forma de meia largura e ficam como estão.

O espaço ideográfico vale dois espaços?

Não. É um único caractere (U+3000) tão largo quanto um kanji. Convertido, vira um espaço comum, não dois.

Por que um formulário japonês recusa meu katakana?

Ele pode pedir katakana de largura total e você digitou de meia largura, ou o contrário, ou pode não aceitar letras pequenas como ァ e ッ. Confira as instruções do campo.