SystemFonts adalah paket yang menempatkan font yang diinstal. Ini menggunakan pustaka sistem-asli pada Mac (CORETEXT) dan Linux (FontConfig), dan menggunakan Freetype untuk menguraikan font dalam registri pada windows.
SystemFonts tersedia dari CRAN menggunakan install.packages('systemfonts') . Namun masih sedang dikembangkan dan Anda dapat menginstal versi pengembangan menggunakan DevTools.
# install.packages('devtools')
devtools :: install_github( ' r-lib/systemfonts ' )Penggunaan utama paket ini adalah untuk menemukan file font berdasarkan keluarga dan gaya:
library( systemfonts )
match_fonts( ' Avenir ' , italic = TRUE )
# > path index features
# > 1 /System/Library/Fonts/Avenir.ttc 1Fungsi ini mengembalikan jalur ke file yang menahan font, serta indeks font berbasis 0 dalam file.
Dimungkinkan juga untuk mendapatkan data.Frame dari semua font yang tersedia:
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 Lebih lanjut, Anda dapat menanyakan informasi tambahan tentang font dan mesin terbang spesifik, jika itu menarik menggunakan fungsi font_info() dan glyph_info() .
Meskipun mendapatkan informasi ini di R adalah bagus, penggunaan yang dimaksudkan sebagian besar melalui kode yang dikompilasi sehingga perangkat grafis dapat dengan mudah menemukan file font yang relevan dll.
Untuk menggunakan fungsi dari SystemFonts dalam kode C (++) Paket Anda harus mencantumkan SystemFonts di bidang LinkingTo di file DESCRIPTION . Setelah ini selesai, Anda sekarang dapat #include <systemfonts.h> dalam kode Anda dan gunakan fungsi yang disediakan. Lihatlah file inst/include/systemfonts.h untuk membiasakan diri dengan C API.
Systemfonts akan selalu mencoba menemukan font untuk Anda, bahkan jika tidak ada yang ada dengan nama atau gaya keluarga yang diberikan. Bagaimana itu diselesaikan ini spesifik sistem dan tidak boleh diandalkan, tetapi dapat diharapkan bahwa file font yang valid selalu dikembalikan tidak peduli inputnya.
Ada beberapa alias khusus yang berperilaku dapat diprediksi tetapi tergantung pada sistem:
"" dan "sans" mengembalikan helvetica di mac, arial di windows, dan font sans-serif default di linux ( dejavu sans di ubuntu)"serif" waktu pengembalian di Mac, Times New Roman di Windows, dan font serif default di Linux ( Dejavu Serif di Ubuntu)"mono" Return Courier di Mac, kurir baru di Windows, dan font mono default di Linux ( Dejavu Mono di Ubuntu)"emoji" mengembalikan emoji warna apel di mac, segoe ui emoji di windows, dan font emoji default di linux ( noto color di ubuntu) Harap dicatat bahwa proyek 'SystemFonts' dirilis dengan kode perilaku kontributor. Dengan berkontribusi pada proyek ini, Anda setuju untuk mematuhi persyaratannya.