# Font Definitions

###### Identifier:

org.eclipse.ui.fontDefinitions

###### Since:

2.1

###### Description:

This extension point is used to register fonts with the JFace FontRegistry and with the workbench preference store for use by the Fonts preference page. This extension point has been deprecated in 3.0. You should now add fontDefinition elements to org.eclipse.ui.themes.

###### Configuration Markup:

<!ELEMENT extension (fontDefinition*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT fontDefinition (description?)>

<!ATTLIST fontDefinition

id CDATA #REQUIRED

label CDATA #REQUIRED

value CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED>

- id - a unique name that can be used to identify this font definition.
- label - a translatable name of the font to be presented to the user.
- value -

  the font value. This is in the form: `fontname-style-height` where `fontname` is the name of a font, `style` is a font style (one of `"regular"`, `"bold"`, `"italic"`, or `"bold italic"`) and `height` is an integer representing the font height.

  Example: `Times New Roman-bold-36`.

  Only one (or neither) of value or defaultsTo may be used.

- categoryId - the optional id of the presentation category this font belongs to.
- defaultsTo - the id of another font definition that is the default setting for the receiver. When there is no preference for this font the font registry will have the value of defaultsTo set for it in the registry.

  Only one or neither of value or defaultsTo may be used.

<!ELEMENT description (#PCDATA)>

a short description of the fonts usage

###### Examples:

Following is an example of an a font definition extension:

       <extension point="org.eclipse.ui.fontDefinition">
          <fontDefinition
             id="org.eclipse.examples.textFont"
             label="Text">
             <description>
                The text font
             </description>
          </fontDefinition>

          <fontDefinition
            id="org.eclipse.examples.userFont"
            label="User"
            defaultsTo="org.eclipse.jface.textFont">
            <description>
               The user font
            </description>
          </fontDefinition>
       </extension>

###### API Information:

The defaultsTo tag is used as a directive by the Workbench to set the value of the font definition to the value of defaultsTo whenever the defaultsTo fontDefinition is updated. This only occurs if the fontDefinition is at its default value - once it is set by the user this updates will not occur. The workbench provides 4 fonts:

org.eclipse.jface.bannerfont. The banner font is used in wizard banners.
org.eclipse.jface.dialogfont. The dialog font is the font for widgets in dialogs.
org.eclipse.jface.headerfont. The header font is used for section headers in composite text pages.
org.eclipse.jface.textfont. The text font is used by text editors.

###### Supplied Implementation:

The workbench provides the font definitions for the text, dialog, banner and header fonts.

Copyright (c) 2002, 2005 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0