자주 묻는 질문

자주 묻는 질문

라이선스 및 오픈 소스

라이선스 모델은 무엇인가요?

Aspose.Font Python용 FOSS는 다음에 따라 릴리스됩니다 MIT License. 소프트웨어를 제한 없이 사용, 복사, 수정, 병합, 게시, 배포, 서브라이선스 부여 또는 판매할 수 있습니다. 유일한 요구 사항은 저작권 고지와 라이선스 텍스트를 소프트웨어의 모든 복사본 또는 실질적인 부분에 포함시키는 것입니다.

상업 제품에 사용할 수 있나요?

Yes. MIT 라이선스는 클로즈드‑source 및 상업 제품에서의 사용을 허용합니다. 라이브러리 자체의 복사본에 저작권 헤더를 유지하는 것 외에 로열티나 저작자 표시 의무는 없습니다. Note: the CffFont class가 업데이트되었습니다 (API_MODIFIED); 기존 코드는 약간의 조정이 필요할 수 있습니다.

더 많은 기능을 제공하는 유료 버전이 있나요?Aspose.Font FOSS는 오픈 소스 에디션입니다. FOSS 에디션은 TTF, OTF, CFF를 포함합니다,

Type 1, WOFF, WOFF2 및 EOT — 실제 폰트 작업의 대부분을 포괄합니다.


설치 및 요구 사항

어떻게 하면 Aspose.Font FOSS를 Python용으로 설치할 수 있나요?

업데이트된 패키지를 설치합니다 (Python 3.10+ 필요):

git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .

폰트 API가 수정되었습니다 (API_MODIFIED). 시스템 수준의 네이티브 종속성은 필요하지 않습니다.

지원되는 Python 버전은 무엇인가요?

Python 3.10 이상. 라이브러리는 표준 라이브러리 기능만 사용하므로 CPython 및 PyPy 구현체에서 Python 3.10+을 지원하면 동작합니다.

네이티브 또는 플랫폼 종속성이 있나요?

아니오. Aspose.Font Python용 FOSS는 C 확장이 없으며, 시스템 글꼴이 없고, 플랫폼 API도 없습니다. Windows, macOS, Linux에서 동일하게 작동합니다.


형식 지원

읽을 수 있는 글꼴 형식은 무엇인가요?

FontLoader.open()는 TTF, OTF, CFF (standalone), Type 1, WOFF, WOFF2, 그리고 EOT를 로드할 수 있습니다.

from aspose_font import FontLoader

font = FontLoader.open("MyFont.ttf")

어떤 형식으로 쓸 수 있나요?

FontConverter.convert()는 TTF, CFF, WOFF, WOFF2로의 변환을 지원합니다. 출력 글꼴은 바이트나 파일 스트림으로 저장할 수 있습니다.

WOFF2 압축 해제가 내장되어 있나요?

예. WOFF2 Brotli 압축 및 압축 해제는 라이브러리 내부에서 완전히 구현됩니다. 외부 Brotli 패키지는 필요하지 않습니다.


API Usage

폰트를 로드하고 메타데이터를 검사하려면 어떻게 해야 하나요?

FontLoader.open() 를 사용하면 Font 인스턴스를 반환합니다. TTF/OTF 폰트의 경우 TtfFont 로 캐스팅하여 TTF 전용 속성에 접근합니다:

from aspose_font import FontLoader
from aspose_font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)

TTF를 WOFF2로 변환하려면 어떻게 해야 하나요?

FontLoader.open() 로 폰트를 로드한 다음, FontType.WOFF2 를 대상(Target)으로 지정하여 FontConverter.convert() 에 전달합니다. 반환된 객체는 직렬화할 준비가 된 Woff2Font 인스턴스입니다:

from aspose_font import FontLoader
from aspose_font.converter import FontConverter  # internal API — may change between releases
from aspose_font import FontType

font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)

웹 배포를 위해 폰트를 서브셋팅하려면 어떻게 해야 하나요?

FontSubsetter.subset_by_text() 를 사용하여 제공된 텍스트 문자열을 렌더링하는 데 필요한 글리프만 포함하는 새 폰트를 생성하고, 웹 페이지에 임베드할 파일 크기를 줄입니다:

from aspose_font import FontLoader
from aspose_font import FontSubsetter

font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")

개별 글리프에 접근하려면 어떻게 해야 하나요?

Font.glyph_accessor를 사용하십시오. Font.glyph_accessor는 GlyphAccessor을 구현합니다. get_glyph_by_unicode()를 유니코드 코드 포인트와 함께 호출하면 해당 글리프 객체를 가져와 메트릭이나 윤곽을 검사할 수 있습니다:

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041)  # 'A'
print(glyph.glyph_id)

알려진 제한 사항

Font.to_bytes()가 구현되어 있습니까?

추상 기반 클래스 Font.to_bytes(font_type)는 직접 호출될 경우 NotImplementedError을 발생시킵니다. 그러나 모든 구체적인 글꼴 클래스 — TtfFont, CffFont, WoffFont, Woff2Font, EotFont, 및 Type1Font — 은 to_bytes()을 완전히 구현합니다. FontLoader.open()으로 글꼴을 로드하고 반환된 구체 인스턴스에서 to_bytes()을 호출하십시오. FontConverter.convert()은 또한 지원되는 모든 대상 포맷으로 새로운 글꼴을 생성할 수 있습니다.

TtfTableSet에 있는 모든 테이블 유형이 채워져 있습니까?

일반 테이블(head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern)만 TtfTableSet의 명명된 속성으로 노출됩니다. 다른 테이블은 TtfFont.get_table_bytes(tag)을 통해 원시 바이트로 읽을 수 있습니다.

라이브러리가 가변 글꼴 인스턴스화를 지원합니까?

예. TtfFont.instantiate(coordinates)는 지정된 축 좌표에서 정적 TtfFont을 생성합니다. 먼저 TtfFont.is_variable와 TtfFont.axes을 사용하여 변형 축을 감지하십시오.

참조

 한국어