1. ผลิตภัณฑ์
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS for Python

ไลบรารี Python แบบโอเพนซอร์สสำหรับการโหลด, ตรวจสอบ, แปลง, และทำ subset ไฟล์ฟอนต์ TTF, OTF, CFF, WOFF, WOFF2, และ EOT.

ทํางานกับ Font แบบโปรแกรมใน Python

Aspose.Font FOSS สำหรับ Python เป็นชุดเครื่องมือ pure-Python สำหรับการโหลด, ตรวจสอบ, แปลง, ย่อยส่วน, และแสดงตัวอย่างฟอนต์ในรูปแบบ TrueType, OpenType, CFF, Type 1, WOFF, WOFF2, และ EOT ไลบรารีทำงานบน Python 3.10 หรือใหม่กว่าและไม่ต้องการไลบรารีฟอนต์ของ OS ภายนอกหรือการพึ่งพาเนทีฟ

ไลบรารีเปิดเผย API ที่สะอาดสำหรับการโหลดฟอนต์ผ่าน FontLoader, การเข้าถึง glyph ผ่าน GlyphAccessor, การแปลงรูปแบบผ่าน FontConverter, การเพิ่มประสิทธิภาพเว็บผ่าน FontCleaner, การย่อยส่วนที่รับรู้ข้อความผ่าน FontSubsetter, และการทำแอนิเมชันฟอนต์แบบตัวแปรผ่าน AnimationPreviewBuilder. เมตาดาต้าฟอนต์เช่น ชื่อ, ครอบครัว, สไตล์, จำนวน glyph, การเข้ารหัส, และเมตริก สามารถเข้าถึงได้ผ่านคลาสฐาน Font โดยไม่ต้องพาร์สตารางไบนารีด้วยตนเอง

Aspose.Font FOSS มีสัญญาอนุญาต MIT และสามารถติดตั้งจาก PyPI ด้วยคำสั่ง pip install เพียงคำสั่งเดียว. มันเหมาะสำหรับเครื่องมือออกแบบฟอนต์, pipeline ฟอนต์เว็บ, เอนจินการเรนเดอร์ glyph, และแอปพลิเคชัน Python ใด ๆ ที่ต้องการอ่าน, แปลง, หรือสร้างไฟล์ฟอนต์. สำหรับกลุ่มผลิตภัณฑ์ระดับองค์กร, ดู Aspose.Font — Enterprise Product Family.

การชําระและการตรวจจับรูปแบบของตัวอักษร

  • โหลดฟอนต์จากเส้นทางไฟล์หรือไบต์ดิบด้วย FontLoader.open() และ FontLoader.load()
  • ตรวจจับรูปแบบโดยอัตโนมัติ: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • เข้าถึงเมตาดาต้าฟอนต์ผ่านคลาสฐาน Font: font_name, font_family, font_style, num_glyphs
  • อ่านแผนที่การเข้ารหัส glyph ด้วย FontEncoding.unicode_to_gid() และ get_all_codepoints()
  • ตรวจสอบเมตริกฟอนต์ด้วย FontMetrics: ascent, descent, line gap, em-square

กรณีการใช้เฉพาะ

  • การตรวจสอบการใช้งานของตัวอักษรและการสกัดข้อมูลเมตาดาต้า
  • การตรวจสอบ CI/CD ที่ยืนยันชื่อครอบครัวตัวอักษรและจํานวนสัญลักษณ์ของกิลิฟ์
  • บริการรับใช้ตัวอักษรเว็บที่ยอมรับรูปแบบ input หลายรูป
  • เครื่องมือออกแบบตัวอักษรที่แสดงเมตาเดต้าโดยไม่ต้องใช้เวลาทํางานของหน้าเตียง

การเข้าถึง Glyph และการตรวจสอบเส้นทาง

  • ดึง glyphs ตาม ID หรือ Unicode ด้วย GlyphAccessor.get_glyph_by_id() และ get_glyph_by_unicode()
  • แก้ไข glyphs ทั้งหมดสำหรับสตริงด้วย GlyphAccessor.get_glyphs_for_text()
  • ตรวจสอบเส้นทางโครงร่าง glyph เป็นคำสั่งที่พิมพ์: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • เข้าถึงกล่องขอบเขตของ glyph, ความกว้างที่ก้าวหน้า, และ side bearings จากคุณสมบัติ Glyph
  • อ่านคู่ kerning จาก KernPair เพื่อการคำนวณการจัดวางข้อความที่แม่นยำ

กรณีการใช้เฉพาะ

  • การตรวจสอบการครอบคลุมของ glyph สําหรับการแสดงข้อความหลายภาษา
  • การสกัดลักษณะสําหรับการสร้างเส้นทาง SVG หรือเวกเตอร์
  • การตรวจสอบการใช้ตารางหลักในกระแสงาน QA ของตัวอักษร
  • การวิจัยการออกแบบข้อความและการทดลองวางแผนระดับต่ํา

การแปลงตัวอักษร

  • เปลี่ยนระหว่าง TTF, OTF , CFF, WOFF , WOff2, EOT และ Type 1 ด้วย FontConverter.convert()
  • ปรับรูปแบบโค้งเบซิเยอร์ด้วย CurveAdapter.quad_to_cubic() และ cubic_to_quads()
  • เปลี่ยนเส้นทางกลิฟระหว่างสี่เหลี่ยมและคิวบิกด้วย convert_path_quad_to_cubic() และ convert_path_cubic_to_quad()

