[Unity 6]Problema de codificação de caracteres japoneses (quadrados são exibidos)

この記事は約5分で読めます。
スポンサーリンク

Coisas que eu quero fazer

Este artigo explica como corrigir o problema em que quadrados aparecem em vez de caracteres japoneses ao tentar exibi-los na interface gráfica do Unity.

Será exibido conforme mostrado acima.

スポンサーリンク

contramedida

Use Legacy em vez de TMP.

O Unity oferece dois tipos de interfaces de usuário de texto: TMP (TextMeshPro) e Legacy.

O problema descrito acima ocorre com o TMP, portanto, usar o Legacy em vez disso permitirá que o japonês seja exibido corretamente.

O TMP consegue exibir gradientes e outros efeitos que não são possíveis com o Legacy, mas para a maioria das GUIs, o Legacy é suficiente; portanto, se você não precisa dos recursos do TMP, essa solução alternativa basta.

(No entanto, a fonte japonesa que vem pré-instalada é bastante ruim. Parece ser uma fonte chamada Microsoft Yahei.)

Exemplo estranho:

Na versão 2021.3.44f1, a fonte padrão inicial é Arial, mas isso pode ser alterado.

Portanto, essa solução alternativa provou ser bastante eficaz.

Configurações de fonte (TMP)

Se você pesquisar por problemas de codificação de caracteres japoneses no Unity, este método aparecerá.

A fonte padrão do TMP parece não ser capaz de exibir caracteres japoneses, então vamos criar/definir uma fonte que possa exibi-los.

Perceber

Muitas fontes, incluindo as apresentadas no artigo abaixo, utilizam a licença SIL OFL. Elas são gratuitas para uso, mas a atribuição é obrigatória.

TextMeshProで日本語を入力すると文字化けするのと、その解決策。|森菊馬
TextMeshProで日本語使ったら、□□になりました。 こちらに書いてある通りにやったら、日本語が表示できるようになりました。 助かりました。ありがとうございます。 箇条書きで書いておきます。 参考画像 からフォントをダウンロードして、解凍。『Assets』に『Fonts』などの適当なフォルダを作って、...

Uma breve explicação

Janela (Menu) → TextMeshPro → Criador de Recursos de Fonte 

Insira a fonte importada anteriormente (ttf, otf) dentro da moldura vermelha.

A área dentro da moldura laranja está definida da seguinte forma:

Dentro da moldura amarelahttps://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4Cole todo o conteúdo do arquivo japanese_full-txt.

Clique em GeteneteFontAtlas (isso pode demorar um pouco, talvez uns 10 minutos?).

Clique em Salvar para salvar na pasta Recursos.

O TextMeshPro agora permite selecionar fontes de seu conjunto de FontAssets, possibilitando a exibição de caracteres japoneses.

Os recursos de fonte que eu criar podem ser reutilizados em outros projetos?

Analisei várias opções e tentei diferentes abordagens, mas ainda não encontrei uma solução.

(Parece que o ID está incluído no arquivo de recursos)

スポンサーリンク

結果

Mostrei duas maneiras de exibir texto japonês no Unity.

Ao usar o sistema Legacy, agora é possível exibir caracteres japoneses.

Pontos positivos:

fácil

Contras:

 A fonte é estranha, então é muito provável que uma fonte diferente seja usada.

 A visualização avançada não está disponível.

O TextMeshPro (TMP) permitiu-nos exibir texto japonês através da criação de fontes.

Pontos positivos:

 recursos avançados de exibição

Contras:

 O procedimento é complexo.

 O tamanho do arquivo é grande.

コメント

タイトルとURLをコピーしました