Maison  >  Article  >  développement back-end  >  Exemple de tutoriel sur la prise en charge du coréen dans la police Noto Sans en c#

Exemple de tutoriel sur la prise en charge du coréen dans la police Noto Sans en c#

零下一度
零下一度original
2017-06-23 14:53:042462parcourir

1. Origine :

Le projet VCU10 utilise la police Noto Sans, qui est vraiment magnifique. Cependant, lors de la vérification sous Win7, le texte coréen affiché est tronqué, ce qui constitue un véritable casse-tête.

L'interface s'affiche comme indiqué sur la figure :

Pour sauver votre mère, vous pouvez obtenir les polices Noto Sans et CJK. Comme son nom l'indique, il prend en charge le chinois, le japonais et le coréen, et c'est énorme et ne convient pas comme plan, alors continuez à réfléchir !

2. Attribut Font.GdiCharSet

Compte tenu de la situation actuelle, le problème peut-il être résolu ? Le programme doit prendre en charge plusieurs langues.

Commençons par les propriétés de la police elle-même. La vérification a révélé que le coréen peut être affiché normalement en modifiant son jeu de caractères GdiCharSet. Nous avons une solution !

Après avoir consulté les informations, nous avons appris que la police GdiCharSet peut avoir les valeurs suivantes :

Arabe tr>

字符集

ANSI

0

DEFAULT

1

符号

2

SHIFTJIS 适用

128

韩语

129

朝鲜语

129

GB2312

134

CHINESEBIG5 适用

136

OEM

255

韩文

130

希伯来语

177

阿拉伯语

178

希腊语

161

土耳其语

162

越南语

163

泰语

222

EASTEUROPE

238

俄语

204

MAC

77

波罗的语

186

jeu de caractères

valeur

ANSI span>

0

DÉFAUT

1

Symbole

2
        //处理Label字体,以能在win7下,NotoSans字体能显示韩文public static void UpdateNotoSansCharset(Form form)
        {if (OSUtils.OSVersion > FriendlyOSVersion.Win7)return;foreach (Control ctrl in form.Controls)
                UpdateNotoSansCharset(ctrl);
        }public static void UpdateNotoSansCharset(ScrollableControl parent)
        {if (OSUtils.OSVersion > FriendlyOSVersion.Win7)return;foreach (Control ctrl in parent.Controls)
                UpdateNotoSansCharset(ctrl);
        }public static void UpdateNotoSansCharset(GControl ctrl)
        {if (ctrl is ScrollableControl)
                UpdateNotoSansCharset(ctrl as ScrollableControl);else if (ctrl is Label)
            {//CharSet采用中欧字符集var font = new Font(ctrl.Font.FontFamily, ctrl.Font.Size, ctrl.Font.Style, ctrl.Font.Unit, 238);
                ctrl.Font = font;
            }
        }
SHIFTJIS applicable

128

Coréen 129

Coréen

129
GB2312 134
CHINESEBIG5 applicable 136
OEM 255
Coréen td> 130
Espoir hébreu 177
178
Grec 161
Turc 162
vietnamien td> 163
Thaï 222
EASTEUROPE 238
Russe 204
MAC 77
Baltique td>

186

Il a été vérifié que les jeux de caractères tels que l'Europe de l'Est et la mer Baltique peuvent afficher le coréen normalement sans affecter l'effet d'affichage de son jeu de caractères par défaut, il a donc été décidé de remplacer son jeu de caractères. 3. Remplacer L'interface du projet a défini des polices, et il existe de nombreuses interfaces, bien sûr, il n'est pas pratique d'en changer une. un. Écrivez du code pour le traiter par lots ! Dans chaque formulaire ou chaque UserControl, appelez UpdateNotoSansCharset() et les numéros seront remplacés uniformément. 4. EffetOK, le problème est résolu, parfait :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn