글꼴은 스타일, 두께 등이 다른 인쇄하거나 표시할 수 있는 문자 집합입니다. 글꼴은 다양한 요구 사항에 따라 문서나 웹 페이지에 다른 모양과 느낌을 추가하는 데 사용됩니다. 글꼴 파일에는 글꼴에 대한 디자인 및 기타 정보가 포함되어 있습니다. 이 기사에서는 글꼴 파일을 사용하여 글꼴이 Java에서 프로그래밍 방식으로 라틴 기호를 지원하는지 여부를 감지합니다.

TrueType 및 Type1 글꼴에서 라틴 기호 감지를 위한 Java API

Aspose.Font for JavaTrueType, CFF, Type1 등과 같은 글꼴 작업을 위한 라이브러리입니다. API는 로드, 저장 및 글꼴에 대한 정보를 추출합니다. API를 사용하면 글꼴에서 라틴 기호 지원을 감지할 수도 있습니다. Maven을 사용하여 API를 다운로드하거나 다운로드 섹션에서 JAR을 다운로드할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.4</version>
</dependency>

Java를 사용하여 트루타입 글꼴에서 라틴 기호 감지

다음은 특정 트루타입 글꼴이 라틴 기호를 지원하는지 여부를 감지하는 단계입니다.

  • 글꼴 파일을 사용하여 FontDefinition 클래스의 인스턴스를 만듭니다.
  • 이전 단계에서 생성한 FontDefinition의 객체를 이용하여 TtfFont 클래스의 인스턴스를 생성합니다.
  • 다른 코드를 반복하고 글리프 ID로 디코딩합니다.
  • 라틴 기호 지원에 대한 글리프 ID를 확인하십시오.

다음 샘플 코드는 특정 트루타입 글꼴이 라틴 기호를 지원하는지 여부를 감지하는 방법을 보여줍니다.

// 글꼴 파일 경로
String fileName = Utils.getDataDir() + "Montserrat-Regular.ttf"; //Font file name with full path

// 글꼴 파일 로드
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// 라틴 기호 지원 확인
for (int code = 65; code < 123; code++)
{
    GlyphId gid = ttfFont.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", ttfFont.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", ttfFont.getFontName()));
}

Java를 사용하여 Type1 글꼴에서 라틴 기호 감지

Type1 글꼴에서 라틴 기호에 대한 지원을 감지하는 프로세스는 TrueType 글꼴과 유사합니다. 유일한 차이점은 Type1Font 클래스를 사용하여 글꼴 정보에 액세스한다는 것입니다. 다음은 Type1 글꼴에서 라틴 기호에 대한 지원을 감지하는 단계입니다.

  • 글꼴 파일을 사용하여 FontDefinition 클래스의 인스턴스를 만듭니다.
  • 이전 단계에서 생성한 FontDefinition 객체를 이용하여 Type1Font 클래스의 인스턴스를 생성합니다.
  • 다른 코드를 반복하고 글리프 ID로 디코딩합니다.
  • 라틴 기호 지원에 대한 글리프 ID를 확인하십시오.

다음 샘플 코드는 특정 Type1 글꼴이 라틴 기호를 지원하는지 여부를 감지하는 방법을 보여줍니다.

// 글꼴 파일 경로
String fileName = Utils.getDataDir() + "courier.pfb"; //Font file name with full path

// 글꼴 파일 로드
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// 라틴 기호 지원 확인
for (int code = 65; code < 123; code++)
{
    GlyphId gid = font.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", font.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", font.getFontName()));
}

무료 라이선스 받기

평가 제한 없이 API를 사용해 보려면 무료 임시 라이선스를 요청할 수 있습니다.

결론

이 기사에서는 Java를 사용하여 글꼴에서 라틴 기호 지원을 감지하는 방법을 배웠습니다. 공유 코드 샘플을 사용하면 특정 글꼴이 라틴 기호를 지원하는지 여부를 감지할 수 있습니다. Aspose.Font for Java는 공식 문서를 방문하여 자세히 살펴볼 수 있는 글꼴 작업을 위한 많은 추가 기능을 제공합니다. 질문이 있는 경우 무료 지원 포럼에 문의해 주십시오.

또한보십시오