| Microsoft Typography | Developer | VOLT specification | |||
| UI | Main | Proj window | Glyph grp | Subs tool | Posi tool | Glyph def | Proof tool | Output | |||
|
The Proofing Tool is used to try out the tables defined in VOLT on any sample character strings and track the execution.
Composition The Proofing Tool contains the following fields:
At any time the Proofing Tool can be in one of two different modes: Preparing the Test and Running the Test.
In this mode, the following actions are available:
One can choose the script and language in the drop-down lists. After choosing a script, the default language is automatically selected. Each time the script and language change, the list of features and lookups is re-initialized.
By manipulating the Direction field the user can control the directions of text in the Test Run area. By default the glyphs are put next to each other in the left-to-right order, but that can be changed for scripts like Hebrew and Arabic.
One can click on the Test Run and start typing in the current keyboard. The characters will appear just like in a normal text editor; the glyph names (result of applying CMAP) will appear at the same time in the Glyph Name Test Run. In case a character is types in that has no glyph associated with it in the font, one will see the "invalid glyph" sign and "Invalid" (in red) in the glyph name field. The test will not run as long as there are invalid characters in the test run. The Test Run field should support cut and paste.
One can also input the test run by glyph name. For that, click and type into the Glyph Name Test Run string. As soon as focus switches from it, the glyph names will be resolved and results will appear in the Test Run field. Again, the names that could not be resolved should appear in red in the name run and as invalid glyph signs in the test run. The test will not run until these errors are resolved. The Glyph Name Test Run field should support cut and paste.
After clicking in the test run or test run glyph names field, the caret will appear and one can either type or select a range of characters. (As a shortcut for selecting features for the whole run, on the first click we select the whole run, and display a caret only if the user clicks inside it again). After a range has been selected (even if it is a zero-length range, that is, a caret), the feature list will reflect all features that have already been selected for this range. If a feature is not on for the whole range, the checkbox will not be checked; if it is on for the whole range, it will be checked; otherwise, it is checked in gray. The lookups that are enabled by the selected features are checked/unchecked automatically in the same fashion. At this time, the user can change the feature selection for this range by checking/un-checking feature checkboxes. The user can also change alternate indexes for features at any time. These are the indexes that will be used during processing. For any lookup type except "Alternate Substitution" the alternate index is not applicable (the value is "-" and cannot be edited). Note that the Proofing Tool restricts the user to specifying the same alternate index for all sub ranges of the test run (this restriction does not apply in general in OpenType Layout processing). This restriction should not seriously affect the user's ability to test the OpenType tables.
Clicking on a feature name selects (highlights) that feature. At this point the region of the Test Run where the feature is applied is outlined by drawing a border around it. Checking/un-checking the feature box for the highlighted feature inserts/removes the border around the selected range of characters. It may be more intuitive for the user to apply the features in the actual test run, but it also may be more convenient to do it on glyph name run instead in presence of marks (which are hard to select because they are zero-width). Still, all visual effects (except highlighting the selected range) happen on the actual Test Run.
By pressing the "Clear All" button the user can clear all set features for the given test run. The alternate indexes are returned to their defaults ("1" where applicable and "-" otherwise)
By changing the value of the "Size" field one changes the ppem size the test will be run at. The display of the test string changes correspondingly (it would be nice to leave the physical size of letters unchanged but change the size of pixels instead).
One can start running the test by hitting one of the five buttons that control test execution (except "Stop"). The tool will enter the "Running the Test". If "Complete" is pressed, the completed results of substitution and positioning will be presented; otherwise, the tool will enter the initial state of running the test.
While running the test, one can use the four buttons "Restart", "Next Glyph", "Next Lookup", "Complete" and "Stop". By pressing "Stop" one can leave the "running the test" mode. While running the test, the tool has two important variables to track:
The current lookup and glyph index are always shown as described above while the test is running.
The tool is returned in it's initial state when running a test: current lookup = first applicable lookup, current glyph index = start of the lookup's applicable range, and the test run returns to its initial state.
If the current lookup was applicable at the current glyph and within its enabled range, perform the substitution/positioning and move the current glyph right after the glyphs that participated in the action. Otherwise, increment the current glyph index by one and, if needed, snap it forward to the next glyph where the lookup is enabled. If such a glyph does not exist, we go to the next enabled lookup and set glyph index to the first one where the next lookup is enabled. If we are out of lookups that means we have finished processing and the Next Glyph button is disabled; the shape of the test run is the result of applying the specified features.
Simulates pressing "Next Glyph" until the next lookup becomes current or we finish processing.
Simulates pressing "Next Lookup" until the processing is finished.
|
|||
| UI | Main | Proj window | Glyph grp | Subs tool | Posi tool | Glyph def | Proof tool | Output | |||
| Microsoft Typography | Developer | VOLT specification | |||