Everything Else
Integrated Spell Check in Helix 7.0

One of the oldest feature requests on record, Helix 7.0 includes an integrated spelling checker. Helix’s uses macOS’s built-in spelling checker, providing a consistent interface and drawing from a common dictionary for the user.

The Spell check property is option that can be turned on or off for individual rectangles. Fields that would have frequent misspellings (e.g. Last Name) can have the option turned off to avoid distraction.

Using Spell Check

Helix uses the built-in spelling checker provided by macOS. Specific features found in later versions of macOS, such as auto-correct, text substitution, and grammar correction, are not implemented in Helix. Only basic spell check features are provided at this time.

When a misspelled word is detected, it is underlined in red, as seen in the first image on the right. This happens automatically as you type in any rectangle that has Spell check turned on. (See Enabling Spell Check below.) The red lines are irrelevant to the data: they are simply an overlay provided by macOS to show where potential spelling errors have been spotted.

Notice that in the sample there is a space between the last word and the cursor. Due to a ‘bug’ in macOS, the last word in a field is not checked* unless there is a trailing space or return. You can see the same issue in TextEdit or any other word processing software that uses the built-in spell check. We are not suggesting that users should be taught to add a space to the end of their text entries; rather this is done only to illustrate the issue, as users will inevitably notice that a the last word is never flagged as misspelled.

The Spelling menu is shown by right-clicking (or control-clicking) on the word. The menu contains suggested corrections; choosing one of these alternatives inserts that word into the rectangle in place of the misspelled word.

The menu also includes options to ‘Ignore Spelling’ or “Learn Spelling” for the word. Choosing either of these does exactly what the menu item implies, according to the rules defined by macOS.

Next the menu contains the standard Cut, Copy, & Paste commands. These are available at all times, not just when misspellings are detected. That is: Helix 7.0 has basic contextual menu support for data input fields.

The final section of the contextual menu contains the Spelling hierarchical menu. Helix 7.0 does not support the floating ‘Spelling…’ panel, so that item is always disabled. The other two menu items here provide options to manually invoke the spelling checker for the active data rectangle and to disable (or enable) ‘as you type’ spell check for that field. (Manually invoking the spelling checker highlights only the first misspelled word. Tabbing into a field and pressing the up or down arrow key highlights all* misspelled words in the field.

* Bizarrely, if you tab into a field and press the Up or Left arrow key, a misspelled last word is flagged, but a misspelled first word is not. Conversely, tabbing into a field and pressing the Down or Right arrow key highlights a misspelled first word, but not a misspelled last word. Go figure.

Enabling Spell Check

Spell check is a property of data rectangles. The Spell check property is only available for data rectangles, as that are the only type of rectangle that can be typed into in User Mode.

Like all properties, the collection designer can enable or disable Spell Check on a case by case basis. The Spell check property is available in the Inspector when one or more data rectangles are selected, as shown in the image on the right.

When a collection is updated from Helix 6.2.4 or earlier, the Spell check property is automatically turned on for data rectangles that contain a text or styled text field, and off for all others. (Data rectangles containing only an abacus always have Spell check disabled, regardless of the datatype.)

When a clipping created in Helix 6.2.4 or earlier is applied to a Helix 7.0 collection, the Spell check property is automatically turned on for data rectangles that contain a text or styled text field, and off for all others. Clippings made in Helix 7.0 or later retain the property setting of the source rectangle.

The ‘Spell check’ property is turned on by default for all new data rectangles created in Helix 7.0. Although it is senseless to spell check non-text (dates, etc.) data, it does no harm.

As with all rectangle properties, the Spell check property can also be enabled and disabled via AppleScript. See the AppleScript dictionary for further information.

Additional Notes

The macOS spelling checker is also active in Design Mode, when editing the text in a label and command rectangle, to assist in collection design. The flags for misspelled words disappear as soon as you exit edit mode, and do not appear on any view that uses the template.

Three known issues exist in the macOS spelling checker:

  • The red lines that indicate spelling errors are not cleared when stepping through records via Find First, etc. — they appear in the same character count offset as in the record where they were detected. A single (left) click on the red line causes each one to disappear.
  • The menu command for opening the macOS-supplied “Spelling” panel is shown, but is always disabled in this release. We hope to enable it in a future release.
  • The last word in a field is not checked unless there is a trailing space or return. See the notes above for more details.

Apple’s Spell Check Technote for El Capitan describes other functions of this menu, including many that are not currently implemented in Helix 7.0.