Jump to content
Education typography videos. Check out our YouTube channel …

Highsmith on Glyph Space

Recommended Posts

John Hudson

Ironically, I read Cyrus' post on glyph space almost immediately after sending a lengthy email to Frank Blokland on the subject of new approaches to spacing. While I think Cyrus is right that the attachment of spacing to glyphs was one of the characteristic distinctions between typography and writing, I don't think there is any reason at all why it needs to remain such. Glyph space was a necessary by-product of putting letters on little piece of metal. It seems increasingly bizarre to me that digital font spacing still follows a metal type paradigm and, hence, a two-stage spacing mechanism (advanced width default spacing followed by kerning adjustment).

Link to comment
John Hudson

One way to describe what I'm thinking about would be as a redefinition of glyph space. In some respects, one could say that the traditional typographic glyph space, whose paradigm is a piece of metal, isn't really glyph space at all, because it is independent of and ignorant of the shape of the glyph. It's a rectangle that butts up against other rectangles, and that may or may not result in an ideal spacing relationship between the glyph shapes that are carried on the rectangles. What if, instead of putting glyphs on rectangles, we put them on shapes that reflected the glyph shapes in such a way that when those shapes butted up against each other they resulted in ideal spacing for those glyphs?

This ‘bubble’ idea is something that Laurence Penney and I discussed way back in the mists of time on the comp.fonts newsgroup (c. 1995). It is also, as I understand it, one aspect of the spacing in Tom Milo's Arabic layout model, which really does dispense with metal type paradigms. Microsoft's math layout uses a related concept with its ‘cut-in’ kerning, which is necessary because adjacent glyphs in math layout may have different scaling and vertical alignment, making traditional kerning impossible.

Having looked at lots of different spacing models over the past fifteen years, this is the one I keep coming back to. The practical difficulty in terms of font development is the creation of the bubbles. If done manually, this is like a secondary kind of outline editing: you define the visible glyph and then the invisible bubble. But it should be automatable, i.e. it should be possible, by defining tolerances, to extrapolate the bubble from the glyph shape. The tricky aspect is that the bubble outline can't just sit at a fixed distance from the glyph outline because, obviously, in the case of a letter like T the bubble needs to be further from the vertical stem than it is from the ends of the crossbar.

Link to comment
dezcom

To me, the concept of advance width is just archaic. We could change "kerning classes" to "spacing shape classes" and tidy up the whole mess.

Link to comment
Dunwich Type

The bubble system would certainly make life easier, and even if I had to shape the bubbles manually—which I would prefer anyway—it would be better than kerning.

Link to comment
John Hudson

James, in theory bubble spacing could be implemented in a font design tool such as FontLab and then translated to the most efficient combination of sidebearings and kerning data during font generation. Ideally, of course, I'd like to see the bubble spacing implemented within the font and layout format itself, but such a design tool implementation would be a good proof of concept.

Link to comment
Jongseong

I will probably post a new topic when I get around to formulating my thoughts on this one of these days, but I think there are a lot of things we can rethink about font formats that are relics of pre-digital Latin typography, from the "glyph" as the most basic unit of design onwards. I don't know how long it will be in the future, but I hope the font format that will eventually replace OpenType will dispense with these restrictions, including the notion of fixed side-bearings.

Ideally, I would like to see a font format powerful enough to handle something like Tom Milo's Arabic layout model internally. We can take a look at the demands of so-called complex scripts like Arabic, which are tricky to handle in the current formats because we are stuck in the paradigm of pieces of metal, and create the next-generation format to handle them in simpler, more logical ways. Working with a generalized notion of spacing, perhaps something like the bubble method described by others, could be a feature of this dream format.

Link to comment
Mark Simonson

Compugraphic had an interesting spacing system that I remember seeing back in the mid-eighties on some of their advanced typesetting systems. Instead of normal spacing + kerning pairs, they divided the glyph into several zones--upper, middle, lower--I don't remember exactly. Each zone was basically like having different sidebearings going from top to bottom. So, the A would have a narrow zone at the top and a wider one at the bottom. The T would have a wide zone at the top and a narrow one at the bottom. Spacing would be determined by matching up the zones for adjacent characters. It's not unlike the way they used to cut notches into metal and wood type to facilitate tighter spacing for the AT combination, for example.

