OpenType CASE in Greek not working in InDesign?

clauses
21.Jun.2009 6.17am
clauses's picture

Hi there
I have been doing a case feature for Greek diacritical characters, so that the diacritical characters are replaced with the non-diacritical characters when the string is in uppercase. As you can see it works fine in the Fontlab preview panel:

But in InDesign (CS4) it keeps the dieresis and converts the tonos+dieresis into UC dieresis (I marked them in magenta). Is that an InDesign override, that acually makes it the way it should be? Or what?

Thanks
Claus

Miguel Sousa
21.Jun.2009 2.11pm
Miguel Sousa's picture

Yes, the dieresis should always be maintained in cap (and small cap) setting. And yes, dieresis+tonos becomes just dieresis.

Ask Gerry, he knows all about it ;^)


John Hudson
21.Jun.2009 7.23pm
John Hudson's picture

What Miguel said: the dialytika (dieresis) is retained because it is necessary to differentiate some words in which a sequence of two vowels can either be pronounced as a diphthong or independently. There is a related contextual rule that states that when an accent occurs on the first of two such vowel letters, in all-caps or smallcaps text this must be converted to a dialytika on the second vowel letter when the accent is supressed. In other words, there are two ways to indicate separate pronunciation of two vowel letters in sequence: a dialytika on the second vowel or an accent on the first vowel (an accent on the second vowel indicates an accented diphthong).


clauses
22.Jun.2009 12.56pm
clauses's picture

Thanks guys, I had a feeling that was the CASE. I'll go to my favourite witch doctor and summon Gerry.


Nick Shinn
23.Jun.2009 1.46pm
Nick Shinn's picture

Following a thread here a while ago with contributions from John, among others, I figured this out for FontLab:

Case feature:

sub Iota by iota;
sub @UCtonos iota' by Iotadieresis;
sub iota by Iota;
sub Upsilon by upsilon;
sub @UCtonos upsilon' by Udieresis;
sub upsilon by Upsilon;
sub @UCtonos by @UCnotonos;


Nick Shinn
23.Jun.2009 1.48pm
Nick Shinn's picture

.


Nick Shinn
23.Jun.2009 1.47pm
Nick Shinn's picture

Classes:

UCtonos: Alphatonos Epsilontonos Omicrontonos Omegatonos Iotatonos Etatonos Upsilontonos
UCnotonos: Alpha Epsilon Omicron Omega Iota Eta Upsilon

...with similar coding for small caps.


clauses
23.Jun.2009 7.10pm
clauses's picture

Hmm, thanks Nick, but now my 'case' feature no longer works – even when I remove your code. It compiles with no errors, but toggling the case feature on and off in the preview panel does nothing. Very strange. Very very strange.

By the way, how would I implement small caps in this code?


Nick Shinn
24.Jun.2009 8.27am
Nick Shinn's picture

lookup smcp1 {
sub [Alphatonos Epsilontonos Omicrontonos Omegatonos alphatonos epsilontonos omicrontonos omegatonos] iota' by iota.smcp.alt;
sub [Alphatonos Epsilontonos Omicrontonos Omegatonos alphatonos epsilontonos omicrontonos omegatonos] upsilon' by upsilon.smcp.alt;
} smcp1;

sub @GrSmcp1 by @GrSmcp2;

sub @UCtonos' @GrSmcp2 by @UCnotonos;
sub iotadieresistonos by iotadieresis.smcp;
sub upsilondieresistonos by upsilondieresis.smcp;
} smcp;


Nick Shinn
24.Jun.2009 8.30am
Nick Shinn's picture

iota.smcp.alt is small cap iota with dieresis.


Nick Shinn
24.Jun.2009 8.36am
Nick Shinn's picture