1. 출처:
VCU10 프로젝트, Noto Sans 글꼴 사용, 정말 아름답습니다. 그런데 win7에서 확인해 보면 한글 텍스트가 깨져 보여서 상당히 골치아프네요.
인터페이스는 그림과 같이 표시됩니다.
Dude, Noto Sans 및 CJK 글꼴을 사용할 수 있으며 이름에서 알 수 있듯이 중국어, 일본어, 한국어를 지원하며 크기가 커서 그렇지 않습니다. 솔루션으로 적합합니다. 계속 생각해보세요!
2. Font.GdiCharSet 속성
현재 상황으로는 해결 방법이 없나요? 프로그램은 여러 언어를 지원해야 합니다.
먼저 글꼴 자체의 속성을 확인해 보겠습니다. 확인 결과 문자 집합 GdiCharSet을 변경하면 한국어가 정상적으로 표시될 수 있음을 확인했습니다.
정보를 검색해 보면 GdiCharSet 글꼴이 다음 값을 가질 수 있다는 것을 알게 되었습니다.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
| SHIFTJIS 적용 가능 |
---|---|
128 |
한국어 |
129 |
한국어 |
129 |
GB2312 |
134 | CHINESEBIG5는 |
136 |
OEM |
255에 적합합니다. |
한국어 |
130 |
HI 아랍어 |
177 |
Arabic |
178 |
그리스어 |
161 | 터키어 |
162 |
베트남어 |
163 |
태국어 |
222 |
EASTEUROPE |
238 |
러시아어 |
204 | MAC |
77 |
발트해 |
186 |
동유럽, 발트해 등의 문자 집합이 기본 문자 집합의 표시 효과에 영향을 주지 않고 정상적으로 한국어를 표시할 수 있음을 확인하여 문자 집합을 교체하기로 결정했습니다. . |
프로젝트 인터페이스에는 글꼴이 설정되어 있고, 인터페이스가 많기 때문에 일괄적으로 처리하려면 코드를 작성하는 것이 불편합니다. 각 양식이나 각 UserControl에서 UpdateNotoSansCharset()을 호출하면 균일하게 대체됩니다. |
//处理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; } } 로그인 후 복사
| 4. 효과
좋아, 문제가 해결되었습니다. 완벽합니다.
|
위 내용은 C#의 Noto Sans 글꼴에서 한국어를 지원하는 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!