To the computer, they’re the same, just the representation is different. In order for the computer to understand which character to use, an encoding is necessary, such as UTF-8, which maps a byte (or a sequence of bytes) to the numeric order in the set.Įvery character in a set must have a numeric id, but the encoding doesn’t really need to map all of the characters. For example, a long s might be used when an s occurs in initial or medial position, but it doesn’t have to be mapped to any byte, as it’ll use the same as s does. Unicode is an example of a character set, as a collection of characters and a standard numeric order for them. The encoding is what tell which bytes represents each character of a set. About encoding and character setsĪ character set is, well, a set of characters. In the Font Info dialog, under the PS Names section, you can set the name of your font and also add a copyright notice. The Em Size change automatically to reflect the sum of the two and that should be the same height of your SVG files, to assure the glyphs will be in the same position when importing. There you can set the Ascent (the size above the baseline) and the Descent (the size below the baseline). ![]() To set that, go to Element > Font Info (Ctrl+Shift+F) > General. In Xiis, all final consonants are drawn below the baseline. Everything below the baseline is a descender, like the stem on the letter p. The baseline is the horizontal line in which letters sit. You also have to set the baseline of the font. The Xs are where your glyphs will be and the characters are a reference to know the correct encoding. It’ll show a bunch of rectangles with red Xs and characters on top of them. FontForge requires that only a single path exists. Then click on Path > Union in menu bar to make it all a single path. Then, select the tool Edit paths by nodes (F2), hold shift and click on every piece until all is selected. This assures nothing extra is hanging around. When finished a glyph, select all the pieces, do an invert selection command and delete. The width is not really important, because it’s defined per glyph, but the height is defined for the font (unless you have a vertical system) Create a base file with all the guides, specially the baseline, and use it as a start. My recommendation is to create an image of 1000×1000 pixels (or 1024×1024 if you intend to create a TrueType font, as it requires the height to be a power of two, though FontForge is able to rescale it if you want). As it works directly with SVG (a vector graphics image format) and FontForge can import them directly too, it’s a natural process. Picture 1: The design for short i in Inkscape. You can even use FontStruct to do it, depending of how simple are the glyphs. About how to do this, there’s many information on the internet easily accessible. Designing GlyphsĪ glyph is “an image, often associated with one or several characters” according to the FontForge glossary. The first step is to design such images that will compose your font. Even as sort of “programming language”, I found it easier to understand than the OpenType lookup tables, but it does have some bugs that annoyed me. There’s also Graphite, a script language to help creating complex features in fonts. They may seem outdated, but there’s no actual more recent version of FontForge (unfortunately). ![]() * Edit: If I recall correctly, I used a pre-built installer package to install it on Windows. Both are free open source softwares, so you only have to spend your internet connection to download them. The only caveat is that FontForge is a pain to install under Windows, but I managed to do it. I used basically two softwares to create the font for Xiis: Inkscape, a vector graphics editor, and FontForge, an outline font editor. ![]() To view the description of Xiis, itself, along with a link to font file, check the document at. It actually became longer than I originally intended, but I believe it has the right amount of detail. It is a guide that will explain the general process I used to create Xiis and what each function do (specially about lookup tables, something I really suffered to understand how they work). This is not a tutorial, I would say, because it’s not (much) a step-by-step directions. So, to help other people that might try to create similar systems, I’ll try to describe my journey in this endeavor. If I was designing a standard alphabet, none of these troubles would happen to me, but, inspired by Hangul, I followed a different way. When I decided to make my own writing system (or a conscript, for short), I couldn’t tell how difficult it would be to actually develop a computer font for it. A PDF version of this guide can be found at Content
0 Comments
Leave a Reply. |