Java에서 TTF 및 OTF 폰트 로드 및 저장

Java 애플리케이션에서 TrueType (.ttf) 및 OpenType (.otf) 폰트를 손쉽게 관리, 검사, 수정 및 저장하세요. Aspose.Font for Java는 로컬 스토리지 또는 바이트 스트림에서 폰트 파일을 로드하고, 메타데이터를 추출하고, 업데이트된 폰트 구조를 저장하기 위한 강력하고 고성능의 API를 제공합니다. OS 네이티브 폰트 엔진 의존성 없이 사용할 수 있습니다.

 

TrueType과 OpenType은 현대 운영 체제, 웹 애플리케이션 및 디지털 출판 워크플로우 전반에 걸친 표준 폰트 형식입니다. 프로그래밍 방식의 폰트 처리를 통해 주요 엔터프라이즈 기능을 활용할 수 있습니다:

  • 동적 폰트 파일 조작: - 디스크, 데이터베이스 스트림 또는 메모리 버퍼에서 TTF/OTF 폰트를 직접 읽습니다.
  • 폰트 검사 및 메타데이터 추출: - 폰트 헤더 데이터, 문자 맵, 글리프 정의 및 라이선스 정보에 액세스합니다.
  • 크로스 플랫폼 호환성: - Linux, Windows, macOS 및 클라우드 배포 환경에서 폰트 처리 워크로드를 원활하게 실행합니다.
  • 네이티브 의존성 없음: - OS별 폰트 설치 스크립트나 GUI 그래픽 드라이버(GDI 또는 X11 등)에 대한 의존성을 제거합니다.

핵심 렌더링 기능

스트림 및 디스크 로딩 - FileSystemStreamSource 또는 ByteContentStreamSource를 사용하여 TTF 및 OTF 파일을 엽니다.

메타데이터 및 메트릭 액세스 - 글리프 메트릭, 어드밴스 너비, 바운딩 박스 및 폰트 명명 테이블을 검사합니다.

폰트 데이터 내보내기 및 저장 - 폰트 파라미터를 수정하고 업데이트된 폰트 객체를 디스크 또는 스트림에 직접 직렬화합니다.

형식 변환 옵션 - TrueType/OpenType 폰트를 WOFF, WOFF2 또는 SVG와 같은 최신 웹 형식으로 변환합니다.

Java에서 TrueType 폰트를 로드하는 방법

TrueType 또는 OpenType 폰트를 로드하려면 적절한 FontType으로 FontDefinition을 인스턴스화하고 Font 팩토리 클래스를 통해 폰트를 열어야 합니다.

import com.aspose.font.FileSystemStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;

public class LoadTrueTypeFont {
    public static void main(String[] args) {
        // Define path to the TrueType font file (.ttf / .otf)
        String fontFilePath = "path/to/Montserrat-Regular.ttf";

        // Initialize FontDefinition for TTF font type
        FontDefinition fontDef = new FontDefinition(
            FontType.TTF, 
            new FontFileDefinition("ttf", new FileSystemStreamSource(fontFilePath))
        );

        // Open and load the TtfFont object
        TtfFont font = (TtfFont) Font.open(fontDef);

        // Access basic font properties
        System.out.println("Font Name: " + font.getFontName());
        System.out.println("Glyph Count: " + font.getNumGlyphs());
    }
}

Java에서 TrueType 폰트를 저장하는 방법

폰트를 메모리에 로드하고 데이터 추출 또는 수정을 수행한 후, 폰트를 로컬 디스크 스토리지에 다시 저장하거나 출력 바이트 스트림에 쓸 수 있습니다.

import com.aspose.font.ByteContentStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class SaveTrueTypeFont {
    public static void main(String[] args) throws IOException {
        // Read font file into byte array stream
        String inputPath = "path/to/source.ttf";
        byte[] fontBytes = Files.readAllBytes(Paths.get(inputPath));

        // Define font source using ByteContentStreamSource
        FontDefinition fontDef = new FontDefinition(
            FontType.TTF, 
            new FontFileDefinition("ttf", new ByteContentStreamSource(fontBytes))
        );

        // Open TTF font object
        TtfFont font = (TtfFont) Font.open(fontDef);

        // Perform font processing or inspection here...

        // Save the updated TtfFont object back to disk
        String outputPath = "path/to/output_saved.ttf";
        font.save(outputPath);

        System.out.println("TrueType font successfully saved to: " + outputPath);
    }
}

설치 및 설정

Maven을 통해 프로젝트에 Aspose.Font for Java를 포함하세요.

Package Manager Console Command

<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>Latest</version>
</dependency>

FAQ

1. TrueType 글꼴과 동일한 방법으로 OpenType 글꼴(.otf)을 로드할 수 있나요?

예. Aspose.Font for Java는 TtfFont 및 FontDefinition 아키텍처를 통해 TrueType (.ttf) 및 OpenType (.otf) 글꼴 형식을 모두 지원합니다.

2. 글꼴을 로드하고 저장하려면 호스트 운영 체제에 글꼴을 설치해야 하나요?

아니요. Aspose.Font for Java는 글꼴 구조를 파일 스트림 또는 바이트 버퍼로 직접 읽습니다. 시스템 디렉터리에 글꼴을 설치할 필요 없이 독립적으로 작동합니다.

3. TTF 또는 OTF 글꼴을 WOFF 또는 SVG와 같은 웹용 형식으로 변환할 수 있나요?

예. Aspose.Font for Java는 로드된 TrueType 및 OpenType 글꼴을 WOFF, WOFF2, SVG 및 CFF 형식으로 변환할 수 있는 기본 제공 변환 기능을 제공합니다.