กรณีการใช้เฉพาะ

  • ไพปไลน์ฟอนต์เว็บที่แปลง TTF master fonts เป็น WOFF2 เพื่อการกระจาย
  • แบบเครื่องมือการเหล็กที่ส่งออกไปยังเป้าหมายหลายรูปแบบจากแหล่งเดียว
  • การแปลง EOT ของเก่าสําหรับสต็อกอักษรเว็บที่มีความเข้ากันกลับ
  • การประเภทแบบอัตโนมัติของตัวอักษรในการบูรณาการต่อเนื่อง

การจัดสรรตัวอักษร

  • แฟนต์ย่อยโดยข้อความ Unicode กับ FontSubsetter.subset_by_text()
  • กลุ่มย่อยโดยรายการ ID ไกลฟ์ที่มี FontSubsetter.subset_by_gids()
  • ผลิตย่อยที่อุดมรับการใช้งานเว็บด้วย FontSubsetter.subset_for_web()
  • ใช้โปรไฟล์ที่ตั้งชื่อโดยใช้ FontSubsetter.subset_by_presets() และ available_presets()
  • วิเคราะห์การครอบคลุมของซับเซ็ตด้วย FontSubsetter.analyze_coverage() และ analyze_web_coverage()

กรณีการใช้เฉพาะ

  • ลดขนาดของ WOFF2 สําหรับหน้าเว็บที่มีตัวอักษรที่จํากัด
  • การผลิตชุดส่วนของตัวอักษรเฉพาะภาษาสําหรับการจัดวาง i18n
  • การทํางานการอนุญาตตัวอักษรที่กระจายชุดส่วนของเซ็ทต่อหน้า
  • การอุดมผลิตการใช้งานสําหรับแอพลิเคชั่นเว็บมือถือ

การอุดมสมัครเว็บและการนําเสนอตัวแปรของ Font

  • สตรีปตารางเก่าและบันทึกชื่อ Mac ด้วย FontCleaner.clean_for_web()
  • ตรวจสอบตัวแปรที่ใช้สอย font ให้ตรงกับ CompatibilityChecker.compare_fonts() และ compare_variable_instances()
  • การสร้างการเคลื่อนไหว APNG แอ็กซ์สเวปด้วย AnimationPreviewBuilder.build_axis_sweep()
  • สร้างเส้นทางอanimation หลายขั้นตอนด้วย AnimationPreviewBuilder.build_path()

กรณีการใช้เฉพาะ

  • หน้าตัวอย่างของอักษรและเครื่องค้นหาแกนปฏิสัมพันธ์สําหรับโรงงานเหลืองแบบ
  • ผังไฟ CI ที่ตรวจสอบพฤติกรรมของตัวอักษรที่เปลี่ยนแปลงก่อนการกระจาย
  • ผังการทํางานของเว็บที่ทิ้งตารางไบนารีที่ไม่จําเป็น
  • รูปภาพเล็กของการดูแว่นหน้ากากสําหรับแอพลิเคชั่นบริหารตัวอักษร

อัตราการอัดไฟล์ Font

เปิด TrueType หรือ OpenTyme font จากเส้นทางไฟล์และอ่านเมตาเดต้าพื้นฐานของมัน.

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

การเข้าถึง Glyphs สําหรับสตริงข้อความ

แก้ไข glyphs ทุกตัวสําหรับจุดรหัส Unicode และตรวจสอบเส้นทางลักษณะของพวกมัน

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)

การสร้างภาพออนิเมชั่นการสลับตัวของ Font Axis

สร้าง APNG ที่เคลื่อนที่ไปตามแกนตัวอักษรของค่าเริ่มต้นจนถึงจุดจบ

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")

ทําความสะอาด Font สําหรับการวางตัวเว็บไซต์

ลดตารางเก่าและบันทึกชื่อ Mac เพื่อลดขนาดไบนารี ก่อนการให้บริการเว็บ.

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

คำถามที่พบบ่อย

Aspose.Font FOSS สําหรับ Python คืออะไร?

เป็นห้องสมุดไพธอนที่มีใบอนุญาต MIT ที่ฟรี สําหรับการอัตราบรรจุ, การตรวจสอบ, แปลงและการตั้งตัวแทนในรูปแบบ TTF, OTF , CFF, Type 1, WOFF , WOff2 และ EOT. ไม่จําเป็นต้องใช้ความขึ้นอยู่กับพื้นบ้าน.

วิธีการติดตั้ง Aspose.Font FOSS สําหรับ Python?

Run pip install "aspose-font>=1.0.0". ไม่จําเป็นต้องใช้ความพึ่งพาระดับระบบ. ห้องสมุดทํางานบน Windows, macOS และ Linux ด้วย Python 3.10 หรือหลังกว่านี้.

มีการสนับสนุนรูปแบบตัวอักษรอะไรบ้าง?

FontLoader.open() อ่าน TTF, OTF , CFF, Type 1, WOFF , WOff2, และ EOT. FontConverter.convert() เขียน TFT, CFCF, WOFF และ WOFL2. Eot เป็นการอ่านเท่านั้น.

Font.to_bytes ((() มีหรือไม่?

ไม่. Font.to_bytes() ไม่ได้ถูกนําไปใช้ในคลาสฐาน ใช้ FontConverter.convert() เพื่อผลิต Font ใหม่ ในรูปแบบที่ต้องการ

ผมสามารถ subset แฟนท์สําหรับการส่งเว็บได้หรือไม่?

ใช่. FontSubsetter.subset_by_text(font, text) ส่งกลับใหม่ Font ซึ่งมีเพียง glyphs ที่จําเป็นสําหรับข้อความที่ให้.FontSubsetter.subset(font, codepoints) และ subset_by_gids(font, gids) ให้การควบคุมที่ดีกว่า.

  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย