
При разработке библиотеки рендеринга Pixelfarm,
Я подумал, что способ отображения глифа из шрифта может быть полезен для других библиотек.
Итак, я пробежал путь, чтобы отобрать глиф от шрифта здесь, библиотеки типографии .

Sov_thanamas font от https://www.f0nt.com/release/sov_thanamas/
Библиотека типографии представляет собой кроссплатформенную библиотеку и не нуждается в библиотеке рендеринга Pixelfarm.
Вы можете использовать библиотеку для чтения файлов шрифтов (.ttf, .otf, .ttc, .otc, .woff, .woff2) и
Основные модули (typography.openfont, typography.glyphlayout) не обеспечивают реализацию рендеринга глифа . Но поскольку вы можете получить доступ и читать все глифы, их легко предоставить им точное положение каждого глифа.
Ниже приведены некоторые скриншоты проектов, которые используют типографику для чтения каждого глифа из файлов шрифтов и рендеринга с использованием их двигателя рендеринга.

1. Matterhackers/Agg-Sharp, 2. Csharpmath/Skiasharp, xamarin.forms, 3. emoji.wpf/wpf, 4. Zwcloud Imgui/Gl, GLES
Основными модулями являются типография. Openfont и Typography.glyphlayout.
Типография. Openfont
Typography.glyphlayout
Поскольку двигатель Glyphlayout не является стабильным и довольно сложным, я отделил это от основного проекта OpenFont.

1) Coremodules, 2) Типография. Один: более простой в использовании, чем основной модуль
Смотрите более подробную информацию о двух модулях и других здесь: #99
Поскольку основная библиотека не обеспечивает реализацию рендеринга глифа, вы можете узнать, как это сделать из примеров, приведенных выше, или вы можете узнать ее из моей реализации => Pixelfarm.typography .
Pixelfarm.typography Связывает библиотеку основной типографии с библиотекой рендеринга Pixelfarm . Вы можете узнать, как реализовать строковые чертежи, как реализовать сервисы Text-Layout и как кэшировать формы Glyph, чтобы вы могли применить это к своей собственной библиотеке.

Htmlrenderer на поверхности GLES2, текст отображается с PixelfArm.Typography
Проект основан на нескольких проектах с открытым исходным кодом (перечисленным ниже) , которые используют разрешающие лицензии .
Лицензия на весь проект - MIT .
Но если вы копируете исходный код напрямую, пожалуйста, проверьте заголовок каждого исходного файла для получения информации о лицензировании.
Шрифт
Apache2, 2014-2016, Сэмюэль Карлссон, Большое спасибо за https://github.com/vidstige/nrasterizer
MIT, 2015, Майкл Пополоски, https://github.com/mikepopoloski/sharpfont
Лицензия проекта Freetype (3-Clauses BSD Style), 2003-2016, Дэвид Тернер, Роберт Вильгельм, и Вернер Лемберг и другие, https://www.freetype.org/
Apache2, 2018, Apache/Pdfbox Авторы, https://github.com/apache/pdfbox
Apache2, 2020, комплект разработки Adobe Font для OpenType (Afdko), https://github.com/adobe-type-tools/afdko
Текстовая обработка
Unicode (BSD Style), 2020, Unicode, Inc , https://www.unicode.org/license.html
Apache2, 2014, Мухаммед Тайяб Акрам, https://sheenbidi.codeplex.com/, https://github.com/tehreer
Геометрия
BSD, 2002-2005, Maxim Shemanarev, Anti-Grain Geometry-Версия 2.4 http://www.antigrain.com
BSD, 2007-2014, Ларс Брубейкер, AGG-Sharp, https://github.com/matterhackers/aggs-Sharp
MIT, 2016, Viktor Chlumsky, https://github.com/chlumsky/msdfgen
BSD, 2009-2010, участники Poly2tri, 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, см. Больше графического интерфейса Zou Wei работает здесь и здесь
MIT, 2020, Brezza92 (https://github.com/brezza92), Mathml Mayout Engine