46

This is to answer a question which arose in the comments on this question on the Unicode characters for Roman numerals:

Why is this necessary or preferred over the usual way of typing ai, ai-ai, ai-ai-ai, vee-ai, etc.?

To start from the beginning, in Unicode’s Number Forms block, there exist code points for Roman Numerals that are at first glance very similar in appearance to standard capital latin letters or combinations thereof (U+2160 – U+217F). For example, U+2165 (Roman Numeral Six) looks very much like VI (Latin Capital Letter V and Latin Capital Letter I).

Thus, the question arises why one should not use the latter to represent those digits and, e.g., type Louis VII instead of Louis Ⅶ. Obviously, using no special characters avoids compatibility issues with fonts that do not support them. But even if I know that the text will be rendered with a font that does support these characters, why should I bother using them?

3 Answers 3

58
+200

In many fonts you will indeed find hardly any difference between using the Unicode characters for Roman numerals and just composing them from stardard Latin letters. For example, the following shows Louis VII (top) and Louis Ⅶ (bottom, using codepoints for Roman numerals) rendered with FreeSans:

enter image description here

Apart from a tiny difference in spacing, which was propably not intentional, the output is identical.

Here is the same text rendered with DejaVu Sans:

enter image description here

While the characters still look identical, there is a considerable difference in spacing. It may be a matter of taste whether the latter is preferrable for Roman numerals, but it certainly wouldn’t be a good choice of kerning for regular all-caps.

Linux Libertine goes one step further:

enter image description here

Here the Roman numerals are slightly smaller than the capital letters, thus matching the font’s Arabic numerals. Most importantly, they are connected, reproducing a feature often found in hand-drawn Roman numerals.

Now, some may still argue that there aren’t any improvements in the above or that they aren’t worth the effort. So here is a case, where not using the Unicode characters will produce horrible results:

enter image description here

(Note that the small size of the numerals reflects some actual historic typesetting.) Something similar may occur for script or caligraphic fonts.

Without specific Unicode points for Roman numerals, dissolving the latter problem would only be possible with:

  • Using a complex OpenType feature (or similar) that tries to detect whether a sequence of capital letters is a roman numeral. This will inevitably cause problems with words that would also be a valid Roman numeral.

  • Using a simple OpenType feature, that needs to be manually activated for every Roman numeral.

  • Using Unicode’s Private-Use Area. Compatibility issues are likely to ensue even when switching between two fonts that both support Roman numerals.

From Unicode’s point of view, the huge semantical difference between capital Latin letters and Roman numerals should already have sufficed for a seperate encoding of Roman numerals.

13
  • To what extends do Roman numerals pose any problem different from acronyms and initialialisms, both of which would properly be handled by having a font include a set of small caps? I would expect that the scenarios where "VII" should be shown using uppercase rather than smallcaps are the same as the ones where "NATO" or "P.M." would should be shown likewise. While it's perhaps nice to have a way to connect crossbars with "VII" but not "VIP", I'm not sure crossbars should be connected when numerals are used within text.
    – supercat
    Mar 5, 2015 at 18:00
  • Very good added your expanded semantics a bit but if you want to incorporate in your answer feel free to do soa and ill delete mine.
    – joojaa
    Mar 5, 2015 at 19:43
  • @supercat: I am not exactly sure what you are aiming at, but in my experience, in modern typography, Roman numerals always have about capital size, while in languages other than German, it’s conceivable to use small caps for all-caps abbrevations. In blackletter typography, you would use a roman font for all-caps abbrevations and for roman numerals, but sometimes you would use smaller roman numerals (as above) and for some very special occasions, you would use blackletter all-caps.
    – Wrzlprmft
    Mar 5, 2015 at 20:39
  • @Wrzlprmft: I would expect Roman numerals to be printed the same size as things like "P.M." or "NATO"; in some contexts, such things are printed as full size capitals, but in others that makes them stand out too much. If a font had a set of capital letters whose design, in relation to the rest of the font, was appropriate for "P.M." or "NATO", I would think it would also be suitable for Roman numerals.
    – supercat
    Mar 5, 2015 at 21:07
  • @supercat: For regular roman font, yes (though one can argue whether this would be best thing to do). But what about blackletter and script fonts? Also, what do you conclude from that?
    – Wrzlprmft
    Mar 5, 2015 at 21:15
31

TL;DR The Unicode consortium recommends using the latin letter where possible and not the numeral, which where included for compatibility with East-Asian typography.

The full story : (with justification of the above assertion)

Unless you are doing some East-Asian typography, using the (non-archaic) Roman numeral characters from unicode (U+2160 — U+217F) is a hack.

These character have been included for compatibility with pre-Unicode East-Asian standards. These characters stays vertical where the East-Asian text is typeset from top to bottom, while usually, text in Latin characters (e.g. names) are written sideways in this context.

