Due to a change made by Microsoft in the description for the Initial Forms (init) feature, the feature is enabled by default and not presented to users in the GUI, so it cannot be disabled.
When I designed my fonts, the description of the init feature was different.
Friendly name: Initial Forms
Registered by: Microsoft/Adobe
Function: Replaces glyphs at the beginnings of words with alternate forms designed for this use. This is common in Latin connecting scripts, and required in various non-Latins like Arabic.
Example: In the typeface Ex Ponto, the default t in the word 'type' is replaced with the t.begin form.
Recommended implementation: The init table maps default alphabetic forms to corresponding beginning forms (GSUB lookup type 1).
Application interface: The application is responsible for noting word boundaries. For GIDs at the beginnings of words and found in the init coverage table, the application passes a GID to the feature and gets back a new GID.
UI suggestion: This feature should be active by default.
Script/language sensitivity: Can be used in any alphabetic script.
Feature interaction: This feature may be used in combination with other substitution (GSUB) features, whose results it may override. See also medi and fina.
I have therefore decided to remove all Initial Forms features from my fonts and use a Character Variant instead. This seems like an easier option to implement than Contextual Alternates, but it does mean that the user has to disable the feature globally and enable it wherever it is needed.
Is there a better alternative?