SystemFonts es un paquete que ubica las fuentes instaladas. Utiliza las bibliotecas nativas del sistema en Mac (Coretext) y Linux (FontConfig), y usa Freetype para analizar las fuentes en el registro en Windows.
SystemFonts está disponible en CRAN usando install.packages('systemfonts') . Sin embargo, todavía está en desarrollo y puede instalar la versión de desarrollo usando DevTools.
# install.packages('devtools')
devtools :: install_github( ' r-lib/systemfonts ' )El uso principal de este paquete es localizar archivos de fuentes basados en la familia y el estilo:
library( systemfonts )
match_fonts( ' Avenir ' , italic = TRUE )
# > path index features
# > 1 /System/Library/Fonts/Avenir.ttc 1Esta función devuelve la ruta al archivo que contiene la fuente, así como el índice basado en 0 de la fuente en el archivo.
También es posible obtener un datos de datos. De todas las fuentes disponibles:
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 Además, puede consultar información adicional sobre fuentes y glifos específicos, si eso es de interés utilizando las funciones font_info() y glyph_info() .
Si bien obtener esta información en R es agradable, el uso previsto es principalmente a través del código compilado para que los dispositivos gráficos puedan localizar fácilmente archivos de fuente relevantes, etc.
Para usar las funciones de SystemFonts en el código C (++), su paquete debe enumerar el sistema de sistemas en el campo LinkingTo en el archivo DESCRIPTION . Una vez hecho esto, ahora puede #include <systemfonts.h> en su código y usar las funciones proporcionadas. Busque el archivo inst/include/systemfonts.h para familiarizarse con la API C.
SystemFonts siempre intentará encontrar una fuente para usted, incluso si no existe ninguna con el apellido o el estilo dado. Cómo se resuelve esto es específico del sistema y no debe confiarse, pero se puede esperar que siempre se devuelva un archivo de fuente válido sin importar la entrada.
Existen algunos alias especiales que se comportan previsiblemente pero dependiendo del sistema:
"" y "sans" return Helvetica en Mac, Arial en Windows y la fuente sans-serif predeterminada en Linux ( DeJavu Sans en Ubuntu)"serif" en Mac, Times New Roman en Windows y la fuente serif predeterminada en Linux ( DeJavu Serif en Ubuntu)"mono" devuelve mensajería en Mac, Courier New en Windows y la fuente mono predeterminada en Linux ( Dejavu Mono en Ubuntu)"emoji" devuelve el color emoji del color de manzana en Mac, segoe ui emoji en Windows, y la fuente de emoji predeterminada en Linux ( color nogo en Ubuntu) Tenga en cuenta que el proyecto 'SystemFonts' se publica con un código de conducta de contribuyentes. Al contribuir a este proyecto, usted acepta cumplir con sus términos.