To quote the last version of the Unicode standard (v 7.0, chap. 22, p. 20):

Roman Numerals. For most purposes, it is preferable to compose the Roman numerals from sequences of the appropriate Latin letters. However, the uppercase and lowercase variants of the Roman numerals through 12, plus L, C, D, and M, have been encoded in the Number Forms block (U+2150..U+218F) for compatibility with East Asian standards. Unlike sequences of Latin letters, these symbols remain upright in vertical layout. Additionally, in certain locales, compact date formats use Roman numerals for the month, but may expect the use of a single character.

So, in theory, the distinction between Roman Numerals and letter is a matter of rich text, like italics, a font change, or optional ligatures. That said, as @Wrzlprmft shows, some font use it to avoid a font change for each Roman numeral while keeping a good typography.

The existence of a character for XII and not for XIII implies that there are several different encodings the same numeral, which leads to difficulties in text search : If you write about Louis XII and Louis XIII, you will probably write XIII as X+I+I+I, but will you write XII as a single character ? Or as X+I+I to have a consistent display with XIII ? There is no single good answer to this question while using the Roman Numeral Characters, and that’s why the Unicode consortium recommends using the Latin letters when possible and not the numerals.

Edit : added the TL;DR assertion in the beginning

2
  • 9
    "the Unicode consortium recommends using the Latin letters when possible and not the numerals." This should be much more prominent than it currently is.
    – Ixrec
    Mar 6, 2015 at 19:50
  • 1
    From a Unicode semantics standpoint this is by far the best answer here. There may be practical reasons with certain fonts to prefer the Roman numeral characters, and that's of course an independent graphic design consideration, but semantically they're always wrong. Mar 9, 2015 at 0:37
13

From a perspective of how it looks there may not be much of a difference. So if you publish only printed material then no difference, except in some fonts as Wrzlprmft points out in his excellent answer.

Semantics are important

The semantic difference is huge. By using roman numerals it makes it blatantly clear that you're talking of the number 5 instead of letter V. Sure they look the same, but they mean different. That would mean that the search engine might have a higher chance of finding "XX mark V" when you search "XX version 5".

In fact the reason that some things work badly is because we do not embed semantic info. The world would indeed be a better place if we would. So using the right semantic meaning is about the same as using styles in a word processor versus styling manually. There is little difference on the human end, but big power in automation.

Fonts should make different roman numerals

Font makers aren't really using these because they are not very often used. But by using these you could get the roman numeral slabs on the letters that differentiates them from the text. So the feature is under-utilized because it's a rare usage. Fonts don't really implement everything, nor should they. By using these you would benefit if they are present.

Conclusion

This all is certainly a chicken and a egg type problem. If people do not use the special character ranges then no special allowances for those ranges will be made. So font won't support specially styled roman literals, because doing so would just be wasting effort on features no one uses. Same applies for searching: if nobody does use roman literals then no search engine will find roman literals and the semantics are lost. Semantics suffer from not adopting right semantic meaning. This same thing certainly applies to a wider range of Unicode characters as well.

As for input complexity, yes most users can not write extended characters but that's no excuse for a knowledgeable person to skip doing so if it makes sense. If nobody makes things better no progress will ever be made. Hell even word has modes for writing alpha by typing /alpha. So there's really no reason why there could not be a easy way of tagging numerals or even auto suggesting them as such. Again if nobody does this then it will never get more widespread adoption.

6
  • Actually a search engine returns far better results when searching "Louis VII" rather than "Louis Ⅶ", probalby because in reality most of the content is generated with tools that do not allow such fine semantical distinction.
    – xpereta
    Mar 6, 2015 at 9:09
  • 1
    @xpereta yes because people do not care about semantics. However if they would then you would easily match 7 for the numerals also. Much of the inefiency in the world is because people do not consider ot important to point out the semantical difference of things explicitly when they could easily do so. The computer truly does not know the difference even if a human would
    – joojaa
    Mar 6, 2015 at 10:47
  • 1
    @joojaa In this case, it probably has more to do with the fact that VII is orders of magnitude easier to type than Ⅶ. I'm not sure if that will ever change.
    – Ixrec
    Mar 6, 2015 at 19:47
  • I'd expand on the last paragraph a little to finish out your conclusion that wider usage of special characters like this would encourage wider font implementation. Mar 7, 2015 at 7:20
  • 3
    I strongly question this answer regarding semantics. The Unicode Roman numeral characters are <compat> equivalent to the corresponding sequences of Latin letters, which strongly suggests that the only reason they're in Unicode at all is for round-trip compatibility with some legacy (probably CJK) character sets that had them. Such characters generally should not be used except for faithfully round-tripping documents created in legacy encodings. Mar 9, 2015 at 0:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.