! =========================================== ! ! Orthographic converter for West Greenlandic ! ! =========================================== ! ! This program translates text written in the Kleinschmidt orthography ! into the modern Greenlandic orthography. echo <> define Vow [ a | á | e | i | o | u | y | æ | ø | å | ä | ö | A | Á | E | I | O | U | Y | Æ | Ø | Å | Ä | Ö | é | ó | ú | í | à | è | ò | ù | ì | ë | ü | ï | â | ê | ô | û | î | ã | ý | É | Ó | Ú | Í | À | È | Ò | Ù | Ì | Ë | Ü | Ï | Â | Ê | Ô | Û | Î | Ã | Ý ] ; define KalVow [ a | e | i | o | u | A | E | I | O | U ] ; define ForVow [ Vow - KalVow ] ; define LongVow [ a a | A a | A A | e e | E e | E E | i i | I i | I I | o o | O o | O O | u u | U u | U U | a i | A i | A I ] ; define Cns [ b | c | č | d | đ | ð | f | g | h | j | k | l | m | n | ŋ | B | C | Č | D | Đ | Ð | F | G | H | J | K | L | M | N | Ŋ | ñ | p | q | r | s | š | t | ŧ | v | w | x | z | ž | Ñ | P | Q | R | S | Š | T | Ŧ | V | W | X | Z | Ž | ĸ | K’ ] ; define S [ S | s ] ; define Cnss [ Cns - S ] ; define Sgm [ Cns | Vow ] ; echo << Rules>> define nalunaaqutaq r ĸ -> q || a l u n a e _ u t ; define kra ĸ -> q , K’ -> Q ; define sloppykra K -> q || Sgm _ ; define ss s s -> s || Vow _ Vow ; define v0 v -> 0 || u _ Vow ; define finalvow e -> i , ê -> î , o -> u , ô -> û || _ .#. ; define longvow â -> a a , ê -> e e , î -> i i , ô -> o o , û -> u u ; define longcns f -> f f , g -> g g , k -> k k , l -> l l , m -> m m , n -> n n , p -> p p , q -> q q , r -> r r , t -> t t , s -> s s || [ [á|é|í|ó|ú]|[á[i|u]]|ã] _ ; define deacc á -> a , é -> e , í -> i , ó -> o , ú -> u , ã -> a a ; define aaj i -> j || a _ a ; define aiau i -> a , u -> a , e -> a , o -> a || a _ Sgm ; define 2cnsi v t -> t s , g t -> t s , t t -> t s || Vow _ i ; define 3cnsassim [g|v|t] d l -> l l , n g m -> m m , [ v | g n ] n -> n n , v n g -> n n g , [v|g] s s -> s s , r d l -> r l || Vow _ Vow ; define 2cnsassim v g -> g g , v k -> k k , v n -> n n , v q -> q q , v s -> s s , v t -> t t , v f -> f f , g k -> k k , g p -> p p , g s -> s s , g t -> t t , g f -> f f , r q -> q q ; define rss r s s -> r s ; define uveuvi v -> 0 || u _ [e|i] ; define suj u j -> i || .#. s _ ; echo << Combining >> read regex [ nalunaaqutaq .o. kra .o. sloppykra .o. ss .o. v0 .o. finalvow .o. longvow .o. longcns .o. deacc .o. aaj .o. aiau .o. 2cnsi .o. 3cnsassim .o. 2cnsassim .o. rss .o. suj ] ; invert net ;