Proposal to add small-capitals formatting directive

I propose that a new formatting directive be added to access the font’s small capitals.

For example, <smcaps>some text</smcaps> would work, but I encourage discussion on any syntactic variant that appeals to you. The coolest thing is that since this is a simple matter of invoking the ᴄss font-variant: small-caps style spec, it is super-easy to implement. It would give better-looking pages for next to no effort.

If you wonder why this is needed, please see whatever the current word-of-the-day is at the Oxford English Dictionary at the time you read this. I will not link to the actual page, because it switches daily. But click through the ᴡᴏᴛᴅ link to see how real entries are supposed to look. You will see that the ᴏᴇᴅ uses small capitals for headwords, for authors in citations, and for the major volume in Roman numerals for multivolume works.

This is just one example; many, many reference works one would like to cite here use small capitals. It’s not just the ᴏᴇᴅ.

If you wonder why typographers consider small caps as integral a part of a font as italic, bold, or text figures, see Robert Bringhurst’s Elements of Typographic Style. I’m sure that ᴇʟ&ᴜ is using Georgia because it’s the most widely available font that supports text figures, as one of course wants to have. Like text figures, small capitals are an often-missed by critical component of good typography.

If you wonder why one cannot just use the Unicode small capitals, it’s because

• there are not very many of them;
• the Georgia font used here and in ᴇʟ&ᴜ proper does not even support them and so causes infelicitous fontsubbing;
• if you look at this posting from several different browsers and/or operating systems, you will get very different results
• some are only four or five yeras old in the spec, which means that even alterate serif fonts may not yet support the Unicode code points, as vendors are especially poor at this.

Let me show you how poorly Unicode small capitals are typically rendered by browsers. Consider this tr statement from the Perl language:

tr[aæbcdðeǝfgɠhiɨjklłmnoœɔȣprɹꝵstuʉɯvwyzʒγλπρψл]
[ᴀᴁʙᴄᴅᴆᴇⱻꜰɢʛʜɪᵻᴊᴋʟᴌᴍɴᴏɶᴐᴕᴘʀᴚꝶꜱᴛᴜᵾꟺᴠᴡʏᴢᴣᴦᴧᴨᴩᴪᴫ];


If you think that is bad, just imagine writing “ᴀ ᴁ ʙ ᴄ ᴅ ᴆ ᴇ ⱻ ꜰ ɢ ʛ ʜ ɪ ᵻ ᴊ ᴋ ʟ ᴌ ᴍ ɴ ᴏ ɶ ᴐ ᴕ ᴘ ʀ ᴚ ꝶ ꜱ ᴛ ᴜ ᵾ ꟺ ᴠ ᴡ ʏ ᴢ ᴣ ᴦ ᴧ ᴨ ᴩ ᴪ ᴫ” in the normal serif roman. It looks horrible. The ᴄss font-variant fixes all that.

However, even without using a modern serif font like Arno Pro (standard with Adobe ᴄs3) or Alfios (a very nice free font by George Douros), and just sticking with simple things like Georgia (preferred for text figures) or Times New Roman, if you used the ᴄss markup then the browser would use the right small caps without needing to mess around with funny Unicode, or worry about searches getting messed up. The browser even emulates small caps for fonts lacking them.

It would make our pages look better, and it would make our citations more accurate. It seems only fair and right that ᴇʟ&ᴜ be able to accurately cite standard reference works. Here is one example where I do so, but I used Unicode small caps only for Roman numeral volumes in the citations. I used simple bold where the ᴏᴇᴅ has small caps for its headwords, and I used the regular roman instead of small caps for the authors’ names in the citations.

It would look much better, and be more correct, to use actual small capitals when accurately citing references. You would hope that ᴇʟ&ᴜ would be able to accurately cite standard reputable reference works without all these lamentable compromises. And because of ᴄss, it would be very easy to implement and not risk harming clarity, portability, or searchability at all the way all alteratives do.

I have no particular attachment to the <smcaps>some text</smcaps> syntax; it’s just one idea. I realize that by making it ʜᴛᴍʟ-ish it would work only in the main text, not in commentary, but I was unable to think of something that would work in the markdown within comments that did not risk break backwards compatibility. Perhaps others can come up with a better syntax.

EDIT

Here’s a screen grab that shows how the ᴏᴇᴅ uses small caps in all three different ways:

