글꼴 정보 읽기
글꼴 정보 및 메트릭을 가져오는 .NET API 솔루션.
Aspose.Font API 솔루션에는 글꼴 작업을 위한 풍부한 기능이 있습니다. 변환, 글리프 조작, 라틴 기호 감지 등. 일부 기능은 글꼴에 있는 글리프에 대한 정보를 얻는 것과 같은 글리프 조작과 연결됩니다.
글리프는 개별적으로 설계된 서체의 문자 또는 기호/문자의 그래픽 표현입니다. 이 글꼴 단위에 대한 자세한 내용은 Glyph 소개 문서를 참조하세요.
이 페이지에서는 다른 글꼴 메트릭(글리프 수, 문자 높이, 글리프 ‘A’의 너비 등)을 얻는 방법에 대한 옵션을 설명하지만 전체 기능은 글리프 개체 사용 기사. 이 예제에는 글꼴 메타데이터(구체적인 경우 글꼴 이름)를 가져오는 코드의 일부도 포함되어 있습니다. 이러한 기능은 Aspose가 생태계에 가지고 있는 Font Metadata 앱과 같은 웹 소프트웨어에 구현될 수 있습니다.
글꼴 메트릭을 수신하려면 다음이 필요합니다.
Aspose.Font for .NET API는 기능이 풍부하고 강력하며 사용하기 쉬운 C# 플랫폼용 문서 조작 및 변환 API입니다.
NuGet 패키지 관리자를 열고 Aspose.Font를 검색하여 설치합니다. 패키지 관리자 콘솔에서 다음 명령을 사용할 수도 있습니다.
Package Manager Console Command
PM> Install-Package Aspose.Font
C#을 사용하여 글꼴 메트릭을 가져오는 단계:
- 정보를 추출할 글꼴을 지정합니다.
- 인터페이스 Aspose.Font.IFontMetrics 를 사용하여 지정된 메트릭을 가져옵니다.
- 글꼴에서 cmap 유니코드 인코딩 테이블을 개체 TtfCMapFormatBaseTable 로 가져와 필요한 글꼴 글리프에 대한 정보에 액세스합니다.
- ‘A’ 기호에 대한 글리프 인덱스를 얻으려면 GetGlyphIndex() 메서드를 사용하십시오.
- 인쇄된 글리프 메트릭을 가져옵니다.
글꼴의 글리프에 대한 정보를 가져오는 C# 코드
using Aspose.Font;
using Aspose.Font.Glyphs;
using Aspose.Font.Ttf;
//Font to extract info from
TtfFont font;
string name = font.FontName;
Console.WriteLine("Font name: " + name);
Console.WriteLine("Glyph count: " + font.NumGlyphs);
string metrics = string.Format(
"Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
font.Metrics.Ascender, font.Metrics.Descender,
font.Metrics.TypoAscender, font.Metrics.TypoDescender, font.Metrics.UnitsPerEM);
Console.WriteLine(metrics);
//Get the cmap unicode encoding table from the font as an object TtfCMapFormatBaseTable to access information about the font glyph for symbol 'A'.
//Also check that font has the object TtfGlyfTable (table 'glyf') to access glyph.
Aspose.Font.TtfCMapFormats.TtfCMapFormatBaseTable cmapTable = null;
if (font.TtfTables.CMapTable != null)
{
cmapTable = font.TtfTables.CMapTable.FindUnicodeTable();
}
if (cmapTable != null && font.TtfTables.GlyfTable != null)
{
Console.WriteLine("Font cmap unicode table: PlatformID = " + cmapTable.PlatformId + ", PlatformSpecificID = " + cmapTable.PlatformSpecificId);
//Code for 'A' symbol
char unicode = (char)65;
//Glyph index for 'A'
uint glIndex = cmapTable.GetGlyphIndex(unicode);
if (glIndex != 0)
{
//Glyph for 'A'
Glyph glyph = font.GetGlyphById(glIndex);
if (glyph != null)
{
//Print glyph metrics
Console.WriteLine("Glyph metrics for 'A' symbol:");
string bbox = string.Format(
"Glyph BBox: Xmin = {0}, Xmax = {1}" + ", Ymin = {2}, Ymax = {3}",
glyph.GlyphBBox.XMin, glyph.GlyphBBox.XMax,
glyph.GlyphBBox.YMin, glyph.GlyphBBox.YMax);
Console.WriteLine(bbox);
Console.WriteLine("Width:" + font.Metrics.GetGlyphWidth(new GlyphUInt32Id(glIndex)));
}
}
}
자주하는 질문
1. 글꼴 메트릭이란 무엇입니까?
글꼴이 화면에 렌더링되는 방식을 결정하는 속성입니다. 어센트, 디센트, 너비 및 커닝과 같은 일부 메트릭은 글리프 메트릭 과 유사합니다.
2. 글꼴 메트릭은 어떻게 얻나요?
작업할 글꼴을 지정합니다. Aspose.Font.IFontMetrics 클래스 인터페이스의 속성을 사용하여 필요한 글꼴 메트릭에 대한 정보를 추출합니다.
3. 글꼴 메타데이터란 무엇입니까?
글꼴 메타데이터는 기본적으로 그것에 대한 정보입니다. 여기에는 글꼴 이름, 글꼴 패밀리 이름, 포스트스크립트 이름, 라이선스, 작성자 및 디자이너 정보 등과 같은 많은 데이터가 포함됩니다.
4. 글꼴 메타데이터는 어떻게 변경합니까?
온라인에서 글꼴 정보를 보거나 변경하려면 Font Metadata 애플리케이션을 사용하세요.