4. Titlecase and Adscripts

 
Home > Greek > Unicode

Mention prosgegrammeni to someone working on Unicode, and chances are they'll turn several shades of purple. The interaction of capitals and mute iota has been troublesome; I'm letting you know about it, so you don't contribute further to the trouble.

4.1. Titlecase But Not Title Case

Following the description of Titlecase, you might expect that Greek accented capital letters would be counted as titlecase characters in the Unicode character database: in traditional typography they only occur in titlecase (and when they occur on all caps words in Renaissance typography, the accents go to different places).

Not so: all Greek capital letters, accented or not, are deemed to be of class Lu (uppercase), with the exception of adscripted capitals (on which see more below than you'd ever wish for), which are admitted to Lt (titlecase). In fact, the only Unicode Lt characters in existence are the four backward compatibility Serbian digraphs (U+01C5 Latin Capital Letter D With Small Letter Z With Caron, Dž; U+01C8 Latin Capital Letter L With Small Letter J, Lj; U+01CB Latin Capital Letter N With Small Letter J, Nj; U+01F2 Latin Capital Letter D With Small Letter Z, Dz)—and the Greek adscript letters.

So although the Greek accented capitals are assuredly used in titlecase contexts, that's not what the Lt class is there for. The Lt class is there to allow Serbian digraphs and Greek adscripts to convert between lowercase, uppercase, and titlecase properly, because their correspondences are idiosyncratic. A general titlecase converter for Greek won't use mappings between Ll (lowercase) and Lt; it will simply convert the first character to uppercase. And an uppercase converter will strip out all diacritics but diaeresis, and convert the result to uppercase.

This is an extra step for your converter to do, but not an onerous one; and not really a reason to burdern your operating system with yet more laundry lists (e.g. map ἂ to titlecase Ἂ but uppercase Α). Moreover, a Greek case converter is going to have to know a fair bit about Greek anyway, as Haralambous points out: all-caps word need information on whether two vowels constitute a single syllable or a diphthong, in order to insert diaereses, and that information might only be forthcoming with reference to diacritics. (Thus, αὐλός au.lós 'flute' => ΑΥΛΟΣ, but ἄυλος á.hu.los 'incorporeal' => ΑΫΛΟΣ.)

If you think about it, this isn't much different to the (thankfully increasingly outdated) continental French avoidance of accents on capital letters, which is not observed in Canada. If you want to capitalise in Canada, then take the uppercase version of á as Á. If you want to capitalise in France, then strip out the accent first, so that the uppercase version of á is A. Casing, like sorting, is not only language- but culture-specific, and you won't find all the necessary qualifications for your task in a lookup table supplied by Unicode. (In fact, French practice was always riddled with exceptions anyway, so a French capitaliser has to be clever indeed. Similarly, Canadian French allows you to drop diacritics in all caps, but not in titlecase.)

So the capital version of ἂ is Ἂ, period. If you want to follow Greek standard practice for all caps, you strip out the diacritics first just as in old-fashioned French; for titlecase, you leave at least the first character's diacritics be. And in case you ever work with Renaissance Greek, you can keep your diacritics in all caps by preventing the case converter from stripping out the diacritics first. Better make sure you have a font that puts the diacritics in the right place, though. (And that's a font issue, not a Unicode issue.)

So why isn't adscript treated the same way, but instead joins Serbian digraphs as an exception to plague programmers? Ah, hearken ye now to a tale of woe...

4.2. Adscript vs. Subscript: A Culture Clash

