14

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:

enter image description here

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
    +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 '12 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 Feb 18 '12 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. – Mitch Feb 18 '12 at 15:00
  • @Mitch Good idea, sure. Just a moment. – tchrist Feb 18 '12 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 '12 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 Feb 19 '12 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. – Marthaª Feb 20 '12 at 19:23
  • 1
    @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 Feb 20 '12 at 19:34
  • 2
    @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. – Marthaª Feb 20 '12 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 Feb 20 '12 at 20:04
  • 1
    @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. – Marthaª Feb 20 '12 at 20:35
  • 1
    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. – Monica Cellio Feb 21 '12 at 16:12
  • 2
    @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 Feb 21 '12 at 16:47
  • 1
    @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. – Mitch Feb 21 '12 at 18:27
  • 2
    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. – theUg Jan 22 '13 at 19:59
13

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:

Bringhurst example of small caps

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:

Bringhurst example two

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.

small cap demo using real font small caps

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:

small cap demo with 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:

small cap demo with Minion Pro in Firefox

(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!

  • 9
    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. – StoneyB Dec 28 '14 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 Dec 30 '14 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. – StoneyB Dec 30 '14 at 15:00
  • @StoneyB Sigh. Time to go back to something else. – tchrist Dec 30 '14 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 Feb 15 '15 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. – Frank Mar 28 '15 at 8:38
  • 1
    @Frank Yes, it changed with the styling change. – tchrist Mar 28 '15 at 11:46
6

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*.)

Why Unicode smallcaps are a horrible idea

* 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.

  • 1
    @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. – Marthaª Feb 20 '12 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 '12 at 2:10
  • 1
    @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. – Monica Cellio Feb 21 '12 at 16:15
  • 1
    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. – sumelic Dec 1 '15 at 9:21
  • @sumelic: if you absolutely can't use all caps, there's always the <sub><sup>asdf</sup></sub> workaround. – Marthaª Dec 1 '15 at 16:28
6

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.

3

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 May 5 '15 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). – sumelic May 5 '15 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. – A. Donda May 5 '15 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. – A. Donda May 5 '15 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. – A. Donda May 5 '15 at 13:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .