//-------------------------------------------------------------------- // Copyright (c) 2001, CrossWire Bible Society //-------------------------------------------------------------------- // BGreek-Greek translit_BGreek_Greek { Rule { ":: NFD (NFC) ;" ":: [abgdezqklmnxofyprtucw] upper();" // Extra English Letters. Mapped for completeness "J>I;" "V>U;" "<[:Mn:];" // ============================================== // Variables, used to make the rules more comprehensible // and for conditionals. // ============================================== // Greek Letters "$ALPHA=\u0391;" "$BETA=\u0392;" "$GAMMA=\u0393;" "$DELTA=\u0394;" "$EPSILON=\u0395;" "$ZETA=\u0396;" "$ETA=\u0397;" "$THETA=\u0398;" "$IOTA=\u0399;" "$KAPPA=\u039A;" "$LAMBDA=\u039B;" "$MU=\u039C;" "$NU=\u039D;" "$XI=\u039E;" "$OMICRON=\u039F;" "$PI=\u03A0;" "$RHO=\u03A1;" "$SIGMA=\u03A3;" "$TAU=\u03A4;" "$YPSILON=\u03A5;" "$PHI=\u03A6;" "$CHI=\u03A7;" "$PSI=\u03A8;" "$OMEGA=\u03A9;" "$alpha=\u03B1;" "$beta=\u03B2;" "$gamma=\u03B3;" "$delta=\u03B4;" "$epsilon=\u03B5;" "$zeta=\u03B6;" "$eta=\u03B7;" "$theta=\u03B8;" "$iota=\u03B9;" "$kappa=\u03BA;" "$lambda=\u03BB;" "$mu=\u03BC;" "$nu=\u03BD;" "$xi=\u03BE;" "$omicron=\u03BF;" "$pi=\u03C0;" "$rho=\u03C1;" "$sigma=\u03C3;" "$tau=\u03C4;" "$ypsilon=\u03C5;" "$phi=\u03C6;" "$chi=\u03C7;" "$psi=\u03C8;" "$omega=\u03C9;" "$sigma2=\u03C2;" "$iota_subscript=\u037A;" "$comb_rough_breathing=\u0314;" "$rough_breathing=\u02BD;" // Variables for conditional mappings // ============================================== // Rules // ============================================== // The following are special titlecases, and should // not be copied when duplicating the lowercase // ============================================== // Because there is no uppercase forms for final sigma, // we had to move all the sigma rules up here. // Remember to insert ' to preserve round trip, for double letters // don't need to do this for the digraphs with h, // since it is not created when mapping back from greek // use special form for s "S}[[:L:] & [:Latin:]]>$sigma2;" "S <> $SIGMA;" // The following are a bit tricky. 's' takes two forms in greek // final or non final. // We use ~s to represent the abnormal form: final before letter // or non-final before non-letter. // We use 's to separate p and s (otherwise ps is one letter) // so, we break out the following forms: "S < $sigma;" "S < $sigma2;" // ============================================== // Uppercase Forms. // To make lowercase forms, just copy and lowercase below // ============================================== // Basic Letters "A<>$ALPHA;" "B<>$BETA;" "G<>$GAMMA;" "D<>$DELTA;" "E<>$EPSILON;" "Z<>$ZETA;" "H<>$ETA;" "Q<>$THETA;" "I<>$IOTA;" "K<>$KAPPA;" "L<>$LAMBDA;" "M<>$MU;" "N<>$NU;" "X<>$XI;" "O<>$OMICRON;" "F<>$PHI;" // needs ordering before P "Y<>$PSI;" // needs ordering before P "P<>$PI;" "R<>$RHO;" "T<>$TAU;" "U<>$YPSILON;" "C<>$CHI;" "W<>$OMEGA;" // Non-letter characters "i<>$iota_subscript;" "h<>$comb_rough_breathing;" "h<$rough_breathing;" ":: [[:Ll:] & [:Greek:]] upper;" ":: NFC (NFD) ;" } }