It uses them for headwords, for authors’ names in citations, and for major volumes in roman numerals in citations. It’s the first that are especially useful, although the second is nice to have. The third doesn’t matter so much, although it’s nice to be able to make a complete citation.

They do all this through the ᴄss trick I mentioned earlier; it’s really easy to do.

• +1 I second this proposal. @Theta30: Each site is different; sites may adopt a UI of their choice/ set precedents in improvements.
– Kris
Feb 18, 2012 at 11:50
• @Theta30 Why would StackOverflow need small capitals? It doesn’t come up in programming, just in typesetting. It’s EL&U that needs them. EL&U already tries to look better with text figures and serifs. Sure, they might roll it out everywhere, but they don’t need to.
– tchrist Mod
Feb 18, 2012 at 12:52
• Can you do a screen capture to show the example you really want here? I really don't get the need for it unless you point out exactly what is wanted. Feb 18, 2012 at 15:00
• @Mitch Good idea, sure. Just a moment.
– tchrist Mod
Feb 18, 2012 at 15:30
• OED is no special case, it could be any of the many such: dictionaries, bibliographies, why even articles, blogs.
– Kris
Feb 19, 2012 at 14:54
• @Kris You are of course correct. The point is that small capitals are needed for proper citations. I just listed the ᴏᴇᴅ as one such source. They can also improve general readability.
– tchrist Mod
Feb 19, 2012 at 14:56
• I think at least some of the downvotes stem from the fact that much of your question is unreadable. Please, just stop with the Unicode nonsense. Unicode was never designed as a formatting tool. Feb 20, 2012 at 19:23
• @Marthaª If you expect people to revert to 1960’s ᴀꜱᴄɪɪ, then you need to change your input mechanism to go back to the Stone Age; you have no place complaining about things you let people enter. Second, the majority of the Web is now Unicode: why are you still in ᴀꜱᴄɪɪ-land? Third, if you won’t let us add formatting codes, then certainly we shall use each and every workaround for your deficit that is available to us, and Unicode is great for that. Stop using ancient broken systems, or add proper formatting codes. Doing neither is not the right answer. 😱 Sheesh! Let us quote things in full.
– tchrist Mod
Feb 20, 2012 at 19:34
• @tchrist: no need to get insulting. Like I said elsewhere, the fact that this computer is not as Unicode-compliant as one might wish is not within my control. The proper workaround for lack of small caps is to use all caps, not to insert a bunch of special characters that were never intended for the purpose. Feb 20, 2012 at 19:56
• @Marthaª You’re right about getting insulting, and I very sincerely apologize. As for old systems, you realize that the CSS font-variant small-caps approach would work on those systems? That’s because you still use ASCII within that. So it’s almost like you’re arguing that it should be done. I just want to be able to use the same font variants — bold, italic, and small-caps — as are found in whatever source I’m quoting from. What’s wrong with accuracy of citation?
– tchrist Mod
Feb 20, 2012 at 20:04
• @tchrist: I know that small caps are easily achieved with CSS, but that's neither here nor there: on StackOverflow, formatting is done with Markdown, not directly with CSS. Markdown is purposely simplified, and StackOverflow has further simplified it by removing some options. In some cases (underlining) I disagree with SO's choices; in other cases (small caps) I don't actually know whether they're supported by Markdown, but I don't much care either way, because there's an easy workaround: just use all caps. Feb 20, 2012 at 20:35
• Personally, I don't want to make small caps easier for people to use; I find the results really hard to read and they actively work against browser font settings -- so you're going to make me zoom the page so everything else will be too big, just to read your small caps? Small caps work great in print, but the web is apparently not ready for them yet and this would be about 97th on my list of formatting improvements for SE. Feb 21, 2012 at 16:12
• @MonicaCellio Why would small caps be any harder to read than lowercase? They are supposed to have the same x-height. Look in my screenshot: are those ‘harder to read’? If you have to zoom the page to read lowercase, then you are trying to read the page in too tiny a rendering — right? I agree that Unicode smallcaps can be hard to read due to browser fontsubbing to the wrong font, but this is precisely why I made the request, so that that doesn’t happen.
– tchrist Mod
Feb 21, 2012 at 16:47
• @tchrist: don't take the downvotes so personally, they just mean that they disagree with the proposal. I suspect (but don't know) that people don't see the utility of specifically small caps. If small caps were OK'd, what about all the other possibilities? I bet the SE developers have things higher on their development priority list than this. Feb 21, 2012 at 18:27
• Note that linguistic glossing is also done in small-caps. I tried glossing in one of my questions on linguistics.SE (see under the sub-heading with examples), and it looks like steaming pile of shite in all-caps. Jan 22, 2013 at 19:59

