TRVSpellChecker
TRVSpellChecker is a new component that uses spelling checking functions provided by OS.
The FireMonkey version supports Windows, macOS, iOS, Linux (all OS except for Android).
Linux does not have a system spelling checking library, so the Linux version of TRVSpellChecker uses HunSpell.
Windows provides spelling checking functions since Windows 8.
The list of supported features is different for different OS, see
https://www.trichview.com/help/idh_trvs ... tures.html
For example, auto-correction is supported only on Windows, guessing word completions is only on macOS and iOS.
Spelling checking on macOS platform (FireMonkey)
Spelling checking on Windows platform (VCL ActionTest demo)
The component provides spell-checking both using dialogs (in Windows, macOS, Linux) and in a background thread.
You can choose from 2 types of dialogs: a classic dialog type (where the user can correct a misspelled word) and a dialog type that once was used by Microsoft Office (where the user can correct not only a misspelled word by also a surrounding text).
Classic spell-checking dialog
UI of the dialogs is in English. If you use RichViewActions (in VCL and Lazarus version), UI of these dialogs is automatically translated. Otherwise, you can use an event that occurs when a dialog is created, and localize it yourself (or use some tool that localizes application's forms).
Using as a platform service
In FireMonkey, you can call RVSpellChecker.
RegisterAsService to use this component as a FireMonkey platform spelling checking service.
In this way, you can use it to check spelling in other controls supporting IFMXSpellCheckerService, such as TEdit or TMemo.
It is especially useful in OS where spelling checking is not implemented by Embarcadero (Windows and Linux).
But it is also useful in iOS and macOS, because TRVSpellChecker provides more features (for example, switching a dictionary).
TRichViewEdit can use FireMonkey platform service as well, if you assign its
CheckSpelling property = True. However, it's recommended to use TRVSpellChecker directly, when possible.