
ในขณะที่พัฒนาห้องสมุดการเรนเดอร์ Pixelfarm
ฉันคิดว่าวิธีที่จะแสดงสัญลักษณ์จากตัวอักษรอาจเป็นประโยชน์สำหรับห้องสมุดอื่น ๆ
ดังนั้นฉันจึงหมุนไปตามทางที่จะแสดงสัญลักษณ์จากแบบอักษรถึงที่นี่ห้องสมุด ตัวอักษร

SoV_thanamas Font จาก https://www.f0nt.com/release/sov_thanamas/
ไลบรารีการพิมพ์เป็น ไลบรารีข้ามแพลตฟอร์ม และ ไม่ จำเป็นต้องใช้ไลบรารีการเรนเดอร์ Pixelfarm
คุณสามารถใช้ไลบรารีเพื่ออ่านไฟล์แบบอักษร (.ttf, .OTF, .TTC, .OTC, .WOFF, .WOFF2) และ
โมดูลหลัก (typography.openfont, typography.glyphlayout) ไม่ได้ ให้การดำเนินการเรนเดอร์ของ Glyph แต่ในขณะที่คุณสามารถเข้าถึงและอ่านร่ายมนตร์ทั้งหมดมันเป็นเรื่องง่ายที่จะทำให้พวกเขามีตำแหน่งที่แน่นอนของแต่ละร่ายมนตร์
ด้านล่างนี้เป็นภาพหน้าจอบางส่วนของโครงการที่ใช้ตัวอักษรเพื่ออ่านร่ายมนตร์แต่ละไฟล์จากไฟล์ตัวอักษรและแสดงผลโดยใช้เอ็นจิ้นเรนเดอร์

1. Matterhackers/Agg-sharp, 2. csharpmath/Skiasharp, xamarin.forms, 3. emoji.wpf/wpf, 4. imgui/gl ของ Zwcloud
โมดูลหลักคือตัวอักษร openfont และ typography.glyphlayout
typography.openfont
typography.glyphlayout
เนื่องจากเอ็นจิ้น glyphlayout ไม่มั่นคงและค่อนข้างซับซ้อนฉันจึงแยกสิ่งนี้ออกจากโครงการ OpenFont Core

1) coremodules, 2) typography.one: ใช้งานง่ายกว่าโมดูลหลักมากขึ้น
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ 2 โมดูลและอื่น ๆ ที่นี่: #99
เนื่องจากห้องสมุดหลักไม่ได้ให้การใช้งานการเรนเดอร์สัญลักษณ์คุณสามารถเรียนรู้วิธีการทำจากที่เก็บตัวอย่างด้านบนหรือคุณอาจเรียนรู้จากการใช้งานของฉัน => pixelfarm.typography
Pixelfarm.typography เชื่อมโยงไลบรารีตัวอักษรหลักไปยังห้องสมุดการแสดงผล Pixelfarm คุณสามารถเรียนรู้วิธีการใช้งานการวาดสตริงวิธีใช้บริการการจัดการข้อความและวิธีแคชรูปร่างของกลีฟเพื่อให้คุณสามารถใช้สิ่งนี้กับไลบรารีของคุณเอง

htmlrenderer บนพื้นผิว Gles2 ข้อความจะแสดงผลด้วย pixelfarm.typography
โครงการนี้ใช้โครงการเปิดหลายโครงการ (รายการด้านล่าง) ทั้งหมดโดยใช้ใบอนุญาตที่ได้รับอนุญาต
ใบอนุญาตสำหรับโครงการทั้งหมดคือ MIT
แต่ถ้าคุณคัดลอกซอร์สโค้ดโดยตรงโปรดตรวจสอบส่วนหัวของไฟล์ต้นฉบับสำหรับข้อมูลการออกใบอนุญาตหากมี
แบบอักษร
Apache2, 2014-2016, Samuel Carlsson, ขอบคุณมากสำหรับ https://github.com/vidstige/nrasterizer
MIT, 2015, Michael Popoloski, https://github.com/mikepopoloski/sharpfont
ใบอนุญาตโครงการ Freetype (3-Clauses BSD Style), 2003-2016, David Turner, Robert Wilhelm และ Werner Lemberg และอื่น ๆ
Apache2, 2018, Apache/PDFBox Authors, https://github.com/apache/pdfbox
Apache2, 2020, Adobe Font Development Kit สำหรับ Opentype (AFDKO), https://github.com/adobe-type-tools/afdko
การประมวลผลข้อความ
Unicode (สไตล์ BSD), 2020, Unicode, Inc , https://www.unicode.org/license.html
Apache2, 2014, Muhammad Tayyab Akram, https://sheenbidi.codeplex.com/, https://github.com/tehreer
เรขาคณิต
BSD, 2002-2005, Maxim Shemanarev, เรขาคณิต Anti-Grain-เวอร์ชัน 2.4 http://www.antigrain.com
BSD, 2007-2014, Lars Brubaker, Agg-Sharp, https://github.com/matterhackers/agg-sharp
MIT, 2016, Viktor Chlumsky, https://github.com/chlumsky/msdfgen
BSD, 2009-2010, Poly2tri Inturentors, https://github.com/paintlab/poly2tri-cs
Apache2, 2016-2017, Winterdev, https://github.com/paintlab/pixelfarm
แพลตฟอร์ม
MIT, 2015-2015, Xamarin, Inc. , https://github.com/mono/skiasharp
MIT, 2006-2009, Stefanos Apostolopoulos และชุดเครื่องมือเปิดอื่น ๆ , https://github.com/opentk/opentk
MIT, 2013, Antonie Blom, https://github.com/andykorth/pencil.gaming
MIT, 2004, 2007, Novell Inc. , สำหรับ System.Drawing
แกะ, zlib, brotli
MIT, 2018, Sharpziplib, https://github.com/icsharpcode/sharpziplib
MIT, 2009, 2010, 2013-2016 โดยผู้เขียน Brotli., https://github.com/google/brotli
MIT, 2017, brezza92 (C# พอร์ตจากรหัสต้นฉบับด้วยมือ), https://github.com/brezza92/brotli
MIT, 2019, Master131, https://github.com/master131/brotlisharplib
การสาธิต
MIT, 2017, Zou Wei, https://github.com/zwcloud, ดู GUI ของ Zou Wei เพิ่มเติมได้ที่นี่และที่นี่
MIT, 2020, brezza92 (https://github.com/brezza92), MathML Layout Engine