anchor.diff:  	to_upper("э"++T, Acc) -> to_upper(T, [173,208|Acc]);
   	to_upper("ю"++T, Acc) -> to_upper(T, [174,208|Acc]);
   	to_upper("я"++T, Acc) -> to_upper(T, [175,208|Acc]);
  +	% Extra Ukrainian characters
  +	to_upper("ґ"++T, Acc) -> to_upper(T, [144,210|Acc]);
  +	to_upper("ї"++T, Acc) -> to_upper(T, [135,208|Acc]);
  +	to_upper("і"++T, Acc) -> to_upper(T, [143,208|Acc]);
   	% Polish support
   	to_upper("ą"++T, Acc) -> to_upper(T, [132,196|Acc]);
   	to_upper("ę"++T, Acc) -> to_upper(T, [152,196|Acc]);
  
positive.code: 	to_upper("ś"++T, Acc) -> to_upper(T, [154,197|Acc]);
  	to_upper("ź"++T, Acc) -> to_upper(T, [185,197|Acc]);
  	to_upper("ż"++T, Acc) -> to_upper(T, [187,197|Acc]);
  	% Other chars are takes as-is
  	to_upper([H|T], Acc) -> to_upper(T, [H|Acc]).
  
  %% @doc Filter a filename so that we obtain a basename that is safe to use.
  
negative.code: to_name("ю"++T, Acc, I) -> to_name(T, [$u,$y|Acc], I+2);
  to_name("Я"++T, Acc, I) -> to_name(T, [$a,$y|Acc], I+2);
  to_name("я"++T, Acc, I) -> to_name(T, [$a,$y|Acc], I+2);
  % Ukrainian support
  to_name("Ґ"++T, Acc, I) -> to_name(T, [$g|Acc], I+1);
  to_name("ґ"++T, Acc, I) -> to_name(T, [$g|Acc], I+1);
  to_name("Ї"++T, Acc, I) -> to_name(T, [$i|Acc], I+1);
  to_name("ї"++T, Acc, I) -> to_name(T, [$i|Acc], I+1);
  to_name("І"++T, Acc, I) -> to_name(T, [$i|Acc], I+1);
  to_name("і"++T, Acc, I) -> to_name(T, [$i|Acc], I+1);
  % Polish support
  to_name("Ą"++T, Acc, I) -> to_name(T, [$a|Acc], I+1);
  to_name("ą"++T, Acc, I) -> to_name(T, [$a|Acc], I+1);
  