The iota that went on lowercase letters is uncontroversial; but how do you do the equivalent on an uppercase letter? Three traditions have arisen.

  1. The first approach (capital subscript) is to treat uppercase as equivalent to lowercase: if a mute iota is tucked underneath a lowercase vowel, it should also be tucked underneath an uppercase vowel. This is what the mediaeval scribes did, and it turns up both in pre-Modern Western typography of Classical Greek, and in Modern Greek typography—particularly that associated with the Church.
  2. The second approach (capital adscript) is to take capitals—and all caps text in particular—as equivalent to Ancient Greek text, which after all didn't have any lower case. In Ancient Greek writing, /oːi/ was written in capitals, as ΩΙ. So in a modern all caps text, the thinking goes, the same should be done: the capital version of ῳ is ΩΙ. This is seen sometimes in the west. In that case, the iota is no longer subscript, ypogegrammeni (written underneath the letter), but adscript, prosgegrammeni (written next to the letter).
  3. The third approach (small adscript) is a compromise: the capital version of the iota subscript is adscript, written next to the letter, but not as a full-sized capital iota. It appears either as a lowercase iota (full-sized or smaller than normal), or as a small-caps iota. This is usual practice in the West, and frequent outside the Church in Greece as well.

So the capital and titlecase versions of 'Hades' and 'Thrace' can appear as follows, depending on the typographical tradition:

[Illustration of adscripts]

You'll note that there is no difference between the treatment of subscript in titlecase and in uppercase contexts for capital subscripts and small adscripts. Capital adscripts (as far as I know) are restricted to capital rather than titlecase contexts. So we have three traditions:

  All Caps Titlecase
Subscript Capital Subscript Capital Subscript
Mixed Capital Adscript Small Adscript
Adscript Small Adscript Small Adscript

As a result, in the subscript tradition, the iota after a long vowel is consistently a diacritic, regardless of case: ᾅδης, ᾍδης. That iota was originally a separate letter; and papyrological and epigraphical editions, preserving what the original text looked like, still have it as a separate letter, regardless of case: ἅιδης, Ἅιδης. The adscript tradition is intermediate between the archaic and the ecclesiastical tradition: the iota is a diacritic in lower case, but remains a separate letter in upper case, like in antiquity. So depending on case, a diacritic turns into a letter. This is exceedingly odd behaviour for a diacritic; in fact, Unicode is prejudiced against it a priori, by making diacritics a class of codepoint distinct from letters. So the capital adscript means trouble.

It might sound absurd for the capital version of a diacritic to be a letter; but the surprise is that it hasn't happened more often. Lots of western diacritics started life as letters, just as the iota subscript did: the cedilla as a subscript z, the tilde as a superscript n, and the umlaut as a superscript e. To this day, Ö in German can be written as OE (all caps) and Oe (titlecase), and the mediaeval ancestor of Ö, , can still be sighted on occasion in decorative contexts (e.g. postage stamps).

Oh, that superscript e (U+0364 Combining Latin Small Letter E) has casing issues of its own: when it appears in an all-caps context, it should look like a capital E --- as it does on the postage stamp. At least that, we can delegate to glyph issues.

German does not cause Serbian- or Greek-style grief to Unicode, because it keeps its e's and its umlauts separate: a text will either use <Ö ö> or < OE Oe oe>, and not usually a mixture of both. Even when it doesn't --- as in Swiss German practice --- the exception is not considered enough to disrupt Unicode treatment of diacritics. A German spellchecker may well want to consider oe a spelling variant of ö, and if the Swiss were attached enough to their casing <Oe ö> (rather than being forced into it by French keyboards), a Swiss German word processor may want to capitalise ö as Oe. But as far as Unicode is concerned, that is a German-specific issue, to be implemented in the spellchecker or word processor, and not a general property of ö. As we saw with French, casing is language-specific and fiddly. A decomposition of ö to oe would be of no use to French or (vestigial) English coöperation, where the diacritic is used as a diaeresis. And Unicode is hardly eager to add to the stock of Serbianesque titlecase characters.