Anyway, I've played around with this idea and I don't think it would be hard to implement.

Link to comment
John Hudson

Mark, the Compugraphic system is what I call unitised banded spacing. It was also discussed on the comp.fonts newsgroup when Laurence raised the idea of bubble spacing, and I made a test case to demonstrate its limitations. Essentially, it involves setting different sidebearings at different heights. Because it is unitised, though, it is not flexible enough for ideal spacing. Unitisation is another limitation of mechanical systems that need not apply to digital type. The MS math cut-in kerning is similar to the banded spacing idea, except the number and height of the bands is defined relative to the UPM by the font maker, so it is a lot more flexible. But a true bubble model, in which spacing is directly related to glyph shape seems to me greatly preferable.
____

James, yes I have set metal type. There was no kerning, and I wasn't allowed to take a file to the precious bits of metal.

Link to comment
daniele capo

Some time ago I was thinking that one can use different kind of shapes to space things. The sidebearings model in that model is like putting 'rectangles' between the 'letters' (in the image below, the left column), and you need to modify the with of these rectangles to have an even spacing. But you can also use circles, and in that case using the same* circle you automatically get difference between spacing (right side of the image below).

*but you have to find the 'right' circle and the 'right' position.

Link to comment
blokland

John: '[...] after sending a lengthy email to Frank Blokland on the subject of new approaches to spacing [...]'
 
And, of course, John received a lengthy e-mail in return, which I partly recycle below. John and I discussed different approaches on spacing and he actually questioned mine for Latin script-representations, which is based on the systems and models I am developing as part of my attempt to come to a Treatise on the Harmonic Systems in the Latin script (PhD research at Leiden University with Gerard Unger as promotor). So far, this research for instance resulted in some preliminary versions of DTL LetterModeller. See also: http://www.typophile.com/node/48736
 
The thesis on which my research is based, is that one can only judge the different representations of characters within scripts on the rules defined by the (historical) bases of these representations themselves. A description of the underlying structures is essential to describe variants of the specific characteristics of style periods and for instance to map what type designers actually add and/or alter to the basic structures (idiom). A consequence of this approach is, that a certain script-representation related mechanism, like spacing –which is the subject of this topic– is not by definition automatically applicable to a representation of another script. In most cases it won’t, because the underlying structure is incomparable.
 
