[css-inline] Initial Letter Handling

I have attached a scan of an initial letter (my preferred term for "drop cap" etc.) taken from a book I recently purchased because it illustrates both modern practice and many of the issues that a mechanisms for "initial letter handling" must address. Some of these have been raised before others have not.

An initial letter sequence handling mechanism must have:

1.       A mechanism to select the sequence of letters that will form the initial letter sequence. Since some languages are written in a syllabic script, several "letter" may go into a single composite initial glyph. Also the author may want more than one letter to be treated as "initial"; e.g., initial punctuations is usually included.

2.       A mechanism to choose the content to be displayed. This is usually a font selection and one or more "letters", but it could also be an image having an illuminated version of the initial glyphs. For reference, I will call what is displayed, the "initial glyphs display"

3.       A mechanism to size the initial glyphs display. Here the issue is matching the size to line rhythm of the text it begins. This typically means that the baseline of the initial glyphs display aligns with a baseline of body text (see below) and that the height is commensurate with the body text lines which it begins. In the attached example, the capital "O"s baseline is aligned with the fourth line of the body text and its cap height is approximately five lines.  (As Liam Quin has pointed out [1], authors may want all there initial glyph displays to have the base glyphs have the same size, whether or not they have additions above or below the base glyphs.)

4.       A mechanism to choose vertical alignment; that is, specifying what alignment point (normally a baseline) on the initial glyphs display aligns to an alignment point on the body text, expressed in terms of both a line number and an alignment point (again usually a baseline) on that line.

5.       A mechanism to describe how much the initial glyphs display is offset with respect to the start edge of the lines of the body text. This is traditionally the role of "text-indent" property. That may suffice. In the attached example, the indent is negative and of a length of approximately 5 characters.

6.       A mechanism to describe whether the initial glyphs display is like a float (that pushes the following lines away from itself or (as is the case in the attached example) the following lines overlay the initial glyphs display. In the latter case, the order in which the content is rendered is very important: the following lines need to overlay the initial glyphs display (as they do in the example).

7.       If initial glyphs display acts like a float, then there needs to be a mechanism to control the shape of the float so that the following lines follow the shape of the righthand (in a left to right writing mode) side of the rightmost composite glyph in the initial glyphs display. Not shown in the attached example, but if it were shown, then lines 2 through 4 would be as close to the "O" as line 1 is.

8.       A mechanism to determine whether the first line is "kerned" with the initial glyphs display. Here, by "kerned" I mean that the remaining glyphs of the first line begin as close to the initial glyphs display as is visually reasonable. The attached example has a first line that is "kerned" with the initial "O" in the sense that I mean: the "n" of "Once" is kerned with the "O". Note that where the first line (vertically) aligns to the initial glyphs display determines the point to which the kerning is done. See also the examples that Liam presented [1].

9.       Of course there are other styling properties that apply to generating the initial glyphs display. In the attached example, for example, the "O" is given a gold color.

I do not claim that the above list of mechanisms is all that is needed for handling initial letter sequences, but I believe that all of the above are required.

[1] http://lists.w3.org/Archives/Public/www-style/2014May/0168.html

Steve Zilles

Received on Monday, 19 May 2014 22:53:53 UTC