Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QFontDatabase

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.gui.QFontDatabase

All Implemented Interfaces:
  QtJambiInterface, java.lang.Cloneable

    public class QFontDatabase

extends QtJambiObject
implements java.lang.Cloneable

The `QFontDatabase` class provides information about the fonts available in the underlying window system. The most common uses of this class are to query the database for the list of font `families()` and for the `pointSizes()` and `styles()` that are available for each family. An alternative to `pointSizes()` is `smoothSizes()` which returns the sizes at which a given family and style will look attractive.

If the font family is available from two or more foundries the foundry name is included in the family name, e.g. "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family you can either use the old hyphenated Qt 2.x "foundry-family" format, e.g. "Cronyx-Helvetica", or the new bracketed Qt 3.x "family [foundry]" format e.g. "Helvetica [Cronyx]". If the family has a foundry it is always returned, e.g. by `families()`, using the bracketed format.

The `font()` function returns a `QFont` given a family, style and point size.

A family and style combination can be checked to see if it is `italic()` or `bold()`, and to retrieve its `weight()`. Similarly we can call `isBitmapScalable()`, `isSmoothlyScalable()`, `isScalable()` and `isFixedPitch()`.

Use the `styleString()` to obtain a text version of a style.

The `QFontDatabase` class also supports some static functions, for example, `standardSizes()`. You can retrieve the description of a writing system using `writingSystemName()`, and a sample of characters in a writing system with `writingSystemSample()`.

Example:

            QFontDatabase database = new QFontDatabase();
            QTreeWidget fontTree = new QTreeWidget();
            fontTree.setColumnCount(2);
            List<String> headers = new Vector<String>();
            headers.add("Font");
            headers.add("Smooth Sizes");

            fontTree.setHeaderLabels(headers);

            for (String family : database.families()) {
                QTreeWidgetItem familyItem = new QTreeWidgetItem(fontTree);
                familyItem.setText(0, family);

                for (String style : database.styles(family)) {
                    QTreeWidgetItem styleItem = new QTreeWidgetItem(familyItem);
                    styleItem.setText(0, style);

                    String sizes = "";
                    for (int points : database.smoothSizes(family, style))
                        sizes += String.valueOf(points) + " ";

                    styleItem.setText(1, sizes.trim());
                }

            }

This example gets the list of font families, the list of styles for each family, and the point sizes that are available for each combination of family and style, displaying this information in a tree view.

See also:
  `QFont`, `QFontInfo`, `QFontMetrics`, `QFontComboBox`, and Character Map Example.

