: TTF and other "modern" font systems, and font size differences I have no formal (and precious little informal) graphic design training. Fairly famous Computer Science person Dr. Donald Knuth long
I have no formal (and precious little informal) graphic design training.
Fairly famous Computer Science person Dr. Donald Knuth long ago developed a font description system called Metafont. In and of itself that's not very interesting, but a thing about Metafont was that fonts could be described such that the production of the font "actuals" (the glyphs in vector form) could yield different letter shapes at different point sizes. For example, serif sizes could change, or thin/thick ratios in Roman fonts could be more dramatic at larger point sizes, etc. Thus you'd make your font description and then generate separate font files at various point sizes to be used for rendering actual documents.
What I'm here to confirm is that vector formats like TrueType, OpenType, or Type1 (really I only care about ttf at the moment) do not have any way of doing that. To be more specific, I'd like to confirm that there's no practical difference between doing one or the other of these two things when I'm adding some text to line art (specifically SVG via Inkscape, but it'd be basically the same question for Illustrator etc):
based on the context, pick a font size and create the text element so that it's "born" at the right size;
generate a text element at an arbitrary size, and then resize it as a generic object to adjust it to fit
This probably seems like an insane question but I just realized that it's a nagging "factoid" stuck in my head for like 25 years and I'd just as soon stop worrying.
edit — when I say "resize it" I mean of course to resize while retaining original proportions.
More posts by @Lengel450
3 Comments
Sorted by latest first Latest Oldest Best
Your basic question is whether to create your type at its final size the turn it into outlines, or create it at an arbitrary size, outline that, and scale to suit. The answer to that question, especially if you're creating SVG for on-screen viewing, is that it doesn't make much practical difference if all you're using are TrueType fonts.
The Metafont concept surfaced briefly and unsuccessfully in the "mainstream" typographic world as Multiple Master (Adobe) and Quickdraw (Apple) fonts, but died out quite quickly. The two font technologies in current use, Type 1 and TrueType, have no shape-shifting abilities of the type you're asking about.
A few typefaces are available in "optical" sizes, for which the glyphs are drawn for optimum appearance in a narrow range of sizes, much as metal type was once cut differently at different sizes. Caption, Small Text, Text, Subhead and Display are common designations. They do make a difference.
Metafonts are alive and well in the LaTex/TeX community, however. If you've a mind to dig around, you can ask on tex.SE or follow up on the links from the LaTeX project home page. Several of the current TeX packages can turn out Type 1 and/or TrueType from metafonts at specified sizes, which you could then use in Inkscape.
There is a huge difference between the Metafont concept, which modifies the actual shapes of the glyphs, and hinting, which aims to make the glyphs look the same when rendered at different raster resolutions. No disrespect to Scott, but I think hinting is, if not a red herring, at least a pink halibut in this context. The rest of this answer, then, is for interest and clarification more than a direct answer to what you asked.
Hinting subtly alters the way the outlines of the individual glyphs are turned into lines of dots so that the end result looks pretty much the same on screen, from a laser printer, or from a 2400 dpi platesetter. There's some great historical information on the subject in an old article by Thomas Phinney and in this anecdote from "Inside the Publishing Revolution." The book is a great read in its own right, by the way.
As Scott points out, font rendering on low resolution devices (screens, office lasers and the like), where the dots are all the same size and lie in a fixed grid, is greatly improved by hinting. It was hinting and some other brilliant engineering tricks built into Postscript Type 1 (specifically, at the time, so the first Linotype fonts licensed by Adobe and built into the original Apple Laserwriter would look right) that arguably created the desktop publishing revolution. It allowed good typography to become something one could do with inexpensive computers on devices other than high-end imagesetters.
Once text is converted to a simple vector shape, it will be treated like any other vector by whatever engine is doing the rendering. At small sizes on low resolution devices, the lack of hinting makes the strokes appear too thick. This is why you'll often see the advice to not convert text to outlines because "outlined text looks too bold." This really applies only to low resolution devices, like office laser printers, but that limitation is seldom mentioned.
There was some dabbling in the 90s with Multiple Master fonts. These were dynamically generated typefaces which would scale serifs, counters, and other type data based on type size. Multiple Masters were popular for a few years, but then died due to issues with other software. Today Multiple Masters aren't very common and actually can create problems for modern operating systems. Few Multiple Masters are in use in the wild. If they are in use, they are generally in closed environments or for in-house use only.
Modern, well constructed, fonts contain hinting. I post "well constructed" because there are a billion+ fonts out there which are very poorly constructed and will often be missing large chunks of data. Hinting allows extra data to be sent to the output device. This data contains path directions and pixel interpolation preferences among other things. The hinting in type will often overcome oddities which may happen at specific sizes. Lack of hinting is most often noticeable at smaller type sizes.
Side note: Hinting is one big reason why it's preferable to work with live type and not merely outlines of type. Once a typeface is outlined, it no longer contains any hinting information.
For most uses there is no notable difference between your #1 and #2 provided a typeface has been constructed well and hinting is available upon output. Live type is vector-based in most applications. This means the mathematical equations necessary for output are recalculated based on the current display size and the resolution of the output device as soon as the type is sent to be rendered on an output device.
I do not believe this is a feature of any popular font file formats. It's an interesting idea, though. Typically, typefaces that have versions for different sizes will have a 'display' version for large use. But that's a separate font file.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.