windowsruser-interfaceconsole

Set font and font size in R Console programmatically?


Is it possible to set the console font and font size, as I would with "Edit->GUI preferences", programmatically? What would a function for this look like? I am on windows.


Solution

  • On Windows (at least), the $R_HOME/etc/Rconsole config file sets many optional parameters for the console and pager. Here's the section that you could hand-edit to change the default font and font size:

    ## Font.
    # Please use only fixed width font.
    # If font=FixedFont the system fixed font is used; in this case
    # points and style are ignored. If font begins with "TT ", only
    # True Type fonts are searched for.
    font = TT Courier New
    points = 10
    style = normal # Style can be normal, bold, italic
    

    To change the values from the command line of an active R session, you could use the loadRconsole() function. It reads in a text file containing directives of the form shown above, which will overwrite the values read from Rconsole when R was launched. Here's an example:

    temp <- tempfile()
    cat("points = 13\n", file = temp)
    cat("style = italic\n", file = temp, append = TRUE)
    loadRconsole(file = temp)
    
    ## And then, to reset to the defaults:
    loadRconsole(file = file.path(R.home(), "etc/Rconsole"))