2011-04-13 3 views
5

WinForm App에서 작업 중이고 Google Translator에서 텍스트를 붙여 넣을 텍스트 상자가 있습니다. Sematic과 Indo Languages를 사용하여 긍정적 인 결과를 얻었지만 중국어 문자가 Boxes로 나타납니다.Windows 텍스트 상자에 중국어 문자를 붙여 넣을 수 없습니까?

이 문제를 극복 할 방법이 있습니까?

+2

그건 - 아마 Microsft Sans 고딕이 - 그 문자를 가지고 있지 않습니다. 텍스트 상자가 사용하는 글꼴을 다른 것으로 변경할 수 있습니다. Arial Unicode (Office를 사용하는 경우) 또는 중국어 특정 글꼴 중 하나를 사용할 수 있지만 문자 또는 지능적으로 콘텐츠를 기반으로이 작업을 수행 할 수있는 방법을 알지 못합니다. 앱이 유니 코드라고 가정하면 문자가 제대로 표시되지 않더라도 올바르게 붙여 넣을 수 있습니다. – Rup

+0

예, Microsfot Sans Serif를 사용하고 있습니다. Arial Unicode 사용을 권장합니까? 많은 문제를 해결할 수 있습니까? –

+0

잘 모르겠습니다 - 가능하다면 기본 글꼴 만 사용하는 것이 더 낫습니다 (중국인은 이미 문자를 지원하는 글꼴을 사용하고있을 것입니다 - mingliu?). Arial Unicode는 Windows가 아닌 Windows와 함께 제공되기 때문에 Office를 설치 한 사람 만 사용할 수 있으므로 배포 대상에 따라 최선의 선택이 아닐 수도 있습니다. – Rup

답변

4

CJK 인코딩을 지원하는 적절한 유니 코드 글꼴을 사용해야합니다. 더 나은 것은 "Arial Unicode MS"이지만 MS Office가 설치되어 있지 않은 Vista보다 이전 버전의 OS에서는 없을 수 있습니다. 이 경우 "NSimSun"과 같은 다른 글꼴을 사용할 수 있습니다.

 
string arialUnicodeFontFace = "Arial Unicode MS"; 
Font unicodeFont = new Font(arialUnicodeFontFace, fontSize); 
if (unicodeFont.Name != arialUnicodeFontFace) 
    unicodeFont = new Font("NSimSun", fontSize); 

yourTextBox.Font = unicodeFont; 

또한 다른 버전의 Windows에서 지원되는 모든 CJK 폰트의 목록을 볼 수 있습니다 사용자의 기본 Windows 글꼴 때문에 http://en.wikipedia.org/wiki/List_of_CJK_fonts

+0

"Arial Unicode MS"는 기본적으로 Vista에서는 (또는 Win7과 관련하여) 가능하지 않습니다. Word 나 Excel과 같은 Office 제품이 필요합니다. 참조 : http://www.microsoft.com/typography/fonts/font.aspx?FMID=1081 –

관련 문제