Nested Class Summary
`static class` | `QFontDatabase.WritingSystem`

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QFontDatabase()` Creates a font database object.

Method Summary
`static int` | `addApplicationFont(java.lang.String fileName)` Loads the font from the file specified by `fileName` and makes it available to the application.
`static int` | `addApplicationFontFromData(QByteArray fontData)` Loads the font from binary data specified by `fontData` and makes it available to the application.
`static java.util.List` | `applicationFontFamilies(int id)` Returns a list of font families for the given application font identified by `id`.
`boolean` | `bold(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is bold; otherwise returns false.
`QFontDatabase` | `clone()` This method is reimplemented for internal reasons
`java.util.List` | `families()` Returns a sorted list of the available font families.
`java.util.List` | `families(QFontDatabase.WritingSystem writingSystem)` Returns a sorted list of the available font families which support the `writingSystem`.
`QFont` | `font(java.lang.String family, java.lang.String style, int pointSize)` Returns a `QFont` object that has family `family`, style `style` and point size `pointSize`.
`boolean` | `isBitmapScalable(java.lang.String family)` Returns true if the font that has family `family` and style `style` is a scalable bitmap font; otherwise returns false.
`boolean` | `isBitmapScalable(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is a scalable bitmap font; otherwise returns false.
`boolean` | `isFixedPitch(java.lang.String family)` Returns true if the font that has family `family` and style `style` is fixed pitch; otherwise returns false.
`boolean` | `isFixedPitch(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is fixed pitch; otherwise returns false.
`boolean` | `isScalable(java.lang.String family)` Returns true if the font that has family `family` and style `style` is scalable; otherwise returns false.
`boolean` | `isScalable(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is scalable; otherwise returns false.
`boolean` | `isSmoothlyScalable(java.lang.String family)` Returns true if the font that has family `family` and style `style` is smoothly scalable; otherwise returns false.
`boolean` | `isSmoothlyScalable(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is smoothly scalable; otherwise returns false.
`boolean` | `italic(java.lang.String family, java.lang.String style)` Returns true if the font that has family `family` and style `style` is italic; otherwise returns false.
`java.util.List` | `pointSizes(java.lang.String family)` Returns a list of the point sizes available for the font that has the specified `family`.
`java.util.List` | `pointSizes(java.lang.String family, java.lang.String style)` Returns a list of the point sizes available for the font that has family `family` and style `style`.
`static boolean` | `removeAllApplicationFonts()` Removes all application-local fonts previously added using `addApplicationFont()` and `addApplicationFontFromData()`.
`static boolean` | `removeApplicationFont(int id)` Removes the previously loaded application font identified by `id`.
`java.util.List` | `smoothSizes(java.lang.String family, java.lang.String style)` Returns the point sizes of a font that has family `family` and style `style` that will look attractive.
`static java.util.List` | `standardSizes()` Returns a list of standard font sizes.
`java.util.List` | `styles(java.lang.String family)` Returns a list of the styles available for the font family `family`.
`java.lang.String` | `styleString(QFont font)` Returns a string that describes the style of the `font`.
`java.lang.String` | `styleString(QFontInfo fontInfo)` Returns a string that describes the style of the `fontInfo`.
`static boolean` | `supportsThreadedFontRendering()` Returns true if font rendering is supported outside the GUI thread, false otherwise.
`int` | `weight(java.lang.String family, java.lang.String style)` Returns the weight of the font that has family `family` and style `style`.
`static java.lang.String` | `writingSystemName(QFontDatabase.WritingSystem writingSystem)` Returns the names the `writingSystem` (e.g.
`java.util.List` | `writingSystems()` Returns a sorted list of the available writing systems.
`java.util.List` | `writingSystems(java.lang.String family)` Returns a sorted list of the writing systems supported by a given font `family`.
`static java.lang.String` | `writingSystemSample(QFontDatabase.WritingSystem writingSystem)` Returns a string with sample characters from `writingSystem`.

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

Methods inherited from class java.lang.Object
`getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Constructor Detail

### QFontDatabase

    public QFontDatabase()

  Creates a font database object.

Method Detail

### bold

    public final boolean bold(java.lang.String family,
                              java.lang.String style)

  Returns true if the font that has family `family` and style `style` is bold; otherwise returns false.

See also:
  `italic()`, and `weight()`.

### families

    public final java.util.List families()

  Returns a sorted list of the available font families.

### families

    public final java.util.List families(QFontDatabase.WritingSystem writingSystem)

  Returns a sorted list of the available font families which support the `writingSystem`.

  If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples: "Times [Adobe]", "Times [Cronyx]", "Palatino".

See also:
  `writingSystems()`.

### font

    public final QFont font(java.lang.String family,
                            java.lang.String style,
                            int pointSize)

  Returns a `QFont` object that has family `family`, style `style` and point size `pointSize`. If no matching font could be created, a `QFont` object that uses the application's default font is returned.

### isBitmapScalable

    public final boolean isBitmapScalable(java.lang.String family)

  Returns true if the font that has family `family` and style `style` is a scalable bitmap font; otherwise returns false. Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by `smoothSizes()`.

See also:
  `isScalable()`, and `isSmoothlyScalable()`.

### isBitmapScalable

    public final boolean isBitmapScalable(java.lang.String family,
                                          java.lang.String style)

  Returns true if the font that has family `family` and style `style` is a scalable bitmap font; otherwise returns false. Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by `smoothSizes()`.

See also:
  `isScalable()`, and `isSmoothlyScalable()`.

### isFixedPitch

    public final boolean isFixedPitch(java.lang.String family)

  Returns true if the font that has family `family` and style `style` is fixed pitch; otherwise returns false.

### isFixedPitch

    public final boolean isFixedPitch(java.lang.String family,
                                      java.lang.String style)

  Returns true if the font that has family `family` and style `style` is fixed pitch; otherwise returns false.

### isScalable

    public final boolean isScalable(java.lang.String family)

  Returns true if the font that has family `family` and style `style` is scalable; otherwise returns false.

See also:
  `isBitmapScalable()`, and `isSmoothlyScalable()`.

### isScalable

    public final boolean isScalable(java.lang.String family,
                                    java.lang.String style)

  Returns true if the font that has family `family` and style `style` is scalable; otherwise returns false.

See also:
  `isBitmapScalable()`, and `isSmoothlyScalable()`.

### isSmoothlyScalable

    public final boolean isSmoothlyScalable(java.lang.String family)

  Returns true if the font that has family `family` and style `style` is smoothly scalable; otherwise returns false. If this function returns true, it's safe to scale this font to any size, and the result will always look attractive.

See also:
  `isScalable()`, and `isBitmapScalable()`.

### isSmoothlyScalable

    public final boolean isSmoothlyScalable(java.lang.String family,
                                            java.lang.String style)

  Returns true if the font that has family `family` and style `style` is smoothly scalable; otherwise returns false. If this function returns true, it's safe to scale this font to any size, and the result will always look attractive.

See also:
  `isScalable()`, and `isBitmapScalable()`.

### italic

    public final boolean italic(java.lang.String family,
                                java.lang.String style)

  Returns true if the font that has family `family` and style `style` is italic; otherwise returns false.

See also:
  `weight()`, and `bold()`.

### pointSizes

    public final java.util.List pointSizes(java.lang.String family)

  Returns a list of the point sizes available for the font that has the specified `family`. The list may be empty.

### pointSizes

    public final java.util.List pointSizes(java.lang.String family,
                                           java.lang.String style)

  Returns a list of the point sizes available for the font that has family `family` and style `style`. The list may be empty.

See also:
  `smoothSizes()`, and `standardSizes()`.

### smoothSizes

    public final java.util.List smoothSizes(java.lang.String family,
                                            java.lang.String style)

  Returns the point sizes of a font that has family `family` and style `style` that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to `pointSizes()`.

See also:
  `pointSizes()`, and `standardSizes()`.

### styleString

    public final java.lang.String styleString(QFont font)

  Returns a string that describes the style of the `font`. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

### styleString

    public final java.lang.String styleString(QFontInfo fontInfo)

  Returns a string that describes the style of the `fontInfo`. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

### styles

    public final java.util.List styles(java.lang.String family)

  Returns a list of the styles available for the font family `family`. Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.

See also:
  `families()`.

### weight

    public final int weight(java.lang.String family,
                            java.lang.String style)

  Returns the weight of the font that has family `family` and style `style`. If there is no such family and style combination, returns -1.

See also:
  `italic()`, and `bold()`.

### writingSystems

    public final java.util.List writingSystems()

  Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.

See also:
  `families()`.

### writingSystems

    public final java.util.List writingSystems(java.lang.String family)

  Returns a sorted list of the writing systems supported by a given font `family`.

See also:
  `families()`.

### addApplicationFont

    public static int addApplicationFont(java.lang.String fileName)

  Loads the font from the file specified by `fileName` and makes it available to the application. An ID is returned that can be used to remove the font again with `removeApplicationFont()` or to retrieve the list of family names contained in the font.

  The function returns -1 if the font could not be loaded.

  Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.

  Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

See also:
  `addApplicationFontFromData()`, `applicationFontFamilies()`, and `removeApplicationFont()`.

### addApplicationFontFromData

    public static int addApplicationFontFromData(QByteArray fontData)

  Loads the font from binary data specified by `fontData` and makes it available to the application. An ID is returned that can be used to remove the font again with `removeApplicationFont()` or to retrieve the list of family names contained in the font.

  The function returns -1 if the font could not be loaded.

  Currently only TrueType fonts and TrueType font collections are supported.

  Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

See also:
  `addApplicationFont()`, `applicationFontFamilies()`, and `removeApplicationFont()`.

### applicationFontFamilies

    public static java.util.List applicationFontFamilies(int id)

  Returns a list of font families for the given application font identified by `id`.

See also:
  `addApplicationFont()`, and `addApplicationFontFromData()`.

### removeAllApplicationFonts

    public static boolean removeAllApplicationFonts()

  Removes all application-local fonts previously added using `addApplicationFont()` and `addApplicationFontFromData()`.

  Returns true if unloading of the fonts succeeded; otherwise returns false.

See also:
  `removeApplicationFont()`, `addApplicationFont()`, and `addApplicationFontFromData()`.

### removeApplicationFont

    public static boolean removeApplicationFont(int id)

  Removes the previously loaded application font identified by `id`. Returns true if unloading of the font succeeded; otherwise returns false.

See also:
  `removeAllApplicationFonts()`, `addApplicationFont()`, and `addApplicationFontFromData()`.

### standardSizes

    public static java.util.List standardSizes()

  Returns a list of standard font sizes.

See also:
  `smoothSizes()`, and `pointSizes()`.

### supportsThreadedFontRendering

    public static boolean supportsThreadedFontRendering()

  Returns true if font rendering is supported outside the GUI thread, false otherwise. In other words, a return value of false means that all `QPainter::drawText()` calls outside the GUI thread will not produce readable output.

See also:
  threads.html#painting-in-threads.

### writingSystemName

    public static java.lang.String writingSystemName(QFontDatabase.WritingSystem writingSystem)

  Returns the names the `writingSystem` (e.g. for displaying to the user in a dialog).

### writingSystemSample

    public static java.lang.String writingSystemSample(QFontDatabase.WritingSystem writingSystem)

  Returns a string with sample characters from `writingSystem`.

### clone

    public QFontDatabase clone()

  This method is reimplemented for internal reasons

  Overrides:
    `clone` in class `java.lang.Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD