2009-07-27 2 views
4

C#에서 글꼴 (주로 ttf 및 otf)을 읽고 미리 볼 수 있습니까? 다른 언어를 사용할 수 있습니까?C# - 읽기 및 미리보기 글꼴

읽기 : 글꼴 가족 같은

  • 정보, 글꼴 이름

미리보기 :

  • 를 사용하여 글꼴은 텍스트
  • 에게 지원되는 모든 글꼴을 표시 할 수있는 방법을 표시합니다 문자?

답변

10

주의 : System.Drawing/System.Windows.Forms를 사용하지 않는 당신은 미리하려는 경우 OTF 글꼴. 그들이 TTF의 변장을하지 않는다면, 당신은 그들을 보여주지 못할 것입니다. System.Drawing은 GDI +를 기반으로 TTF 글꼴 만 지원합니다! 당신이 .NET 3.0을 사용할 수 있는지

그러나, 당신은 System.Windows.Media 네임 스페이스 (단지 PresentationCore.dll 참조)에서

Fonts.GetFontFamilies(location) 

를 사용할 수 있습니다.

FontFamily를 A로부터, 당신은 (.ttc 파일이 하나 이상의 '글꼴'을 포함하지만, FontFamily를는 다양한 무게와 변형을 결합) 개별 서체를의를 얻을 수 있습니다. 그리고 서체에서, 당신은 유니 코드 코드 포인트가 물리적으로 지원하는 당신에게해야 CharacterToGlyphMap 속성을 가지고 GlyphTypeface를 얻을 수 TryGetGlyphTypeface를 호출 할 수 있습니다.

GlyphTypeface을 직접 사용할 수도 있지만 .ttc 파일을 처리 할 수있는 방법은 없습니다. 그러나 관련이없는 경우 파일 당 GlyphTypeface를 만듭니다.

모든 유니 코드 코드 포인트를 순차적으로 시도하지 말고 조언합니다.

+0

. 나는 그것을 들여다 볼 것이다. 그것의 더 개인적인 프로젝트의, 그래서 나는 어떤 프레임 워크라도 사용할 수 있습니다. 나는 최신을 좋아한다 – iceangel89

+0

u는 ttf를 말할 때 ttf를 의미 했는가? – iceangel89

+0

아니요, .ttc 파일은 소위 트루 타입 컬렉션 파일입니다. 하나의 파일에 여러 서체가 있습니다. 예를 들어 Cambria.ttc에는 Cambria Regular 및 Cambria Regular Math가 포함되어 있습니다. – Ruben

1

글꼴을 미리 보려면이 같은 양식으로 그것을 밖으로 렌더링 할 수 있습니다

public partial class MyForm: Form 
{ 
    . 
    . 
    . 
    public void ShowMyFont() 
    { 
     Graphics graphics = this.CreateGraphics(); 
     graphics.DrawString("Hello world!", new Font("Arial", 12), Brushes.Black, 0, 0); 
    } 
} 
+1

나는 원래의 포스터가 미리 설치된 폰트가 아니라는 것을 믿었다. 파일에서. 덕분에 – leafnode