Cool, they’re using Roman numerals!

Date:May 28, 2007 / year-entry #189
Tags:other
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20070528-00/?p=26673
Comments:    26
Summary:The IT department here will periodically send out notifications regarding changes to the network infrastructure or updates that are being deployed across the company. One of my colleagues sent me email saying, "Cool, they're using Roman numerals!" It was in response to one particular IT notification that included the following sentence: This update will require...

The IT department here will periodically send out notifications regarding changes to the network infrastructure or updates that are being deployed across the company. One of my colleagues sent me email saying, "Cool, they're using Roman numerals!" It was in response to one particular IT notification that included the following sentence:

This update will require approximately X minutes.


Comments (26)
  1. Sohail says:

    Does it really end up taking hours? Because at my company, a reboot of the phone system prompts a chain reaction that disables our network.

  2. >Does it really end up taking hours? Because at my company, a reboot of the phone system prompts a chain reaction that disables our network.

    Do you work at Jurassic Park?  

  3. Mr. Cranky says:

    <drum riff here>

  4. that’s funny… geeky funny J

  5. Will says:

    I’ve seen similar uses of roman numerals in (non-draft) work instruction documents – "Installer will require XXXXXXX meters of Type X cable".

    My suggestion to simplify it to "LXX" was met with much confusion.

  6. Dan says:

    You know you’re a geek when you read something like this and smile.

    A bit like standing in a lift with four or five other people and remarking to a colleague that all the lit floor numbers are prime numbers.

  7. Cheong says:

    The nice thing is that, "X" can be interpreted as Roman numeral "10", or as an unknown.

    So if the system is not up when X minutes is past, the network guy can still say they meet the target of using only X minutes… XD

  8. Lucius Caecilius Iucundus says:

    I work in the Roman empire and I’m actually shocked that Windows doesn’t have a locale for Roman numerals and dates. All the barbarian locales are present, but not the one true Roman one. Why does Microsoft hate Rome?

  9. Genghis Khan says:

    Why does Microsoft hate Rome?

    Lucius, YOUR barbarian locale has the only writing system that really works properly in Windows.  Why does Microsoft hate the rest of us?

  10. Neil says:

    Cheong even laughs in Roman numerals…

  11. George Jansen says:

    Curiously enough, emacs calendar modes include Hebrew, Islamic, and French revolutionary, and three Mayan calendars, but not Roman. (I know this because I don’t like editing in 6.)

  12. Gaius says:

    Oddly enough, Roman numbers have their own encoding in Unicode: http://unicode.org/charts/PDF/U2150.pdf

  13. Ralf says:

    Years ago I added a Roman numerals option to the display format for dates in a test system, thinking it would be a passing amusement — nothing more.

    One of the marketing Suits saw it and almost wet himself. "We could display the copyright date just like they do in MOVIES!"

    I nodded sagely, agreeing with him, but never mentioning that the copyright information was hardcoded and if he wanted it displayed in Igpay Atinlay he had only to formalize the request.

    I *think* the code made it into the production system, which means someplace, sometime, it’s possible an employee received a check dated in roman numerals.

  14. emacs says:

    Yeah, emacs.  For all those scholars of Revolutionary France who need to calculate dates in that 10-year period.

  15. Norman Diamond says:

    Tuesday, May 29, 2007 2:23 PM by Gaius

    Oddly enough, Roman numbers have their own

    encoding in Unicode

    They have to, because they were part of a national character set.

  16. Anon says:

    Why can’t you write Roman numerals using ASCII letters? It seems crazy to waste Unicode code points for them.

    [Who said you can’t use ASCII letters for them? -Raymond]
  17. Norman Diamond says:

    Unicode wastes code points on things like giving the mathematical usage of the Greek letter pi a different code point from the non-mathematical usage of the Greek letter pi.  I’m not sure which national character set forced Unicode to do things like that.

    For Roman numerals, which can be encoded either in the single-byte range somewhere between 0 and 127, or the double-byte range somewhere between 256 and 65535, I do know which national character set forced Unicode to do it.  (People would complain if I said which national character set.)

  18. Norman Diamond says:

    s/256 and 65535/32768 and 65535/

  19. Adam says:

    Norman > Could you expand on that – why does a "national character set" force unicode to have duplicate code points for the same character?

    What is a "national character set"? As far as I knew, a national character set was just another term for a lecacy character encoding. But what has that got to do with whether code points need to be duplicated?

  20. Michiel says:

    Roundtrip encoding is the key: If VI wasn’t equal to VI in the legacy encoding, then it shouldn’t become equal after a roundtrip conversion via Unicode.

  21. Adam says:

    Hmmm….but in that case, what national character set had two symbols for PI?

  22. Norman Diamond says:

    Wednesday, May 30, 2007 5:46 AM by Adam

    why does a "national character set" force

    unicode to have duplicate code points for the

    same character?

    For each code point that each national character encoding has, Unicode has to have a code point that can be mapped to.  Otherwise Unicode wouldn’t even be Unicode.

    What is a "national character set"?

    The United States has American Standard Code for Information Interchange (formerly United States of America Standard Code for Information Interchange, i.e. formerly USASCII, but that was shortened a few decades ago).  Some European countries had national standards, which I’m not sure if they still have or if they were superceded by ISO-8859-1.  There are also some ISO-8859-x code pages for Turkish, Cyrillic, etc.  China, South Korea, and an unnameable country also have national standards.

    But what has that got to do with whether code

    points need to be duplicated?

    When a national standard had separate code points for the Italian character "V" as a letter and the Italian character "V" as a numeral, and Unicode included that national standard in the set of character sets that Unicode would be compatible with, Unicode also had to have separate code points for the separate characters.  By the way, to the best of my knowledge, Italy didn’t participate in this particular matter.  By the way, there’s a single code point for a character that looks like "II" as a numeral, and one for "VII", etc., so most of those don’t duplicate individual letters.  "I" and "V" and "X" do though.

    Wednesday, May 30, 2007 10:17 AM by Adam

    what national character set had two symbols

    for PI?

    Yeah I wonder too.  Around 10 years ago, I thought this kind of inconsistency would doom Unicode.  They did a pretty reasonable job of Han unification, so why did they toss that idea of consistency with everything else?

  23. Anon says:

    AFIK the deal with the two codes for Pi is not that some legacy character set had two codes for Pi, it is that there are two meanings for a visually identical symbol – a Greek letter, or a mathematical constant. There are also code points for bold and "double-struck" letters, because in mathematical equations it is sometimes necessary to assign different meanings to the "same" letter depending on the formatting.

    In other words, the presence of two visually identical code points is often a clue that there is some sort of semantic difference between the two points. Not always – there are duplicates of the Latin alphabet that have a bounding box the same size as the CJK Ideographs, which is probably rooted in a need to stop embedded Latin characters upsetting alignment.

    The Roman Numerals presumably have their own code points because otherwise it is impossible to avoid losing the information that the characters represent a number.

  24. Norman Diamond says:

    Sunday, June 03, 2007 5:32 AM by Anon

    AFIK the deal with the two codes for Pi is not

    that some legacy character set had two codes

    for Pi, it is that there are two meanings for

    a visually identical symbol

    Yes I read the same thing, they used this reasoning in order to discard all the ideas of consistency that they had so painstakingly developed.

    The letter X is a Roman numeral AND an Italian letter AND a mathematical symbol meaning unknown, so there have to be at least three different code points for it.  The letter e is an Italian letter AND a mathematical constant AND a punctuation mark used in human-readable numerals for floating-point numbers, so there have to be at least three different code points for it.  Oops no, the Unicode standard only applies to part of the Unicode standard, otherwise other parts of the Unicode standard apply.

    there are duplicates of the Latin alphabet

    that have a bounding box the same size as the

    CJK Ideographs

    I don’t think so.  For full-width and half-width copies of Italian characters, the reason is the original correct reason:  Some national standards already included code points for both versions, and Unicode wanted to incorporate those national characters.

    The Roman Numerals presumably have their own

    code points because otherwise it is impossible

    to avoid losing the information that the

    characters represent a number.

    Well I wonder if they added that reason later when they added a code point for the mathematical meaning of i and engineering meaning for j, to be distinguished from Spanish letters that look like them.  But I still think a more likely reason is that a national standard already included code points for several Roman numerals.

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index