EDIT: Replaced incorrect samples at bottom with true ones showing the difference between faked small caps and real ones, and made all images clickable for enlargement.

In The Elements of Typographical Style, Robert Bringhurst writes:

Genuine small caps are not simply shrunken versions of the full caps. They differ from large caps in stroke weight, letterfit, and internal proportions as well as in height. Any good set of small caps is designed as such from the ground up. Thickening, shrinking, and squashing the full caps with digital modification routines will only produce a parody.

He then presents an example of the relationship of faces:

The small caps of 2.2 are obviously different from the uppercase in 2.1; they are also less aggressive on the eye than the almost garishly thick bold of 3.5, things one should reach for seldom. Bold works best as a titling face.

Here is another Bringhurst example where you can see how different true small caps are from the parody simulations of scaled-down full caps:

Modern OpenType fonts do allow one to access the true small caps included with that font, but Stack Exchange is not concerned with such niceties. If they were, they would also do something about the default line length, which is too many ens long for comfortable reading.

Since we are not granted access to the technology that would allow for small caps to be accessed in the correct way, we are forced to resort to what Bringhurst calls a parody.

Under the current limitations at Stack Exchange sites, the only available way to poorly simulate small capitals is to use

• These are <sub><sup>SMALL CAPITAL</sup></sub> letters.

to create

• These are SMALL CAPITAL letters.

However, the stroke weighting is far too light, and so bolding it can look better:

• These are SMALL CAPITAL letters.

That’s a bit too heavy in weight, but is better than the skeletal effect produced by simple resizing as in the first example.

From this answer is an example of OED etymology examples using small caps in the non-bold style:

pronounce

ME. pronunce, pronounce, a. OFr. pronuncier (1277 in Godef. Compl.), for earlier purnuncier (mod.Fr. prononcer) :– late L. prōnunciāre for orig. prōnuntiāre to proclaim, announce, rehearse, narrate, pronounce, f. prō, PRO1 + nunti-āre to announce: cf. ANNOUNCE, ENOUNCE.

announce

a. OFr. anonce-r, earlier anoncier, anuncier :– L. adnuntiā-re, f. ad to + nuntiāre to bear a message, f. nunti-us bringing news. See AN- pref. 6.

enounce

ad. Fr. énoncer, ad. L. ēnuntiā-re (see ENUNCIATE), after the analogy of ANNOUNCE.

renounce

ad. Fr. renoncer (OFr. also renuncer) :– L. renuntiāre (-ciāre) to announce, proclaim, also to disclaim, protest against, f. re- re- + nuntiāre to make known, report: cf. ANNOUNCE, DENOUNCE, etc.

As you see, those are spindly and misshapen. Here is what you get when you bold them to thicken the stoke weight:

pronounce

ME. pronunce, pronounce, a. OFr. pronuncier (1277 in Godef. Compl.), for earlier purnuncier (mod.Fr. prononcer) :– late L. prōnunciāre for orig. prōnuntiāre to proclaim, announce, rehearse, narrate, pronounce, f. prō, PRO1 + nunti-āre to announce: cf. ANNOUNCE, ENOUNCE.

announce

a. OFr. anonce-r, earlier anoncier, anuncier :– L. adnuntiā-re, f. ad to + nuntiāre to bear a message, f. nunti-us bringing news. See AN- pref. 6.

enounce

ad. Fr. énoncer, ad. L. ēnuntiā-re (see ENUNCIATE), after the analogy of ANNOUNCE.

renounce

ad. Fr. renoncer (OFr. also renuncer) :– L. renuntiāre (-ciāre) to announce, proclaim, also to disclaim, protest against, f. re- re- + nuntiāre to make known, report: cf. ANNOUNCE, DENOUNCE, etc.

The second simulation is better than the first, because the stroke is no longer far too thin to match the normal letters. However, it is now a bit too thick. Even worse, the proportions have become grotesque (in the non-technical sense) making clear why small caps must be designed from the start, not parodied with digital routines.

Fortunately, modern fonts have these. Here’s what it looks like when you use actual small caps using Richard Slimbach’s Minion Pro typeface, which gives the small caps a different letterfit — and also proportions, which you can see if you look at the real and fake P or A.

