Aspose.Font FOSS cho Python là một bộ công cụ pure-Python để tải, kiểm tra, chuyển đổi, cắt 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 thư viện phông chữ OS bên ngoài hay phụ thuộc gốc.
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 hoá web qua FontCleaner, cắt con 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ố glyph, mã hoá 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 thủ công các bảng nhị phân.
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, engine render 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: tăng, giảm, khoảng cách đường, em-quadratGlyphAccessor.get_glyph_by_id() và get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair để 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 TrueType hoặc OpenTyme font 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
Giải quyết tất cả các ký tự cho một điểm mã Unicode và kiểm tra đường lối phác thảo 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 từ giá trị đầu đến cuối.
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")
Tắt các bảng cũ và hồ sơ 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 tự do, được cấp phép MIT để tải, kiểm tra, chuyển đổi và đặt các phông chữ trong định dạng TTF, OTF , CFF, Type 1, WOFF , WOff2 và EOT. Không cần phụ thuộc bản địa .
pip install "aspose-font>=1.0.0" chạy. 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 hoặc mới hơn.
FontLoader.open() đọc TTF, OTF , CFF, Loại 1, WOFF , WOff2 và EOT. FontConverter.convert() viết TFT, CFC, WOFN, và WOW2. Eot chỉ có thể đọc được.
Không. Font.to_bytes() không được thực hiện trong lớp cơ bản. Sử dụng FontConverter.convert() để tạo một Font mới ở định dạng mong muốn.
Vâng. FontSubsetter.subset_by_text(font, text) trả về một Font mới chỉ chứa các ký tự cần thiết cho văn bản đã cung cấp.FontSubsetter.subset(font, codepoints) và subset_by_gids(font, gids) đưa ra kiểm soát tinh tế hơn.