2012-06-08 2 views
2

개인 글꼴이있는 RichTextBox 사용 문제 발생시 다음과 같은 문제가 발생했습니다. 내 개인 글꼴로 텍스트를 텍스트 상자에 쓸 수 있지만 선택하면 (프로그램에서 더 필요함)) 텍스트 상자 MS Sans 고딕을 선택 글꼴로 반환합니다.RichTextBox 비공개 글꼴이 올바르지 않음

PrivateFontCollection pfc = new PrivateFontCollection(); // font collection 
pfc.AddFontFile("..\\..\\Fonts\\infotra1.ttf"); // load font 
rtb.Font = new Font(pfc.Families[0], 10.0f, FontStyle.Regular); 
rtb.AppendText("lorem ipsum bla bla bla\n"); 

이제 텍스트가 텍스트 상자에 올바르게 추가됩니다.

개인 무효 rtb_SelectionChanged (객체 송신자있는 EventArgs E) { VAR의 F = rtb.SelectionFont; }

텍스트를 선택하고 rtb.SelectionFont를 검사하면 MS Sans Serif가 반환됩니다.

내 글꼴을 찾을 수없는 경우 시스템이 MS Sans Serif를 반환한다는 것을 알고 있습니다. RichTextBox에 내 개인 글꼴도 사용하고 있다고 말할 수 있습니까?

답변

3

예상대로 작동하지만 개인 글꼴을 사용하고 있으므로 f.Name 대신 f.OriginalFontName을 확인해야합니다. familyName 매개 변수는 응용 프로그램을 실행 컴퓨터에 설치되지 않았거나 지원되지 않는 글꼴, 마이크로 소프트 Sans 고딕을 지정하는 경우

:이 발견 된 글꼴 문서 (http://msdn.microsoft.com/en-us/library/164w6x6z)를 살펴보면

로 대체됩니다.

+0

덕분에 정말 도움이되었습니다. –