#> classes
#/> otclasses
@Uppercase = [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 Adieresis AE Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis Ograve Oacute Ocircumflex Odieresis Ugrave Uacute Ucircumflex Udieresis Yacute Amacron Cacute Ccircumflex Emacron Gcircumflex Hcircumflex Imacron Jcircumflex Lacute Nacute OE Racute Scircumflex Wcircumflex Ycircumflex Ydieresis Zacute Wgrave Wacute Wdieresis f_f fi fl f_f_i f_f_l A_U_L_A G_U A_E A_O C_H C_Q D_E E_A Eacute_E E_S E_T E_T_T E_U F_F_E F_V H_O_F_E I_E L_E L_L L_U N_E O_T O_Idieresis P_M R_E R_I R_S S_C S_E S_L S_S S_T T_E T_T U_E U_L X_C X_S C_O L_A D_U_D_E_L_A_02 X_L X_L_L F_E D_U D_E_02 D_U_D_E_L_A N_N_E P_E];
#/< otclasses
#< classes

#> languagesystem
languagesystem DFLT dflt;
languagesystem latn dflt;
#< languagesystem
feature aalt {
feature case;
} aalt;
feature case{
    sub a_o by A_O;
    sub a_e by A_E;
		sub a_u_l_a by A_U_L_A;
    sub c_h by C_H;
    sub c_q by C_Q;
		sub d_e by D_E;
		sub d_u_d_e_l_a by D_U_D_E_L_A;
		sub e_a by E_A;
		sub eacute_e by Eacute_E;
		sub e_t by E_T;
		sub e_s by E_S;
		sub e_u by E_U;
		sub f_e by F_E; 
		sub f_f_e by F_F_E;
		sub f_v by F_V;
		sub h_o_f_e by H_O_F_E;
		sub g_u by G_U;
		sub i_e by I_E; 
		sub l_e by L_E;
		sub l_l by L_L; 
    sub l_u by L_U;
		sub m_p by P_M; 
		sub n_e by N_E; 
		sub n_n_e by N_N_E; 
		sub o_idieresis by O_Idieresis; 
		sub o_t by O_T; 
		sub p_m by P_M;
		sub p_e by P_E; 
		sub r_e by R_E;
		sub r_i by R_I; 
		sub r_s by R_S; 
		sub s_c by S_C; 
		sub s_s by S_S; 
		sub s_e by S_E; 
		sub s_l by S_L; 
		sub s_t by S_T;
		sub t_e by T_E;
		sub t_t by T_T; 
		sub u_e by U_E;
		sub u_l by U_L; 
		sub x_c by X_C;
		sub x_l by X_L; 
		sub x_l_l by X_L_L; 
		sub x_s by X_S;


#> feature
  sub macron by macron.case;
  sub periodcentered by periodcentered.case;
#< feature
} case;
feature liga {
# GSUB feature: Required Ligatures
# Lookups: 1
lookup ligaturesbasiques{
  sub a e by AE;
  sub o e by OE;
  sub f f l by f_f_l;
  sub f f i by f_f_i;
  sub f l by fl;
  sub f i by f_i;
  sub f f by f_f;

  sub A E by AE;
  sub O E by OE;
  sub F F L by f_f_l;
  sub F F I by f_f_i;
  sub F L by fl;
  sub F I by f_i;
  sub F F by f_f;

	} ligaturesbasiques;

 # pour faciliter la saisie sans passer par le point médian, on remplace les .. par des points médians. On cherche donc toutes les suites de 2 points pour les remplacer par un point médian (et les suites de 3 points par une ellipse):
 lookup point {
      sub period period by periodcentered;
      sub period period period by ellipsis;
      } point;

  # on remplace le point médian bas-de-casse par un point médian des capitales ‘periodcentered.case’ quand il est entouré de capitales:
    lookup pointcap {
  	sub @Uppercase periodcentered' by periodcentered.case;
    sub periodcentered' @Uppercase by periodcentered.case;
 } pointcap;



  # on remplace le e ou egrave par un emacron dans les mots boulangēr·e, ouvriēr·e, sēc·he, poēte·sse
  lookup macron {
      sub e' r periodcentered by emacron;
      sub egrave' r periodcentered by emacron;
    	sub e' c periodcentered h by emacron;
    	sub egrave' c periodcentered h by emacron;
    	sub eacute' t e periodcentered s s by emacron;
    	sub egrave' t t periodcentered s s by emacron;

      sub E' R periodcentered.case by Emacron;
      sub Egrave' R periodcentered.case by Emacron;
    	sub E' C periodcentered.case H by Emacron;
    	sub Egrave' C periodcentered.case H by Emacron;
    	sub Eacute' T E periodcentered.case S S by Emacron;
    	sub Egrave' T E periodcentered.case S S by Emacron;
      } macron;

lookup ligaturesinclusives {
      sub a periodcentered e by A_E;
      sub a periodcentered o by A_O;
      sub a u periodcentered agrave space l a by A_U_L_A;
      sub agrave space l a periodcentered a u by A_U_L_A;
      sub c periodcentered h by C_H;
      sub c periodcentered q by C_Q;
      sub d periodcentered e by D_E;
      sub d u periodcentered d e space L A by D_U_D_E_L_A;
      sub e periodcentered a by E_A;
      sub eacute periodcentered e by Eacute_E;
      sub e periodcentered t by E_T;
			sub e periodcentered t t by E_T_T;
      sub e periodcentered s by E_S;
      sub e periodcentered u by E_U;
      sub f periodcentered f e by F_F_E;
      sub f periodcentered v by F_V;
      sub g periodcentered u by G_U;
      sub i periodcentered e by I_E;
      sub l periodcentered e by L_E;
			sub l periodcentered l by L_L;
      sub l periodcentered u by L_U;
      sub m periodcentered p by P_M;
      sub n periodcentered e by N_E;
			sub n periodcentered n e by N_N_E;
			sub h o periodcentered f e by H_O_F_E;
      sub o periodcentered idieresis by O_Idieresis;
      sub o periodcentered i by O_Idieresis;
      sub o periodcentered t by O_T;
      sub P periodcentered m by P_M;
      sub p periodcentered e by P_E;
      sub r periodcentered e by R_E;
      sub r periodcentered i by R_I;
      sub r periodcentered r I by R_I;
      sub r periodcentered s by R_S;
      sub s periodcentered c by S_C;
      sub s periodcentered e by S_E;
      sub s periodcentered l by S_L;
      sub s periodcentered s by S_S;
      sub s periodcentered t by S_T;
      sub t periodcentered e by T_E;
      sub t periodcentered t by T_T;
      sub u periodcentered e by U_E;
      sub u periodcentered l by U_L;
      sub x periodcentered c by X_C;
      sub x periodcentered l by X_L;
      sub x periodcentered l l by X_L_L;
      sub x periodcentered s by X_S;

      sub A periodcentered.case E by A_E;
      sub A periodcentered.case O by A_O;
      sub A U periodcentered.case Agrave space L A by A_U_L_A;
      sub Agrave space L A periodcentered.case A U by A_U_L_A;
      sub C periodcentered.case H by C_H;
      sub C periodcentered.case Q by C_Q;
      sub D periodcentered.case E by D_E;
      sub D U periodcentered.case D E space L A by D_U_D_E_L_A;
      sub E periodcentered.case A by E_A;
      sub Eacute periodcentered.case E by Eacute_E;
      sub E periodcentered.case T by E_T;
			sub E periodcentered.case T T by E_T_T;
      sub E periodcentered.case S by E_S;
      sub E periodcentered.case U by E_U;
      sub F periodcentered.case F E by F_F_E;
      sub F periodcentered.case V by F_V;
      sub G periodcentered.case U by G_U;
      sub I periodcentered.case E by I_E;
      sub L periodcentered.case E by L_E;
			sub L periodcentered.case L by L_L;
      sub L periodcentered.case U by L_U;
      sub M periodcentered.case P by P_M;
      sub N periodcentered.case E by N_E;
			sub N periodcentered.case N E by N_N_E;
			sub H O periodcentered.case F E by H_O_F_E;
      sub O periodcentered.case Idieresis by O_Idieresis;
      sub O periodcentered.case I by O_Idieresis;
      sub O periodcentered.case T by O_T;
      sub P periodcentered.case M by P_M;
      sub P periodcentered.case E by P_E;
      sub R periodcentered.case E by R_E;
      sub R periodcentered.case I by R_I;
      sub R periodcentered.case R I by R_I;
      sub R periodcentered.case S by R_S;
      sub S periodcentered.case C by S_C;
      sub S periodcentered.case E by S_E;
      sub S periodcentered.case L by S_L;
      sub S periodcentered.case S by S_S;
      sub S periodcentered.case T by S_T;
      sub T periodcentered.case E by T_E;
      sub T periodcentered.case T by T_T;
      sub U periodcentered.case E by U_E;
      sub U periodcentered.case L by U_L;
      sub X periodcentered.case C by X_C;
      sub X periodcentered.case L by X_L;
      sub X periodcentered.case L L by X_L_L;
      sub X periodcentered.case S by X_S;

      } ligaturesinclusives;
} liga;


