
Tout en développant la bibliothèque de rendu Pixelfarm,
J'ai pensé que la façon de rendre un glyphe à partir d'une police peut être utile pour d'autres bibliothèques.
Donc, j'ai tourné le chemin pour rendre un glyphe d'une police à ici, la bibliothèque de typographie .

Sov_thanamas Font de https://www.f0nt.com/release/sov_thanamas/
La bibliothèque de typographie est une bibliothèque multiplateforme et n'a pas besoin de la bibliothèque de rendu Pixelfarm.
Vous pouvez utiliser la bibliothèque pour lire des fichiers de police (.ttf, .otf, .ttc, .otc, .woff, .woff2) et
Les modules de base (typographie.Openfont, Typography.Glyphlayout) ne fournissent pas une implémentation de rendu de glyphes . Mais comme vous pouvez accéder et lire tous les glyphes, il est facile de les rendre à condition que la position exacte de chaque glyphe.
Vous trouverez ci-dessous quelques captures d'écran de projets qui utilisent la typographie pour lire chaque glyphe à partir de fichiers de police et rendre à l'aide de leur moteur de rendu.

1. Matterhackers / Agg-Sharp, 2. CSharpmath / Skiasharp, xamarin.Forms, 3. Emoji.wpf / wpf, 4. Imgui / Gl de Zwcloud, Gles
Les modules de base sont la typographie.OpenFont et la typographie.glyphlayout.
Typographie.openfont
Typographie.glyphlayout
Étant donné que le moteur Glyphlayout n'est pas stable et assez complexe, je l'ai séparé du projet OpenFont Core.

1) Coremodules, 2) Typographie.One: Un module plus facile à utiliser
Voir plus de détails sur les 2 modules et autres ici: # 99
Étant donné que la bibliothèque principale ne fournit pas une implémentation de rendu de glyphes, vous pouvez apprendre à le faire à partir de l'exemple de référentiels ci-dessus, ou vous pouvez l'apprendre à partir de mon implémentation => pixelfarm.ypographie .
Pixelfarm.Typographic relie la bibliothèque de typographie principale à la bibliothèque de rendu Pixelfarm . Vous pouvez apprendre à implémenter le dessin de chaînes, à implémenter les services de lame de texte et à mettre en cache les formes de glyphes, afin que vous puissiez l'appliquer à votre propre bibliothèque.

HtmlRenderer sur la surface de GLES2, le texte est rendu avec le pixelfarm.ypographie
Le projet est basé sur plusieurs projets open source (répertoriés ci-dessous) tous en utilisant des licences permissives .
Une licence pour un projet entier est le MIT .
Mais si vous copiez directement le code source, veuillez vérifier l'en-tête de chaque fichier source pour les informations de licence si disponibles.
Fonte
Apache2, 2014-2016, Samuel Carlsson, grand merci pour https://github.com/vidstige/nrasterrizer
MIT, 2015, Michael Popoloski, https://github.com/mikepopoloski/sharpfont
The Freetype Project License (3-Clauses BSD Style), 2003-2016, David Turner, Robert Wilhelm et Werner Lemberg et autres, https://www.freetype.org/
Apache2, 2018, auteurs Apache / PDFBox, https://github.com/apache/pdfbox
Apache2, 2020, Kit de développement de police Adobe pour OpenType (AFDKO), https://github.com/adobe-type-tools/afdko
Traitement du texte
Unicode (style BSD), 2020, Unicode, Inc , https://www.unicode.org/license.html
Apache2, 2014, Muhammad Tayyab Akram, https://sheenbidi.codeplex.com/, https://github.com/tehreer
Géométrie
BSD, 2002-2005, Maxim Shemanarev, Géométrie anti-grain - Version 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, Contributeurs Poly2Tri, https://github.com/paintlab/poly2tri-cs
Apache2, 2016-2017, Winterdev, https://github.com/paintlab/pixelfarm
Plates-formes
MIT, 2015-2015, Xamarin, Inc., https://github.com/mono/skiasharp
MIT, 2006-2009, Stefanos Apostolopoulos et autres contributeurs de kit d'outils ouverts, https://github.com/opentk/opentk
MIT, 2013, Antonie Blom, https://github.com/andykorth/pcrun.gaming
MIT, 2004, 2007, Novell Inc., pour System.
Déballer, Zlib, Brotli
MIT, 2018, Sharpziplib, https://github.com/icsharpcode/sharpziplib
MIT, 2009, 2010, 2013-2016 par les auteurs de Brotli., Https://github.com/google/brotli
MIT, 2017, Brezza92 (C # Port du code d'origine, à la main), https://github.com/Brezza92/Brotli
MIT, 2019, Master131, https://github.com/master131/brotlisharplib
Démo
MIT, 2017, Zou Wei, https://github.com/zwcloud, voir plus de GUI de Zou Wei fonctionne ici et ici
MIT, 2020, Brezza92 (https://github.com/brezza92), moteur de mise en page Mathml