Click on the image to see it without resizing artifacts.

See how much easier to read those small caps are than the two kinds of emulation available to us? Especially in the original image, the small caps are the same weight as everything else and so do not jump out at you as messed up the way the existing emulations do. They just plain work as typography, and there is no substitute for them.

Here in a nutshell is the difference, using Minion Pro in Chrome:

That’s really quite terrible: no wonder Bringhurst calls these emulations parodies!

Notice how the stroke width of the emulated small caps is no longer a match for the regular characters of the same font, and the letterfit it simply atrocious. The Firefox emulation is somewhat less lame about letterfit here than the embarrassing joke that Chrome presented:

(Those aren’t directly comparable because although the face is the same, the point size of the actual font I used in Firefox is slightly larger than the earlier one in Chrome.)

As you see, the real small caps are more generous to the eye in several ways. There’s nothing to be done about stroke width and proportion, so even Firefox’s improved emulation is still a far cry from the real small caps in the font itself.

Unfortunately, Stack Exchange doesn’t care (enough?) to make the font’s actual small capitals available to us, even with the lame emulation, and so nasty parodies that Bringhurst speaks of are all we’re permitted to use.

Technical Notes

The actual small caps in the first example are using CSS with font-feature-settings: "smcp" 1 and therefore use the true small caps in the font instead of trying to fake it. The emulated ones in the second examples are using CSS with font-variant: small-caps which despite its name perversely enough only emulates them!

• I would cheerfully give up boldfacing and code to have small caps and underlining, which would allow me to emulate the typographic conventions which dominate contemporary linguistic texts. Dec 28, 2014 at 5:21
• @StoneyB So that people can see the sort of thing you’d get with real ones instead of fake ones, I’ve added versions that show what real small capitals look like using the font’s underlying small-cap features.
– tchrist Mod
Dec 30, 2014 at 14:42
• What do you use to get true small caps for your 'Actual' reproductions? AFAIK Word can't get at them - its small caps feature just emulates by shrinking the size. Dec 30, 2014 at 15:00
• @StoneyB Sigh. Time to go back to something else.
– tchrist Mod
Dec 30, 2014 at 15:03
• @StoneyB Broken images now replaced with correct ones. I finally got around to showing the real small caps from the font proper, without resorting to bad emulations. It makes a huge difference in readability. Thanks very much for bringing this to my attention.
– tchrist Mod
Feb 15, 2015 at 1:32
• I've given up with the <sub><sup> cheat. The line spacing goes wrong in quoted blocks. I'm not 100% sure if that happened before 'The great styling shift of March 5th' or not so italics will have to do. Mar 28, 2015 at 8:38
• @Frank Yes, it changed with the styling change.
– tchrist Mod
Mar 28, 2015 at 11:46

There is actually no absolute need for small caps in any type of writing that I know about. They are always an aesthetic choice, not a semantic one. In other words, there is nothing that can only be communicated via small caps, instead of via judicious use of all-caps plus some bold or italic.

If Markdown has small-cap capabilities and it just hasn't been enabled for StackOverflow, then I would have no objections to enabling it, but this isn't something that I think the developers should spend a lot of time on.

What is absolutely worse than useless is using Unicode small-caps, because more often than not, the result is unreadable. Especially for acronyms/initialisms, just use all caps, for heaven's sake. (I would argue that it is actually incorrect to use small caps for acronyms*.)

* Small caps are a formatting choice like bold or italic: they do not affect whether a text is correctly spelled and punctuated. Capital letters, on the other hand, carry semantic weight: england is an incorrect spelling. Similarly, I believe that because ascii or oed would be incorrect spellings of these acronyms (or initialisms or abbreviations or whatever you want to call them), small-caps ᴀꜱᴄɪɪ and ᴏᴇᴅ are also incorrect spellings. Instead, you should write them as all-caps ASCII and OED, even if small caps are available as a formatting choice.

