# LANGUAGE SYSTEMS languagesystem DFLT dflt; languagesystem latn dflt; # FEATURES CLASSES @uc = [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 Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis Ntilde Ograve Oacute Ocircumflex Otilde Odieresis Oslash OE Ugrave Uacute Ucircumflex Udieresis Yacute Ydieresis]; @uc.punct = [hyphen.cap exclamdown.cap questiondown.cap guilsinglleft.cap guilsinglright.cap guillemotleft.cap guillemotright.cap endash.cap emdash.cap periodcentered.cap parenleft.cap parenright.cap bracketleft.cap bracketright.cap braceleft.cap braceright.cap]; @lc = [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 agrave aacute acircumflex atilde adieresis aring ae ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis ntilde ograve oacute ocircumflex otilde odieresis oslash oe ugrave uacute ucircumflex udieresis yacute ydieresis]; @lc.all = [@lc dotlessi]; @lc.punct_uc = [hyphen exclamdown questiondown guilsinglleft guilsinglright guillemotleft guillemotright endash emdash periodcentered parenleft parenright bracketleft bracketright braceleft braceright]; @figs.default = [zero one two three four five six seven eight nine]; @currency.default = [numbersign Euro dollar cent sterling yen]; #@figs.inferior = [zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferior]; #@figs.denominator = [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom]; #@figs.numerator = [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr]; # FEATURES feature aalt { # ALL ALTERNATES feature case; } aalt; feature ordn { # ORDINALS lookup ordn_base { sub @figs.default [O o]' by ordmasculine; sub @figs.default [A a]' by ordfeminine; } ordn_base; lookup ordn_numero { sub N [O o degree ordmasculine] by numero; sub n [O o degree ordmasculine] by numero; } ordn_numero; } ordn; feature case { # CASE FORMS lookup case_exceptions { sub dotlessi by I; } case_exceptions; lookup case_punctuation { sub @lc.punct_uc by @uc.punct; } case_punctuation; } case; feature liga { # LIGATURES lookup liga_all { sub f f by ff; sub f l by fl; sub f i by fi; sub f f l by ffl; sub f f i by ffi; sub T h by Th; } liga_all ; } liga;