
Während der Entwicklung der Pixelfarm -Rendering -Bibliothek,
Ich dachte, dass der Weg, einen Glyphen aus einer Schriftart zu rendern, für andere Bibliotheken nützlich sein kann.
Also habe ich mich von einer Schriftart bis zur Typografie, der Typografie -Bibliothek, von einer Schriftart bis zur Schriftart ab.

SOV_THANAMAS -Schriftart von https://www.f0nt.com/release/sov_thanamas/
Die Typografie-Bibliothek ist eine plattformübergreifende Bibliothek und benötigt nicht die PixelFarm-Rendering-Bibliothek.
Mit der Bibliothek können Sie Schriftdateien lesen (.ttf, .otf, .ttc, .otc, .woff, .woff2) und
Die Kernmodule (Typografie.openfont, Typografie.glyphlayout) bieten keine Implementierung von Glyphen -Rendering . Da Sie jedoch auf alle Glyphen zugreifen und lesen können, ist es einfach, sie zu rendern, sofern die genaue Position jeder Glyphe vorgesehen ist.
Im Folgenden finden Sie einige Screenshots von Projekten, bei denen die Typografie verwendet wird, um jede Glyphe aus Schriftartdateien zu lesen und mithilfe ihrer Rendering -Engine zu rendern.

1. Matterhackers/Agg-sharp, 2. CSHARPMath/Skisharp, Xamarin.Forms, 3. Emoji.WPF/WPF, 4. Zwclouds IMGui/GL, Gles
Die Kernmodule sind Typografie.openfont und Typografie.glyphlayout.
Typografie.openfont
Typografie.glyphlayout
Da der Glyplayout -Motor nicht stabil und recht komplex ist, habe ich dies vom OpenFont Core -Projekt getrennt.

1) Coremodules, 2) Typografie. Eines: Ein einfacher als Kernmodul
Weitere Informationen zu den 2 Modulen und anderen finden Sie hier: #99
Da die Kernbibliothek keine Implementierung von Glyphen -Rendering bereitstellt, können Sie aus den obigen Beispiel -Repositorys lernen, oder Sie können sie aus meiner Implementierung => pixelfarm.typography lernen.
Pixelfarm.typography verlinkt die Core Typografie -Bibliothek mit der PixelFarm -Rendering -Bibliothek. Sie können lernen, wie Sie Zeichenfolgenzeichnungen implementieren, wie Sie Text-Layout-Dienste implementieren und wie Sie Glyphenformen zwischenstrichen, damit Sie dies auf Ihre eigene Bibliothek anwenden können.

Htmlrenderer auf der GLES2 -Oberfläche, Text werden mit der Pixelfarm.Typography gerendert
Das Projekt basiert auf mehreren Open-Sourced-Projekten (unten aufgeführt), die alle zulässige Lizenzen verwenden .
Eine Lizenz für ein ganzes Projekt ist das MIT .
Wenn Sie jedoch den Quellcode direkt kopieren, überprüfen Sie bitte die Quelldatei -Header für die Lizenzinformationen, falls verfügbar.
Schriftart
Apache2, 2014-2016, Samuel Carlsson, großer Dank für https://github.com/vidstige/nrasterizer
Mit, 2015, Michael Popoloski, https://github.com/mikepopoloski/Sharpfont
Die Freetype-Projektlizenz (3-Clausses BSD Style), 2003-2016, David Turner, Robert Wilhelm und Werner Lemberg und andere, https://www.freetype.org/
Apache2, 2018, Apache/PDFBox -Autoren, https://github.com/apache/pdfbox
Apache2, 2020, Adobe Font Development Kit für Opentype (AFDKO), https://github.com/adobe-type-tools/afdko
Textverarbeitung
Unicode (BSD -Stil), 2020, Unicode, Inc , https://www.unicode.org/license.html
Apache2, 2014, Muhammad Tayyab Akram, https://sheenbidi.codeplex.com/, https://github.com/teehreer
Geometrie
BSD, 2002-2005, Maxim Shemanarev, Anti-Grain-Geometrie-Version 2.4 http://www.anigrain.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-Mitwirkende, https://github.com/paintlab/poly2TRI-CS
Apache2, 2016-2017, Winterdev, https://github.com/paintlab/pixelfarm
Plattformen
Mit, 2015-2015, Xamarin, Inc., https://github.com/mono/skisharp
MIT, 2006-2009, Stefanos Apostolopoulos und andere Open Tool Kit-Mitwirkende, https://github.com/opentk/opentk
Mit, 2013, Antonie Blom, https://github.com/andykorth/pencil.gaming
MIT, 2004, 2007, Novell Inc., für System.Drawing
Auspacken, Zlib, Brotli
MIT, 2018, Sharpziplib, https://github.com/icsharpcode/Sharpziplib
MIT, 2009, 2010, 2013-2016 von den Brotli Authors., Https://github.com/google/brotli
MIT, 2017, Brezza92 (C# Port aus dem Originalcode von Hand), https://github.com/brezza92/brotli
Mit, 2019, Master131, https://github.com/master131/brotlisharplib
Demo
MIT, 2017, Zou Wei, https://github.com/zwcloud, Weitere Zou Wei -Gui -Werke hier und hier
MIT, 2020, Brezza92 (https://github.com/brezza92), MathMl Layout Engine