resvg 0.7 - ไลบรารีการเรนเดอร์ SVG

เปิดตัวไลบรารีแรสเตอร์ไรเซชัน SVG ใหม่ที่สำคัญแล้ว - ความละเอียด.

การเปลี่ยนแปลงที่สำคัญ:

  • การใช้งานการแสดงข้อความใหม่ทั้งหมด:
    • ตอนนี้สแต็กเกือบทั้งหมดตั้งแต่สัญลักษณ์ไปจนถึงเส้นโค้ง Bezier ถูกนำมาใช้ใน Rust:
      การเลือกแบบอักษร (การจับคู่แบบอักษรและทางเลือกสำรอง), การแยกวิเคราะห์ TrueType, การจัดเรียงกลุ่มสัญลักษณ์ตามกฎ SVG (เค้าโครงข้อความ SVG)
      ข้อยกเว้นคือการจัดรูปแบบข้อความที่ใช้
      HarfBuzz.
    • ตอนนี้ข้อความจะถูกแปลงเป็นเส้นโค้ง Bizeux ก่อนที่จะเรนเดอร์
      กล่าวคือ แบ็คเอนด์การเรนเดอร์ไม่จำเป็นต้องรองรับข้อความอีกต่อไป
    • รองรับข้อความแบบสองทิศทาง (การเรียงลำดับ BIDI ใหม่) ตัวอย่าง.
    • การสนับสนุนเส้นทางข้อความ 1 ตัวอย่าง, ตัวอย่าง 2.
    • รองรับโหมดการเขียน (ข้อความแนวตั้ง) ตัวอย่าง.
    • การสนับสนุนที่ถูกต้องสำหรับการเว้นวรรคคำและการเว้นวรรคตัวอักษร ตัวอย่าง.
  • ใหม่แบ็กเอนด์ทดลอง - ราโคเต (ขอขอบคุณเป็นพิเศษสำหรับ เจร์มุยเซล).
    Raqote เป็นไลบรารีกราฟิก 2 มิติที่เขียนด้วยภาษา Rust
    มันยังอยู่ในช่วงเริ่มต้นของการพัฒนา แต่ความสามารถของมันก็เพียงพอแล้วสำหรับ
    ใช้ใน resvg.
    ข้อได้เปรียบหลักของมันคือตอนนี้สามารถสร้าง resvg ด้วยการพึ่งพาแบบ non-Rust เพียงรายการเดียวเท่านั้น - HarfBuzz
  • รองรับการแสดงรูปร่าง การแสดงข้อความ และการแสดงภาพ
  • การเรนเดอร์ภาพแรสเตอร์ได้รับการเร่งความเร็ว
  • จำนวนการทดสอบทั้งหมดถึง 1112
    จำนวนการทดสอบ Inkscape และ librsvg ที่ประสบความสำเร็จลดลง 75%
  • การแก้ไขและปรับปรุงเล็กๆ น้อยๆ มากมาย

ผลการทดสอบ. ตารางเปรียบเทียบ

ที่มา: linux.org.ru

เพิ่มความคิดเห็น