Nepal Codes for Information Interchange White Paper v2 Font Standardisation Working Committee, 1997 page 14 Part III. Guidance for Implementers. There are many items that must be co-ordinated when making a font for a computer whether it is a TTF (True Type Font) for Windows 3.1 and Windows 95 or if it is a Unicode font for Windows NT or Windows 98. First you must start with a language, identify the alphabet, and determine what all the characters are and how they are used to form words and sentences. Letters of the alphabet have to be typed into the computer from the keyboard, must show on the screen with the correct shapes, must be saved on a disk in a file for future use, and must be printed on paper with printers in the correct shape for other people to recognise and read. If a list of items is made then it is helpful if you can properly alphabetize the list in a sorted order so a word will be found in the list in the place that people would expect to find it. So where do you start to make a font? Most people like to start with the printed output, trying to make it look pleasing to the reader, but the most important place to start is with what is to be stored on the disk since that is the real ‘data’ that the computer is using to do it’s work, and it is the part which needs to correctly represent the characters and sounds as they are used in the language. The rest of the process is either ‘input’ or ‘output’ or ‘processing’ the data to analyze it or rearrange it. The ‘input’ is usually from a keyboard and ‘output’ can be to a screen, printer, disk, or email. The first step in making a new font is to decide on the basic building blocks of the language which is the alphabet which is listed in table 3. The list actually defines two things which is the alphabet characters and their shapes. It is important now to give each character a unique computer code so that the ‘character code’ can be used to save the data on a disk. This standard includes all of the alphabets of the languages in Nepal so there will be a few extra characters in the list as shown in Table 5 for Unicode fonts or Windows TTF fonts. This section will only deal with Unicode fonts so see the next section for issues related to TTF fonts. The reason for including TTF fonts in this standard is due to the fact that many people will be still using Windows 3.1 for a few years to come on older computers eventhough Unicode fonts will be supported on new systems. All of the characters which are used in the language can be built from the list in table 5 by using combinations of the characters. It is important that the reader properly understands the idea of how the explicit 'A' ($) affects document encoding and font creation. Normally when you type a consonant there is an implicit '' unless a 'halant' is added to the character or another vowel is added. With Unicode fonts the proper way to designate a full consonant will be to add an explicit '' after the character so a /becomes / $instead of just /, while a /Ú becomes / +and a 3 becomes / $. Half characters like 0or « can be represented with just a /and ªwith no trailing $. This system for representing characters on the disk’s data is much more accurate than what is done in TTF fonts today and will maintain much better integrity when the data is sorted or analyzed. Conjunct characters are made when two consonants are combined to make a new shape which is partly or totally different from the two characters that it is made from. Some examples are the dya o and sna ¬conjuncts where the dya o is made from 'd y a' l $and the sna ¬is made from 's n a' « { $ (not sa na). The missing explicit 'a' , from between the first two consonants indicates that they are to be joined together. In Unicode fonts it will be up to the designer's discretion as to how many conjuncts to make but it is recommended that at least the ones shown in this standard should be included in the font. See table 8 for a complete list of character glyphs and the sequences used to represent them. Note that these sequences are what is saved on the disk and does not need to resemble what you type to input the data from the keyboard. That will be dealt with when considering the keyboard layout.