Package org.apache.jorphan.gui.ui

# Class KerningOptimizer

java.lang.Object
org.apache.jorphan.gui.ui.KerningOptimizer

@API(since="5.5", status=INTERNAL) public class KerningOptimizer extends Object
Text rendering might be slow for long lines when kerning is enabled, so it is worth disabling kerning for long texts.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final KerningOptimizer`
`INSTANCE`

## Constructor Summary

Constructors
Constructor
Description
`KerningOptimizer()`

## Method Summary

Modifier and Type
Method
Description
`void`
`configureKerning(JComponent component, int documentLength)`
Configures text kerning according to the expected document length.
`int`
`getMaxTextLengthWithKerning()`
`void`
`installKerningListener(JTextComponent textComponent)`
Adds a listener that disables kerning if text length reaches a certain threshold.
`void`
`setMaxTextLengthWithKerning(int length)`
Configures the maximum document length for rendering with kerning enabled.
`void`
`uninstallKerningListener(JTextComponent textComponent)`
Removes the listener that disables kerning if text length reaches a certain threshold.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### INSTANCE

public static final KerningOptimizer INSTANCE

## Constructor Details

### KerningOptimizer

public KerningOptimizer()

## Method Details

### setMaxTextLengthWithKerning

public void setMaxTextLengthWithKerning(int length)
Configures the maximum document length for rendering with kerning enabled.

Parameters:
  `length` - maximum document length for rendering with kerning enabled

### getMaxTextLengthWithKerning

public int getMaxTextLengthWithKerning()

### configureKerning

public void configureKerning(JComponent component, int documentLength)
Configures text kerning according to the expected document length. This might be useful before setting the document so the kerning is disabled before updating the document.

Parameters:
  `component` - text component for kerning configuration
  `documentLength` - expected document length

### installKerningListener

public void installKerningListener(JTextComponent textComponent)
Adds a listener that disables kerning if text length reaches a certain threshold.

Parameters:
  `textComponent` - text component for kerning configuration

### uninstallKerningListener

public void uninstallKerningListener(JTextComponent textComponent)
Removes the listener that disables kerning if text length reaches a certain threshold.

Parameters:
  `textComponent` - text component for kerning configuration