2016-05-06 14 views
1

Ich habe ein WinForms-Label-Steuerelement, das Daten von einem JSON-Objekt liest und die Texteigenschaft festlegt.Unterstützung für Unicode-Schriftart - WinForms-Label

Ich habe keine Schrift gefunden, die bestimmte Glyphen richtig unterstützt.

Ich habe nur mit europäischen Ländern in meiner Situation, also kein Chinesisch oder Japanisch.

Hier ist ein Beispiel dafür, wie es sie in dem Label-Steuerelement rendert:

Swedish Rendering in Label

Allerdings, wenn ich die JSON-Datei in Visual Studio öffnen, mit Consolas Rendering, scheint es fein:

Correct Rendering - Swedish in Visual Studio

Auch wenn ich die Bezeichnung Consolas Schriftart festlegen, stimmt es nicht überein, was Visual Studio zeigt.

Was muss ich hier tun, damit diese Glyphen richtig gerendert werden?

+1

Nichts mit Schriftarten zu tun, das ist ein Textcodierungsproblem. Es wurde in utf-8 kodiert, aber aus irgendeinem Grund wurde es nicht so gelesen. –

Antwort

1

Dank @HansPassant, erkannte ich, was das Problem hier war.

Die betreffende JSON-Datei war eine eingebettete Ressource und wurde auf FileType.Binary festgelegt.

Dies war nicht notwendig, also habe ich dies in FileType.Text geändert, wodurch die Encoding Eigenschaft festgelegt werden kann.

Mit Encoding als Unicode (UTF-8) - Codepage 65001, wird dies jetzt wie gewünscht angezeigt.