But German as a whole could very well have decided "we don't like the look of that <Ö>; so the capital version of ö shall remain the old fashioned OE/Oe": österreichische ~ Oesterreichische ~ OESTERREICHISCHE (as the Swiss indeed end up doing). And German could have further demanded that such casing behaviour occur not in software, but in the operating system. As we will see, something like this was about to happen with Greek: unlike Latin alphabets, Greek is the only current language using Greek polytonic, and noone could use "but that will break Karamanlidika" as an objection to the casing of Θρκ > ΘΡΑΙΚΗΙ, the way a French speaker might object to österreichische > OESTERREICHISCHE generalising to coöperation > COOEPERATION. Although it probably would break Karamanlidika (Turkish written in Greek script); and as I hope to show below, it certainly breaks Modern Greek.

4.3. Adscripts and Diphthongs

The Subscript and Adscript approaches are seen in Greece. The Mixed approach, which treats ΩΙ as equivalent to ῳ, and conflates the iota adscript and the capital iota, is not. There's a reason for that, which it is how Modern Greek treats its own diphthongs.

Greek spelling is historical, so even after the ancient diphthongs were monophthongised, they remained written the same way. So Ancient καιρός /kairós/ is still spelled καιρός, even though now it is pronounced /keˈros/. If the combination /ai/ turns up in Modern Greek, it cannot be spelled αι, since that is already pronounced /e/. Instead, diaeresis is used. So as already noted, there is a distinction between παιδάκι [peðaki] 'child' and παϊδάκι [paiðaki] 'cutlet'.

Now, that's all very well when we are dealing with combinations recognised in Modern Greek as ancient diphthongs. But ωι and ηι are not recognised in Modern Greek as ancient diphthongs. An Ancient Greek may have written 'to God' as Θεῶι, and so may a Western classicist on occasion (particularly a papyrologist or epigraphist.) But the Western classicist normally writes it as Θε, following the late Byzantine convention. And the Modern Greek always writes it as Θε, when using polytonic. (When using monotonic, the adscript is normally dropped off: one usually sees "Thank God" as Δόξα τω Θεώ instead of Δόξα τ Θε. Expressions containing iota subscripts in the modern language are ossified archaisms.)

So the Modern Greek never sees ωι as a monophthongised diphthong from Ancient Greek; the only rendering of the ancient diphthong they are familiar with is ῳ. If the need arises for a modern diphthong ωι, to be pronounced as /oi/, then, they will usually feel no need for diaeresis: ωι will be read in Modern Greek as /oi/, with no ambiguity felt with Ancient ῳ, even though ῳ was originally written as ωι. Modern Greek speakers don't know it was originally written as ωι, or at most ignore that spelling as no part of their Byzantine orthographic tradition. And you will rarely see a diaeresis, giving forms like ωϊ or ωϋ.

What this means is that, in Ancient Greek, ωι and ῳ are usually equivalent: whichever you write means the same thing. So the Mixed convention of capitalising, say, ᾠδή 'ode' as ΩΙΔΗ is harmless: ᾠδή is just a different way of writing ὠιδή. But in Modern Greek, ᾠδή and ὠιδή are not the same word: they are pronounced as /oði/ and /oiði/, respectively, because ὠι is not a recognised digraph. So ΩΙΔΗ is unacceptable in Modern Greek as a capital version of ᾠδή.

The number of Modern Greek words that actually contain ωι is small, because ω is a marked grapheme for /o/, so it will be avoided in transcribing loanwords. κατώι is an alternative form of κατώγι 'basement' < κατώγειον. Consistent with the disyllabic Ancient form of the combination, 'Trojan' is τρωικός, and 'heroic' is ηρωικός. Instances of ηι are even harder to come by, since the resultant /i.i/ is unacceptable to the dialects underlying the modern standard language; but it can be found in transcriptions of other dialects. E.g. Cypriot [apːʰiin] < /appiðin/ 'leap' can be transcribed as αππή(δ)ιν, with the parenthesis indicating that the delta is silent. But it can also be transcribed dropping the silent letter, as αππήιν; and in that case no Modern Greek speaker would feel the need to disambiguate from Ancient ηι = ῃ, by writing it as αππήϊν.