feature rlig {
	sub period period by periodcentered;
	sub periodcentered' @Uppercase by periodcentered.case;
	sub period period period by ellipsis;
	sub periodcentered period by ellipsis;
	sub periodcentered.case period by ellipsis;

lookup ligaturesinclusives2{
     sub a periodcentered e by A_E;
      sub a periodcentered o by A_O;
      sub a u periodcentered agrave space l a by A_U_L_A;
      sub agrave space l a periodcentered a u by A_U_L_A;
      sub c periodcentered h by C_H;
      sub c periodcentered q by C_Q;
      sub d periodcentered e by D_E;
      sub d u periodcentered d e space L A by D_U_D_E_L_A;
      sub e periodcentered a by E_A;
      sub eacute periodcentered e by Eacute_E;
      sub e periodcentered t by E_T;
			sub e periodcentered t t by E_T_T;
      sub e periodcentered s by E_S;
      sub e periodcentered u by E_U;
      sub f periodcentered f e by F_F_E;
      sub f periodcentered v by F_V;
      sub g periodcentered u by G_U;
      sub i periodcentered e by I_E;
      sub l periodcentered e by L_E;
			sub l periodcentered l by L_L;
      sub l periodcentered u by L_U;
      sub m periodcentered p by P_M;
      sub n periodcentered e by N_E;
			sub n periodcentered n e by N_N_E;
			sub h o periodcentered f e by H_O_F_E;
      sub o periodcentered idieresis by O_Idieresis;
      sub o periodcentered i by O_Idieresis;
      sub o periodcentered t by O_T;
      sub P periodcentered m by P_M;
      sub p periodcentered e by P_E;
      sub r periodcentered e by R_E;
      sub r periodcentered i by R_I;
      sub r periodcentered r I by R_I;
      sub r periodcentered s by R_S;
      sub s periodcentered c by S_C;
      sub s periodcentered e by S_E;
      sub s periodcentered l by S_L;
      sub s periodcentered s by S_S;
      sub s periodcentered t by S_T;
      sub t periodcentered e by T_E;
      sub t periodcentered t by T_T;
      sub u periodcentered e by U_E;
      sub u periodcentered l by U_L;
      sub x periodcentered c by X_C;
      sub x periodcentered l by X_L;
      sub x periodcentered l l by X_L_L;
      sub x periodcentered s by X_S;

      sub A periodcentered.case E by A_E;
      sub A periodcentered.case O by A_O;
      sub A U periodcentered.case Agrave space L A by A_U_L_A;
      sub Agrave space L A periodcentered.case A U by A_U_L_A;
      sub C periodcentered.case H by C_H;
      sub C periodcentered.case Q by C_Q;
      sub D periodcentered.case E by D_E;
      sub D U periodcentered.case D E space L A by D_U_D_E_L_A;
      sub E periodcentered.case A by E_A;
      sub Eacute periodcentered.case E by Eacute_E;
      sub E periodcentered.case T by E_T;
			sub E periodcentered.case T T by E_T_T;
      sub E periodcentered.case S by E_S;
      sub E periodcentered.case U by E_U;
      sub F periodcentered.case F E by F_F_E;
      sub F periodcentered.case V by F_V;
      sub G periodcentered.case U by G_U;
      sub I periodcentered.case E by I_E;
      sub L periodcentered.case E by L_E;
			sub L periodcentered.case L by L_L;
      sub L periodcentered.case U by L_U;
      sub M periodcentered.case P by P_M;
      sub N periodcentered.case E by N_E;
			sub N periodcentered.case N E by N_N_E;
			sub H O periodcentered.case F E by H_O_F_E;
      sub O periodcentered.case Idieresis by O_Idieresis;
      sub O periodcentered.case I by O_Idieresis;
      sub O periodcentered.case T by O_T;
      sub P periodcentered.case M by P_M;
      sub P periodcentered.case E by P_E;
      sub R periodcentered.case E by R_E;
      sub R periodcentered.case I by R_I;
      sub R periodcentered.case R I by R_I;
      sub R periodcentered.case S by R_S;
      sub S periodcentered.case C by S_C;
      sub S periodcentered.case E by S_E;
      sub S periodcentered.case L by S_L;
      sub S periodcentered.case S by S_S;
      sub S periodcentered.case T by S_T;
      sub T periodcentered.case E by T_E;
      sub T periodcentered.case T by T_T;
      sub U periodcentered.case E by U_E;
      sub U periodcentered.case L by U_L;
      sub X periodcentered.case C by X_C;
      sub X periodcentered.case L by X_L;
      sub X periodcentered.case L L by X_L_L;
      sub X periodcentered.case S by X_S;
}ligaturesinclusives2;
} rlig;