• @tchrist: I can't read what you intend to do. This is a work computer over which I have very little control, so it's not a question of declining to add anything; it's just that Windows XP is not always as Unicode-compliant as one would wish. Feb 20, 2012 at 19:51
• @tchrist: Oh, the software has support -- you can tell that from the way Marthaª's screenshot shows the codepoints -- but the fonts, not so much...
– SamB
Feb 21, 2012 at 2:10
• @tchrist, your tone in comments to Martha is coming across as quite insulting. Assuming that wasn't your intent, could you take a few deep breaths or something before posting? You obviously feel strongly about this, but there's no reason to get snippy at other people whose opinions are just as valid as yours. Feb 21, 2012 at 16:15
• One issue brought up in the original request that this answer doesn't address is citation: it's nice to be able to preserve the original formatting of quotes from sources like the OED and countless others. Dec 1, 2015 at 9:21
• @sumelic: if you absolutely can't use all caps, there's always the <sub><sup>asdf</sup></sub> workaround. Dec 1, 2015 at 16:28

If adding a small-caps option to EL&U is technologically feasible and straightforward, I would love to have the option to use them. As matters stand, when I quote definitions from old (and some new) dictionaries, I generally replace small-and-large-cap words with all-cap equivalents; but the closer my retyped versions are to the originals, the better I like it.

I came here through your comment on my question, and couldn't leave without my 5 cents:

Modern HTML tries to more and more separate structure/semantics from styling, and Markdown as a lighter way to write a subset of HTML even more so. It is for this reason that in HTML one should use <em>x</em> and <strong>x</strong> (emphasis and strong emphasis) instead of <i>x</i> and <b>x</b> (italic and bold) – not to mention <font>! –, and the Markdown codes *x* and **x** stand for the former and not the latter. Because of that I think allowing more styling-oriented markup in questions and answers on SE would be the wrong move.

From that separation perspective, the question would be: What kind of semantics would you like to lead to a styling in small caps? For example, on the Oxford English Dictionary website, small caps are used to style names. Since HTML does not have a <name> tag, the correct way to implement this would be to use a <span> with a class attribute

1929 <span class="name">F. M. McNeill</span> <em>Scots Kitchen</em>


and then have an associated style sheet that contains

span.name { font-variant: small-caps; }


And it would be even better to also use something like <span class="title"> instead of <em> in the above example. However, to enable something like that on SE would necessitate to agree on a whole host of additional semantic classes.

Of course, SE could go beyond the small subset of HTML whitelisted in questions and answers and allow to use something like <span style="font-variant: small-caps">, but a) that would go against semantics & style separation, and b) I guess it would it make harder for them to filter out other kinds of HTML markup that might have malicious side effects. Also, we are not the designers of this website, just the guys who write all the text. ;-)

• Most of what you've written is quite correct. The exception is that font-variant:small-caps is broken, and so you must instead use font-feature-settings: "smcp" 1. Otherwise it just fakes it instead of using the font's real small caps. See my examples of the difference between the two. Mind you, the face in question actually has to HAVE small caps for this to work.
– tchrist Mod
May 5, 2015 at 4:35
• The HTML preference is interesting, but it doesn't seem to me to mesh very well with typographical conventions. I never knew that Stack Exchange uses <em> and <strong> rather than italic and bold, and so they've been essentially the same thing in my use of the site. And in your own writing, it makes sense to say that the word semantics is emphasized, but the phrase Oxford English Dictionary, not so much. Yet they are marked with the same styling (unless you've used a <title> styling or something to mark the latter). May 5, 2015 at 7:58
• @tchrist, I didn't know that. Broken in specific browsers, or generally? And font-feature-setting is in the standard? Good to know. Yes, of couse the font needs to have proper small caps, which makes it even harder to ensure that the markup renders properly across browsers and platforms. Web typography has come a long way, but it isn't completely there yet. May 5, 2015 at 13:25
• @sumelic, I just checked (you can do that with "Inspect Element" in some browsers), and strangely emphasis in the answer is actually implemented using <em>, but emphasis in a comment is implemented using <i>. And you are right, emphasizing "Oxford English Dictionary" doesn't make sense, the idea is rather that titles are styled in italics, and I basically abused semantic markup to achieve a certain presentation. As I wrote, unless we have a bunch of additional semantic markup, the separation idea cannot be perfectly realized. May 5, 2015 at 13:26
• And you are right, typography with its roots in putting lead blocks together is concerned with getting the styling right, and the distinction between semantics and styling, while implicitly there, is not very well developed. I think this tension can be overcome within a specific individually administrated website, where the writer uses classed spans for semantics and then does the typography through the CSS. But on a huge site like SE, with its many different communities and user's backgrounds, I don't really see this happening. May 5, 2015 at 13:37