blob: 1cacd3d8ff2c91bb557668ad12700d6dfb281ecd (
plain) (
tree)
|
|
//--------------------------------------------------------------------
// 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) ;"
}
}
|