I haven't mentioned αι = ᾳ in this. Ancient αι is ambiguous between the short diphthong, which does not change to ᾳ, and the long diphthong, which does. Since Modern Greek has no length distinction, and αι is a monophthongised diphthong in the modern language (pronounced /e/), any non-initial /ai/ arising in the modern language will have a diaeresis (παϊδάκι), to disambiguate it. Any initial instances will have their diacritics on the first rather than second vowel; monotonic will require diaeresis, in the absence of stress: ἄιντε–άιντε 'go on!', ἀιτός—αϊτός 'eagle'. In polytonic titlecase, this gives Ἄιντε and Ἀιτός.

But the usual Adscript and Mixed titlecase also involves a first vowel with diacritics and a small case second vowel: δης—Ἅιδης "Hades", δόμεθα—Ἀιδόμεθα "we are sung". So Ἀι in Modern Greek becomes ambiguous between /ai/ and /e/. (Recall that breathings do not affect modern pronunciation.) This means that the Adscript and Mixed conventions are not a good match for Modern Greek polytonic, including linguistically mixed and old fashioned text. For example, "Hades" = "the underworld" was regularly written with iota subscript in 19th century transcriptions of folk songs, though now it goes without; such texts will likely also contain references to eagles, which have an initial Ἀι, not necessarily with a diaeresis. I haven't found a single folksong with both capitalised, but here are two verses from different songs in Nikolaos Politis' Ἐκλογαὶ ἀπὸ τὰ τραγούδια τοῦ Ἑλληνικοῦ Λαοῦ (Athens: 1914):

Ἀιτὸς ξεβγαίνει ἀπὸ τὴ γῆ, καϊμένα εἰν' τὰ φτερά του.
An eagle emerges from the earth; his wings are singed. (§186: aiˈtos)

Τρεῖς ἀντρειωμένοι βούλονται νὰ βγοῦν ἀπὸ τὸν δη.
Three braves want to escape from Hades. (§222: ˈaði) [Printed with Capital Subscript: ᾍδη]

