# Spell Checker

Starting from version 2011 of the PPJ Framework, we have integrated and added spell checking capabilities to all editable controls:

* SalDataField
* SalMultilineField
* SalComboBox
* SalTableColumn
* VisRichEdit

With spell checking enabled, the PPJ Framework checks words, as they are typed, using standard dictionary files, and immediately underlines spelling errors.

<div align="left"><figure><img src="https://iceteagroup.com/docs/media/clip0019.png" alt=""><figcaption></figcaption></figure></div>

## Hunspell

Spell Checking functionality in the PPJ Framework is entirely based on the open source spell checker Hunspell for 32bit and 64bit Windows

Hunspell is the spell checker of LibreOffice, OpenOffice.org and Mozilla Firefox 3 & Thunderbird, Google Chrome, and it is also used by proprietary softwares, like Mac OS X, memoQ, Opera and SDL Trados.

You can find more information here: [http://hunspell.sourceforge.net](http://hunspell.sourceforge.net/)

## Enable the Spell Checker

All editable controls (including VisRichEdit) have the property *EnableSpellChecker*. Setting this property to true automatically enables spell checking for the control. The spell checking engine uses the default language for the local Windows installation, or the language indicated for the specific control using the CultureInfo property.

<div align="left"><figure><img src="https://iceteagroup.com/docs/media/embim22.png" alt=""><figcaption></figcaption></figure></div>

## Enable the Spell Checker on other controls

The Spell Checker functionality included in the PPJ Framework can be added to other controls, including all WinForms editable controls derived from TextBoxBase, ComboBox and RichTextBox.

To enable spell checking on a control, simply add this line:

```csharp
new SpellChecker(this.textBox1);
```

This is all that´s needed. To indicate a dictionary different from the default Windows language, use this:

```csharp
new SpellChecker(this.textBox1, "de-DE);
// or
new SpellChecker(this.textBox1, CultureInfo.GetCultureInfo("de-DE));
```

## Change the Line Style

You can change the line style used to underline spelling errors by setting the *SpellChecker.LineStyle* property in code:

```csharp
SpellChecker.LineStyle = SpellCheckerLineStyle.Solid;
```

Supported values are: ZigZagged (default), Dotted and Solid.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iceteagroup.com/general/framework/spell-checker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
