Aspose.Font FOSS cho Python là một bộ công cụ pure-Python để tải, kiểm tra, chuyển đổi, tạo tập con và xem trước phông chữ trên các định dạng TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 và EOT. Thư viện chạy trên Python 3.10 trở lên và không yêu cầu bất kỳ thư viện phông chữ OS bên ngoài hay phụ thuộc gốc nào.
Thư viện cung cấp một API sạch sẽ cho việc tải phông chữ qua FontLoader, truy cập glyph qua GlyphAccessor, chuyển đổi định dạng qua FontConverter, tối ưu hóa web qua FontCleaner, phân đoạn có nhận thức văn bản qua FontSubsetter, và hoạt hình phông chữ biến đổi qua AnimationPreviewBuilder. Siêu dữ liệu phông chữ như tên, họ, kiểu, số lượng glyph, mã hóa và các chỉ số có thể truy cập thông qua lớp cơ sở Font mà không cần phân tích các bảng nhị phân một cách thủ công.
Aspose.Font FOSS được cấp phép MIT và có thể cài đặt từ PyPI bằng một lệnh pip install duy nhất. Nó phù hợp cho công cụ thiết kế phông chữ, quy trình phông chữ web, động cơ hiển thị glyph và bất kỳ ứng dụng Python nào cần đọc, chuyển đổi hoặc tạo ra các tệp phông chữ. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.Font — Enterprise Product Family.
FontLoader.open() và FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() và get_all_codepoints()FontMetrics: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() và get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph propertiesKernPair để tính toán bố cục văn bản chính xácFontConverter.convert()CurveAdapter.quad_to_cubic() và cubic_to_quads()convert_path_quad_to_cubic() và convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() và available_presets()FontSubsetter.analyze_coverage() và analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() và compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Mở một phông chữ TrueType hoặc OpenType từ đường dẫn tệp và đọc siêu dữ liệu cơ bản của nó.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name) # e.g. "Roboto"
print(font.font_family) # e.g. "Roboto"
print(font.num_glyphs) # e.g. 1294
Xác định tất cả các glyph cho một điểm mã Unicode và kiểm tra các đường viền của chúng.
from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41) # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
print(type(cmd).__name__, cmd)
Tạo một APNG hoạt hình quét trục phông chữ biến đổi từ giá trị bắt đầu đến giá trị kết thúc.
from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder
font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
asset = AnimationPreviewBuilder.build_axis_sweep(
font,
axis_tag="wdth",
start_val=75.0,
end_val=100.0,
frames=3,
fps=10,
text="A",
size=10.0,
bounce=True,
)
asset.write_to("roboto-sweep-wdth.png")
Loại bỏ các bảng kế thừa và bản ghi tên Mac để giảm kích thước nhị phân trước khi phục vụ web.
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped
Đây là một thư viện Python thuần, miễn phí, có giấy phép MIT, dùng để tải, kiểm tra, chuyển đổi và tạo subset phông chữ ở các định dạng TTF, OTF, CFF, Type 1, WOFF, WOFF2 và EOT. Không cần bất kỳ phụ thuộc gốc nào.
Chạy pip install "aspose-font>=1.0.0". Không cần phụ thuộc cấp hệ thống. Thư viện hoạt động trên Windows, macOS và Linux với Python 3.10 trở lên.
FontLoader.open() đọc các định dạng TTF, OTF, CFF, Type 1, WOFF, WOFF2 và EOT. FontConverter.convert() ghi các định dạng TTF, CFF, WOFF và WOFF2. EOT chỉ đọc.
Không. Font.to_bytes() không được triển khai trong lớp cơ sở. Sử dụng FontConverter.convert() để tạo một Font mới ở định dạng mong muốn.
Có. FontSubsetter.subset_by_text(font, text) trả về một Font mới chỉ chứa các glyph cần thiết cho văn bản đã cho. FontSubsetter.subset(font, codepoints) và subset_by_gids(font, gids) cung cấp kiểm soát chi tiết hơn.