!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This is a simple twolc file to turn all initial lower case strings !! !! into upper case variants. This will make it possible to analyse !! !! sentence initial strings without further preprocessing. The file is !! !! a slightly modified variant of the file with the same name in !! !! omorfi, see http://gna.org/projects/omorfi for further details. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Alphabet ! Basic finnish alphabet a b c d e f g h i j k l m n o p q r s š t u v w x y z ž å ä ö A B C D E F G H I J K L M N O P Q R S Š T U V W X Y Z Ž Å Ä Ö ! Uppercasing a:A b:B c:C d:D e:E f:F g:G h:H i:I j:J k:K l:L m:M n:N o:O p:P q:Q r:R s:S š:Š t:T u:U v:V w:W x:X y:Y z:Z ž:Ž å:Å ä:Ä ö:Ö ! Latin extension for European multilingual plane (prune if necessary) á à â ã ā ă ą ç ć ĉ ċ č đ ð ď é è ê ë ē ĕ ę ė ě ƒ ĝ ğ ġ ģ ȟ ħ í ì î ï ĩ ī ĭ į ı ij ĵ ķ ĸ ĺ ļ ľ ŀ ł ñ ń ņ ň ʼn ŋ ó ò ô ō ŏ ŕ ŗ ř ś ŝ ş ſ ţ ť ŧ ß þ ú ù û ü ũ ū ŭ ů ų ŵ ý ŷ ÿ ű ź ż ʒ æ ø œ ő ə Á À  à Ā Ă Ą Ç Ć Ĉ Ċ Č Đ Ð Ď É È Ê Ë Ē Ĕ Ę Ė Ě Ƒ Ĝ Ğ Ġ Ģ Ȟ Ħ Í Ì Î Ï Ĩ Ī Ĭ Į İ IJ Ĵ Ķ Ĺ Ļ Ľ Ŀ Ł Ñ Ń Ņ Ň Ŋ Ó Ò Ô Ō Ŏ Ŕ Ŗ Ř Ś Ŝ Ş Ţ Ť Ŧ Þ Ú Ù Û Ü Ũ Ū Ŭ Ů Ų Ŵ Ý Ŷ Ÿ Ű Ź Ż Ʒ Æ Ø Œ Ő Ə ! Uppercase latin extensions as needed... ! Basic Komi alphabet а б в г д е ё ж з и і й к л м н о ӧ п р с т у ф х ц ч ш щ ъ ы ь э ю я А Б В Г Д Е Ё Ж З И І Й К Л М Н О Ӧ П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я ! Uppercasing а:А б:Б в:В г:Г д:Д е:Е ё:Ё ж:Ж з:З и:И і:І й:Й к:К л:Л м:М н:Н о:О ӧ:Ӧ п:П р:Р с:С т:Т у:У ф:Ф х:Х ц:Ц ч:Ч ш:Ш щ:Щ ъ:Ъ ы:Ы ь:Ь э:Э ю:Ю я:Я ! Cyrillic extension for multilingual plane in Cyrillics (extend as necessary) ӓ ӥ ё ј һ ӆ ӎ ӊ ӈ ҥ ҏ ҍ ӹ ӱ Ӓ Ӥ Ё Ј Һ Ӆ Ӎ Ӊ Ӈ Ҥ Ҏ Ҍ Ӹ Ӱ ! Udmurt ӟ ӝ ӵ Ӟ Ӝ Ӵ ! Uppercasing ӓ:Ӓ ӥ:Ӥ ј:Ј һ:Һ ӆ:Ӆ ӎ:Ӎ ӊ:Ӊ ӈ:Ӈ ҥ:Ҏ ҍ:Ҍ ӹ:Ӹ ӱ:Ӱ ӟ:Ӟ ӝ:Ӝ ӵ:Ӵ ! Uppercase Cyrillic extensions as needed... ! digits 1 2 3 4 5 6 7 8 9 %0 ! basic punctuation ‐ – %- ’ %' %" ” » %. %, %! %? %; %: % %# %% %& § %@ %( %) %{ %[ %] %} %< %> %+ %* × %/ ! obscure punctuation ´ ` %^ %~ %= %| ¦ ° ° %_ ¯ ¡ ¿ %' ‘ ’ “ « %@ ¤ %* %\ %& %+ ˇ ˘ ‰ ‚ „ %–   ! Next line contains SPACE characters... you might not see them but take ! care not to delete them %     ! Math operators ± ∓ − ∙ ⁄ ÷ ! End of Alphabet section: ; Rule-variables Lc Uc ; Sets Lower = a á b c č d đ e f g h i ï j k l m n ŋ o p q r s š t ŧ u v w x y z ž å ä ö а ӓ б в г д е ё ж ӝ з ӟ и ӥ і й ј һ к л ӆ м ӎ н ӊ ӈ ҥ о ӧ п р ҏ с т у ӱ ф х ц ч ӵ ш щ ҍ ъ ы ӹ ь э ю я ; Upper = A Á B C Č D Đ E F G H I Ï J K L M N Ŋ O P Q R S Š T Ŧ U V W X Y Z Ž Å Ä Ö А Ӓ Б В Г Д Е Ё Ж Ӝ З Ӟ И Ӥ І Й Ј Һ К Л Ӆ М Ӎ Н Ӊ Ӈ Ҥ О Ӧ П Р Ҏ С Т У Ӱ Ф Х Ц Ч Ӵ Ш Щ Ҍ Ъ Ы Ӹ Ь Э Ю Я ; ! Definitions Rules !This rule does probably overgenerate, since it will match all instances of # "Uppercasing rule" Lc:Uc => %# _ ; where Lc in Lower Uc in Upper matched ;