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.

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.


コメント