|
Computers & Writing Systems
You are here: Rendering > Technologies > OpenType Microsoft VOLT Tutorial (VOLT – Visual OpenType Layout Tool)
Contents: IntroductionVOLT is Microsoft’s tool for adding OpenType tables to fonts. It provides a graphical UI that enables a person to visualize what is going to happen with the substitutions and positioning lookups when they are created. VOLT also includes a proofing tool that permits the functionality of the font to be tested without having to install the font in the system. An explanation of VOLT menus and window layout are found in the article “Microsoft VOLT UI Overview”. Information on obtaining VOLT can be found here. Process of using VOLTBefore starting to add OpenType tables to a font it is important to understand what features will be used with which glyphs in the font. The glyph repertoire in the font will guide the implementation of OpenType tables for the font. The process of adding OpenType tables for VOLT is:
TutorialFor the tutorial we will step through the process of using VOLT. Each step is a module in the tutorial. The SILDoulosUnicodeIPA font is used for this tutorial. The original font, before OpenType tables are added, is provided. There is a version of the font to compare your work with after each module is completed. Download here:
Step 1 – Set Glyph Properties
Exercise 1aThe following glyphs are marks. Exercise 1bThe following glyphs are marks.
Step 2 – Create Glyph Groups
Exercise 2
Step 3 – Create Substitution LookupsCreate substitution lookups for the font.
The lookup type will be automatically assigned based on the lookups that are entered. Process Marks should be set to “ALL” if marks have an impact on shaping and to “NONE” if the marks should be ignored when doing substitutions. For example, the Arabic lam alef ligature should be formed correctly even if there is a mark above the lam. The Text Flow setting only impacts the display of the substitutions. All substitutions are entered in logical order. When making lookups for ligatures, you need to make sure you do the lookups for the larger lookups before the smaller ones. This is because the first match when searching through a lookup will terminate the search process. For example: “uni02E5 uni02E7 uni02E9 -> uni02E502E9“ must come before “uni02E5 uni02E7 -> uni02E502E7“ or you will never have the possibility of forming the uni02E502E9 from the combination of uni02E5 uni02E7 uni02E9. Exercise 3aSubstitution Lookup – dotless [this lookup changes the dotted form to dottless form of the glyph if an AboveMark is placed on the letter, e.g. i becomes dottless i.] i -> dotlessi j -> unitdb5 uni0286 -> unitdb4 Context (we will trigger this substitution if the letter is followed by an above combining mark) | <AboveMarks> Exercise 3bSubstitution Lookup – liga f i -> fi f l -> fl Exercise 3cSubstitution Lookup – ipa
Step 4 – Create Positioning Lookups
Strategy for Anchor Attachments – A letter may have several anchor attachment points, depending on how various classes of marks interact with the character. Anchor attachment points for the base glyph must have unique anchor names. The “Position First” column will contain a list of the base glyphs. The “Position Second” will contain a list of the marks that will be anchored to the base glyphs. To make the process of positioning marks on a glyph easier, it is best to put all members of a class of marks into a group. For this tutorial, this was done when the AboveMarks and BelowMarks groups were created. To use a group in VOLT, the name of the group is put between “<” and “>”, e.g. “<AboveMarks>”. All marks in the group should be adjusted first to allow for a single anchor on the base glyph to be used to correctly position the mark. After the mark is positioned, the mark should be locked in place. Once the marks have been locked into place it will be straight forward to concentrate on positioning the anchor points on the base glyph. Exercise 4a
Exercise 4b
Exercise 4c
Exercise 4d
Exercise 4e
Step 5 - Create language, script, and feature treeThis step will be the glue that allows the lookups you have defined to work when the font is called by an OpenType engine.
Exercise 5
Step 6 - Test the featuresTesting the features and lookups you have is important to make sure the font works as you have designed.
Learning how to debug your font with the VOLT Proofing tool will save a lot of time when tracking down a problem that might exist in your font. Step 7 - Ship the fontWhen your font is sufficiently tested and you are ready to ship it to your user you can save a copy of your font that does not have the VOLT working tables.
© 2003-2024 SIL International, all rights reserved, unless otherwise noted elsewhere on this page. |