このフォントを設定するための API はありませんが、次のようにハッキングできます。
## setfont properties
setfont_hack <- function(cb, spec) {
require(RGtk2)
widget <- getToolkitWidget(cb)$getChildren()[[1]]
font_descr <- pangoFontDescriptionNew()
if(!is.null(spec$weight))
font_desc$setWeight(PangoWeight[spec$weight])
if(!is.null(spec$style))
font_desc$setStyle(PangoStyle[spec$style])
if(!is.null(spec$scale))
font_desc$setSize(spec$scale * PANGO_SCALE)
if(!is.null(spec$family))
font_desc$setFamily(spec$family)
widget$modifyFont(font_desc)
if(!is.null(spec$color))
widget$modifyFg(GtkStateType[1], spec$color)
}
cb <- gcheckbox("label", cont=gwindow())
setfont_hack(cb, list(weight="bold", color="blue"))
実際には、チェックボックスのラベル部分で font<- を呼び出すだけで十分なはずですが (getToolkitWidget(cb)$getChildren()[[1]] だけ)、継承が正しく設定されていません。(S3 クラスは S4 に適切に昇格されません。)
これgWidgets2RGtk2
はあまり良くありませんが、次のことができます。
require(RGtk2)
label <- getToolkitWidget(cb)$getChildren()[[1]]
cb$set_rgtk2_font(label, list(weight="bold"))