The LetterModeller is only focused on Latin and the current version is restricted to the Harmonic System which is traditionally named ‘Roman’ in the typographic field and ‘Textletter’ in the calligraphic world. The spacing mechanism I am working on is based on what I call the Rhythmic System. Basically this places ([variants of] a repetition of) a Harmonic System underneath the related characters to come to a spacing based on the rhythm within the letters (as for instance shows up in the stem interval). Although merely a simplification, one could state that in essence the round parts are treated as overshoots of the straights. However, to measure the distance between the letters mostly based on the straight strokes is only possible when the proportions are ‘ideal’, i.e., when (the widths of) all characters are based on the same underlying Proportional System. As soon as this is not the case, i.e., when multiple underlying Proportional Systems are used, the matter becomes more complex. This shows up for instance in the spacing of typefaces with relatively large deviations in counter sizes, which normally results in a ‘tight’ spacing to cover up the rhythmic irregularities (to glue the letters actually).
The Rhythmic System approach as basis for spacing works for ‘open’ letters also. In one of the PDF’s which are part of the LeMo download (http://www.fontmaster.nl/english/download.html), there are examples which contain an ‘a’ and an ‘e’. The idea of ‘open’ letters is in my opinion directly related to typography, i.e., to the side bearings which are the result of transition of a calligraphic system into movable type. A calligrapher will write for instance an ‘a’ or an ‘e’ in the rhythm of the other letters, without bothering where exactly the space within the letter stops or starts. To be able to split up the space in equal parts, one has to know the latter.
 
At the moment I am measuring the Proportional Systems of letters from the Renaissance (especially Jenson and Griffo) and of later periods, to map the different characteristics in proportions in the letters of the different style periods in general and of punch cutters specifically. If everything goes well, next month the development of the ‘LetterMeasurer’ application will start. The purpose of this app is to map the Proportional Systems automatically of (firstly digitized/auto traced) type designs and to generate a database of (style period and punch cutter related) values. It is especially interesting to see that Griffo makes the counters of the ‘round’ letters ‘b’, ‘d’, ‘p’ and ‘q’ somewhat smaller than Jenson, which could be interpreted as a starting point for the rotating counter axis, as can be found in typefaces from the Baroque (Griffo’s model being the most dominant over time). Of course, this affects also the ‘c’, ‘e’ and ‘o’.
Condensing the ‘round’ letters provides a way to make a typeface more economic. Jan van Krimpen applied this idea clearly to Spectrum, which was originally developed as a bible face. Transferring this to the current technology, one could imagine that for instance adding an alternative (stylistic) set for the ‘round’ letters to a typeface, would give the typographer some more options to control the space. A (more futuristic) step further would be the application of a model which could be tailored to a typeform on the fly and which the typographer could use to change the parameters of certain letters within a typeface. I am not referring to multiple masters here, but thinking of a typeface independent mechanism.
At the moment I am making attempts to automatically ‘tailor’ and ‘anchor’ the primary Harmonic Model in the current version of LeMo to existing regular weights of broad nib based typefaces to generate bold and condensed versions from there. Perhaps this turns out to be too abstract at the end, but wouldn’t it be nice to provide the typographer with the flexibility of the calligrapher?
 
The basic principle of an equally devided space between all letters is the result of the transition of a from origin calligraphic system to a typographic mechanism. Over the last 23 years as a lecturer at the Royal Academy I have been in the position to experiment with different approaches in educating rhythm and spacing. One of the things I noticed, is that explaining the fact, that the space between the letters should be equal to the space within the letters does not help students very much when they start writing with a broad nib. One needs to provide a mechanism which forces the students in this rhythm, and in case of the ‘Textletters’ the rhythm/spacing can be largely controlled by the length of the stroke-endings. i.e., feed. This convinced me also of the fact that the length of serifs is not an arbitrary thing, but a letter-width related factor (besides being a representation/indicator of the contrast, contrast sort and contrast flow). In other words, by defining the stem interval within the letters the lengths of the serifs are a natural result of this, because the stem interval between the letters is normally supposed to be (almost) equal. Short serifs will cover less space and will result in a tighter spacing, which is basically an obstruction of the rhythm –something which in my opinion makes for instance sans serifs by definition more irregular.
 
The spacing of the ‘diagonal’ letters is another thing. These letters have clearly another origin (capitals) than the round letters and are therefore part of a different Harmonic Model. We like to see the script-representations as consistent things (‘construction sorts’ [Noordzij]), but in many cases they are not. A calligrapher will tweak and bend these letters to make them fit in a ‘Textletter’ variant such as the Humanistic minuscule. In practice the type designer will make the width and weight/contrast/contrast flow characteristics of the ‘diagonal’ letters as equal as possible to the ‘round’ letters. The spacing in these cases is normally as tight as possible, even sometimes by reducing the length of the serifs. By definition kerning has to be applied to makes things as optimal as possible, something calligraphers will do automatically.
The fact that the ‘diagonal’ letters are relatively poorly represented in the current version of LeMo, does not automatically imply that spacing mechanisms coming from the dominant (primary) Harmonic Model can not be applied on the secondary Harmonic Model.
 
Even if spacing is script-representation specific, then one needs at the end a common way to describe the spacing of different script-representations in a font format still, I reckon. The translation of the spacing into distances between the optical (center/heart) lines of the letters, is at the moment the best method I can think of, if only because it can be used to translate the current side bearings system easily (the optical center line being the center between the side bearings). The problem of the legacy system of ‘hard’ side bearings is, that optimal spacing has to be accomplished by adding exceptions in the form of kerning. The lengthy kerning pairs and subsequent technical problems in OpenType fonts are a good example of this limited approach. If the user does not use the kerning, for instance because it is turned off by default in a word processor, the system does not make sense at all. In short: kerning is part of the spacing, not an exception.
In my research the translation of the spacing into distances results in line pieces (the length is identical, the angle not) which can be read as a graphical representation of the spacing. My theory is, that the more uneven the graph is, the more proportional variants the typeface in question contains. It also could be an indication that the spacing is awkward, of course, and therefore this has to be checked first against the Rhythmic System. One of my ideas behind the graphical representation is, that this could turn out to be useful for legibility research.
I don’t know if the translation into centerlines will work as a practical solution for Latin, let alone for any other script. I can imagine that such an approach leads to a sort of ‘class spacing’. The start point of the space (left side bearing) of a character would be half of the distance-line (center to center) to itself, I reckon.
 
In his lengthy e-mail John stated ‘[...] I do think the notion of rhythm is useful and important, but it neither refers to a universal phenomenon -- different writing systems and different styles display different kinds of rhythm [...]’
 
I would like to add to this statement ‘different kinds of harmony’. For my talk at Leiden University in May last year, I invited a Korean musician with a master degree from the Royal Conservatory to make a comparison of (the rules for) harmony as we know/use in the Western world and the equivalents in traditional Korean music. Basically the outcome of her highly interesting presentation (she sung beautifully) was, that there is no such thing as ‘our’ harmony in traditional Korean music. I also invited a Korean student of mine to try to compare Latin script-representations and Hangul to seek for similarities in harmony.
 
So, I would treat any script-representation as a result of its own rules and I would encourage a subsequent description of the harmonic and related rhythmic dynamics for this. Thomas Milo is doing this for Arabic and the different approach in DecoType is the result of this thoroughly based insight.

Link to comment
dberlowgone

One missing piece of this conversation is that the drawing and vertical alignment of letters is not two processes is it? We chose heights and then use them as guides not walls.

Missing part two is performance.

And missing part three is the font in a bubble, (arabic), vs. the font in a bath tub, (latin).

I have not only thought about this, but I've watched certified geniuses pour millions into solutions that max out at 90% for simple ! Latin fonts.

Besides, 36.5% (arguably) of the type we are reading today is on screens, and the bozos in the 'composition department' are not interested in solving the simple problems we have today, with the simple solutions we brought yesterday.

>What's obvious and boring?

Don't ask, he's gone totally troll, IMHO.

Cheers!

Link to comment
John Hudson

Frank: Even if spacing is script-representation specific, then one needs at the end a common way to describe the spacing of different script-representations in a font format still, I reckon. The translation of the spacing into distances between the optical (center/heart) lines of the letters, is at the moment the best method I can think of....

I agree that a common font format description of spacing is desirable, but I don't think a distance measure suffices any more than flat sidebearings suffice.

How is the centre line defined? As an average height in a font? Or on a glyph-by-glyph basis? If the former, how do you handle punctuation and other glyphs that sit below or above an average centre line?

How does this spacing model relate to and account for combining diacritical marks, which is the problem prompting me to question the OpenType glyph positioning model? What's the point of spacing according to centre line distance if the result is collision of parts of adjacent typeforms that impair legibility?

So, I would treat any script-representation as a result of its own rules and I would encourage a subsequent description of the harmonic and related rhythmic dynamics for this. Thomas Milo is doing this for Arabic and the different approach in DecoType is the result of this thoroughly based insight.

There are strong arguments to be made for optimised, writing system specific layout technologies. On the other hand, it may be possible to come up with a general description of ‘adjacency’ -- bearing in mind that what we generally think of as spacing, i.e. separation, is only one kind of adjacency --, and hence a potential foundation for building a spacing model that can be easily adapted to various writing systems, i.e. one that is capable to taking into account different kinds of adjacency relationships. In my e-mail to Frank, I wrote, among other things:

One approach to developing new techniques is to start with a limited application, solve that, and then extrapolate to other applications. But the danger -- almost the certainty -- of such an approach is that you will eventually hit an application to which you cannot extrapolate the original solution, and you find that the limited scope of the initial application resulted in a poor foundation. In some respects, we could say that this is exactly the problem with OpenType: it has tried to extrapolate too far the spacing paradigm of metal type. My preferred approach is to try to build as big a picture as possible, taking into account all the problems that need to be solved, and then determine if it is possible to develop a technique that will satisfy. In the case of spacing type, I think such a picture needs to include all the world's writing systems in all their styles and all the variations of ways that adjacent 'typeforms' relate to each other.

Typeform is a term in use at Reading, and I think it is a very useful one. A typeform is the rendered representation of a unit of written language; the nature of the unit depends on the writing system and other factors, but in the case of the Latin writing system a common typeform might consist of a single letter or of a letter plus diacritic mark(s). The nice thing about the term typeform, because it refers to the rendered representation, is that it is technologically agnostic, in particular it doesn't presume anything about either the encoding of the typeform or its glyph composition: the same individual typeform may represent one or more characters and be built from one or more glyphs. So, for example, this typeform:

might represent 1-3 encoded characters rendered with 1-3 glyphs. The same typeform could represent different numbers of encoded characters, even in different parts of the same document, and different combinations of glyphs depending on the font used.

As I spoke about during the DTL conference, I consider the interaction of spacing adjustments and mark positioning to be the weakest aspect of OpenType. And in trying to think through the reasons for this I've come to the conclusion that spacing has to take into account typeforms, not glyphs. I don't think you can solve the spacing problem at the glyph level, which is why I think something like centreline distance is a non-starter. Spacing has to take into account the profiles of the whole typeform (leaving aside for now spacing for vertical scripts), not just the base letter.

Many of the world's writing systems employ what I call static typeforms with regard to spacing. This is the case with Latin. What I mean by this is that once a diacritic mark is applied to a letter in the Latin script, it forms a static unit that must be spaced relative to adjacent typeforms as a unit, i.e. the mark remains in a fixed relationship to the base letter regardless of adjacent shapes. There are other writing systems, of which Arabic is an obvious examples, in which typeforms remain dynamic relative to adjacent shapes and their spacing, i.e. the marks will move relative to the base letter in order to accommodate adjacent shapes. So this difference, too, needs to be taken into account in the full picture.

Because the formal typographic styles of the Latin writing system use mostly disconnected letters, we tend to think about spacing in terms of distance or separation. I think this is a poor basis for a full picture, because most of the world's writing system admit of connection as well as separation; indeed, the Latin writing system itself has some of the most fully articulated traditions of connected writing. And in some writing systems, of course, connected styles are the norm of virtually all writing; again, Arabic is an obvious example. So I would say that both separation and connection need to be taken into account in considering the relationships of adjacent typeforms.

So far, we have two kinds of typeforms:

static
dynamic

and two kinds of adjacency:

separation
connection

I doubt this constitutes a full picture, but it's a start.

Connections, of course, may be elongated or extended in some circumstances. The elongations of Arabic letters are traditionally not directly related to adjacency, i.e. one doesn't normally elongate in order to resolve a relationship of adjacent letters and their marks. In Devanagari, Bengali or Gurmukhi, though, one may extend the headline connection between letters/conjuncts in order to avoid collision of superscript vowel signs and other marks.
___

This kind of analysis suggests to me a properties-based approach to adjacency, whereby one would specify at the glyph level the kind of relationship(s) a glyph can have to adjacent glyphs. For some writing systems, Unicode attempts this at the character level, which is the basis of e.g. Unicode Arabic layout, but as font developers we know that adjacency really needs to be resolved at the glyph level, not least because there are styles of lettering that contravene character property models, e.g. Arabic styles in which a nominally ‘isolated’ alif may connect, at the top, to a following lam. This is connectivity as a typeform adjacency property.

Link to comment
Bert Vanderveen

Why not just eliminate the left sidebearing (talking about western systems), or better: use a kind of marker on both (or even four) sides that represents a balance of mass protruding and inherent. One could then define a space between glyphs which would essentially be an optical optimum. Or am I being deranged here?

Link to comment
dezcom

Centerlines only help in symmetrical glyphs, there has to be something that accounts for shape and weight--perhaps a grid system of space units based on UPM which build the space according to shape?

Link to comment
John Hudson

Bert, can you explain what you mean by ‘balance of mass protruding and inherent’?

David Kindersley's spacing model was based on a notion similar to balance of mass, as I understand it. One would locate the vertical optical centre of a letter -- which Kindersley tried to automate based on analysis of mass and form --, and then make this the mathematical centre for spacing purposes. The idea of spacing outwards from an optical centre is an alluring one. My analysis says that this system works best for all-caps display settings, though.

Further to my point above, though, one would need to be able to apply such a method to typeforms, not just to glyphs. Otherwise one will run into exactly the same spacing and mark interaction problems that we're hitting with OpenType. This is why I keep coming back to the bubble model, because in theory glyph order needn't be an issue: the bubbles of multiple glyphs forming a single typeform -- e.g. a letter plus one or more combining marks -- form a composite bubble that has the same spacing behaviour relative to adjacent bubbles as a single glyph bubble would.

Link to comment
John Hudson

Chris: ...perhaps a grid system of space units based on UPM which build the space according to shape?

I think this concept of building the space according to shape is something worth hanging onto.

A grid system would be similar to the Compugraphic unitised banded spacing. It's certainly possible, but why unitise? The UPM represents the glyph shape grid, so why not use the same grid for spacing shape, i.e. allow the spacing shape to be as flexible as the glyph shape?

[Some aspects of Microsoft's math layout actually measures ‘ink’ during layout, i.e. records the position of outline edges and calculates optimal (or tolerance based variation) of position of other elements of layout. Effectively, this is defining bubbles during layout.]

Link to comment
dezcom

"The UPM represents the glyph shape grid, so why not use the same grid for spacing shape,"

That is what I meant, John. Sorry I was unclear.

Link to comment
John Hudson

An illustration of the problem of kerning and mark positioning interaction might be helpful at this stage. This is a relatively simple example, involving a single combining mark.

What happens during glyph substitution is that the regular i glyph is replaced by a dotless i when followed by a combining mark above (in this case a combining candrabindu). So the character sequence

0054 0069 0310

is displayed using the glyph sequence

/T/dotlessi/candrabinducomb/

The problem is that there is a pair kern between /T/ and /dotlessi/ of -70 units, and this kerning will be applied because these two glyphs are next to each other. This causes the following combining mark to collide with the crossbar of the T.

In a font using old-fashioned kern table pair kerning, this is a shіt-out-of-options situation: other than disabling kerning completely there's no way to prevent this from happening.

In a font using GPOS kerning, one has the option to contextually adjust or replace the kerning between the /T/ and /dotlessi/ to account for combining marks on the latter. I can speak from experience in saying that this is no fun: even if you try to group marks by similar widths, you end up requiring loads of separate lookups, one for each width of mark as context.

What's missing is a way to define the adjacency relationships of multiple glyphs combined in typeforms such as /dotlessi/candrabinducomb/ as units.

Now, if we imagine a bubble around each of the glyphs, defining a minimum distance at each point around the outline to which another bubble may intrude, we can see how combination of the bubbles of glyphs forming typeforms into a single bubble for spacing purposes has the potential to enable correct spacing in all situations.

This isn't an easy shift to make in any respect. I've tried making bubble outlines manually, and trying to wrap my mind around where the bubble outline should go in order to get the desired relationship to a variety of different adjacent glyphs does my head in. [The bubbles in the image above are very crude, and designed only to demonstrate the potential for solving this particular illustration.] What I can imagine from a tool perspective is an interface that allows one to drag or cursor glyph outlines into ideal spacing relationships with a variety of other glyph outlines and then to automatically calculate bubble shapes based on these relationships.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Our partners

Get to your apps and creative work. Explore curated inspiration, livestream learning, tutorials, and creative challenges.
Discover the Best Deals for Freelance Designers.
Discover the fonts from the Germany foundry FDI Type. A brand of Schriftkontor Ralf Herrmann.
The largest selection of professional fonts for any project. Over 130,000 available fonts, and counting.
Download the blackletter font FDI Wiking for free …
×
×
  • Create New...

Important Information

We are placing functional cookies on your device to help make this website better.