?_7'lbO5/&;)z4V&O ‹&O  |CONTEXTb|CTXOMAPs|FONT|KWBTREE|KWDATA|KWMAP|SYSTEM|TOPICf|TTLBTREE3 9E1EContentsM C V RYt2nhContentsIntroductionHelp on Bitmap FontsHelp on TrueType FontsFE1`XIntroduction to Softy=X% 0 RIntroduction to Softy`%  RSofty is an Editor for Windows TrueType and bitmap fonts, including laser printer soft fonts.yX|& VIt can be used to create unhinted TrueType fonts. Existing fonts can be changed, but hints to updated glyphs are lost.((   VBitmap fonts can be amended or created. They can also be used as templates for TrueType glyphs.Softy was written to enable me to produce customised fonts for use with a music notation program.I am making it available as Shareware for the benefit of others finding themselves needing customised fonts, but being reluctant or unable to afford one of the commercial offerings available._7|( n RSuggestions and comments, good or bad, are welcome.H(14Bitmap fonts - Overview?% 4 RBitmap fonts - Overview$'  VThe Bitmap Font Editor uses a separate Window to the TrueType Editor, and operates more or less independently, This Window is opened by clicking on the Bitmap command in the Font Type menu on the initial Window. Only one Window for each font type can be open at a time.Windows bitmap fonts (.FON or .FNT files), bitmap fonts derived from installed TrueType fonts, or laser printer soft fonts (.SFP or .SFL files) can be amended and/or converted to one of the other supported bitmap formats. < Fc RT%iMFor help on creating or amending bitmap fonts, see Bitmap Fonts - How To ...For help on the menu commands and any associated dialog boxes see Bitmap Fonts - ReferenceE$V1vVSetting up Templates<% . RSetting up TemplatesV '  VA template can be used to guide the definition of glyphs for a font. The template is either a character from the bitmap font loaded in the Bitmap Font editing window, or a bitmap which has been pasted or loaded from a Windows Bitmap file (*.BMP) into the top level window.When a bitmap font character is used, it is displayed in the TrueType editing window with its baseline aligned with the TrueType font baseline, and scaled so that its height corresponds with that of the TrueType font. & g VWhen a bitmap is pasted from the clipboard or loaded from a file, these positional parameters must be set manually using the guidelines provided - the template must be framed. The vertical guideline represents the left hand boundary of the character. The template is displayed so that this line maps to the x=0 guildeline in the TrueType editing window. The other three guidelines correspond to the Baseline (the middle one), the Ascent (the upper) and the Descent. The Baseline maps to the baseline in the TrueType editng window. The Ascent and Descent are used to scale the template so that the distance between them corresponds to the EM square size for the TrueType font being edited.X1 ' c VThe guidelines can be moved using the handles provided at the edge of the window. Moving the Descent guideline also moves the other guidelines to allow constant heights to be maintained for a sequence of templates taken from the same bitmap.Note that a single bitmap can provide a number of templates.F 1lZBitmap Fonts - How To=Z% 0 RBitmap Fonts - How To;% , VYet to be written!.IZ1*@CBitmap fonts - Reference@*@% 6 R*@Bitmap fonts - Reference6 `@) "RFile Menu3*@@M jf Vmh'x:k8C㼘|(=NewOpenGet TTF BitmapsSaveSaveAs5 `@A(  RFont MenuE@ZA2 4& Vc&bHeaderScale6 AA) "REdit Menu_ZAA@ P> R?mh㼓ipQBn#CutCopyPastePaste6 A%B+ & VjRUpdate8A]B) "RColumn Menu_%BB@ P> V,icBi®i͠AddDeleteSetClear5 ]BB) "RRow Menu_BPC@ P> V"_{u{_{05AddDeleteSetClear8BC( RDisplay MenuKPCC3 60 V~!~!Zoom InZoom OutJCD1D^D$EBitmap File - New CommandAC^D% 8 RBitmap File - New CommandD$E, &5 Rc&Creates a minimal bitmap font for editing. The standard Font Header update window is displayed. All characters are initially set to have zero width. K^DoE1oEEIGBitmap File - Open CommandB$EE% : RBitmap File - Open CommandroEIG&  RThe Open command opens a font file in either Windows (*.FNT or *.FON), or soft font(*.SFP or *.SFL) format. The selection is made within the standard Windows Open dialog used. If a .FON file is opened, a further dialog is displayed requesting selection of one of the (usually) several fonts (normally the same font name at different point sizes) held in a .FON file. V%EG1hGG#IBitmap File - Get TTF Bitmaps CommandM(IGG% P RBitmap File - Get TTF Bitmaps Command7G#I& # RThe Get TTF Bitmaps command loads bitmaps from an installed TrueType font. A dialog is displayed requested the selection of a font and pointsize. Note: bitmaps from any TrueType font currently being edited cannot be rendered directly by this or any other Softy command. KGnI1 nIImKBitmap File - Save CommandB#II% : RBitmap File - Save CommandnImK& / RThe Save command writes changes made to a current font back to the file to which it has most recently being saved, or to the file from which it was loaded if no SaveAs command has been done. If this file is a .FON file, the current font replaces the original, unless changes have been made to the name, weight, point size or style (italic / upright), in which case the current font is added to the file. MIK1 KKcBitmap File - SaveAs CommandDmKK% > RBitmap File - SaveAs CommandY1Kc( c RThe SaveAs command saves the current font in either FON, FNT, SFP or SFL format. The format is determined by the extension selected within the standard Windows Save dialog used. If this file is a .FON file, the current font replaces any existing font in the file with the same name, weight, point size and style (italic / upright), otherwise the current font is added to the file. Before a FON file is saved, a dialog is displayed which shows details for the file, and allows the Description and Module names to be amended. The Description must begin with the string FONTRES . Im not sure about the use or status of the rest. The documentation I have seen gives the format as something like FONTRES aspect ratio, vert.res., horz.res.: fontname list of pointsizes (at stated resolution). As to the Module name - it should probably be unique amongst the executable files on your machine (or their module names, which may be different). Confused? So am I. I normally leave the DescriptiKcmKon and Module names alone except for changing the list of point sizes if appropriate.CK1 NEdit - Cut Command:c% * REdit - Cut CommandnGN'  RƀThe Cut Command is not implemented for Bitmap fonts at this version.< 1 EEdit - Copy3N%  REdit - CopycE%  RThe Copy Command writes a copy of the character currently selected for editing to the clipboard.= 1~ Edit - Paste4E%  REdit - PasteM'& O RThe Paste Command replaces the bitmap of the character currently selected for editing with the Bitmap from the clipboard, with the height scaled to the character height of the current font, and the width scaled in proportion. The width of the current character is altered to the scaled width.OR1R̅Edit - Paste From Bitmap Char.F!% B REdit - Paste From Bitmap Char.4R̅&  RThe Paste Command replaces the bitmap of the character currently selected for editing with the current Template Bitmap, with the height scaled to the character height of the current font, and the width scaled in proportion, but clipped to the current character width.F1OEdit - Update Command=̅O% 0 REdit - Update CommandiD%  RThe Update Command applies changes made to the current character.DO1;Column Add Command?;( . RColumn Add Command`:& u RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the column to be copied, and click the left mouse button. Columns to the right of the added column are shifted one column to the right, with the rightmost one being lost. The width of the character is not changed.F;1Column Delete Command=% 0 RColumn Delete CommandhB&  RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the column to be deleted, and click the left mouse button. Columns to the right of the deleted column are shifted one column to the left, with the rightmost one being duplicated. The width of the character is not changed.CɊ1#ɊColumn Set Command:% * RColumn Set CommandɊ&  RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the column to be set, and click the left mouse button. All pixels in the selected column are set to On.E:1(:vmColumn Clear Command<v% . RColumn Clear Command:m&  RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the column to be cleared, and click the left mouse button. All pixels in the selected column are set to Off.Av1m&Row Add Command<m( ( RRow Add Command<&& - RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the row to be copied, and click the left mouse button. Rows below the added row are shifted down one, with the bottom one being lost. The height of the character is not changed.Ci1tiRow Delete Command:&% * RRow Delete CommandCi& ; RWhen this menu command is selected, the cursor shape c&hanges to a cross. Position the cursor over the row to be deleted, and click the left mouse button. Rows below the deleted row are shifted up one, with the bottom one being duplicated. The height of the character is not changed.@212iVRow Set Command7i% $ RRow Set Command2V&  RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the row to be set, and click the left mouse button. All pixels in the selected row are set to Off.Bi1!Row Clear Command9V% ( RRow Clear Command&  RWhen this menu command is selected, the cursor shape changes to a cross. Position the cursor over the row to be cleared, and click the left mouse button. All pixels in the selected row are set to On.D1J@YFont Header Command;@% , RFont Header Commandw%  RThe Font Header Command show the current font attributes and metrics. Changes to metrics are implemented as follows:@I `e VAscent:and Descent. The cell height is adjusted in line with the revised values. Character heights are not affected.First and Last Character. Amendments can only be made to characters with codes in the range specified by these two values. A font derived from an installed TT font normally has a range of 31-255. To add characters with codes 10 and 11 to such a font, it is necessary first to change the First character value to 10.Spacing determines if the font is Monospaced or Proportional. If a proportional font is changed to be monospaced, the change is put into effect when the font is saved. All characters will be given the width of the widest character in the font.YY)  VResolution - Horizontal and Vertical. These values should reflect the resolution (in dots per inch) of the target device for the font (typical values are 96x96 for a VGA screen, 120x120 for 8514 screens). They are used to calculate the point size and to determine if the font should be scaled if used on a device with a different resolution.C1cFont Scale Command:Y% * RFont Scale Command2 &  RThis command causes a dialog box to be displayed showing the current cell height and width. Changing either or both of these, then clicking on the OK button, causes all characters in the current font to be scaled in proportion to the changes in the cell dimensions.@H1HZoom In Command7% $ RZoom In Commande@H%  RThis command increases the Grid cell size in the Edit window.A%1%]Zoom Out Command8]% & RZoom Out Commande@%%  RThis command decreases the Grid cell size in the Edit window.J] 1:  MTrueType fonts - OverviewAM% 8 RTrueType fonts - Overview: ' ' VThe TrueType Font Editor uses a separate Window to the Bitmap Editor, and operates more or less independently, This Window is opened by clicking on the TrueType command in the Font Type menu on the initial Window. Only one Window for each font type can be open at a time.A new TrueType font can be created from scratch, or an existing one amended. In both cases, any glyphs created or amended are uninstructed. This is not normally a problem with symbol fonts, especially when used to produce output on high resolution devices.0M- ( V+ÌThe TrueType Editor Window contains two sub windows, the Glyph Display and the Editing Window. The vertical Glyph Display on the left shows a small scale outline of either all glyphs in the current font (optionally including, for registered copies of Softy, the kerning pairs for each glyph), or the glyphs mapped to the character set for the selected platform (see Show Char.Set.). The outlines of glyphs use as components in compound glyphs are drawn in red. Compound glyphs are drawn on a gray background. VK2 2 V x֞HThe Editing Window shows the outline of any glyph being edited. Two fixed intersecting red lines show the location of the x0 and y0 (=baseline) positions. A moveable vertical purple line defines the width of the current glyph for proportional fonts. For monospaced fonts, the width line is red, and cannot be moved (the width can be changed for the whole font using the Font Metrics command). A template can be shown to guide the drawing of a glyph outline. This can be either a bitmap pasted in to the top level window, or the current character of a bitmap font. See Setting up a Template .zO+ & V=nˉFor help on how to create or update a font, see TrueType Fonts - How To...aKQ+ & R)For help on the menu commands and any associated dialog boxes see TrueType Fonts - Reference_+ & V e)For a guide to using the keyboard to edit glyphs, see TrueType Fonts - Using the Keyboard HQ#1@#bqTrueType fonts - How to?b% 4 RTrueType fonts - How toF#+ &6 RBsCreate a TrueType FontFb+ &6 V£qChange a TrueType FontxFf2 4 R㗾LÉCreate a Simple TrueType GlyphCreate a Compound TrueType Glyphb02 4` VJ0l ֞HChange a TrueType GlyphSet up a Templatea6f)+ &l RiResize and RepositionTrueType Glyphs and ContoursHq+ &: V 1J8Merge and Split ContoursI)1 Creating a TrueType Font<q% . RCreating a TrueType  , & R9XzJTo create a TrueType font, first click on the New command from the File menu. This will call up three dialogs in succession, requesting Font Attributes, Metrics, and Names. Reasonable defaults are supplied where required.d > J V㗾Luӑ;J0l BYou will then have a Font with a two (the missing character and null) glyphs and no characters, but with empty maps defined for the Microsoft and Macintosh platforms. Create the required set of glyphs (see Create a Simple TrueType Glyph). Use the Map from the Glyph menu to assign character codes to glyphs. Make any amendments required to the glyphs (see Changing a TrueType Glyph.).. When all amendments have been applied, use the SaveAs command from the File Menu to create the TrueType font file. This can now be installed using the Fonts utility within Control Panel, then used in an application.I  1 / Changing a TrueType Font@ / % 6 RChanging a TrueType Fontc D V RT㗾LJ0l uӑ;xŒUse the Open command to open a TrueType font for editing. Add any new glyphs required (see Create a TrueType Glyph ) and make any amendments to existing ones (see Changing a TrueType Glyph.). Update the character map(s) if necessary, using the Map command from the Glyph menu. Update the font file using the Save command from the File Menu.J/  1 hCDefining a TrueType GlyphH#h% F RDefining a Simple TrueType Glyph@ CP n RdnJ0l xu{ kuӑ;{RInitialise the Edit window for glyph definition using the New commandhC. The Edit window is put into Draw mode ready for defining the first Contour. Define the Contour using the mouse (left button creates an On Curve point, right button an Off Curve point). Close the contour by clicking with the left button on the starting point. Make any amendment (see Changing a TrueType Glyph ). Add additional Contours using the Add command from the Contour menu. Make sure that the direction of each contour is correct (see the Direction command from the Glyph menu). Add the glyph to the set of glyphs for the font using the Update command from the Glyph menu. A character code or codes can be mapped to the glyph using the Map command from the Glyph menu, although this can be done later if required. If it is difficult to relate points to a particular contour, the display of points for other contours can be inhibited by selected a contour and toggling the Show Points command on the Contour Menu. S"hD1Y!DQDyFDefining a Compound TrueType GlyphJ%CQD% J RDefining a Compound TrueType Glyph(DyFD V Rdn-StJ0l kuӑ;Initialise the Edit window for glyph definition using the New command. Link components by selecting their glyph in the Glyphs Display, then using the Link command from the Glyph menu. Make any amendment (see Changing a TrueType Glyph ). Add the glyph to the set of glyphs for the font using the Update command from the Glyph menu. A character code or codes can be mapped to the glyph using the Map command from the Glyph menu, although this can be done later if required.V%QDF1"FGJResizing TrueType Glyphs and ContoursM(yFG% P RResizing TrueType Glyphs and ContoursL&FhI& M RClicking with the right mouse button within the area of a glyph causes a resize box to be drawn. To then move the glyph, release the mouse button, the reclick, and, still holding the right button down, move the glyph until it is in the desired location. To resize the glyph, click on one of the resize handles around the edge of the resize box, and, holding down the right button, move the handle until the box reflects the required size and proportions. The components of a compound glyph cannot be resized to more than twice their original size.hBGJ&  VResizing contours is similar, except that the left mouse button is used. The selection is done by clicking within the contour bounding box, while avoiding any points. If the selection point is within more than on contour, the innermost one is selected. Contours cannot be moved or resized when editing a compound glyph.JhIK1 #K_KChanging a TrueType GlyphEJ_K( : RChanging a TrueType GlyphxK)OR r R-St㚨 R㦜gBㄲgBiʜxySelect the glyph to be changed by double-clicking on its representation in the Glyphs display to the left of the Edit window. This places the glyph in the Edit window.If the glyph is a compound glyph (shown on a gray background in the glyphs display), components can be added or removed using the Link and Unlink commands from the Glyph menu. Contours can only be adjusted in simple glyphs. To adjust the position of contour points, selecting by clicking with the left mouse button in the square showing the point position, and, still holding down the button, move the mouse until the point is in the required position. If your copy of Softy is registered, you can adjust the position of the currently selected point in single steps using the keyboard arrow keys. Points can be added, deleted or switched between On and Off Curve . Contours can be added .or deleted . &_K[3 4 R+Չ9ՉA simple glyph or a component of a compound glyph can be flipped horizontally or vertically. If editing a proportional font, the width for a glyph can be cha)O[Jnged by clicking on the crows foot at the top of the right hand (purple) vertical guideline, and dragging it left or right until the desired width is displayed in the status bar. If your copy of Softy is registered, single step adjustments can be made using the left and right arrow keys while at the same time pressing the Ctrl key.)O- ( R kTo change the width of all glyphs in a monospaced font, change the Width value in the Font/Metrics dialog box.When all amendments have been made, update the set of glyphs for the font with the amended glyph using the Update command from the Glyph menu. Until this is done, the original version remains; if needed, the Edit window can be restored by double-clicking on it in the glyphs display.[, &o VAn existing glyph can be replaced by the one in the Edit window by double clicking the right mouse button on the representation of the glyph to be replaced in the Glyphs display.T#N1$N"TrueType Fonts - Using the KeyboardK&% L RTrueType Fonts - Using the KeyboardxNg # VThe following Keyboard Keys can be used for editing glyphs as alternatives to Menu selections or using the MouseThe Left and Right arrow keys, used by themselves, select the previous(anticlockwise) or next(clockwise) point in the current contour in the Editing Window.The Up and Down keys, used by themselves, move up and down the Glyph Display.The Return key selects the current Glyph Display entry for editing.If a registered copy of Softy is being used, the arrow keys, with the Shift key pressed, can be used to make single step adjustments to the position of the selected point. Similarly,with the Ctrl key pressed, the left and right arrow keys can be used to make single step adjustments to the width of the current glyph (unless font is monospaced).": B VThe Home key selects the start point of the current contour.The Delete key deletes the currently selected point.The Insert key inserts a new point between the current point and the next (clockwise) point.Oq1#%qMerging and Splitting ContoursF!"% B RMerging and Splitting Contoursq'  VTo merge two contours, move a point on one until it exactly overlays a point on the other (if both points are On Curve, or both Off Curve, the bounding boxes will disappear). A message asking if the contours are to be merged is displayed. Click Yes to merge the contours.To split a contour, move a point until it exactly overlays another within the same contour. A message asking if the contour is to be split is displayed. Click Yes to split the contour.K1&6TrueType fonts - ReferenceB6% : RTrueType fonts - Reference6 l) "RFile Menu_6ˌ@ P> V9XzJTxŒBNewOpenSaveSaveAs2 l& RFont Menu["ˌX9 BD VŤS xTDFAttributesMetricsTables:) ""VPlatform Menu8X#Y p V6TX1y,u+ÌNewSelectDeleteNamesShow Char.Set6 Y) "VGlyphMenu#  , Vdn-St㚨 R?G>2}@㧊׉ k㷭6ˉ9Չ+Չ+UЕL)uӑ;KӉ]neA@?sO ,) AddLinkUnlinkOutlineTemplateCopyPasteUpdateCentreFlip Vert.Flip Horz.All Points On CurveAll Points Off CurveMapDeleteShow Kerning PairsNew Kerning PairShow Unused GlyphsDelete Unused GlyphsY 9YF) " VContour Menuz #c Vx@mkydSB:&u{󮲉kb{RAddOutline TemplateDeleteCopyPasteDirectionAll Points On CurveAll Points Off CurveShow Points7FZ) "VPoint Menu["#9 BD V㦜gBㄲgBiʜSplitDeleteOn/Off Curve5Z& VDisplay Menup0Z@ P` Vm~C-Ir&Zoom InZoom OutTemplateShow Points4%  ROptions MenuQZ2 4> Vh3B/>$TemplateCheck ChecksumsH'1[''fFile Menu - New Command?f% 4 RFile Menu - New Command*'8 > RŤS xuThe New command initiates creation of a TrueType font from scratch. Three dialogs are opened in succession, requesting Font Attributes, Metrics, and Names (for the Microsoft platform). Reasonable defaults are supplied where required.If1(File Menu - Open Command@% 6 RFile Menu - Open Commanda%  RThe Open command opens a TrueType font file for editing, using a standard Windows Open dialog.I1")(File Menu - Save Command@(% 6 RFile Menu - Save Command, & RBThe Save command writes changes made to the current font back to the file to which it has most recently being saved, or to the file from which it was loaded if no SaveAs command has been done.K(d1*d!File Menu - SaveAs CommandB% : RFile Menu - SaveAs Command{Vd!%  RThe SaveAs command invokes a standard Windows Save dialog to save the current font.Hi1+inFont Attributes Command?!% 4 RFont Attributes CommandXi(( RƀThe Attributes Command opens a Dialog to view or amend the following font attributes:7L f VWeight Classification.Width ClassificationMonospaced.StyleCharacter Set. This should be set to Symbol for character sets other than the standard Microsoft UGL character set. Codes for non UGL character sets in the mapping for the Microsoft platforms are conventionally in the range 0xF020 - 0xF1FF (61472-61693). Embedding Rights. Specifies the restrictions placed on embedding this font, or using documents with this font embedded.7(n> J VNone states that he font should not be embedded.All states that the font may be embedded On a remote system, documents containing it may be updated and the font may be installed permanently.Read Only states that the font may be embedded and temporarily installed on other systems. Documents with the font embedded should be opened read-only.Update states that the font may be embedded and temporarily loaded on other systems. Documents with the font embedded may be updated on remote systems.= 71m,Font Metrics4n%  RFont MetricsxSW%  RThe Metrics Command opens a Dialog .to view or amend the following font metrics:~)  REm Square. The imaginary square used to size and align fonts. It is defined in Font Units. The position of all points is defined in these units. Usually, but not necessarily, around the same the distance between the lowest point (yMin) of any glyph and the highest point (yMax). Should be a power of 2 for efficiency. All the Microsoft fonts seem to use 2048. If the distance betweeW~nn yMax and yMin exceeds the em square size, the excess is converted into internal leading when the font is used.g7W0 .o VWidth. The average character width. This can only be changed for monospaced fonts. For proportional fonts it is calculated as an average of characters in the font. The value displayed for proportional fonts is set when the font is loaded, being recalculated and updated only if the file is saved.Lowest Readable Size (PPEM). This is the smallest recommended size (in Pixels per EM) at which the font should be used. For example, a font with this value set to 12 would not be recommended for use on a display with a nominal resolution of 96dpi at less than 9pt.> ~#1-#XEFont - Tables5X%  RFont - Tables#E&  RThis item is really for my benefit, to help in diagnosing problems. It provides the facility to view some of the tables that make a TrueType font. The initial window gives a list of the tables that are present in the current font. Double clicking on a entry may bring up another window showing the contents of that table. For descriptions of whats in all these tables, Im afraid that you will have to do what I did, and read the TrueType Specification.?X1@.Platform - New6E% " RPlatform - New&  RNew platforms cannot be added to a font at this version. New fonts are created with subtables for platform id 1, encoding 0 (Macintosh, Roman character set).and platform id 3, encoding id 0 or 1 (Microsoft Unicode,non-UGL or UGL).B 1/ DPlatform - Select9D% ( RPlatform - Select & _ RThis command opens a dialog showing the currently selected platform, and allows this to be changed to another for which a character mapping is specified within the font. .JDc10c Platform - Delete CommandA% 8 RPlatform - Delete CommandoHc '  RƀSupport for a platform cannot be removed from a font at this version.AT 1N1T   Platform - Names8  % & RPlatform - NamesT  J b RThe Names command opens a dialog that allows names for the current platform to be viewed and amended. The initial set of names displayed are those for the US English language, being the set required for use with Microsoft platforms. Note that the Identifier is the name that Windows uses to identify the font. It should be a combination of the Family and Sub Family names, unless the Sub Family is Regular, in which case it should be the same as FamilyP  12 @ ( Platform - Show Char.Set toggleG" @ % D RPlatform - Show Char.Set toggle ( &  RWhen this menu item is checked, the Glyph Display window shows the glyphs mapped to the character set for the current platform. When it is unchecked, all the glyphs in the font are displayed.D@ l 13l  fGlyph - New Command;(  % , RGlyph - New Commandl f& 3 RThis command discards the current contents of the Edit window, and switches to Draw mode ready for definition of the first contour for the new glyph. E 14 @Glyph - Link Command<f% . RGlyph - Link Command @&  VThis command links the selected glyph in the Glyph List to the glyph in the editing window. The latter must be a compound glyph, or a New glyph for which no contours have yet been defined. @fGS@15S@@#AGlyph - Unlink Command> @@% 2 RGlyph - Unlink CommandmS@#A%  VThis command unlinks the currently selected glyph in the Edit window from the compound glyph being edited.Q @tA16tAA5CGlyph - Outline Template CommandH##AA% F RGlyph - Outline Template CommandyGtA5C2 2 Rh3B This command starts a new glyph. All template contours within the frame are outlined. Contours are clipped to the area framed by the template guidelines and the TTF Edit Window width guideline. The outline can include both On- and Off-curve points. The scan sensitivity can be adjusted using the Options/Template commandGA|C1o7|CCDGlyph - Delete Command>5CC% 2 RGlyph - Delete Command>|CD& 1 RThe highlighted glyph in the Glyph List is deleted. Any characters mapped to this glyph are remapped to the zero glyph. Glyphs that are components of compound glyphs (shown in Red in the Glyph List) cannot be deleted; this menu option is disabled when such glyphs are selected.EC=E18=EyEEGlyph - Copy Command<DyE% . RGlyph - Copy Commandb;=EE' v RƀThe currently selected glyph is copied to the Clipboard.FyE!F19!F^FAGGlyph - Paste Command=E^F% 0 RGlyph - Paste Command!FAG& { RThe current contents of the Edit window are discarded, and a glyph copied from the Clipboard. Note that, as with a New glyph, a glyph created in this way is not mapped to any characters.F^FG1:GG)HGlyph- Update Command=AGG% 0 RGlyph- Update Commande@G)H%  RThe Update Command applies changes made to the current glyph.< GeH1c ;eHH#Glyph - Map3)HH%  RGlyph - MapZ4eHK& i RThe Map command opens a Dialog through which to input the code of a character that maps to the highlighted glyph in the Glyph List for the current platform. NB This is not necessarily the glyph in the Edit window. When assigning codes for the Microsoft map, these should be Unicode values. Windows remaps these when the font is installed. For Symbol fonts, which should have codes starting at 0xf020, Windows assumes that the first character corresponds to a space (code 0x20, decimal 32), then that the next 223 character codes map to (decimal) 33-255. 0xf000 is added to the input value when a glyph is mapped to a character in this context. For UGL character sets, the following mappings are made to produce the Windows ANSI character set where the Unicode value is not the same as the Windows character set value.H Na o VMapped toFrom130 (0x82)8218(0x201A)131 (0x83)402(0x0192)132 (0x84)8222(0x201E)133 (0x85)8230(0x2026)134 (0x86)8224(0x2020)135 (0x87)8225(0x2021)136 (0x88)710(0x02C6)137 (0x89)8240(0x2030)138 (0x8A)352(0x0160)139 (0x8B8249(0x2039)140 (0x8C)338(0x0152)145 (0x91)8216(0x2018)146 (0x92)8217(0x2019)147 (0x938220(0x201C)148 (0x94)8221(0x201D)149 (0x95)8226(0x2022)150 (0x96)8211(0x2013) K#> J V151 (0x97)8212(0x2014)152 (0x98)732(0x02DC)153 (0x99)8482(0x2122)154 (0x9A)353(0x0161)155 (0x9B)8250(0x0353)156 (0x9C)339(0x0153)159(0x9F)376(0x0178)For example, if the tilde accent character (Windows ANSI code 152) is being mapped to a glyph, it should be given its Unicode value of 732.Note that code 160(0xa0) is the no-break space character. Windows ignores any outlines in a glyph mapped to this code.Mapping N#)Hcharacters to the zero glyph removes them from the map (unmaps them) for the current platform (the zero glyph is the first in the Glyph Display when the Show Character Set option is not selected). When a Glyph is deleted, any characters mapped to it are automatically unmapped @ Nc1<cGlyph - Centre.7#% $ RGlyph - Centre.fAc%  RCentres the glyph in the Edit window within its advance width.CC1=C}ւGlyph - Flip Vert.:}% * RGlyph - Flip Vert.Y4Cւ% h RFlips the glyph in the Edit window top to bottom.C}1>SGlyph - Flip Horz.:ւS% * RGlyph - Flip Horz.[4' h Rƀ.Flips the glyph in the Edit window left to rightLS1y?=Glyph - All Points On CurveC=% < RGlyph - All Points On CurveH!' B RƀMake all Glyph Points On CurveM=҄1z@҄_Glyph - All Points Off CurveD% > RGlyph - All Points Off CurveI"҄_' D RƀMake all Glyph Points Off CurveK1pA+Glyph - Show Unused GlyphsB_% : RGlyph - Show Unused Glyphs& 5 VThis command shows only unused glyphs in the Glyph List, i.e. those not mapped to any character (in any platform), and not used in any compound glyphs.U+* $ RƀThis feature is only available when valid registration details have been entered.Mx1)BxGlyph - Delete Unused GlyphsD+% > RGlyph - Delete Unused GlyphsySx5&  VThis command deletes all unused glyphs, i.e. those not mapped to any character (in any platform), and not used in any compound glyphs. The command does not operate recursively, so any glyph which becomes unused as a result of the operation of this command (e.g. if a compound glyph which uses it is removed) is not deleted at that time.U* $ RƀThis feature is only available when valid registration details have been entered.K51ACAQGlyph - Show Kerning PairsBA% : RGlyph - Show Kerning PairsQ)  RƀDisplay any kerning pairs in the glyph list. Pairs are shown following their left hand glyph in the list. Kerning pairs are not shown when the Platform/Show Char.Set option is checked. Double clicking on a kerning pair copies it to the Edit Window. The offset can then be adjusted by moving the right hand glyph (use the right mouse button), and clicking Glyph / Update to confirm the new setting.This option only becomes available when valid registration details have been entered. IA1DڌGlyph - New Kerning Pair@Qڌ% 6 RGlyph - New Kerning Pair) w RƀInitiates a kerning pair Edit. The current glyph in the Edit Window (or the left hand glyph in a kerning pair being edited) is used as the left hand glyph of the new pair.The currently highlighted glyph in the glyph list is established as the right hand glyph. The offset can then be set by moving the right hand glyph (use the right hand mouse button).This option only becomes available when valid registration details have been entered. Fڌ1EA Contour - New Command=A% 0 RContour - New Commandm %  RThis command switches to Draw mode ready for definition of a new contour for the glyph in the Edit window.A S"A_1F_BContour - Outline Template CommandJ% % J RContour - Outline Template Commandg_B2 2 Rh3B This command outlines a contour from the current template. The area to be outlined is selected by clicking within it. Contours are clipped to the area framed by the template guidelines and the TTF Edit Window width guideline. The outline can include both On- and Off-curve points. The scan sensitivity can be adjusted using the Options/Template commandI1GJContour - Delete Command@B% 6 RContour - Delete CommandZJ%  RThis command deletes the currently selected contour from the glyph in the Edit window..G1H3Contour - Copy Command>J% 2 RContour - Copy Commandd=3' z RƀThe currently selected contour is copied to the Clipboard.H{1I{Contour - Paste Command?3% 4 RContour - Paste Command{& { RThe current contents of the Edit window are discarded, and a glyph copied from the Clipboard. Note that, as with a New glyph, a glyph created in this way is not mapped to any characters.D1JContour - Direction;% , RContour - Direction&  RThis Menu Command may appear as Direction (grayed) when no contour is selected, or Clockwise or Counter Clockwise when a contour has been selected. If a contour is selected, the command is set to reverse the contours direction (i.e. that of ascending order of the numbers of the points of the contour). Clicking it reverses the direction of the contour. Contour directions should be set so that when travelling round the contour in ascending point number order, the area to be filled in is on the right. For example, for the letter O, the direction of the outside contour should be clockwise, that of the inside contour, counter clockwise.N1{KWContour - All Points On CurveE W% @ RContour - All Points On CurveJ#' F RƀMake all Contour Points On CurveOW1|L6Contour - All Points Off CurveF!6% B RContour - All Points Off CurveK$' H RƀMake all Contour Points Off CurveF61M\Contour - Show Points=% 0 RContour - Show PointsX1\' b RƀShow or hide points for the selected contour. F1N|Point - Split Command=\% 0 RPoint - Split Commandx|%  RThe current point is replaced by two points. If the current point is On Curve, so are the new points, and vice versa.G1sOCPoint - Delete Command>|% 2 RPoint - Delete CommandBC% : RDeletes the current point.M1P`Point - On/Off Curve CommandDC% > RPoint - On/Off Curve Commande`'  RƀThis command switches the selected point to be either On or Off Curve as shown on the menu legend.I1QdDisplay - ZoomIn Command@`% 6 RDisplay - ZoomIn Command{Vd%  RChanges the view in the Edit window to show less of the glyph at higher resolution.B1RgDisplay - ZoomOut9d% ( RDisplay - ZoomOut|Wg%  RgdChanges the view in the Edit window to show more of the glyph at a lower resolution.C1SDisplay - Template:g% * RDisplay - Template&  RWhen ticked, any currently selected character in the Bitmap Edit window is shown as a template in the TrueType Edit window. Click to toggle.F1TDisplay - Show Points=% 0 RDisplay - Show PointswP'  RƀWhen ticked, the points forming the current glyph are shown. Click to toggle.C1eUDOptions - Template:% * ROptions - Template4 D(  RƀOpens a Window allowing the sensitivity of template scans to be adjusted. The number defines the deviation (in template pixels) of an outline curve or straight line segment from the template that can be tolerated without breaking that segment into smaller segments.J1VxOptions - Check ChecksumsAD% 8 ROptions - Check Checksumsx(  RƀWhen checked, displays a message if any checksum errors are found on loading a font. The default is not to report such errors.11W[R HelvF+F^ Tms RmnSj*FSymbolFWV~ &Courier|2Ì@RPTimes New Roman@RPArialPvapMS SerifPVA?aBMS Sans Serif?a~!Times?T~- Helvetica FP?SystemaPFPCourier NewFFixedsys؈/FFTerminalPGPvSmall FontsD^TBKWidgetsVv WesWebb?aƆ&MS DialogˌAVMS Dialog LightFMS SystemEx؎F&MarlettFGFVWingdingsG"FGArial BlackV R!Comic Sans MS!FImpact UVW3VerdanaFFFFWebdings~v F+HLucida ConsoleuTahomaF& tlHRoman 5cpiPFPRoman 6cpi^&?tRoman PSv66FRoman PX?t?tDraft 10cpi66Draft 12cpi6F PArial Narrow CETF Arial Narrow Cyr^Arial Narrow GreekArial Narrow TurGArial Narrow BalticBookman Old Style CBookman Old Style GBookman Old Style TBookman Old Style BImpact CEFFFImpact CyrڍFЌImpact GreekvhXImpact TurFImpact BaltictArial Black CE~Arial Black CyrArial Black GreekFArial Black Tur&uArial Black BalticPVerdana CEV+҉Verdana CyrNf %Verdana Greekv FVerdana Tur~uVerdana BalticFzoQ΁J{|\}~2ABCD, E9FGHـIJ3'']RACDsF.G!IWKLSMNOPQRSTUHWXYZ[\^_`abcdƅe fg$h i jkNl]n-ppq‡y<z8{7|e~qw~lnOoq/rtuv0yz{}FF-\ TT\Fqe8p‡F8<F ]T2JF9FTF]e/&;)i24Ij2Y2.BMP filesAdding a new glyphbitmapChanging glyph width Changing point positionCharacter codesChecksumsClearing all pixels in a column clipboard$Compound glyphs0contours merging<contours splitting@Copying bitmap charactersDDeleting a bitmap columnLDeleting a pointPDeleting glyphsTDisplaying character setsXFlipping glyphs\Glyph List Options`Glyph widthhGlyph zerolGrid sizepInserting a bitmap columnxInserting a point|KerningKeyboardLinking a glyphLinking glyphsLoading bitmapsMapping character codes to glyphsmerging contoursMoving pointsOutlining a templatePasting bitmap charactersPasting bitmap charctersReplacing glyphsResizing contoursSaving changed bitmap charactersSaving fontsSelecting pointsSetting all pixels in a columnSplitting a pointsplitting contoursStart pointtemplateTTF BitmapsUnlinking a glyphUnlinking glyphsUnmapping glyphsUnused$#F-#|l tM`-#vq yMll-#s inGb<%(-#H PM-#'Sv/H%/&;)Lz+&G&F XKContentsMIntroduction to SoftyBitmap fonts - OverviewSetting up Templates Bitmap Fonts - How To Bitmap fonts - ReferenceBitmap File - New Command΁Bitmap File - Open Command]Bitmap File - Get TTF Bitmaps CommandBitmap File - Save CommandJBitmap File - SaveAs CommandEdit - Cut Command\Edit - CopyEdit - PasteEdit - Paste From Bitmap Char.2Edit - Update CommandColumn Add CommandColumn Delete Command9Column Set CommandColumn Clear CommandRow Add Command, Row Delete CommandRow Set CommandـRow Clear CommandFont Header CommandOFont Scale CommandpZoom In Command‡Zoom Out CommandTrueType fonts - OvervieweTrueType fonts - How to~Creating a TrueType FontChanging a TrueType FontY Defining a TrueType GlyphDefining a Compound TrueType Glyph Resizing TrueType Glyphs and ContoursChanging a TrueType GlyphFTrueType Fonts - Using the KeyboardTMerging and Splitting Contours@TrueType fonts - Reference'File Menu - New Command3File Menu - Open CommandFile Menu - Save CommandFile Menu - SaveAs CommandFont Attributes Command0Font Metrics7Font - TablesPlatform - NewPlatform - SelectPlatform - Delete Command/Platform - NamesPlatform - Show Char.Set toggleGlyph - New Command Glyph - Link CommandGlyph - Unlink CommandGlyph - Outline Template CommandGlyph - Delete Command!Glyph - Copy CommandsGlyph - Paste CommandHGlyph- Update CommandGlyph - MapGlyph - Centre.SGlyph - Flip Vert.Glyph - Flip Horz.Glyph - All Points On Curve$Glyph - All Points Off CurveeGlyph - Show Unused GlyphsqGlyph - Delete Unused Glyphs8Glyph - Show Kerning Pairs<Glyph - New Kerning PairContour - New CommandContour - Outline Template CommandContour - Delete CommandContour - Copy CommandWContour - Paste Command.Contour - Direction uR ƅContour - All Points On Curve Contour - All Points Off CurveNContour - Show PointsPoint - Split Command'Point - Delete Command]Point - On/Off Curve CommandDisplay - ZoomIn CommandRDisplay - ZoomOutDisplay - TemplateDisplay - Show Points Options - Template-Options - Check ChecksumsEdit - CopyEdit - PasteEdit - Paste From Bitmap Char.2Edit - Update CommandColumn Add CommandColumn Delete Command9Column Set CommandColumn Clear CommandRow Add Command, Row Delete CommandRow Set CommandـRow Clear CommandFont Header CommandOFont Scale CommandpZoom In Command‡Zoom Out CommandTrueType fonts - OvervieweTrueType fonts - How to~Creating a TrueType FontChanging a TrueType FontY Defining a TrueType GlyphDefining a Compound TrueType Glyph Resizing TrueType Glyphs and ContoursChanging a TrueType GlyphFTrueType Fonts - Using the KeyboardTMerging and Splitting Contours@TrueType fonts - Reference'File Menu - New Command3File Menu - Open CommandFile Menu - Save CommandFile Menu - SaveAs CommandFont Attributes Command0Font Metrics7Font - TablesPlatform - NewPlatform - SelectPlatform - Delete Command/Platform - NamesPlatform - Show Char.Set toggleGlyph - New Command Glyph - Link CommandGlyph - Unlink CommandGlyph - Outline Template CommandGlyph - Delete Command!Glyph - Copy CommandsGlyph - Paste CommandHGlyph- Update CommandGlyph - MapGlyph - Centre.SGlyph - Flip Vert.Glyph - Flip Horz.Glyph - All Points On Curve$Glyph - All Points Off CurveeGlyph - Show Unused GlyphsqGlyph - Delete Unused Glyphs8Glyph - Show Kerning Pairs<Glyph - New Kerning PairContour - New CommandContour - Outline Template CommandContour - Delete CommandContour - Copy CommandWContour - Paste Command.Contour - Direction uRƅIPV 0 HIDM_GFLIPV c:\dwe\win\softy\softy.rtf 62 DD5BDEF2B HIDM_GFLIPH 0 HIDM_GFLIPH c:\dwe\win\softy\softy.rtf 63 F95D0552B HIDM_G_ALLON 0 HIDM_G_ALLON c:\dwe\win\softy\softy.rtf 64 H29FE4CF7 HIDM_G_ALLOFF 0 HIDM_G_ALLOFF c:\dwe\win\softy\softy.rtf 65 N2CA4204F HIDM_SHOW_UNUSED 0 HIDM_SHOW_UNUSED c:\dwe\win\softy\softy.rtf 66 R B0129A9 HIDM_DELETE_UNUSED 0 HIDM_DELETE_UNUSED c:\dwe\win\softy\softy.rtf 67 B41656E5D HIDM_KVIEW 0 HIDM_KVIEW c:\dwe\win\softy\softy.rtf 68 @8A733F40 HIDM_KNEW 0 HIDM_KNEW c:\dwe\win\softy\softy.rtf 69 @8A78F1FC HIDM_PADD 0 HIDM_PADD c:\dwe\win\softy\softy.rtf 70 V6BDB6D40 HIDM_OUTLINE_CONTOUR 0 HIDM_OUTLINE_CONTOUR c:\dwe\win\softy\softy.rtf 71 B42339068 HIDM_OTEMP 1 HIDM_OTEMP c:\dwe\win\softy\softy.rtf 71 @8A7907DA HIDM_PDEL 0 HIDM_PDEL c:\dwe\win\softy\softy.rtf 72 B4253641A HIDM_PCOPY 0 HIDM_PCOPY c:\dwe\win\softy\softy.rtf 73 D2697143A HIDM_PPASTE 0 HIDM_PPASTE c:\dwe\win\softy\softy.rtf 74 @8A7B75B2 HIDM_RDIR 0 HIDM_RDIR c:\dwe\win\softy\softy.rtf 75 FB2AEF387 HIDM_C_ALLON 0 HIDM_C_ALLON c:\dwe\win\softy\softy.rtf 76 H 362E66B HIDM_C_ALLOFF 0 HIDM_C_ALLOFF c:\dwe\win\softy\softy.rtf 77 DB552BD7B HIDM_CSHOWP 0 HIDM_CSHOWP c:\dwe\win\softy\softy.rtf 78 B42679CA6 HIDM_PTADD 0 HIDM_PTADD c:\dwe\win\softy\softy.rtf 79 B4267B284 HIDM_PTDEL 0 HIDM_PTDEL c:\dwe\win\softy\softy.rtf 80 JAD9CCA69 HIDM_PTONCURVE 0 HIDM_PTONCURVE c:\dwe\win\softy\softy.rtf 81 D7E136DBB HIDM_ZOOMIN 0 HIDM_ZOOMIN c:\dwe\win\softy\softy.rtf 82 F2D439B10 HIDM_ZoomOut 0 HIDM_ZoomOut c:\dwe\win\softy\softy.rtf 83 H17B07249 HIDM_TEMPLATE 0 HIDM_TEMPLATE c:\dwe\win\softy\softy.rtf 84 FA27F26DF HIDM_SHOWPTS 0 HIDM_SHOWPTS c:\dwe\win\softy\softy.rtf 85 B42339068 HIDM_OTEMP 0 HIDM_OTEMP c:\dwe\win\softy\softy.rtf 86 F15243E2F HIDM_CHKSUMS 0 HIDM_CHKSUMS c:\dwe\win\softy\softy.rtf 87 /&;)L4^6WV>8W@WT3xŒ,icBii\®i9dn@?s<-St 'x΁xy"_{u{, u{._{|+ÌlB+UЕT% & e)F)@iʜ]͠ƅ;x‡{RN6=neK+՜9SsYMi u/kb bO1y,) q/>$-BIriM J0l ~!pn#:&Wc&L)$O ,eC-Rt2?G>205ـ 1J8Tuӑ;(=J}@!]neA8h3B pQBdSBgBgB':k8C]TDF7֞H9XzJ'LY  RjR2ŤS6TX?mhmhnh kH@mk£qBs~ x0m~DPFPj@?a~t *^FV^W^_UWVv tZ~ *P9);uI*^HHt HtHHt'E*^GEEU^W^_3^_WV>ujjOW u 3^_ t(6NVG?aVF߃&G& t# tN+FF6FP-tF @jPj'JFV FtRvD?a‹&6VFPOW^w~u67FV^_ WVv v D?aR'Jv v D?a‹&GF^GF7N u9vt6VFP^OWF FtvvD?aR'JvvD?a‹&;~uv v D?aVvvD?aRPEvPF-P\JOW uxF P 'J6vF POW^w~u6^_7 WVFV VF;v8^~ F&*;sPƌ@RP9);Fr;w ƌ^_3^_WVvV3;vV*;F uV4OW;vr^_WVFFQ^?^F3v^F؊*PWvZ- t$vV4OW++NV4OW|tvFr^_F^^?ދG^_WV~ =tdv&9DwY&9DrS&|u ƌ 6&tFP^OWvvD?aFVF&+\v&^_3^_WV>uF͋~WFP\7V tzğ&w t߉~FVc??aF ~ljvvvVFPu??aFt&^FEFFPFPr@u F;v|^_3^_WVNV ^ F3FFƒ|؋z׉VF|؋WzʉNFu9~vVWFPj@?a~u9Fu3 4v