
Ao desenvolver a biblioteca de renderização do Pixelfarm,
Imaginei que a maneira de renderizar um glifo de uma fonte pode ser útil para outras bibliotecas.
Então, eu girei o caminho para renderizar um glifo de uma fonte para aqui, a biblioteca da tipografia .

Sov_thanamas Fonte de https://www.f0nt.com/release/sov_thanamas/
A biblioteca de tipografia é uma biblioteca de plataformas cruzadas e não precisa da biblioteca de renderização do PixelFarm.
Você pode usar a biblioteca para ler arquivos de font (.ttf, .otf, .ttc, .otc, .woff, .woff2) e
Os módulos do núcleo (Typography.openfont, typography.glyphlayout) não fornecem uma implementação de renderização de glifos . Mas, como você pode acessar e ler todos os glifos, é fácil renderizá -los, desde que a posição exata de cada glifo.
Abaixo estão algumas capturas de tela de projetos que usam tipografia para ler cada glifo a partir de arquivos de fonte e renderizar usando seu mecanismo de renderização.

1. MatterHackers/Agg-sharp, 2. CSharpmath/skiaSharp, xamarin.forms, 3. emoji.wpf/wpf, 4.
Os módulos principais são tipografia. OpenFont e Typography.Glyphlayout.
Typography.openfont
Typography.glyphlayout
Como o motor Glyphlayout não é estável e bastante complexo, separei isso do projeto OpenFont Core.

1) Coremodules, 2) tipografia. Um: um módulo mais fácil de usar do que o principal
Veja mais detalhes sobre os 2 módulos e outros aqui: #99
Como a biblioteca principal não fornece uma implementação de renderização de glifos, você pode aprender a fazê -lo com os repositórios de exemplo acima ou aprender com minha implementação => pixelfarm.typografia .
Pixelfarm.TyPography vincula a biblioteca de tipografia principal à biblioteca de renderização do Pixelfarm . Você pode aprender como implementar o desenho de string, como implementar serviços de layout de texto e como armazenar as formas de glifos, para que você possa aplicá-lo à sua própria biblioteca.

HtmlRenderer na superfície gles2, o texto é renderizado com o pixelfarm.typografia
O projeto é baseado em vários projetos de código aberto (listados abaixo), todos usando licenças permissivas .
Uma licença para um projeto inteiro é o MIT .
Mas se você copiar diretamente o código -fonte, verifique o cabeçalho de cada arquivo de origem para obter as informações de licenciamento, se disponível.
Fonte
Apache2, 2014-2016, Samuel Carlsson, grande obrigado por https://github.com/vidstige/nrasterizer
MIT, 2015, Michael Popoloski, https://github.com/mikepopoloski/sharpfont
A licença do Projeto Freetype (estilo 3-CLAUSES BSD), 2003-2016, David Turner, Robert Wilhelm e Werner Lemberg e outros, https://www.freetype.org/
APACHE2, 2018, AUTORES APACHE/PDFBOX, https://github.com/apache/pdfbox
Apache2, 2020, Adobe Fonte Development Kit para OpenType (Afdko), https://github.com/adobe-type-tools/afdko
Processamento de texto
Unicode (estilo BSD), 2020, Unicode, Inc , https://www.unicode.org/license.html
Apache2, 2014, Muhammad Tayyab Akram, https://sheenbidi.codeplex.com/, https://github.com/tehreer
Geometria
BSD, 2002-2005, Maxim Shemanarev, Geometria Anti-Grain-Versão 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 Colabribuidores, https://github.com/paintlab/poly2tri-cs
Apache2, 2016-2017, Winterdev, https://github.com/paintlab/pixelfarm
Plataformas
MIT, 2015-2015, Xamarin, Inc., https://github.com/mono/skiaSharp
MIT, 2006-2009, Stefanos Apostolopoulos e outros colaboradores do kit de ferramentas abertos, https://github.com/opentk/opentk
MIT, 2013, Antonie Blom, https://github.com/andykorth/pencil.gaming
MIT, 2004, 2007, Novell Inc., para System.drawing
Desembore, Zlib, Brotli
MIT, 2018, Sharpziplib, https://github.com/icsharpcode/sharpziplib
MIT, 2009, 2010, 2013-2016 pelos autores Brotli., Https://github.com/google/brotli
MIT, 2017, Brezza92 (porta c# do código original, manualmente), https://github.com/brezza92/brotli
MIT, 2019, Master131, https://github.com/master131/brotlisharplib
Demonstração
MIT, 2017, Zou Wei, https://github.com/zwcloud, veja mais o GUI de Zou Wei trabalha aqui e aqui
MIT, 2020, Brezza92 (https://github.com/brezza92), mecanismo de layout mathml