.NET MAUI: Eigene Schriftarten einbinden

Aus maxTechCorner

Auf einen Blick

Gilt für.NET MAUI 8 bis 10 auf Android, iOS, macOS und Windows
BereichSoftwareentwicklung
Dauerca. 10 Minuten
RechteEntwicklungsumgebung; Lizenz der Schriftart für App-Einbettung
StandOktober 2026

Eigene Schriftarten in .NET MAUI einbinden ist deutlich einfacher als früher unter Xamarin: Statt die Schrift je Plattform als Asset bzw. Bundle-Ressource zu hinterlegen und in der Info.plist zu registrieren, legen Sie die Datei einmal in den Ordner Resources/Fonts und registrieren sie in MauiProgram.cs. Danach steht sie auf allen Plattformen unter einem Alias zur Verfügung.

Eigene Schriftarten in .NET MAUI: Datei in Resources/Fonts ablegen, in MauiProgram.cs mit Alias registrieren und per FontFamily verwenden.

Problem

  • Eine eigene Schrift (z. B. die Hausschrift) wird in der App nicht angezeigt; Android, iOS oder Windows fallen auf die Systemschrift zurück.
  • In migrierten Xamarin-Apps funktionieren die alten Verfahren (Typeface.CreateFromAsset, UIAppFonts) nicht mehr wie gewohnt.

Lösung

Schritt 1: Schriftdatei ablegen

Die Datei (.ttf oder .otf) in den Projektordner Resources/Fonts kopieren. Die Projektvorlage enthält bereits den passenden Eintrag, der alle Dateien dort automatisch als MauiFont einbindet:

<ItemGroup>
  <MauiFont Include="Resources\Fonts\*" />
</ItemGroup>

In Visual Studio muss die Buildaktion der Datei MauiFont lauten.

Schritt 2: Schrift registrieren

In MauiProgram.cs:

builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
        fonts.AddFont("Exo-SemiBoldItalic.ttf", "ExoHeadline");   // eigener Alias
    });

Der erste Parameter ist der Dateiname, der zweite ein frei wählbarer Alias.

Schritt 3: Schrift verwenden

In XAML:

<Label Text="Willkommen" FontFamily="ExoHeadline" FontSize="24" />

Oder app-weit als Stil in Resources/Styles/Styles.xaml:

<Style TargetType="Label">
    <Setter Property="FontFamily" Value="OpenSansRegular" />
</Style>

Im C#-Code: label.FontFamily = "ExoHeadline";

Icon-Fonts nutzen

Icon-Schriften wie Font Awesome oder Fluent UI System Icons werden genauso registriert und über eine FontImageSource als Symbol verwendet:

<Button Text="Speichern">
    <Button.ImageSource>
        <FontImageSource FontFamily="FluentIcons" Glyph="&#xE74E;" Size="20" />
    </Button.ImageSource>
</Button>

Hinweise

  • Alias statt Dateiname: Für FontFamily immer den Alias aus AddFont verwenden. Der früher unter iOS nötige interne Schriftname entfällt.
  • Schriftschnitte: Fett und Kursiv werden nicht künstlich erzeugt – jede Variante (Regular, Bold, Italic) als eigene Datei mit eigenem Alias registrieren.
  • Lizenz prüfen: Viele Desktop-Schriftlizenzen erlauben das Einbetten in Apps nicht. Frei nutzbar sind z. B. Schriften unter der SIL Open Font License (Google Fonts).
  • Neu bauen: Nach dem Hinzufügen einer Schrift die App vollständig neu bauen; bei Problemen die Ordner bin und obj löschen.
  • Bei der Umsetzung Ihres Corporate Designs in Apps unterstützt Sie die individuelle Softwareentwicklung von m.a.x. it.

Siehe auch

Links und Quellen


Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung? Kontakt aufnehmen