blob: 0260116c35092916dfc1d8d07e16c19cba0b4bd9 [file] [log] [blame]
//--------------------------------------------------------------------
// Copyright (C) 1999, International Business Machines
// Corporation and others. All Rights Reserved.
//--------------------------------------------------------------------
// Date Name Description
// 11/17/99 aliu Creation.
// 12/10/99 aliu Fix case handling.
//--------------------------------------------------------------------
lcyril {
Rule {
//* /* This class is designed to be a general Latin-Cyrillic
//* transliteration. The standard Russian transliterations
//* are generally used for the letters from Russian,
//* with additional Cyrillic characters given consistent
//* mappings.
//* */
"S-hacek=\u0160;"
"s-hacek=\u0161;"
"YO=\u0401;"
"J=\u0408;"
"A=\u0410;"
"B=\u0411;"
"V=\u0412;"
"G=\u0413;"
"D=\u0414;"
"YE=\u0415;"
"ZH=\u0416;"
"Z=\u0417;"
"YI=\u0418;"
"Y=\u0419;"
"K=\u041A;"
"L=\u041B;"
"M=\u041C;"
"N=\u041D;"
"O=\u041E;"
"P=\u041F;"
"R=\u0420;"
"S=\u0421;"
"T=\u0422;"
"U=\u0423;"
"F=\u0424;"
"KH=\u0425;"
"TS=\u0426;"
"CH=\u0427;"
"SH=\u0428;"
"SHCH=\u0429;"
"HARD=\u042A;"
"I=\u042B;"
"SOFT=\u042C;"
"E=\u042D;"
"YU=\u042E;"
"YA=\u042F;"
// Lowercase
"a=\u0430;"
"b=\u0431;"
"v=\u0432;"
"g=\u0433;"
"d=\u0434;"
"ye=\u0435;"
"zh=\u0436;"
"z=\u0437;"
"yi=\u0438;"
"y=\u0439;"
"k=\u043a;"
"l=\u043b;"
"m=\u043c;"
"n=\u043d;"
"o=\u043e;"
"p=\u043f;"
"r=\u0440;"
"s=\u0441;"
"t=\u0442;"
"u=\u0443;"
"f=\u0444;"
"kh=\u0445;"
"ts=\u0446;"
"ch=\u0447;"
"sh=\u0448;"
"shch=\u0449;"
"hard=\u044a;"
"i=\u044b;"
"soft=\u044c;"
"e=\u044d;"
"yu=\u044e;"
"ya=\u044f;"
"yo=\u0451;"
"j=\u0458;"
// variables
// some are duplicated so lowercasing works
"csoft=[eiyEIY];"
"CSOFT=[eiyEIY];"
"BECOMES_H=[{HARD}{hard}];"
"becomes_h=[{HARD}{hard}];"
"BECOMES_S=[{S}{s}];"
"becomes_s=[{S}{s}];"
"BECOMES_C=[{CH}{ch}];"
"becomes_c=[{CH}{ch}];"
"BECOMES_VOWEL=[{A}{E}{I}{O}{U}{a}{e}{i}{o}{u}];"
"becomes_vowel=[{A}{E}{I}{O}{U}{a}{e}{i}{o}{u}];"
"letter=[[:Lu:][:Ll:]];"
"lower=[[:Ll:]];"
//* /*
//* Modified to combine display transliterator and typing transliterator.
//* The display mapping uses accents for the "soft" vowels.
//* It does not, although it could, use characters like \u0161 instead of digraphs
//* like sh.
//* */
// #############################################
// Special titlecase forms, not duplicated
// #############################################
"Ch>{CH};" "Ch<{CH}({lower};"
"Kh>{KH};" "Kh<{KH}({lower};"
"Shch>{SHCH};" "Shch<{SHCH}({lower};"
"Sh>{SH};" "Sh<{SH}({lower};"
"Ts>{TS};" "Ts<{TS}({lower};"
"Zh>{ZH};" "Zh<{ZH}({lower};"
"Yi>{YI};" //+ "Yi<{YI}({lower};"
"Ye>{YE};" //+ "Ye<{YE}({lower};"
"Yo>{YO};" //+ "Yo<{YO}({lower};"
"Yu>{YU};" //+ "Yu<{YU}({lower};"
"Ya>{YA};" //+ "Ya<{YA}({lower};"
// #############################################
// Rules to Duplicate
// To get the lowercase versions, copy these and lowercase
// #############################################
// variant spellings in English
"SHTCH>{SHCH};"
"TCH>{CH};"
"TH>{Z};"
"Q>{K};"
"WH>{V};"
"W>{V};"
"X>{K}{S};" //+ "X<{K}{S};"
// Separate letters that would otherwise join
"SH''<{SH}({BECOMES_C};"
"T''<{T}({BECOMES_S};"
"K''<{K}({BECOMES_H};"
"S''<{S}({BECOMES_H};"
"T''<{T}({BECOMES_H};"
"Z''<{Z}({BECOMES_H};"
"Y''<{Y}({BECOMES_VOWEL};"
// Main letters
"A<>{A};"
"B<>{B};"
"CH<>{CH};"
"D<>{D};"
"E<>{E};"
"F<>{F};"
"G<>{G};"
"\u00cc<>{YI};"
"I<>{I};"
"KH<>{KH};"
"K<>{K};"
"L<>{L};"
"M<>{M};"
"N<>{N};"
"O<>{O};"
"P<>{P};"
"R<>{R};"
"SHCH<>{SHCH};"
"SH>{SH};" //+ "SH<{SH};"
"{S-hacek}<>{SH};"
"S<>{S};"
"TS<>{TS};"
"T<>{T};"
"U<>{U};"
"V<>{V};"
//\u00cc\u00c0\u00c8\u00d2\u00d9
"YE>{YE};" //+ "YE<{YE};"
"\u00c8<>{YE};"
"YO>{YO};" //+ "YO<{YO};"
"\u00d2<>{YO};"
"YU>{YU};" //+ "YU<{YU};"
"\u00d9<>{YU};"
"YA>{YA};" //+ "YA<{YA};"
"\u00c0<>{YA};"
"Y<>{Y};"
"ZH<>{ZH};"
"Z<>{Z};"
"H<>{HARD};"
"\u0178<>{SOFT};"
// Non-russian
"J<>{J};"
// variant spellings in English
"C({csoft}>{S};"
"C>{K};"
// #############################################
// Duplicated Rules
// Copy and lowercase the above rules
// #############################################
// variant spellings in english
"shtch>{shch};"
"tch>{ch};"
"th>{z};"
"q>{k};"
"wh>{v};"
"w>{v};"
"x>{k}{s};" //+ "x<{k}{s};"
// separate letters that would otherwise join
"sh''<{sh}({becomes_c};"
"t''<{t}({becomes_s};"
"k''<{k}({becomes_h};"
"s''<{s}({becomes_h};"
"t''<{t}({becomes_h};"
"z''<{z}({becomes_h};"
"y''<{y}({becomes_vowel};"
// main letters
"a<>{a};"
"b<>{b};"
"ch<>{ch};"
"d<>{d};"
"e<>{e};"
"f<>{f};"
"g<>{g};"
"\u00ec<>{yi};"
"i<>{i};"
"kh<>{kh};"
"k<>{k};"
"l<>{l};"
"m<>{m};"
"n<>{n};"
"o<>{o};"
"p<>{p};"
"r<>{r};"
"shch<>{shch};"
"sh>{sh};" //+ "sh<{sh};"
"{s-hacek}<>{sh};"
"s<>{s};"
"ts<>{ts};"
"t<>{t};"
"u<>{u};"
"v<>{v};"
//\u00ec\u00e0\u00e8\u00f2\u00f9
"ye>{ye};" //+ "ye<{ye};"
"\u00e8<>{ye};"
"yo>{yo};" //+ "yo<{yo};"
"\u00f2<>{yo};"
"yu>{yu};" //+ "yu<{yu};"
"\u00f9<>{yu};"
"ya>{ya};" //+ "ya<{ya};"
"\u00e0<>{ya};"
"y<>{y};"
"zh<>{zh};"
"z<>{z};"
"h<>{hard};"
"\u00ff<>{soft};"
// non-russian
"j<>{j};"
// variant spellings in english
"c({csoft}>{s};"
"c>{k};"
// #############################################
// End of Duplicated Rules
// #############################################
//generally the last rule
"''>;"
//the end
}
}