mediante programación Si evalúo, p. SystemDialogInput["Color"]
y elija un color, digamos rojo, la celda de salida muestra RGBColor[1,0,0]
. Para ver el panel de fuentes puedo evaluar FrontEndTokenExecute["FontPanel"]
. Si tengo un texto resaltado en alguna parte, puedo cambiar el estilo de la fuente del texto resaltado (o celda) desde el panel del sistema que aparece en el FrontEndTokenExecute
. Lo que me pregunto es si hay una forma de devolver programáticamente las configuraciones de fuente elegidas análogamente a cómo SystemDialogInput["Color"]
devuelve el color elegido. Por ejemplo, evaluar un código que incluye la elección de la configuración de fuente dentro del panel de fuentes del sistema, digamos que elegir manualmente Arial 12 pt negrita en el panel de la fuente,Cómo obtener información sobre selección de fuentes en Mathematica
y regresar por ejemplo,
{FontFamily->"Arial",FontSize->12,FontWeight->Bold}
Así que estamos claros, estoy hablando de hacer esto sin ningún texto resaltado o celda en el cuaderno. Uno de los problemas parece ser, al menos en una Mac, que la fuente solo se seleccione si ha resaltado algo en la libreta. Hay algunos ejemplos de este tipo en la documentación (ref/CurrentValue
):
Style["xxxx", FontFamily :> CurrentValue["ControlsFontFamily"],
FontSize :> CurrentValue["ControlsFontSize"]]
Esto sugiere que una respuesta es posible si el argumento apropiado para CurrentValue
existe pero "ControlsFontFamily" y "PanelFontFamily" no son los argumentos adecuados en este caso .
¿También es posible enumerar programáticamente todas las fuentes disponibles en una computadora en particular?
Editar
@kguler ha proporcionado una respuesta a la oración final y la segunda parte de mi pregunta - esto podría ser utilizado para construir mi propio panel de la fuente. He ejecutado el código @ Heike y obtuve esto (captura de pantalla) en Mac OS X 10.6.8 con Mma 8.0.4. Tenga en cuenta el sombreado de PropertyValue
con ref/PropertyValue
.
Gracias @Heike. En mi Mac, la función PropertyValue tiene una coloración de sintaxis roja. El código funciona sin problemas, pero me pregunto por qué el color? He agregado una edición anterior. –
'PropertyValue' en el código del widget choca con' ref/PropertyValue', que es la razón por la cual está en rojo. Curiosamente '? PropertyValue' da una descripción para el uso del widget pero enlaces al uso' Graph' (que tiene un formato de argumento diferente). –
Decidí aceptar esta respuesta porque es una solución completa en Macintosh. Si yo fuera un usuario de Windows, creo que preferiría el método de cuaderno invisible. –