Fontlab tutorials5/8/2023 ![]() ![]() Sub by by by easy to add in lookups that account for glyphs with no alternates (such as spaces), but those can be covered in the tutorials I linked to. Using classes containing all base glyphs all glyphs from stylistic set 1 set 2 and set 3 basic cycling looks something like this: So no matter what gets typed, the set the preceding character belongs to determines the set of the character being typed. Basic Cyclingīasic cycling is when each character typed cycles through base (i.e.– base glyphs), ss01, ss02, ss03, and back to the beginning. In his tutorial he talks about basic cycling, eliminating duplicates, and what he has termed “Quantum” randomization. This is a great place to start, as Tal Leming is an expert in OpenType. Three of these methods are detailed in Tal Leming’s OpenType Cookbook. I looked up character cycling methods, and there are a number of ways to do cycling. The fifth time the character was typed, the cycle starts again. The next time that character would be typed the second form (ss01) would occur, and the next time the third form (ss02), and then the fourth form (ss03). These were, after all, the forms I chose as optimal. What I imagined for Protest is this: Each base glyph would have priority-it would be the first one typed. This lookup would change all instances of punctuation followed by two spaces followed by an uppercase glyph (where a new sentence is started) to just one space in between the punctuation and capital (as it should be).Īs far as cycling alternate letterforms, this kind of substitution looks for characters in previous sets in the cycle, and substitutes a following or preceding glyph with the same character from another set of alternates. Here is the class containing all uppercase glyphs, and is the class containing all punctuation. (Technically, 5 is a subset of 6, but that’s neither here nor there.) These lookups mark the glyph or glyphs to be substituted, while noting the surrounding glyphs for context. These contextual substitutions are GSUB LookupType 5 and 6. So how do I make that happen in practice? Enter contextual alternates.Ĭontextual alternates are for substitutions that take place based on what’s around the target of substitution. When I drew all those alternates for Protest they were for the purpose of making it look more hand drawn by creating slight variation in texture and form. ![]() Thankfully, this doesn’t make a difference in how the font functions (as far as I can tell). The alternates for Protest just vary a bit in form in order to simulate being hand drawn. alt3 to be more accurate? They’re different glyphs, sure, but stylistically not different. I’m wondering if the alternates in Protest should have been named. When I added alternates to Protest I figured I was adding stylistic sets (ss01, etc.). What I’m concerned with for Protest are the contextual alternates. There are more features for special cases, which can be found in the Microsoft registered features documentation. Swashes (swsh) and contextual swashes (cswh).There are specific features for each of these kinds for different situations: slight deviations from the original letterform to make a font seem imperfect and hand drawn (like Protest).specialized forms for specific typesetting situations (like titling).variations in letter styles (like two story vs.swash capitals, initial, and final forms of calligraphic (or generally fancy-shmancy) fonts.a language demands it by the nature of its script (with initial, medial, and final forms of certain letters, such as in Arabic and Hebrew).There are all sorts of reasons to want alternates: various alternates (calt, salt, ss01, ss02, ss…)Īlternates are basically different versions of glyphs in a font.Here’s what I’m covering in this post in the feature order for Protest™ (in bold): In the last post I wrote about features that were relatively minor for Protest (fractions, ordinals, diacritics for caps, and ligatures). ![]()
0 Comments
Leave a Reply. |