Пожалуйста, остерегайтесь. Вот почему это репо архив.
Неофициальный порт Sixlabors.fonts to Monogame для .NET 6 и выше.
Это было протестировано только в Windows. Это должно работать над другими системами, но если это не так, пожалуйста, откройте проблему. Эта библиотека также новая и не оптимизирована. Приглашаются запросы на вытягивание!
Предпосылка проста: у нас есть FontEngine , который мы используем для хранения наших шрифтов. Затем мы используем FontEngine чтобы получить загруженный шрифт, и мы рисуем с ним.
// Load up our very epic fonts!!!
FontEngine engine = new ( ) ;
engine . LoadFont ( "path/to/some-cool-font.ttf" ) ;
// The font name from the truetype file is what we need to use here.
MonoGameFont font = engine . GetFont ( "some-cool-font" , 24f ) ;
// We've got the font! Now we can draw.
// We have an extension method on SpriteBatch just for that.
// It's in SixLabors.Fonts.MonoGame.Utils
batch . DrawText ( font , "Hello, world!" , new Vector2 ( 10 , 10 ) , Color . White ) ;Предположительно, у вас есть один шрифт, и вы не хотите вводить его имя снова и снова. Или, может быть, в вашей игре есть система модов, и моды могут загружать свой собственный шрифт и использовать ее в качестве по умолчанию для всей игры. В случаях, как таковые, вы можете изменить имя шрифта по умолчанию.
// We are using the code from the above example.
// We're setting the DefaultFontName to the font we'll be using
engine . DefaultFontName = "some-cool-font" ;
// Now we can forget about the name at all!
MonoGameFont defaultFont = engine . GetDefaultFont ( 24f ) ; Для пропущенных глифов Sixlabors.fonts предоставляет запасные шрифты. Эта библиотека также реализует их. Вы можете добавить запасной шрифт, добавив его в список Swarkbackfontfamilies в FontEngine .
// We are using the code from the above examples.
fontEngine . FallbackFontFamilies . Add ( font ) ; Если addSystemFonts в конструкторе FontEngine установлен на True (что является по умолчанию), Arial , Courier и Helvetica будут добавлены в список запасных шрифтов.