The beginning of Ἀιτὸς and ᾍδη are pronounced differently in Modern Greek: the first is a diphthong, the second a vowel. So the second cannot be printed with the selfsame digraph as the first. No adscripts for Modern Greek, ever. If an old-fashioned Modern Greek text is to be presented in a Unicode font, ensure either that its capital version of iota subscript is also subscript (which is what you'll find in the 19th century transcriptions), or that its adscript iota is distinct from a lowercase iota (e.g. small caps iota, smaller than normal iota).

4.4. Unicode and Adscript vs. Subscript

So we have three different typographical traditions for capital versions of iota subscript, some risk of ambiguity, and variability over the past couple of centuries. Things could go wrong when time came for all this to be slotted into Unicode, and things did. Well, "wrong" may be too strong a word; but they certainly got confusing.

The confusion did not originate in the two traditions of iota typography, much though it would be flattering to think a character encoding body saddled up to defend the typography of the Greek Church. It was instead a by-product of a larger conflict between advocates of precomposed codepoints, and advocates of decomposed codepoints --- those who would have ᾼ be one codepoint, and those who would have it be two. The decomposers, as you might have inferred from discussion elsewhere, were the architects of Unicode. The composers were the Greek Standards Organisation, ELOT, who had contributed to the ISO character standard. Unicode and ISO started out with separate character sets, but of course that was untenable; the two bodies now producing the same standard, which ends up needing to be ratified by both.

In unifying the two standards, Unicode often had to defer to the ISO standard, and thereby the national standards bodies that contributed to it. This was of course the right thing to do: the national standards body controls the legacy standards that Unicode needs to be backwards-compatible with; they have the expertise on the language-specific issues that programmers working for Apple or Microsoft can't be expected to have; and politically they vote on the body that maintains the ISO standard parallel to Unicode, which many institutions prefer as more "official" than an industry conglomerate's standard.

Now, ELOT wanted precomposed codepoints; incidental to that, it wanted the capital version of ᾳ to be adscripted. This did not follow as a necessary consequence from precomposing -- they could have just as well called a subscripted capital alpha a single codepoint. But if the adscripted alpha is a single codepoint, there is nothing particularly problematic about lowercasing it to a subscripted alpha: you're just mapping one codepoint to another. Unicode, on the other hand, started out decomposed; it admitted ISO and other character sets' precomposed codepoints reluctantly, for backward compatibility, and is refusing to admit any more. Since the iota was to them just a diacritic, they would rather that the capital version be the same as the lowercase, making the diacritics much easier to deal with. That means lowercase subscript and uppercase subscript, which is the Church, subscript typographical tradition --- and which had ended up in the font they'd used for their first exemplar glyphs. But Unicode was asserting a simple diacritic model, rather than defending Church Greek typography.

There was a complicated tug of war between the ISO and Unicode views of the capitalised iota subscript, for which I have an account from Ken Whistler. I misleadingly schematise it as follows:

ISO Unicode
Standard Glyph Name Decomposition Standard Glyph Name Decomposition
DIS1 adscr adscr 1.0 [subscr] subscr subscr
DIS2 subscr subscr
ISO final adscr adscr
Unicode (merged with ISO)
Standard Glyph Name Decomposition
1.1 adscr cap iota
2.0 subscr (or adscr) adscr subscr
3.0 adscr adscr subscr

So Unicode started with subscripts. It ended up complying with ISO's adscripts in name and glyph --- but not in the attribute that really counts, decomposition. There, they decided as policy that diacritics stay diacritics, whatever they might look like in the glyph. This undoes the "broken" case mapping of diacritics in Unicode 1.1, where the iota subscript diacritic did capitalise into an iota letter. Unicode found little resistence in imposing that policy because, well, it's only polytonic Greek: it wasn't a pressing need, it could be marginalised, and Modern Greek practice was already agreeing with the Unicoders that a capital diacritic is still a diacritic --- so the Unicoders could point to precedent for the diacritic not capitalising to a letter, and that whatever the capital adscript glyph looked like, it shouldn't be considered a letter there either. (After all, it is much easier to have a diacritic occasionally show up looking like a letter glyph than the reverse, since the letter codepoint is so much more widely used, and harder to constrain.) Unicode 3.0 took the subscript reference glyph and descriptive language away; but the point still holds.

The subscript glyph in Unicode 2.0 occasioned much harrumphing from Western classicists that Unicode got it wrong. Unicode did not get it wrong, for two reasons.

  1. As Unicoders like to remind people, their concern is the codepoints, not the glyphs. What the characters actually look like on screen is the font designers' concern; Unicode's concern is that the codepoints are at least underlyingly distinct, and processed properly. Unicode has a serifed A on its code chart for U+0041 Latin Capital Letter A; but whether you do your A as serif, sans-serif, script, Fraktur or Morse code is completely up to you. Similarly, the point of U+1FBC Greek Capital Letter Alpha With Ypogegrammeni (as it was then known) is that there be a codepoint for the capital counterpart of U+1FB3 Greek Small Letter Alpha With Ypogegrammeni. Whether in your font you put your iota underneath, besides, or on top of the alpha is your business.
  2. Whose language is it anyway? :-| By dismissing as wrong a typographical tradition older than their own, and still in productive use, the classicists complaining about the subscript have displayed not only ignorance of how Unicode works, but also cultural arrogance towards Modern Greece and Modern Greek. There's plenty of precedent for such arrogance, but that doesn't make it acceptable.

The changed glyphs don't actually change anything: the adscript iota is just the uppercase/titlecase version of the subscript iota in the Western tradition. Whatever the name of the character, a font with the iota subscripted for capitals is still Unicode-compliant, as long as it uses the right codepoints. (The names of characters are largely conventional in Unicode anyway, especially as they are perforce immutable even if later discovered to have been misnamed -- as has occurred several times in the history of Unicode.)

The distribution of fonts which have subscripts for their capitals depends, not on whether the font was made in Greece or not, but on whether the font design predates Unicode 2.0 or not. The subscripts turn up in:

These are all old fonts, two of them Microsoft defaults. (TITUS has maintained the subscript in its Unicode 4.0 compatible edition, however, which means they're doing it on purpose -- and I commend them for it. Or at least, I would, had the retention of the upright tonos in the font not made me suspicious that part of the font has simply been kept the same...)

The capital adscript has never been used in Unicode code charts, so it represents Classicists' initiative; I am only aware of Vusillus featuring it.

The fonts with smaller than normal lowercase iota as their adscript (which thus allow normal iota to be distinguished from mute iota adscript) are:

4.5. Unicode Special Casing and Adscripts

The real fun and games set in with the capitalisation behaviour specified for adscripted characters. The prescription in place in Unicode, which they obtained from ELOT, is:

Character   Decomposes to   Uppercase   Titlecase  
U+1FB3 Greek Small Letter Alpha With Ypogegrammeni U+03B1 Greek Small Letter Alpha, U+0345 Combining Greek Ypogegrammeni ᾳ U+0391 Greek Capital Letter Alpha, U+0399 Greek Capital Letter Iota ΑΙ U+1FBC Greek Capital Letter Alpha With Prosgegrammeni
U+1FB4 Greek Small Letter Alpha With Oxia And Ypogegrammeni U+03AC Greek Small Letter Alpha With Tonos, U+0345 Combining Greek Ypogegrammeni ᾴ U+0386 Greek Capital Letter Alpha With Tonos, U+0399 Greek Capital Letter Iota ΆΙ U+0386 Greek Capital Letter Alpha With Tonos, U+0345 Combining Greek Ypogegrammeni Άͅ
U+1FB7 Greek Small Letter Alpha With Perispomeni And Ypogegrammeni U+1FB6 Greek Small Letter Alpha With Perispomeni, U+0345 Combining Greek Ypogegrammeni ᾷ U+0391 Greek Capital Letter Alpha, U+0342 Combining Greek Perispomeni, U+0399 Greek Capital Letter Iota Α͂Ι U+0391 Greek Capital Letter Alpha, U+0342 Combining Greek Perispomeni, U+0345 Combining Greek Ypogegrammeni ᾼ͂
U+1F80 Greek Small Letter Alpha With Psili and Ypogegrammeni U+1F00 Greek Small Letter Alpha With Psili, U+0345 Combining Greek Ypogegrammeni ᾀ U+1F08 Greek Capital Letter Alpha With Psili, U+0399 Greek Capital Letter Iota ἈΙ U+1F88 Greek Capital Letter Alpha With Psili And Prosgegrammeni
U+1F86 Greek Small Letter Alpha With Psili And Perispomeni And Ypogegrammeni U+1F06 Greek Small Letter Alpha With Psili And Perispomeni, U+0345 Combining Greek Ypogegrammeni ᾆ U+1F0E Greek Capital Letter Alpha With Psili And Perispomeni, U+0399 Greek Capital Letter Iota ἎΙ U+1F8E Greek Capital Letter Alpha With Psili And Perispomeni And Prosgegrammeni
U+1FBE Greek Prosgegrammeni (spacing) U+03B9 Greek Small Letter Iota ι U+0399 Greek Capital Letter Iota Ι U+0399 Greek Capital Letter Iota Ι
U+0345 Combining Greek Ypogegrammeni  ͅ   U+0399 Greek Capital Letter Iota Ι U+0399 Greek Capital Letter Iota Ι

The Unicode casing tables enshrine the Mixed convention of capitalisation: they employ a diacritic adscript in titlecase (all the entries for letters ultimately decompose to U+0345 Combining Greek Ypogegrammeni), but for uppercase treat the adscript iota as completely equivalent to capital iota. The same goes, in both titlecase and uppercase, for the iota adscript diacritics themselves, both in their spacing and combining versions (U+1FBE Greek Prosgegrammeni, U+0345 Combining Greek Ypogegrammeni).

This represents one tradition of typography, but it is dumb in several ways:

So clearly we have a problem here: the Consortium has gone to great lengths to accomodate the oddities of the Mixed system, by including the adscripts with the Serbian kludges of the '70s in the small list of titlecase characters. But this system does not deliver what many classicists and any Modern Greek users want. And the casing behaviour of U+0345 can outright prevent such users from getting the casing they want.

4.6. Stare Decisis

If there's a problem, you fix it. Unless you're not allowed to fix it.

Unicode is usually in the position that it is not allowed to fix things (see the Unicode Standard Stability Policy for the extent of this). Bringing Unicode into being required a lot of compromises with existing standards, with which it had to be backwards-compatible to have any hope of wider adoption. This is why Unicode had to take what ELOT told it via ISO seriously. But the compromises did not end there: there are many projects and organisations which have arisen since then, and that rely on the Unicode standard. What they rely on most of all is that it remain a standard. If the Consortium were to fine-tune its definitions every six months, then all the projects and organisations dependent on it would have to rejig their own definitions too. Most of them are quite hostile to the prospect; and the Consortium cannot afford to antagonise them.

This means that once a character has ended up in Unicode, with a certain description and properties associated with it, we are stuck with it for the next few centuries. (There is no reason to think this is an exaggeration, by the way.) It is impossible to get a codepoint removed from Unicode: someone somewhere will be using that codepoint, and removing it makes their text illegal. (As a result, even after Coptic script is disunified from Greek, the preexisting Coptic characters remain in place mingled with the Greek block, for backwards compatibility: the Greek block did not have 14 characters freed up as a result.) It is just as impossible to get a codepoint renamed: there have been a couple of cases where the character was named incorrectly, but the name has to stand.

And it is just as impossible to get most of the normative properties of codepoints changed—those properties which are definitional to Unicode, and which must be adhered to for a product to be conformant to Unicode. (Other properties are only informative.) Even if the properties as they stand turn out to be useless to the language community, the definition of Unicode is a set standard that hundreds of entities rely on, and no normative part of it can be rescinded without great political cost. There are some normative properties where there is still room for a judgement call, and which can be changed if a case is made for it. It has to be a pretty good case, though:

Corrections and extensions to the standard in the future may require minor changes to normative values, even though the Unicode Technical Committee strives to minimize such changes. (The Unicode Standard 3.0, §4.0)

There are other properties, however, which are not only normative but immutable: the Unicode Consortium guarantees that the value of these properties shall never change. Such properties are not overridable: a higher-level protocol (which is aware of, say, Greek) may not override the normative values.

The bad news is that the Case property of codepoints is normative, and though it is not immutable, it will be very hard to change it: U+1FBC Greek Capital Letter Alpha With Prosgegrammeni shall remain a titlecase character (Lt), even though by the conventions of Greek typography it is a character that should not actually appear in a titlecase context. (Polytonic would force it to have a breathing; a monotonic with adscripts could have it in titlecase, but such usage is fairly marginal.)

Character Names, Composing Classes, and Decompositions are also Normative—and additionally, Immutable. The equivalence of acute and monotonic tonos, for example, is irrevocable. So are the names of the monotonic accented characters, despite the fact that the tonos and acute (oxia) are now equivalent. So the case of U+1FBC might conceivably be changed in Unicode 6.0 to Uppercase; but even if the Greek government revokes its 1986 decree, the accent of U+03AC Greek Small Letter Alpha With Tonos shall forevermore be U+0301 Combining Acute Accent, while the name of U+03AC shall forevermore make mention of the tonos, not the oxia or the acute.

The kinda bad news is that the real problems arise in the Case Mapping properties, which are also of normative rather than informative status as of Unicode 3.1. So Unicode is officially attached to the Mixed model, and the generic software tools you will get for handling Unicode—a Perl version of uppercasing, say, that comes out of the box without customisation—will give you Mixed model adscripts. The same will happen for generic web tools that don't know about Greek specifically—say, a general web search engine. This mapping could change in the future, but you wouldn't want to bet on it.

The less bad news is that it is understood that the normative case mapping of Unicode is still only a default—precisely because of problems such as the adscript. The Unicode default is Mixed, but it is understood that particular styles of Greek need tailoring of their case mapping; the Unicode Standard itself mentions Capital Adscript as a style needing "special case mapping". This means that a particular implementation can override the Mixed system, and still remain in conformance with the Unicode Standard: you are invoking in this instance a higher-order protocol, namely adherence to a casing system other than the Mixed.

If you are creating Unicode texts, the sensible thing to do is to have the underlying form of your text decomposed. If you do, then whether uppercase or titlecase, your "Hades" starts with {U+0391 Greek Capital Letter Alpha U+0345 Combining Greek Ypogegrammeni}, the clear equivalent of {U+03B1 Greek Small Letter Alpha, U+0345 Combining Greek Ypogegrammeni}. Even if you use combining characters, the canonical decompositions are fortunately correct and complete: the precomposed adscript characters will always yield the correct U+0345 on decomposition, so you can use them without fear in both titlecase and uppercase contexts. (The result might not look like what you're used to, but that is a soluble problem, without needing to disrupt the integrity of your text.) And with the alpha and the subscript separate, a Greek-specific engine will find it easier to customise the adscript appearance according to convention.

What you should not do is what everyone in the West has been doing until now: encode adscript iota as a lowercase or uppercase iota character, U+0399 or U+03B9. Ignore what the case mapping implies: an adscript is a diacritic, not a separate character, and (unless you're a papyrologist) you must not conflate the two. If you capitalise δης as ΑΙΔΗΣ, then you are forcing me to search for both ᾳδης and αιδης every time I want to retrieve "Hades" for a text: I have to treat α and αι as potentially equivalent.

Presuming such an equivalence is bad news for Modern Greek, and not particularly helpful for Ancient Greek either: with αι in particular, any such search will either overreport (deeming all instances of αι, long and short, to match ᾳ), or underreport (deeming only instances with disambiguating diacritics on the alpha to match—so titlecase Ἅιδης is a match, but uppercase ΑΙΔΗΣ isn't.) I've written such a search algorithm, taking the second option, for the TLG (whose data entry has treated adscript iotas as proper iotas). I should not have had to; and anyone doing anything with your text—which means everyone, once you've put it online—shouldn't have to ever again, either.

Once you have an unambiguous base form, you can manipulate its appearance at will. If you want to maintain a Mixed convention, the algorithm is straightforward: your alpha is uppercase rather than titlecase, unless it is word-initial with a stress or breathing. If you are in monotonic (and expect mute iotas), you'll also need to check that the remainder of the word is in lowercase. If you will use an Adscript or Subscript convention, Unicode normalisation and your font will take care of things, making the mute iota consistently either adscript or subscript.

If you are processing Unicode texts, and you don't want to customise for Greek, then you'll produce Mixed, and a small number of your users will grumble at you. Unless classicists, byzantinists, or traditionalist Greeks form a major part of your constituency, the truth is, it probably isn't enough of a number to worry about. If such users are a significant audience for you, then override the default Unicode case mapping, and implement the case mapping your audience actually wants instead. The Consortium is not at all interested in getting into the mess of adscripts one more time, and it should be clear from the above that no one solution to casing will fill all requirements: you will need to devise your own solution. Casing Greek is not an NP-incomplete problem, but nor is it as easy to solve as casing English: a one-to-one mapping will not be enough. Hopefully the information I've outlined will help you ask the right kind of question of your users as to what kind of casing behaviour they expect.

Nick Nicholas, opoudjis [AT] optusnet . com . au
Created: 2003-06-24; Last revision: 2007-08-26
URL: http://www.opoudjis.net/unicode/unicode_adscript.html