From: Georg D. <g.d...@gm...> - 2013-03-27 10:42:26
|
Hi Paul, I think, your approach won’t work. IIRC, the classes have to be included in the same run of merger because unused classes are forgotten by FF. You’ll either have to put the class definition on top of the figures.fea or pull it in by using include (classes.fea) What’s more, please note that I’m using zero.subs-nine.subs and zero.ordn-nine.ordn instead of zero.denominator-nine.denominator and zero.numerator-nine.numerator so make sure to define the classes according to the glyphs in your font. Best regards, Georg Am 2013-03-27 11:33, schrieb P Yang: > > > > Hi, Georg, > > Thanks for the update and sorry for the late reply. I'm still a bit confused. > > I understand the concept of FEA files, it's a great way of doing things. Much faster. However, I downloaded your feature files (classes.fea figures.fea from 'regular') but I think you use a different numbering system to me ??? > > I did the following: > > 1. File --> Merge feature info --> classes.fea / Result: OK > 2. File --> Merge feature info --> figures.fea / Result: ERROR: there were errors when parsing the feature file and the features have not been applied > > The error window in FF said: > > Use of undefined glyph class, @SUBS1, on line 2 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SUBS2, on line 2 of /Users/General/Desktop/figures.fea > This lookup has no effect, I can't figure out its type on line 3 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SUBS1, on line 14 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ORDN, on line 14 of /Users/General/Desktop/figures.fea > This lookup has no effect, I can't figure out its type on line 15 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SUBS1, on line 26 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SINF, on line 26 of /Users/General/Desktop/figures.fea > This lookup has no effect, I can't figure out its type on line 27 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SUBS1, on line 34 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @SUPS, on line 34 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS, on line 47 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS_SUBS, on line 47 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS, on line 47 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS_SUBS, on line 47 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS, on line 48 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS, on line 48 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS_ORDN, on line 48 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @DIGITS_ORDN, on line 48 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM, on line 57 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM, on line 57 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM_TNUM, on line 58 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM_TNUM, on line 58 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM, on line 62 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM, on line 62 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM_TNUM, on line 63 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM_TNUM, on line 63 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM, on line 67 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM_TNUM, on line 67 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM, on line 68 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM_TNUM, on line 68 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM_TNUM, on line 72 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @ONUM, on line 72 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM_TNUM, on line 73 of /Users/General/Desktop/figures.fea > Use of undefined glyph class, @LNUM, on line 73 of /Users/General/Desktop/figures.fea > > How can i fix this? Is there a way that I can re-write this into a format that uses the same format that I sent in my original message: > > 'numr' Numerators (one.numerator) > 'sups' Superscript (one.superior) > 'subs' Subscript (one.inferior) > 'dnom' Denominators (one.denominator) > > Thanks again for your help. > > Pete > > >> Date: Mon, 25 Mar 2013 08:17:49 +0100 >> From: g.d...@gm... >> To: fon...@li... >> Subject: Re: [Fontforge-devel] OPENTYPE 'frac' feature >> >> Hello Pete, >> >> To be honest, I don’t know how to do it in the gui. >> To do it this way, you’ll have to write feature files which you will >> incorporate into the font by ‘file → merge feature info’. The syntax for >> it is described here: >> http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html >> >> In short, a class is a list of glyphnames, separated by space, between >> square brackets. A class name is marked by ‘@’ and defined this way: >> @DIGITS = [ one two three four five six seven eight nine zero ]; >> @DIGITS_SUPS = [ one.sups two.sups … ]; >> >> Additionally you’ll have to declare the languagesystems for which you’ll >> use the features. You can do this globally on top of the file which has >> the advantage that you only need to delcare the languagesystems in >> features when they shouldn’t be used in all languages: >> >> languagesystem DFLT dflt; >> languagesystem cyrl dflt; >> languagesystem cyrl SRB ; >> languagesystem latn dflt; >> languagesystem latn DEU ; >> languagesystem latn TRK ; >> >> Or you can define languagesystems in each feature: >> >> feature frac { >> script latn; >> language dflt ; >> lookup frac; >> language DEU exclude_dflt; >> lookup frac; >> language TRK exclude_dflt; >> lookup frac; >> script cyrl; >> language dflt ; >> lookup frac; >> language SRB exclude_dflt; >> lookup frac; >> script DFLT; >> language dflt ; >> lookup frac; >> } frac; >> >> I’m making heavy use of feature files for EB Garamond. If you’re >> interested, you can look at them here: >> https://github.com/georgd/EB-Garamond/tree/master/featurefiles >> It’s a bit more complicated because i’ve split the whole thing into >> multiple files. >> >> Georg >> >> Am 2013-03-25 03:05, schrieb P Yang: >>> Hello Georg, >>> >>> Thanks for your help, Yes I was looking at the Typophile site a few >>> days ago, but I didn't know how to get Mark Simonson's (Adobe) code >>> to work in Font Forge. I know how to make classes for kerning, but >>> not for other purposes such as the one you describe in your >>> instructions below. How can you enter a script like the ones you have >>> outlined in FF? I don't see any menu item for that. >>> >>> Pete >>> >>>> Date: Sun, 24 Mar 2013 16:32:06 +0100 From: g.d...@gm... To: >>>> fon...@li... Subject: Re: >>>> [Fontforge-devel] OPENTYPE 'frac' feature >>>> >>>> Am 2013-03-24 12:48, schrieb P Yang: >>>>> Hello Font-Forgers, >>>>> >>>>> I would like to know, what is the best way to create arbitrary >>>>> fractions GSUB lookup? >>>>> >>>>> Currently I have four lookups, which are named below. An example >>>>> of the glyph name is provided in brackets. >>>>> >>>>> 'numr' Numerators (one.numerator) 'sups' Superscript >>>>> (one.superior) 'subs' Subscript (one.inferior) 'dnom' >>>>> Denominators (one.denominator) >>>>> >>>>> I know I have to make a 'frac' lookup that will use the >>>>> numerators and denominators , however, I am unsure as to what >>>>> type of lookup to create and what do do after that. >>>>> >>>>> I would appreciate any advice. >>>>> >>>>> Thanks Peter >>>> >>>> >>>> Hello Peter, >>>> >>>> I think, this question belongs more on the fontforge-users list. >>>> Nevertheless: the frac feature is a bit complicated if you want to >>>> set arbitrary fractions globally in a document and at the same time >>>> avoid erroneous effects like converting dates of the format >>>> 03/24/2013 to fractions. You might find this thread on typophile >>>> helpful: http://typophile.com/node/32420 My solution in EB Garamond >>>> is a bit simpler because I expect the users to enable frac only >>>> where they want it. It involves two lookups: >>>> >>>> 1. substitute slash by fraction which might be specially adapted >>>> for this use >>>> >>>> lookup frac_slash { sub slash by fraction; } frac_slash; >>>> >>>> 2. substitute digits by denominators and numerators (they are >>>> defined as classes @DIGITS_SUBS and @DIGITS_ORDN in this font): >>>> >>>> lookup frac { sub [ slash fraction @DIGITS @DIGITS_SUBS ] @DIGITS' >>>> by @DIGITS_SUBS; sub @DIGITS' [ slash fraction @DIGITS @DIGITS_ORDN >>>> ] by @DIGITS_ORDN; } frac; >>>> >>>> They then get called by the frac feature: >>>> >>>> feature frac { lookup frac_slash; lookup frac; } frac; >>>> >>>> Best regards, Georg >>>> >>>> -- EB Garamond: http://www.georgduffner.at/ebgaramond >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >> Everyone hates slow websites. So do we. >>>> Make your web apps faster with AppDynamics Download AppDynamics >>>> Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar >>>> _______________________________________________ Fontforge-devel >>>> mailing list Fon...@li... >>>> https://lists.sourceforge.net/lists/listinfo/fontforge-devel >>> >>> >> >> >> -- >> EB Garamond: http://www.georgduffner.at/ebgaramond >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_d2d_mar >> _______________________________________________ >> Fontforge-devel mailing list >> Fon...@li... >> https://lists.sourceforge.net/lists/listinfo/fontforge-devel > > > -- EB Garamond: http://www.georgduffner.at/ebgaramond |