SystemFontsは、インストールされたフォントを見つけるパッケージです。 Mac(CoreText)とLinux(FontConfig)のSystem-Nativeライブラリを使用し、Freetypeを使用してWindowsのレジストリ内のフォントを解析します。
SystemFontsはinstall.packages('systemfonts')を使用してCRANから利用できます。ただし、まだ開発中であり、DevToolsを使用して開発バージョンをインストールできます。
# install.packages('devtools')
devtools :: install_github( ' r-lib/systemfonts ' )このパッケージの主な使用は、家族とスタイルに基づいてフォントファイルを見つけることです。
library( systemfonts )
match_fonts( ' Avenir ' , italic = TRUE )
# > path index features
# > 1 /System/Library/Fonts/Avenir.ttc 1この関数は、フォントを保持しているファイルへのパスと、ファイル内のフォントの0ベースのインデックスを返します。
利用可能なすべてのフォントのdata.Frameを取得することも可能です。
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さらに、 font_info()およびglyph_info()関数を使用して関心がある場合は、フォントと特定のグリフに関する追加情報を照会できます。
この情報をRで取得するのは優れていますが、目的の使用は主にコンパイルされたコードを使用するため、グラフィックデバイスが関連するフォントファイルなどを簡単に見つけることができます。
C(++)コードのSystemFontsからの関数を使用するには、パッケージがDESCRIPTIONファイルのLinkingToフィールドのSystemFontをリストする必要があります。これが完了したら、 #include <systemfonts.h>コードで、提供された関数を使用できます。 inst/include/systemfonts.hファイルを調べて、C APIに慣れてください。
SystemFontsは、与えられた姓やスタイルに存在しなくても、常にあなたのためのフォントを見つけようとします。これがシステム固有であることを解決する方法は、依存するべきではありませんが、入力に関係なく有効なフォントファイルが常に返されることが予想されます。
予測可能に動作するが、システムに依存するいくつかの特別なエイリアスが存在します。
"" and "sans" MacでHelvetica 、WindowsのArial 、およびLinuxのデフォルトのSans-Serifフォントを返します(UbuntuのDejavu Sans )"serif" Macでのリターンタイム、Windowsの新しいローマ、LinuxのデフォルトのSerifフォント(UbuntuのDejavu Serif )"mono" Macの宅配便で、Windowsの新しいクーリエ、Linuxのデフォルトのモノフォント(UbuntuのDejavu Mono )"emoji" 、Macにリンゴの色の絵文字、窓のセゴーUI絵文字、Linuxのデフォルトの絵文字フォント(ubuntuのnoto色)を返します「SystemFonts」プロジェクトは、貢献者の行動規範とともにリリースされていることに注意してください。このプロジェクトに貢献することにより、お客様はその条件を順守することに同意します。