Systemfonts ist ein Paket, das installierte Schriftarten lokalisiert. Es verwendet die systemnativen Bibliotheken auf Mac (Coretext) und Linux (Fontconfig) und verwendet Freetype, um die Schriftarten in der Registrierung unter Windows zu analysieren.
Systemfonts ist bei Cran mit install.packages('systemfonts') erhältlich. Es ist jedoch noch in der Entwicklung und Sie können die Entwicklungsversion mit Devtools installieren.
# install.packages('devtools')
devtools :: install_github( ' r-lib/systemfonts ' )Die Hauptverwendung dieses Pakets besteht darin, Schriftdateien basierend auf Familie und Stil zu lokalisieren:
library( systemfonts )
match_fonts( ' Avenir ' , italic = TRUE )
# > path index features
# > 1 /System/Library/Fonts/Avenir.ttc 1Diese Funktion gibt den Pfad in die Datei zurück, die die Schriftart sowie den 0-basierten Index der Schrift in der Datei hält.
Es ist auch möglich, einen Daten zu erhalten. Der Rahmen aller verfügbaren Schriftarten:
system_fonts()
# > # A tibble: 843 × 9
# > path index name family style weight width italic monospace
# > <chr> <int> <chr> <chr> <chr> <ord> <ord> <lgl> <lgl>
# > 1 /System/Library/Fonts… 2 Rock… Rockw… Bold bold norm… FALSE FALSE
# > 2 /Users/thomas/Library… 0 Open… Open … Ligh… normal norm… TRUE FALSE
# > 3 /Users/thomas/Library… 0 Open… Open … Semi… semib… semi… TRUE FALSE
# > 4 /System/Library/Fonts… 0 Note… Notew… Light normal norm… FALSE FALSE
# > 5 /System/Library/Fonts… 1 Deva… Devan… Bold bold norm… FALSE FALSE
# > 6 /System/Library/Fonts… 0 Kann… Kanna… Regu… normal norm… FALSE FALSE
# > 7 /System/Library/Fonts… 0 Verd… Verda… Bold bold norm… FALSE FALSE
# > 8 /System/Library/Fonts… 8 Aria… Arial… Light light norm… FALSE FALSE
# > 9 /Users/thomas/Library… 0 Open… Open … Medi… medium norm… TRUE FALSE
# > 10 /System/Library/Fonts… 10 Appl… Apple… Thin thin norm… FALSE FALSE
# > # ℹ 833 more rows Darüber hinaus können Sie zusätzliche Informationen zu Schriftarten und spezifischen Glyphen abfragen, wenn dies unter Verwendung der Funktionen font_info() und glyph_info() von Interesse ist.
Während es schön ist, diese Informationen in R zu erhalten, erfolgt die beabsichtigte Verwendung hauptsächlich über kompilierten Code, sodass Grafikgeräte problemlos relevante Schriftartdateien usw. finden können.
Um Funktionen aus Systemfonts in C (++) Code zu verwenden, sollte Ihr Paket Systemfonts im Feld LinkingTo in der DESCRIPTION Datei auflisten. Sobald dies erledigt ist, können Sie jetzt in Ihrem Code #include <systemfonts.h> und die bereitgestellten Funktionen verwenden. Schauen Sie sich die inst/include/systemfonts.h -Datei an, um sich mit der C -API vertraut zu machen.
Systemfonts werden immer versuchen, eine Schriftart für Sie zu finden, auch wenn keine mit dem angegebenen Familiennamen oder Stil vorhanden ist. Wie es auflöst, ist systemspezifisch und sollte nicht angewiesen werden. Es ist jedoch zu erwarten, dass eine gültige Schriftdatei immer zurückgegeben wird, unabhängig von der Eingabe.
Es gibt einige spezielle Aliase, die sich vorhersehbar, aber systemabhängig verhält:
"" und "sans" kehren Helvetica auf Mac, Arial unter Windows und die Standard-Sans-Serif-Schrift unter Linux zurück ( Dejavu sans auf Ubuntu)"serif" -Regenditen auf Mac, Times New Roman unter Windows und die Standard -Serifen -Schriftart unter Linux ( Dejavu Serif auf Ubuntu)"mono" Return Courier auf Mac, Kurier neu unter Windows und die Standard -Mono -Schrift unter Linux ( Dejavu Mono auf Ubuntu)"emoji" geben Apple Color Emoji auf Mac, segoe UI Emoji unter Windows und die Standard -Emoji -Schrift unter Linux zurück ( Noto -Farbe auf Ubuntu) Bitte beachten Sie, dass das Projekt 'SystemFonts' mit einem Verhaltenskodex von Mitwirkenden veröffentlicht wird. Durch den Beitrag zu diesem Projekt erklären Sie sich damit einverstanden, sich an seine Bedingungen zu halten.