Font

From FreeMind
Jump to navigationJump to search

Each node can have its own font, including font family, font size, boldface indicator and italics indicator.

The default font properties for nodes is set in the "freemind.properties" file, or "user.properties", including default font family and default font size.

The font family and font size can be set in a physical style.

Properties

Properties in "freemind.properties":

#The default node font. This will only work if the font (TrueTypeFont) is available on the system
defaultfont = SansSerif
defaultfontstyle = 0
defaultfontsize = 12

Implementation

  • Controller
    • Controller.getFontThroughMap
  • NodeAdapter
    • NodeAdapter.establishOwnFont
    • NodeAdapter.setBold
    • NodeAdapter.toggleBold
    • NodeAdapter.setItalic
    • NodeAdapter.toggleItalic
    • NodeAdapter.setFont
    • NodeAdapter.setFontSize
    • NodeAdapter.getFont
    • NodeAdapter.getFontSize
    • NodeAdapter.getFontFamilyName
    • NodeAdapter.isBold
    • NodeAdapter.isItalic
  • NodeView
    • NodeView.updateFont

CVS:

Storage at node model

The font assigned to an individual node is stored at NodeModel, or specifically, at NodeAdapter[1]. It is stored at the attribute "font" typed as the Java class Font. Thus, all the font properties including family, size, boldface and italics are stored together in one attribute.

Storage in XML

  • <node ...><font .../></node>
  • Example: <font ITALIC="true" NAME="Garamond" BOLD="true" SIZE="13"/>