CINXE.COM
Microsoft VOLT Tutorial (VOLT – Visual OpenType Layout Tool)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Microsoft VOLT Tutorial (VOLT – Visual OpenType Layout Tool)</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="keywords" content="VOLT, opentype, smart, font"> <link rel="stylesheet" href="/cms/assets/misc/css/default.css" type="text/css"> <link rel="stylesheet" href="/cms/sites/nrsi/themes/default/_css/default.css" type="text/css"> <style type="text/css"> <!-- A.GlobalNavLink, A.GlobalNavLink:visited { color: #FFFF00; font-size: smaller; font-weight: bold; } --> </style> <!-- 2023-05-25 PKM Added for Google Analytics 4 --> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-FVXRGR2Q9V"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-FVXRGR2Q9V'); </script> <title>Microsoft VOLT Tutorial (VOLT – Visual OpenType Layout Tool)</title> </head> <body style="padding:0; margin:0"> <style> .archive_notice { /* box-shadow: black 0pt 4pt 20px -8px inset; */ display: block; background-color: orange; font-size: 12pt; font-style: normal; font-weight: lighter; line-height: 100%; padding: 5pt; text-align: center; width: auto; } form { display: none } .webform::before { content: "Forms are disabled on this static version of the site."; display: block; width: fit-content; } </style> <div class="archive_notice"> This is an archive of the original scripts.sil.org site, preserved as a historical reference. Some of the content is outdated. Please consult our other sites for more current information: <a href="https://software.sil.org">software.sil.org</a>, <a href="https://scriptsource.org">ScriptSource</a>, <a href="https://silnrsi.github.io/FDBP/">FDBP</a>, and <a href="https://silnrsi.github.io/silfontdev/">silfontdev</a> </div> <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="background: #0068a6; padding-left:20; padding-top:10; white-space:nowrap;" width="110" valign="top"> <p><a href="http://www.sil.org/"> <!-- <img src="/cms/sites/nrsi/themes/default/_media/SIL_logo_left_column.gif" width="86" height="80" border="0"> --> <img src="/cms/sites/nrsi/themes/default/_media/SIL_Logo_TM_Blue_2014.png" width="85" height="95" border="0" alt=""> </a><br><br></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dhome%26site_id%3Dnrsi.html">Home</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dcontactus%26site_id%3Dnrsi.html">Contact Us</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dgeneral%26site_id%3Dnrsi.html">General</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dbabel%26site_id%3Dnrsi.html">Initiative B@bel</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dwsi_guidelines%26site_id%3Dnrsi.html">WSI Guidelines</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dencoding%26site_id%3Dnrsi.html">Encoding</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dencodingprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dunicode%26site_id%3Dnrsi.html">Unicode</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodetraining%26site_id%3Dnrsi.html">Training</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodetutorials%26site_id%3Dnrsi.html">Tutorials</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dunicodepua%26site_id%3Dnrsi.html">PUA</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dconversion%26site_id%3Dnrsi.html">Conversion</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dencconvres%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dconversionutilities%26site_id%3Dnrsi.html">Utilities</a></p> <p class="Cat4"><a class="Cat4" href="/cms/scripts/page.php%3Fid%3Dteckit%26site_id%3Dnrsi.html">TECkit</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dconversionmaps%26site_id%3Dnrsi.html">Maps</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dencodingresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dinput%26site_id%3Dnrsi.html">Input</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinpututilities%26site_id%3Dnrsi.html">Utilities</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputtutorials%26site_id%3Dnrsi.html">Tutorials</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dinputresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dtypedesign%26site_id%3Dnrsi.html">Type Design</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dtypedesignprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dfontdesigntools%26site_id%3Dnrsi.html">Design Tools</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dfontformats%26site_id%3Dnrsi.html">Formats</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Dtypedesignresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloads%26site_id%3Dnrsi.html">Font Downloads</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsgentium%26site_id%3Dnrsi.html">Gentium</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsdoulos%26site_id%3Dnrsi.html">Doulos</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontdownloadsipa%26site_id%3Dnrsi.html">IPA</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Drendering%26site_id%3Dnrsi.html">Rendering</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingprinciples%26site_id%3Dnrsi.html">Principles</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingtechnologies%26site_id%3Dnrsi.html">Technologies</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Drenderingopentype%26site_id%3Dnrsi.html">OpenType</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Drenderinggraphite%26site_id%3Dnrsi.html">Graphite</a></p> <p class="Cat2"><a class="Cat2" href="/cms/scripts/page.php%3Fid%3Drenderingresources%26site_id%3Dnrsi.html">Resources</a></p> <p class="Cat3"><a class="Cat3" href="/cms/scripts/page.php%3Fid%3Dfontfaq%26site_id%3Dnrsi.html">Font FAQ</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dlinks%26site_id%3Dnrsi.html">Links</a></p> <p class="Cat1"><a class="Cat1" href="/cms/scripts/page.php%3Fid%3Dglossary%26site_id%3Dnrsi.html">Glossary</a></p> <br> </td> <td valign="top" style="padding:0" xwidth="650"> <div style="background: #6699CC url(/cms/sites/nrsi/themes/default/_media/home_banner_gradient.gif) no-repeat right; padding:0 0 0 25; height:36px; margin:0; color:#FFFFFF;"> <p style="font-family:Times New Roman; font-size:25px; color:#FFFFFF; padding:10 0 0 0; margin:0 0 0 0">Computers & Writing Systems</p> </div> <div style="padding:0 0 0 0; background-color:#000000; color:#FFFFFF"> <table width='100%'> <tr> <td style="padding: 0 0 0 25px"><a class="GlobalNavLink" href="http://www.sil.org/">SIL HOME</a> | <a class="GlobalNavLink" href="https://software.sil.org/products/">SIL SOFTWARE</a> | <a class="GlobalNavLink" href="/support.html">SUPPORT</a> | <a class="GlobalNavLink" href="https://www.givedirect.org/donate/?cid=13536">DONATE</a> | <a class="GlobalNavLink" href="/privacy-policy.html">PRIVACY POLICY</a> </td> <td align='right' width='20%'> <script async src="https://cse.google.com/cse.js?cx=0760bf09a6bff4b0c"></script><style>.gsc-control-cse {padding: 0.6em; min-width: 10em; width: 18em; max-width: 20em} form.gsc-search-box {display: unset;}</style><div class="gcse-search"></div> </td> </tr> </table> </div> <div style="padding:0 25 25 25"> <p class='CategoryPath'>You are here: <a class='CategoryPath' href='/cms/scripts/page.php%3Fid%3Drendering%26site_id%3Dnrsi.html'>Rendering</a> > <a class='CategoryPath' href='/cms/scripts/page.php%3Fid%3Drenderingtechnologies%26site_id%3Dnrsi.html'>Technologies</a> > <a class='CategoryPath' href='/cms/scripts/page.php%3Fid%3Drenderingopentype%26site_id%3Dnrsi.html'>OpenType</a><br> Short URL: <a href='/volt_tutorial.html'>https://scripts.sil.org/VOLT_Tutorial</a></p> <!-- --> <!-- <div class='Warning' > <p class='Warning_heading' > Site unavailability </p> <p> Due to essential repairs, this website may be unavailable at times during September 6 (Tue) and 7 (Wed). We apologize for the inconvenience. </p> </div> --> <h1>Microsoft VOLT Tutorial (VOLT – Visual OpenType Layout Tool) </h1> <p> <span class='author_date_hits'>Paul Nelson, 2001-09-02</span></p><p class='TOCTitle'>Contents:</p> <div class='TOC'> <ol> <li class='TOC1'><a href='#0b79795d'>Introduction</a></li> <li class='TOC1'><a href='#07bc0f70'>Process of using VOLT</a></li> <li class='TOC1'><a href='#368fe771'>Tutorial</a> <ol> <li class='TOC2'><a href='#7c032e95'>Step 1 – Set Glyph Properties</a></li> <li class='TOC2'><a href='#69dd26c8'>Step 2 – Create Glyph Groups</a></li> <li class='TOC2'><a href='#f8ad87b8'>Step 3 – Create Substitution Lookups</a></li> <li class='TOC2'><a href='#93629ab3'>Step 4 – Create Positioning Lookups</a></li> <li class='TOC2'><a href='#f6d2c6ba'>Step 5 - Create language, script, and feature tree</a></li> <li class='TOC2'><a href='#fccb3bff'>Step 6 - Test the features</a></li> <li class='TOC2'><a href='#c1867154'>Step 7 - Ship the font</a></li> </ol> </li> </ol> </div> <p></p> <a name='0b79795d'></a> <h2>Introduction</h2> <p>VOLT 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.</p> <p>An explanation of VOLT menus and window layout are found in the article “<a href='/cms/scripts/page.php%3Fid%3Dvolt_ui%26site_id%3Dnrsi.html'>Microsoft VOLT UI Overview</a>”.</p> <p>Information on obtaining VOLT can be found <a href='http://www.microsoft.com/typography/VOLT.mspx' target='_blank'><img src='/cms/assets/icons/offsite_link.png'> here</a>.</p> <a name='07bc0f70'></a> <h2>Process of using VOLT</h2> <p>Before 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.</p> <p>The process of adding OpenType tables for VOLT is:</p> <ul class='dListUnordered'> <li>Set glyph properties.</li> <li>Create glyph groups.</li> <li>Create substitution lookups.</li> <li>Create positioning lookups.</li> <li>Create language, script, and feature tree.</li> <li>Test the features.</li> <li>Ship the font.</li> </ul> <a name='368fe771'></a> <h2>Tutorial</h2> <p>For 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.</p> <p>Download here:</p> <table border='0' cellpadding='8' cellspacing='0'><tr><td align='left' valign='top'><img src='/cms/assets/icons/type-zip.gif' border='0' width='32' height='32' style='margin:1px 5px 0 0'></td><td align='left' valign='top'><small><b>VOLT Tutorial Font</b><br>Paul Nelson, 2001-09-02<br><a href='/cms/sites/nrsi/download/volt_tutorialfont.zip/VOLT_TutorialFont.zip'>Download "VOLT_TutorialFont.zip"</a>, ZIP archive, 487KB [26953 downloads] </small></td></tr></table><a name='7c032e95'></a> <h3>Step 1 – Set Glyph Properties</h3> <ul class='dListUnordered'> <li>Open the font you are going to work on. <ul class='dListUnordered'> <li>Start the VOLT program.</li> <li>Use the command <span class='menu_choice'>File / Open</span> to activate the <span class='menu_choice'>Open File</span> dialog. </li> <li>Navigate to the font you will work on and click on the <span class='GUI_button'> Open </span> button.</li> <li>Once the font has been one of the last four fonts you have worked on, you may select the font from the MRU (most recently used) font list found under the <span class='menu_choice'>File</span> menu selection.</li> </ul> </li> <li> Set font size preferences for the font. <ul class='dListUnordered'> <li>Use the command Tools-Options to open the Options dialog.</li> <li>Set the glyph size for use in grids. A size like 48 points is normally most usable.</li> <li>Set the glyph size for use in the positioning window. 205 points is the optimal size for VOLT.</li> </ul> </li> <li>Set glyph properties. <ul class='dListUnordered'> <li>Use the command <span class='menu_choice'>Tools / Edit Glyphs</span> (Ctrl + G) or <span class='GUI_button'> Edit Glyphs </span> toolbar button to open the <span class='menu_choice'>Glyph Editor</span> window.</li> <li>Scroll to the end of the glyphs to find the last glyph ID for the font.</li> <li>Use the command <span class='menu_choice'>Import / PostScript Names</span> to open the <span class='menu_choice'>Import Glyph Range</span> window.</li> <li>Set the <span class='Literal'>From Glyph</span> value to <span class='Literal'>0</span>.</li> <li>Set the <span class='Literal'>To Glyph</span> value to the last glyph ID for the font.</li> <li>Set the radio button for “Use Glyph IDs”.</li> <li>Click <span class='GUI_button'> Okay </span>.</li> <li>Activate the <span class='menu_choice'>Glyph Editor</span> window.</li> <li>If the font maker has entered PostScript names for the glyphs you will now be able to see them in the <span class='menu_choice'>Glyph Editor</span> window.</li> <li>Go through all glyphs and verify the following for each <ul class='dListUnordered'> <li>A usable name is available that is easily remembered during the process of making the OpenType tables. The name seen in the glyph grid will be used to reference the glyph.</li> <li>The type assigned is correct. <ul class='dListUnordered'> <li>If the glyph is a combining mark, or is treated as a combining mark in you lookups you should set the type to “mark”. </li> <li>If you are going to position marks on a ligature you should make sure that the glyph is identified as a “ligature” type and set the correct number of components of which the ligature is formed. For example, the ffi ligature is composed of three components</li> </ul> </li> <li>The Unicode value(s) for the glyph are correctly assigned. If the glyph does not have a Unicode value you should set the value to “…”. <span class='Em'>Please note that Unicode values assigned to the letter will be updated in the character mapping (‘cmap’) table of the font.</span> This makes a nice visual way to edit the ‘cmap’ table for the font. <ul class='dListUnordered'> <li>It is possible to have more than one Unicode value assigned for a glyph. Just make a comma delimited list (e.g. <span class='USV'>U+0621</span>, <span class='USV'>U+FE80</span>). Mapping glyphs in this manner saves space in the font and makes the hinting task easier.</li> </ul> </li> </ul> </li> </ul> </li> </ul> <a name='2570151d'></a> <h4>Exercise 1a</h4> <p>The following glyphs are marks.</p> <a name='678e6fe5'></a> <h4>Exercise 1b</h4> <p>The following glyphs are marks.</p> <div class='dDataViewTable'> <div class='bd'> <table class='Table_Default'> <tr><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th></tr> <tr><td class='Table_Odd_Row' align='left' >uni0361</td> <td class='Table_Odd_Row' align='left' >uni203F</td> <td class='Table_Odd_Row' align='left' >uni031A</td> <td class='Table_Odd_Row' align='left' >uni031C</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0339</td> <td class='Table_Even_Row' align='left' >uni031E</td> <td class='Table_Even_Row' align='left' >uni031D</td> <td class='Table_Even_Row' align='left' >uni0318</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0319</td> <td class='Table_Odd_Row' align='left' >uni0320</td> <td class='Table_Odd_Row' align='left' >uni0304</td> <td class='Table_Odd_Row' align='left' >uni0330</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0334</td> <td class='Table_Even_Row' align='left' >tildecomb</td> <td class='Table_Even_Row' align='left' >uni0317</td> <td class='Table_Even_Row' align='left' >acutecomb</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni030B</td> <td class='Table_Odd_Row' align='left' >uni0316</td> <td class='Table_Odd_Row' align='left' >gravecomb</td> <td class='Table_Odd_Row' align='left' >uni030F</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0324</td> <td class='Table_Even_Row' align='left' >uni0308</td> <td class='Table_Even_Row' align='left' >uni0302</td> <td class='Table_Even_Row' align='left' >uni032C</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni030C</td> <td class='Table_Odd_Row' align='left' >uni0306</td> <td class='Table_Odd_Row' align='left' >uni032F</td> <td class='Table_Odd_Row' align='left' >uni033C</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0325</td> <td class='Table_Even_Row' align='left' >uni030A</td> <td class='Table_Even_Row' align='left' >uni0329</td> <td class='Table_Even_Row' align='left' >uni031F</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni033D</td> <td class='Table_Odd_Row' align='left' colspan='3'>uni02DE – special consideration given here. Unicode says this is spacing, but we use it as a combining mark</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni032A</td> <td class='Table_Even_Row' align='left' >uni033A</td> <td class='Table_Even_Row' align='left' >uni033B</td> <td class='Table_Even_Row' align='left' > </td> </tr> </table> </div> </div> <a name='69dd26c8'></a> <h3>Step 2 – Create Glyph Groups</h3> <ul class='dListUnordered'> <li>Create glyph groups for the font <ul class='dListUnordered'> <li>Use the command <span class='menu_choice'>Project / Add Glyph Group</span> or click on the <span class='GUI_button'> Add Glyph Group </span> button (found in the bottom right of the main VOLT window).</li> <li>Edit the name of the group. If you see that the group the named “New Group” already selected and has a box around it, you can type the group name directly. Otherwise, you need to click on the New Group item to select the group first.</li> <li>To edit the content of the glyph group, select the glyph group to edit and <ul class='dListUnordered'> <li>use the menu command <span class='menu_choice'>Tools / Edit Glyph Group</span>, or </li> <li>click on the <span class='GUI_button'> Edit Group </span> button on the toolbar, or </li> <li>double click on the group you wish to edit.</li> </ul> </li> <li>To delete a group, you need to select the group that you want to delete and then use the command <span class='menu_choice'>Project / Remove Glyph Group</span> or click on the <span class='GUI_button'> Remove Glyph Group </span> button.</li> </ul> </li> </ul> <a name='764624ab'></a> <h4>Exercise 2</h4> <ul class='dListUnordered'> <li>Add the following groups to the font: <ul class='dListUnordered'> <li>Group name – AboveMarks <ul class='dListUnordered'> <li>uni0304</li> <li>tildecomb</li> <li>acutecomb</li> <li>uni030B</li> <li>gravecomb</li> <li>uni030F</li> <li>uni0308</li> <li>uni0302</li> <li>uni030C</li> <li>uni0306</li> <li>uni030A</li> <li>uni033D</li> </ul> </li> <li>Group name – BelowMarks <ul class='dListUnordered'> <li>uni031C</li> <li>uni0339</li> <li>uni031E</li> <li>uni031D</li> <li>uni0318</li> <li>uni0319</li> <li>uni0320</li> <li>uni0330</li> <li>uni0317</li> <li>uni0316</li> <li>uni0324</li> <li>uni032C</li> <li>uni032F</li> <li>uni033C</li> <li>uni0325</li> <li>uni0329</li> <li>uni031F</li> <li>uni032A</li> <li>uni033A</li> <li>uni033B</li> </ul> </li> <li>Group name – OverTwo <ul class='dListUnordered'> <li>uni0361</li> </ul> </li> <li>Group name – UnderTwo <ul class='dListUnordered'> <li>uni203F</li> </ul> </li> </ul> </li> </ul> <a name='f8ad87b8'></a> <h3>Step 3 – Create Substitution Lookups</h3> <p>Create substitution lookups for the font. </p> <ul class='dListUnordered'> <li>Use the command <span class='menu_choice'>Project / Add Substitution</span> or click on the <span class='GUI_button'> Add Subsitutution </span> button (found in the bottom center of the main VOLT window).</li> <li>Edit the name of the substitution lookup. If you see that the group the named “New Substitution” already selected and has a box around it, you can type the group name directly. Otherwise, you need to click on the <span class='menu_choice'>New Substitution</span> item to select the substitution lookup first.</li> <li>To edit the content of the substitution, select the substitution lookup to edit and 1) use the menu command <span class='menu_choice'>Tools / Edit Lookup</span>, or 2) click on the <span class='GUI_button'> Edit Lookup </span> button on the toolbar, or 3) double click on the substitution lookup you wish to edit.</li> <li>To delete a substitution, you need to select the substitution lookup that you want to delete and then use the command <span class='menu_choice'>Project / Remove Lookup</span> or click on the <span class='GUI_button'> Remove Lookup </span> button.</li> </ul> <p>The lookup type will be automatically assigned based on the lookups that are entered.</p> <p>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 <span class='Em'>lam alef</span> ligature should be formed correctly even if there is a mark above the <span class='Em'>lam</span>.</p> <p>The Text Flow setting only impacts the display of the substitutions. All substitutions are entered in logical order.</p> <p>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.</p> <a name='8f3d1ed1'></a> <h4>Exercise 3a</h4> <p>Substitution 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.]</p> <div class='Indent'><p>i -> dotlessi</p> <p>j -> unitdb5</p> <p>uni0286 -> unitdb4</p> </div> <p>Context (we will trigger this substitution if the letter is followed by an above combining mark)</p> <div class='Indent'><p> | <AboveMarks></p> </div> <a name='cadf4d6d'></a> <h4>Exercise 3b</h4> <p>Substitution Lookup – liga</p> <div class='Indent'><p>f i -> fi</p> <p>f l -> fl</p> </div> <a name='53eb4c0c'></a> <h4>Exercise 3c</h4> <p>Substitution Lookup – ipa</p> <div class='dDataViewTable'> <div class='bd'> <table class='Table_Default'> <tr><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th></tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E5 uni02E6 -> uni02E502E502E6</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E5 uni02E7 -> uni02E502E502E7</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E5 uni02E8 -> uni02E502E502E8</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E5 uni02E9 -> uni02E502E502E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E6 uni02E5 -> uni02E502E602E5</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E6 uni02E6 -> uni02E502E602E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E6 uni02E7 -> uni02E502E7</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E6 uni02E8 -> uni02E502E602E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E6 uni02E9 -> uni02E502E602E9</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E6 -> uni02E502E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E7 uni02E5 -> uni02E502E702E5</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E7 uni02E6 -> uni02E502E702E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E7 uni02E7 -> uni02E502E702E7</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E7 uni02E8 -> uni02E502E702E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E7 uni02E9 -> uni02E502E9</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E7 -> uni02E502E7</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E8 uni02E5 -> uni02E502E802E5</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E8 uni02E6 -> uni02E502E802E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E8 uni02E7 -> uni02E502E802E7</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E8 uni02E8 -> uni02E502E802E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E8 uni02E9 -> uni02E502E802E9</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E8 -> uni02E502E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E9 uni02E5 -> uni02E502E902E5</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E9 uni02E6 -> uni02E502E902E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E5 uni02E9 uni02E7 -> uni02E502E902E7</td> <td class='Table_Odd_Row' align='left' >uni02E5 uni02E9 uni02E8 -> uni02E502E902E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E5 uni02E9 uni02E9 -> uni02E502E902E9</td> <td class='Table_Even_Row' align='left' >uni02E5 uni02E9 -> uni02E502E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E5 uni02E5 -> uni02E602E502E5</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E5 uni02E6 -> uni02E602E502E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E5 uni02E7 -> uni02E602E502E7</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E5 uni02E8 -> uni02E602E502E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E5 uni02E9 -> uni02E602E502E9</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E5 -> uni02E602E5</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E6 uni02E5 -> uni02E602E602E5</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E6 uni02E7 -> uni02E602E602E7</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E6 uni02E8 -> uni02E602E602E8</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E6 uni02E9 -> uni02E602E602E9</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E7 uni02E5 -> uni02E602E702E5</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E7 uni02E6 -> uni02E602E702E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E7 uni02E7 -> uni02E602E702E7</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E7 uni02E8 -> uni02E602E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E7 uni02E9 -> uni02E602E702E9</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E7 -> uni02E602E7</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E8 uni02E5 -> uni02E602E802E5</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E8 uni02E6 -> uni02E602E802E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E8 uni02E7 -> uni02E602E802E7</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E8 uni02E8 -> uni02E602E802E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E8 uni02E9 -> uni02E602E802E9</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E8 -> uni02E602E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E9 uni02E5 -> uni02E602E902E5</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E9 uni02E6 -> uni02E602E902E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E6 uni02E9 uni02E7 -> uni02E602E902E7</td> <td class='Table_Odd_Row' align='left' >uni02E6 uni02E9 uni02E8 -> uni02E602E902E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E6 uni02E9 uni02E9 -> uni02E602E902E9</td> <td class='Table_Even_Row' align='left' >uni02E6 uni02E9 -> uni02E602E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E5 uni02E5 -> uni02E702E502E5</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E5 uni02E6 -> uni02E702E502E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E5 uni02E7 -> uni02E702E502E7</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E5 uni02E8 -> uni02E702E502E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E5 uni02E9 -> uni02E702E502E9</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E5 -> uni02E702E5</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E6 uni02E5 -> uni02E702E5</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E6 uni02E6 -> uni02E702E602E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E6 uni02E7 -> uni02E702E602E7</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E6 uni02E8 -> uni02E702E602E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E6 uni02E9 -> uni02E702E602E9</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E6 -> uni02E702E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E7 uni02E5 -> uni02E702E702E5</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E7 uni02E6 -> uni02E702E702E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E7 uni02E8 -> uni02E702E702E8</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E7 uni02E9 -> uni02E702E702E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E8 uni02E5 -> uni02E702E802E5</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E8 uni02E6 -> uni02E702E802E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E8 uni02E7 -> uni02E702E802E7</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E8 uni02E8 -> uni02E702E802E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E8 uni02E9 -> uni02E702E9</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E8 -> uni02E702E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E9 uni02E5 -> uni02E702E902E5</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E9 uni02E6 -> uni02E702E902E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E7 uni02E9 uni02E7 -> uni02E702E902E7</td> <td class='Table_Odd_Row' align='left' >uni02E7 uni02E9 uni02E8 -> uni02E702E902E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E7 uni02E9 uni02E9 -> uni02E702E902E9</td> <td class='Table_Even_Row' align='left' >uni02E7 uni02E9 -> uni02E702E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E5 uni02E5 -> uni02E802E502E5</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E5 uni02E6 -> uni02E802E502E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E5 uni02E7 -> uni02E802E502E7</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E5 uni02E8 -> uni02E802E502E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E5 uni02E9 -> uni02E802E502E9</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E5 -> uni02E802E5</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E6 uni02E5 -> uni02E802E602E5</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E6 uni02E6 -> uni02E802E602E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E6 uni02E7 -> uni02E802E602E7</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E6 uni02E8 -> uni02E802E602E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E6 uni02E9 -> uni02E802E602E9</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E6 -> uni02E802E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E7 uni02E5 -> uni02E802E702E5</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E7 uni02E6 -> uni02E802E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E7 uni02E7 -> uni02E802E702E7</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E7 uni02E8 -> uni02E802E702E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E7 uni02E9 -> uni02E802E702E9</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E7 -> uni02E802E7</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E8 uni02E5 -> uni02E802E802E5</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E8 uni02E6 -> uni02E802E802E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E8 uni02E7 -> uni02E802E802E7</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E8 uni02E9 -> uni02E802E802E9</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E9 -> uni02E802E9</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E9 uni02E5 -> uni02E802E902E5</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E8 uni02E9 uni02E6 -> uni02E802E902E6</td> <td class='Table_Odd_Row' align='left' >uni02E8 uni02E9 uni02E7 -> uni02E802E902E7</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E8 uni02E9 uni02E8 -> uni02E802E902E8</td> <td class='Table_Even_Row' align='left' >uni02E8 uni02E9 uni02E9 -> uni02E802E902E9</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E5 uni02E5 -> uni02E902E502E5</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E5 uni02E6 -> uni02E902E502E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E5 uni02E7 -> uni02E902E502E7</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E5 uni02E8 -> uni02E902E502E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E5 uni02E9 -> uni02E902E502E9</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E5 -> uni02E902E5</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E6 uni02E5 -> uni02E902E602E5</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E6 uni02E6 -> uni02E902E602E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E6 uni02E7 -> uni02E902E602E7</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E6 uni02E8 -> uni02E902E602E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E6 uni02E9 -> uni02E902E602E9</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E6 -> uni02E902E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E7 uni02E5 -> uni02E902E5</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E7 uni02E6 -> uni02E902E702E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E7 uni02E7 -> uni02E902E702E7</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E7 uni02E8 -> uni02E902E702E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E7 uni02E9 -> uni02E902E702E9</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E7 -> uni02E902E7</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E8 uni02E5 -> uni02E902E802E5</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E8 uni02E6 -> uni02E902E802E6</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E8 uni02E7 -> uni02E902E7</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E8 uni02E8 -> uni02E902E802E8</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E8 uni02E9 -> uni02E902E802E9</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E8 -> uni02E902E8</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni02E9 uni02E9 uni02E5 -> uni02E902E902E5</td> <td class='Table_Odd_Row' align='left' >uni02E9 uni02E9 uni02E6 -> uni02E902E902E6</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni02E9 uni02E9 uni02E7 -> uni02E902E902E7</td> <td class='Table_Even_Row' align='left' >uni02E9 uni02E9 uni02E8 -> uni02E902E902E8</td> </tr> </table> </div> </div> <p></p> <a name='93629ab3'></a> <h3>Step 4 – Create Positioning Lookups</h3> <ul class='dListUnordered'> <li>Create positioning lookups for the font. <ul class='dListUnordered'> <li>Use the command <span class='menu_choice'>Project /Add Positioning</span> or click on the <span class='GUI_button'> Add Positioning </span> button (found in the bottom center of the main VOLT window).</li> <li>Edit the name of the positioning lookup. If you see that the group the named “New Positioning” already selected and has a box around it, you can type the group name directly. Otherwise, you need to click on the <span class='GUI_button'> New Positioning </span> item to select the positioning lookup first.</li> <li>To edit the content of the positioning, select the positioning lookup to edit and 1) use the menu command <span class='menu_choice'>Tools / Edit Lookup</span>, or 2) click on the <span class='GUI_button'> Edit Lookup </span> button on the toolbar, or 3) double click on the positioning lookup you wish to edit.</li> <li>To delete a positioning, you need to select the positioning lookup that you want to delete and then use the command <span class='menu_choice'>Project Remove Lookup</span> or click on the <span class='GUI_button'> Remove Lookup </span> button.</li> </ul> </li> </ul> <p><span class='Runin'>Strategy for Anchor Attachments – </span>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. </p> <p>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. </p> <p>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>”.</p> <p>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.</p> <p>Once the marks have been locked into place it will be straight forward to concentrate on positioning the anchor points on the base glyph.</p> <a name='6fcf822a'></a> <h4>Exercise 4a</h4> <ul class='dListUnordered'> <li>Create a new positioning lookup and give it the name “Mark”.</li> <li>Set the positioning type to “Anchor Attachment” in the dropdown list.</li> <li>In the “Position First” column type in the list of base glyphs you will use. </li> </ul> <div class='Indent'><div class='Indent'><div class='dDataViewTable'> <div class='bd'> <table class='Table_Default'> <tr><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th></tr> <tr><td class='Table_Odd_Row' align='left' >Eth</td> <td class='Table_Odd_Row' align='left' >eth</td> <td class='Table_Odd_Row' align='left' >Thorn</td> <td class='Table_Odd_Row' align='left' >thorn</td> </tr> <tr><td class='Table_Even_Row' align='left' >A</td> <td class='Table_Even_Row' align='left' >B</td> <td class='Table_Even_Row' align='left' >C</td> <td class='Table_Even_Row' align='left' >D</td> </tr> <tr><td class='Table_Odd_Row' align='left' >E</td> <td class='Table_Odd_Row' align='left' >F</td> <td class='Table_Odd_Row' align='left' >G</td> <td class='Table_Odd_Row' align='left' >H</td> </tr> <tr><td class='Table_Even_Row' align='left' >I</td> <td class='Table_Even_Row' align='left' >J</td> <td class='Table_Even_Row' align='left' >K</td> <td class='Table_Even_Row' align='left' >L</td> </tr> <tr><td class='Table_Odd_Row' align='left' >M</td> <td class='Table_Odd_Row' align='left' >N</td> <td class='Table_Odd_Row' align='left' >O</td> <td class='Table_Odd_Row' align='left' >P</td> </tr> <tr><td class='Table_Even_Row' align='left' >Q</td> <td class='Table_Even_Row' align='left' >R</td> <td class='Table_Even_Row' align='left' >S</td> <td class='Table_Even_Row' align='left' >T</td> </tr> <tr><td class='Table_Odd_Row' align='left' >U</td> <td class='Table_Odd_Row' align='left' >V</td> <td class='Table_Odd_Row' align='left' >W</td> <td class='Table_Odd_Row' align='left' >X</td> </tr> <tr><td class='Table_Even_Row' align='left' >Y</td> <td class='Table_Even_Row' align='left' >Z</td> <td class='Table_Even_Row' align='left' >a</td> <td class='Table_Even_Row' align='left' >b</td> </tr> <tr><td class='Table_Odd_Row' align='left' >c</td> <td class='Table_Odd_Row' align='left' >d</td> <td class='Table_Odd_Row' align='left' >e</td> <td class='Table_Odd_Row' align='left' >f</td> </tr> <tr><td class='Table_Even_Row' align='left' >g</td> <td class='Table_Even_Row' align='left' >h</td> <td class='Table_Even_Row' align='left' >i</td> <td class='Table_Even_Row' align='left' >j</td> </tr> <tr><td class='Table_Odd_Row' align='left' >k</td> <td class='Table_Odd_Row' align='left' >l</td> <td class='Table_Odd_Row' align='left' >m</td> <td class='Table_Odd_Row' align='left' >n</td> </tr> <tr><td class='Table_Even_Row' align='left' >o</td> <td class='Table_Even_Row' align='left' >p</td> <td class='Table_Even_Row' align='left' >q</td> <td class='Table_Even_Row' align='left' >r</td> </tr> <tr><td class='Table_Odd_Row' align='left' >s</td> <td class='Table_Odd_Row' align='left' >t</td> <td class='Table_Odd_Row' align='left' >u</td> <td class='Table_Odd_Row' align='left' >v</td> </tr> <tr><td class='Table_Even_Row' align='left' >w</td> <td class='Table_Even_Row' align='left' >x</td> <td class='Table_Even_Row' align='left' >y</td> <td class='Table_Even_Row' align='left' >z</td> </tr> <tr><td class='Table_Odd_Row' align='left' >Ccedilla</td> <td class='Table_Odd_Row' align='left' >ccedilla</td> <td class='Table_Odd_Row' align='left' >germandbls</td> <td class='Table_Odd_Row' align='left' >AE</td> </tr> <tr><td class='Table_Even_Row' align='left' >ae</td> <td class='Table_Even_Row' align='left' >Oslash</td> <td class='Table_Even_Row' align='left' >oslash</td> <td class='Table_Even_Row' align='left' >OE</td> </tr> <tr><td class='Table_Odd_Row' align='left' >oe</td> <td class='Table_Odd_Row' align='left' >dotlessi</td> <td class='Table_Odd_Row' align='left' >uni0250</td> <td class='Table_Odd_Row' align='left' >uni0251</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0252</td> <td class='Table_Even_Row' align='left' >uni0253</td> <td class='Table_Even_Row' align='left' >uni0299</td> <td class='Table_Even_Row' align='left' >beta</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0254</td> <td class='Table_Odd_Row' align='left' >uni0255</td> <td class='Table_Odd_Row' align='left' >uni0257</td> <td class='Table_Odd_Row' align='left' >uni0256</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0259</td> <td class='Table_Even_Row' align='left' >uni0258</td> <td class='Table_Even_Row' align='left' >uni025B</td> <td class='Table_Even_Row' align='left' >uni025C</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni025E</td> <td class='Table_Odd_Row' align='left' >florin</td> <td class='Table_Odd_Row' align='left' >uni0284</td> <td class='Table_Odd_Row' align='left' >uni0261</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0260</td> <td class='Table_Even_Row' align='left' >uni0262</td> <td class='Table_Even_Row' align='left' >uni029B</td> <td class='Table_Even_Row' align='left' >uni0266</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0267</td> <td class='Table_Odd_Row' align='left' >hbar</td> <td class='Table_Odd_Row' align='left' >uni0265</td> <td class='Table_Odd_Row' align='left' >uni029C</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0268</td> <td class='Table_Even_Row' align='left' >unitbd4</td> <td class='Table_Even_Row' align='left' >uni0264</td> <td class='Table_Even_Row' align='left' >unitbd5</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni025F</td> <td class='Table_Odd_Row' align='left' >uni029D</td> <td class='Table_Odd_Row' align='left' >uni029E</td> <td class='Table_Odd_Row' align='left' >uni026D</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni026C</td> <td class='Table_Even_Row' align='left' >uni026B</td> <td class='Table_Even_Row' align='left' >uni026E</td> <td class='Table_Even_Row' align='left' >uni029F</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0271</td> <td class='Table_Odd_Row' align='left' >uni026F</td> <td class='Table_Odd_Row' align='left' >uni0270</td> <td class='Table_Odd_Row' align='left' >eng</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0273</td> <td class='Table_Even_Row' align='left' >uni0272</td> <td class='Table_Even_Row' align='left' >uni0274</td> <td class='Table_Even_Row' align='left' >uni0278</td> </tr> <tr><td class='Table_Odd_Row' align='left' >theta</td> <td class='Table_Odd_Row' align='left' >uni0276</td> <td class='Table_Odd_Row' align='left' >uni0298</td> <td class='Table_Odd_Row' align='left' >uni0279</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni027A</td> <td class='Table_Even_Row' align='left' >uni027D</td> <td class='Table_Even_Row' align='left' >uni027E</td> <td class='Table_Even_Row' align='left' >uni027B</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0280</td> <td class='Table_Odd_Row' align='left' >uni0281</td> <td class='Table_Odd_Row' align='left' >uni0282</td> <td class='Table_Odd_Row' align='left' >uni0283</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0288</td> <td class='Table_Even_Row' align='left' >uni0289</td> <td class='Table_Even_Row' align='left' >uni028B</td> <td class='Table_Even_Row' align='left' >uni028A</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni028C</td> <td class='Table_Odd_Row' align='left' >uni0263</td> <td class='Table_Odd_Row' align='left' >uni0264</td> <td class='Table_Odd_Row' align='left' >uni028D</td> </tr> <tr><td class='Table_Even_Row' align='left' >chi</td> <td class='Table_Even_Row' align='left' >uni028E</td> <td class='Table_Even_Row' align='left' >uni028F</td> <td class='Table_Even_Row' align='left' >uni0291</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni0290</td> <td class='Table_Odd_Row' align='left' >uni0292</td> <td class='Table_Odd_Row' align='left' >uni0294</td> <td class='Table_Odd_Row' align='left' >uni02A1</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0295</td> <td class='Table_Even_Row' align='left' >uni02A2</td> <td class='Table_Even_Row' align='left' >uni01C3</td> <td class='Table_Even_Row' align='left' >uni01C2</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni01C1</td> <td class='Table_Odd_Row' align='left' >Aacute</td> <td class='Table_Odd_Row' align='left' >aacute</td> <td class='Table_Odd_Row' align='left' >Acircumflex</td> </tr> <tr><td class='Table_Even_Row' align='left' >acircumflex</td> <td class='Table_Even_Row' align='left' >Adieresis</td> <td class='Table_Even_Row' align='left' >adieresis</td> <td class='Table_Even_Row' align='left' >Agrave</td> </tr> <tr><td class='Table_Odd_Row' align='left' >agrave</td> <td class='Table_Odd_Row' align='left' >Aring</td> <td class='Table_Odd_Row' align='left' >aring</td> <td class='Table_Odd_Row' align='left' >Atilde</td> </tr> <tr><td class='Table_Even_Row' align='left' >atilde</td> <td class='Table_Even_Row' align='left' >Eacute</td> <td class='Table_Even_Row' align='left' >eacute</td> <td class='Table_Even_Row' align='left' >Ecircumflex</td> </tr> <tr><td class='Table_Odd_Row' align='left' >ecircumflex</td> <td class='Table_Odd_Row' align='left' >Edieresis</td> <td class='Table_Odd_Row' align='left' >edieresis</td> <td class='Table_Odd_Row' align='left' >Egrave</td> </tr> <tr><td class='Table_Even_Row' align='left' >egrave</td> <td class='Table_Even_Row' align='left' >Iacute</td> <td class='Table_Even_Row' align='left' >iacute</td> <td class='Table_Even_Row' align='left' >Icircumflex</td> </tr> <tr><td class='Table_Odd_Row' align='left' >icircumflex</td> <td class='Table_Odd_Row' align='left' >Idieresis</td> <td class='Table_Odd_Row' align='left' >idieresis</td> <td class='Table_Odd_Row' align='left' >Igrave</td> </tr> <tr><td class='Table_Even_Row' align='left' >igrave</td> <td class='Table_Even_Row' align='left' >Ntilde</td> <td class='Table_Even_Row' align='left' >ntilde</td> <td class='Table_Even_Row' align='left' >Oacute</td> </tr> <tr><td class='Table_Odd_Row' align='left' >oacute</td> <td class='Table_Odd_Row' align='left' >Ocircumflex</td> <td class='Table_Odd_Row' align='left' >ocircumflex</td> <td class='Table_Odd_Row' align='left' >Odieresis</td> </tr> <tr><td class='Table_Even_Row' align='left' >odieresis</td> <td class='Table_Even_Row' align='left' >Ograve</td> <td class='Table_Even_Row' align='left' >ograve</td> <td class='Table_Even_Row' align='left' >Otilde</td> </tr> <tr><td class='Table_Odd_Row' align='left' >otilde</td> <td class='Table_Odd_Row' align='left' >Scaron</td> <td class='Table_Odd_Row' align='left' >scaron</td> <td class='Table_Odd_Row' align='left' >Uacute</td> </tr> <tr><td class='Table_Even_Row' align='left' >uacute</td> <td class='Table_Even_Row' align='left' >Ucircumflex</td> <td class='Table_Even_Row' align='left' >ucircumflex</td> <td class='Table_Even_Row' align='left' >Udieresis</td> </tr> <tr><td class='Table_Odd_Row' align='left' >udieresis</td> <td class='Table_Odd_Row' align='left' >Ugrave</td> <td class='Table_Odd_Row' align='left' >ugrave</td> <td class='Table_Odd_Row' align='left' >Yacute</td> </tr> <tr><td class='Table_Even_Row' align='left' >yactue</td> <td class='Table_Even_Row' align='left' >Ydieresis</td> <td class='Table_Even_Row' align='left' >ydieresis</td> <td class='Table_Even_Row' align='left' >Zcaron</td> </tr> <tr><td class='Table_Odd_Row' align='left' >zcaron</td> <td class='Table_Odd_Row' align='left' > </td> <td class='Table_Odd_Row' align='left' > </td> <td class='Table_Odd_Row' align='left' > </td> </tr> </table> </div> </div> </div> </div> <ul class='dListUnordered'> <li>In the “Position Second” column add the AboveMarks group (“<AboveMarks>”) under Name.</li> <li>change the name of the Anchor from “default” to “above”</li> <li>In the “Position Second” column add the BelowMarks group under Name.</li> <li>change the name of the Anchor from “default” to “below”</li> <li>Select the “Eth” and “<AboveMarks>”. In the preview window you will see the Eth, the first letter in your <AboveMarks> group and a brown “+”. The “+” is the anchor point.</li> <li>Check on the 1st glyph. This will lock the anchor in place and make it easier to adjust the marks. You will need to uncheck this when you get ready to set the anchor points for the base glyph.</li> <li>Click on the mark and drag it to the location that will allow it to best be anchored to base glyphs. This will normally be centered above (<AboveMarks>) or below (<BelowMarks>) the “+”. Of course, the positioning depends on the behavior required for the language. For example, the HEBREW DAGESH should probably be centered on the “+” anchor location. <ul class='dListUnordered'> <li>You can also set the position of the glyph on the anchor location by editing the dx and dy for the 2nd glyph (bottom right).</li> <li>For this tutorial you will find the <AboveMarks> will show the “uni0304” glyph first in the list, and the <BelowMarks> will show the “uni031C”. </li> </ul> </li> <li>Move through the rest of the anchors in the group. In the event that your font is designed like the SILDoulosUnicodeIPA font you can use the “All 2nd same” button to set the rest of the group to the same location. You should find that <span class='Literal'>dx</span> of -260 and <span class='Literal'>dy</span> of 465 will work well for AboveMarks. For BelowMarks a <span class='Literal'>dx</span> of -260 and <span class='Literal'>dy</span> of 0 should be close.</li> <li>When all of the combining marks have been positioned, make sure to check on the checkbox “2nd” for each glyph in the group. This will help keep the marks from moving when you position the anchor point on the base glyphs.</li> <li>Once you have completed setting the locations of all mark glyphs, it is time to go through all base glyphs to set their anchors.</li> <li>Set the position of the anchor for the base by clicking on the “+” and positioning it where it looks best for anchoring the mark or group of marks. You will see that the <span class='Literal'>dx</span> and <span class='Literal'>dy</span> for the 1st Glyph (bottom right) are changed. You can also change the anchor location by editing the <span class='Literal'>dx</span> and <span class='Literal'>dy</span> amounts directly.</li> </ul> <a name='fba6f445'></a> <h4>Exercise 4b</h4> <ul class='dListUnordered'> <li>Create a new positioning lookup and give it the name “RhoetoHook”.</li> <li>Set the positioning type to “Anchor Attachment” in the dropdown list.</li> <li>In the “Position First” column type in the list of base glyphs you will use. </li> </ul> <div class='Indent'><div class='Indent'><div class='dDataViewTable'> <div class='bd'> <table class='Table_Default'> <tr><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th><th class='Table_Header_Row' align='left' ></th></tr> <tr><td class='Table_Odd_Row' align='left' >a</td> <td class='Table_Odd_Row' align='left' >e</td> <td class='Table_Odd_Row' align='left' >i</td> <td class='Table_Odd_Row' align='left' >o</td> </tr> <tr><td class='Table_Even_Row' align='left' >u</td> <td class='Table_Even_Row' align='left' >y</td> <td class='Table_Even_Row' align='left' >ae</td> <td class='Table_Even_Row' align='left' >oslash</td> </tr> <tr><td class='Table_Odd_Row' align='left' >oe</td> <td class='Table_Odd_Row' align='left' >dotlessi</td> <td class='Table_Odd_Row' align='left' >uni0250</td> <td class='Table_Odd_Row' align='left' >uni0251</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni0252</td> <td class='Table_Even_Row' align='left' >uni0254</td> <td class='Table_Even_Row' align='left' >uni0259</td> <td class='Table_Even_Row' align='left' >uni0258</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni025B</td> <td class='Table_Odd_Row' align='left' >uni025C</td> <td class='Table_Odd_Row' align='left' >uni025E</td> <td class='Table_Odd_Row' align='left' >uni0268</td> </tr> <tr><td class='Table_Even_Row' align='left' >uni026A</td> <td class='Table_Even_Row' align='left' >uni0275</td> <td class='Table_Even_Row' align='left' >uni0276</td> <td class='Table_Even_Row' align='left' >uni0289</td> </tr> <tr><td class='Table_Odd_Row' align='left' >uni028A</td> <td class='Table_Odd_Row' align='left' >uni028C</td> <td class='Table_Odd_Row' align='left' >uni0264</td> <td class='Table_Odd_Row' align='left' >aacute</td> </tr> <tr><td class='Table_Even_Row' align='left' >acircumflex</td> <td class='Table_Even_Row' align='left' >adieeresis</td> <td class='Table_Even_Row' align='left' >agrave</td> <td class='Table_Even_Row' align='left' >aring</td> </tr> <tr><td class='Table_Odd_Row' align='left' >atilde</td> <td class='Table_Odd_Row' align='left' >eacute</td> <td class='Table_Odd_Row' align='left' >ecircumflex</td> <td class='Table_Odd_Row' align='left' >edieresis</td> </tr> <tr><td class='Table_Even_Row' align='left' >egrave</td> <td class='Table_Even_Row' align='left' >iacute</td> <td class='Table_Even_Row' align='left' >icircumflex</td> <td class='Table_Even_Row' align='left' >idieresis</td> </tr> <tr><td class='Table_Odd_Row' align='left' >igrave</td> <td class='Table_Odd_Row' align='left' >oacute</td> <td class='Table_Odd_Row' align='left' >ocircumflex</td> <td class='Table_Odd_Row' align='left' >odieresis</td> </tr> <tr><td class='Table_Even_Row' align='left' >ograve</td> <td class='Table_Even_Row' align='left' >otilde</td> <td class='Table_Even_Row' align='left' >uacute</td> <td class='Table_Even_Row' align='left' >ucircumflex</td> </tr> <tr><td class='Table_Odd_Row' align='left' >udieresis</td> <td class='Table_Odd_Row' align='left' >ugrave</td> <td class='Table_Odd_Row' align='left' >yacute</td> <td class='Table_Odd_Row' align='left' >ydieresis</td> </tr> </table> </div> </div> </div> </div> <ul class='dListUnordered'> <li>In the “Position Second” column add the uni02DE glyph under Name.</li> <li>change the name of the Anchor from “default” to “rhook”</li> <li>The strategy for setting the rhoeto hook to the anchor location is to drag the mark to a location where the connecting part of the rhoeto hook is on the “+”. Under the 2nd Glyph you should see something like a <span class='Literal'>dx</span> of -90 and <span class='Literal'>dy</span> of 375.</li> <li>Check on the checkbox for 2nd to lock the positioning in place after you are happy with the location.</li> <li>The process of setting the anchor location on the first glyph is next. Simply drag the “+” to the location on each letter where the rhoeto hook should attach.</li> </ul> <a name='80acac90'></a> <h4>Exercise 4c</h4> <ul class='dListUnordered'> <li>Create a new positioning lookup and give it the name “MidMark”.</li> <li>Set the positioning type to “Anchor Attachment” in the dropdown list.</li> <li>In the “Position First” column type in the list of base glyphs you will use. <ul class='dListUnordered'> <li>eth</li> <li>d</li> <li>l</li> <li>r</li> <li>s</li> <li>t</li> <li>z</li> <li>uni027E</li> <li>uni0283</li> <li>uni0292</li> <li>scaron</li> <li>zcaron</li> </ul> </li> <li>In the “Position Second” column add the uni0334 glyph under Name. If there were additional middle positioning combining marks this would be a great candidate for an additional group named something like “<MiddleMarks>”.</li> <li>change the name of the Anchor from “default” to “middle”</li> <li>The strategy for setting the middle mark to the anchor location is to drag the mark to a location where the is centered horizontally and vertically on the cross point of the “+”. Under the 2nd Glyph you should see something like a dx of -260 and dy of 390.</li> <li>Check on the checkbox for 2nd to lock the positioning in place after you are happy with the location.</li> <li>The process of setting the anchor location on the first glyph is next. Simply drag the “+” to the location on each letter where the middle mark(s) should attach.</li> </ul> <a name='dde235a7'></a> <h4>Exercise 4d</h4> <ul class='dListUnordered'> <li>Create a new positioning lookup and give it the name “MkMkAbove”.</li> <li>Set the positioning type to “Anchor Attachment” in the dropdown list.</li> <li>In the “Position First” column type in “<AboveMarks>”. In this lookup, we are setting up marks to anchor in a chaining fashion on top of another mark. Thus, <AboveMarks> will be both the base glyphs and the combining glyphs.</li> <li>In the “Position Second” column add the AboveMarks group (“<AboveMarks>”) under Name.</li> <li>change the name of the Anchor from “default” to “above”</li> <li>You will notice that the 2nd glyphs already have their positioning set.</li> <li>The strategy for setting the mark to mark above is to place the anchor centered above the base mark. Under the 1st Glyph you should see a dx of -260 and dy of 685. If your font has been created like the SILDoulosUnicodeIPA font you should be able to use the “All 1st Same” button to set the same value for the entire group.</li> </ul> <a name='eb6311eb'></a> <h4>Exercise 4e</h4> <ul class='dListUnordered'> <li>Create a new positioning lookup and give it the name “MkMkBelow”.</li> <li>Set the positioning type to “Anchor Attachment” in the dropdown list.</li> <li>In the “Position First” column type in “<BelowMarks>”. In this lookup, we are setting up marks to anchor in a chaining fashion on top of another mark. Thus, < BelowMarks > will be both the base glyphs and the combining glyphs.</li> <li>In the “Position Second” column add the BelowMarks group (“<BelowMarks >”) under Name.</li> <li>change the name of the Anchor from “default” to “below”</li> <li>You will notice that the 2nd glyphs already have their positioning set.</li> <li>The strategy for setting the mark to mark above is to place the anchor centered below the base mark. Under the 1st Glyph you should see a dx of -260 and dy of -225. If your font has been created like the SILDoulosUnicodeIPA font you should be able to use the “All 1st Same” button to set the same value for the entire group.</li> </ul> <a name='f6d2c6ba'></a> <h3>Step 5 - Create language, script, and feature tree</h3> <p>This step will be the glue that allows the lookups you have defined to work when the font is called by an OpenType engine.</p> <ul class='dListUnordered'> <li>Add a new script by using the command <span class='menu_choice'>Project / Add Script</span>, or by clicking on the <span class='GUI_button'> Add Script </span> button in the bottom left of the main VOLT window.</li> <li>Rename “New Script <>” to “<latn>”. When you hit enter the name will resolve to “Latin <latn>”. The four characters between “<” and “>” are the tag that is saved in the font. If you need to use a tag that has not yet been registered you may type the four letter tag in this manner. You will notice that a language of “Default <dflt>” was added at the same time.</li> <li>If you need to support several language behaviors for the same script, select the script and then use the command <span class='menu_choice'>Project / Add Language</span>, or click on the <span class='GUI_button'> Add Language </span> button in the bottom left of the main VOLT window. Then, rename “New Language <>” to the tag for the language you need.</li> <li>Select the Default language.</li> <li>Add a new feature for the writing system by using the command <span class='menu_choice'>Project / Add Feature</span>. You can also click on the <span class='GUI_button'> Add Feature </span> button at the bottom left of the main VOLT window.</li> <li>Rename “New Feature <>” to the desired feature, e.g. “<ccmp>”. When you hit enter the name will resolve.</li> </ul> <a name='a63bc4ed'></a> <h4>Exercise 5</h4> <ul class='dListUnordered'> <li>For this tutorial add the following script: <ul class='dListUnordered'> <li>latn</li> </ul> </li> <li>For this tutorial add the following language: <ul class='dListUnordered'> <li>dflt</li> </ul> </li> <li>For this tutorial add the following features. The fact that the features are sorted alphabetically should not cause alarm. It is the order of the lookups that is important for the order of implementation. <ul class='dListUnordered'> <li>ccmp</li> <li>liga</li> <li>mark</li> <li>mkmk</li> </ul> </li> <li>Drag “dotless” lookup to the <ccmp> feature.</li> <li>Drag “ipa” lookup to the <ccmp> feature</li> <li>Drag “liga” lookup to the <liga> feature</li> <li>Drag “Mark” lookup to the <mark> feature</li> <li>Drag “RhoetoHook” lookup to the <mark> feature</li> <li>Drag “MidMark” lookup to the <mark> feature</li> <li>Drag “MkMkAbove” lookup to the <mkmk> feature</li> <li>Drag “MkMkBelow” lookup to the <mkmk> feature</li> </ul> <a name='fccb3bff'></a> <h3>Step 6 - Test the features</h3> <p>Testing the features and lookups you have is important to make sure the font works as you have designed.</p> <ul class='dListUnordered'> <li>Click on the <span class='GUI_button'> Compile </span> button to compile the font.</li> <li>Open the Proofing Tool by using the command <span class='menu_choice'>Tools / Proofing Tool</span> (F5) or by clicking on the <span class='GUI_button'> Proofing Tool </span> button on the toolbar.</li> <li>In the VOLT Proofing Tool window, set the Script to “Latin” and the Language to “Default”</li> <li>In the edit line type “uni02E5 uni02E5 uni02E7”</li> <li>Click on the <span class='GUI_button'> Complete </span> button and see the resulting shape.</li> <li>Click on the <span class='GUI_button'> Restart </span> button and use <span class='GUI_button'> Next Glyph </span> and <span class='GUI_button'> Next Lookup </span> to see what is happening.</li> </ul> <p>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.</p> <a name='c1867154'></a> <h3>Step 7 - Ship the font</h3> <p>When 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.</p> <ul class='dListUnordered'> <li>Use the command <span class='menu_choice'>File / Ship Font</span>. Make sure that you are not going to strip the working tables from your only working version of the font. That will require you to rebuild your font again. </li> </ul> <hr> <p><small>© 2003-2024 <a href='http://www.sil.org/' target='_blank'>SIL International</a>, all rights reserved, unless otherwise noted elsewhere on this page.<br> Provided by SIL's Writing Systems Technology team (formerly known as NRSI). Read our <a href="/privacy-policy.html">Privacy Policy</a>. <a href='/support.html'>Contact us here.</a></small></p> </div> </td> </table> </body> </html>