Why are composite glyphs not used whenever possible in exported TTF files?
Adam Jagosz
Posts: 689
Why are only some glyphs implemented as composites? What is the criterium for determining if the glyph should be/remain composite?
I understand leaving the accented letters in Calibri as composites, but why are /questiondown and /exclamdown in Calibri composites, if colon, semicolon, ellipsis, quotes or any of the braces, brackets, parentheses, are not? All of the listed are identical with their rotated versions etc., there were no tweaks applied to them that would justify copying instead of referencing. It seems like the designer:
a) copied the glyphs expecting some tweaks might be needed, but then decided they looked fine and didn't bother to replace them with references, or
b) copied any glyphs that he thought were essential for the English language, and referenced all the glyphs they could that were only needed in some minor useless languages, like Spanish.
a) copied the glyphs expecting some tweaks might be needed, but then decided they looked fine and didn't bother to replace them with references, or
b) copied any glyphs that he thought were essential for the English language, and referenced all the glyphs they could that were only needed in some minor useless languages, like Spanish.
Point counts in the glyphs of Calibri that could be utilized as base glyphs for references but were not:
period 8
comma/quoteright/quoteleft 23, quotedblright/quotedblleft 46 (wow, the number of chromosomes in human genome:)
parenleft/parenright 27
Point counts in base glyphs that were used as base for composites:
exclam 34
question 59
One could wonder if the cost (in file size) of referencing a glyph is between the cost of a 27-node path and a 34-node one.
Some other fonts implement inverted Spanish punctuation as copies, and composites are only used for accents, though.
And one final question, does implementing a glyph as composite have any side effects? Is that why it is avoided for basic glyphs (legacy / backward compatibility issues?)
Edit:
I edited the title to match more closely what I meant, the original title was: "Why are composite glyphs used sparingly?"
Some other fonts implement inverted Spanish punctuation as copies, and composites are only used for accents, though.
And one final question, does implementing a glyph as composite have any side effects? Is that why it is avoided for basic glyphs (legacy / backward compatibility issues?)
Edit:
I edited the title to match more closely what I meant, the original title was: "Why are composite glyphs used sparingly?"
0
Comments
-
Adam Jagosz said:that were only needed in some minor useless languages, like Spanish.
I don't see any good reason for not using composites, though I have seen problems caused by mirrored or scaled composites though not for those just rotated like ¡ or ¿
I use composites extensively in my fonts, but not for colon, semicolon, single, or double quotes, etc., only for subscripts, precomposed fractions, etc.3 -
Composites are not used sparingly. What you see when you open a font file in an editor does not show the production methods used to generate it. T1 and OT CFF formats, for example, have all composites decomposed when the file is generated, an option also available to TT.
Besides this, composites may have been decomposed in a previous step for some technical reason. You should consider many fonts are made by teams and many designers use more than one type editor. Both scenarios can demand decomposition to keep compatibility among production steps.
0 -
@Bhikkhu Pesalaminor useless languages, like Spanish.That was irony. Perhaps I crossed the line of allowed irony levels on this forum. I apologize.
I see the reason behind not exporting mirrored composites (there's no way to indicate change of path direction in the reference, right?). Problems from scaled composites seem likely, too (non-integer resulting coordinates). Thanks for pointing these out.
@Igor Freiberger
What I meant was including composites in the final output files, not using them during production. I edited the discussion title.
I only encountered TTF files with non unreferenced composite glyphs. Is that even possible in OTF files? Does it depend on more than the file extension?0 -
Composites are not allowed in CFF OpenType fonts (OT fonts with PostScript outlines). The .otf file extension usually indicates a CFF OT font, but not necessarily. Technically, an OT font with TrueType outlines could have either the .ttf or .otf extension if it includes a digital signature. By convention it's not usually done, though.2
-
I can imagine one reason why sometimes it might not be preferable for certain glyphs to be made of composites: hinting.3
-
I tend to use composites extensively for quotes, since it allows me to adjust all rather simultaneously, which I find tremendously useful when balancing opening & closing pairs.
Adjusting fitting is trickier, depending upon the environment I happen to be working in, since different tools handle different kinds of positional adjustments slightly differently.
0 -
Adam Jagosz said:@Bhikkhu Pesala That was irony.1
-
In TrueType fonts, the decision whether to use composites for particular glyphs is often informed by decisions about hinting and, hence, may vary depending on the production and hinting tools used.
2 -
Here are some stats on how much difference decomposing all composites makes:
* 2,893 glyphs, 1298 composites, 79,653 points, 975,576 bytes
* 2,893 glyphs, zero composites, 173,282 points, 1,487,016 bytes
Hinting was applied using ttfautohint on exporting from FontCreator 10.11 -
Just out of curiosity, have there been experiments to see if you can create an entire typeface from a basic set of composites?0
-
0
-
0
-
@Roel Nieskens
Paltime has only one dot/heart/star repeated with composites. Using a more complicated dot causes the rendering in Windows to go crazy.
0 -
I meant as a proper typeface for body text? Something that'd please type folk as well as those crazy web folks want an extremely small file size for their font?
0 -
@Roel: there is a trade off. Using not so many composites per glyphs produces small font files but shapes will lack the sophistication necessary for body text (as you can see on FontStruct).
The more composites you need to create sophisticated shapes the bigger the file size will become again. (Perhaps even bigger than if you just draw outlines.)0 -
Or @Nina Stössinger’s Selavy?I believe that was also the approach that David Jonathan Ross took to constructing his early Variable Font experiment: Lab DJR.
0 -
Roel, as noted by Paul, the amount of adjustment of shapes and proportions across the glyphs in a well-designed text face preclude the modular approach of today's TTF composite model. However, if the components were independently interpolable...1
-
Interesting! Thanks for sharing your insights.0
-
My Amiri font currently has 6223 Arabic glyphs, of which only 512 are not composites. The composites are mostly base glyphs plus diacritical marks, but few of them are a bit more complex. I could have done with only those 512 glyphs and anchors for the diacritical marks, but handling two levels of marks in OpenType (diacritical and vowel marks) is rather complex hits a lot of implementation bugs (more so in 2008 when I first started working on it), so composites are the least problematic though it complicates working with the font.
3
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 799 Font Technology
- 1K Technique and Theory
- 617 Type Business
- 444 Type Design Critiques
- 541 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 483 Typography
- 301 History of Typography
- 114 Education
- 68 Resources
- 498 Announcements
- 79 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 269 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports