anchor.diff:  
            binstr_accentfold/1,
            binstr_to_lower/1,
  -         binstr_to_higher/1,
  +         binstr_to_upper/1,
   
            binstr_match_anywhere/2,
            binstr_match_sub/4,
  
positive.code:     b_lower(Str,<<>>).
  
      b_lower(<<>>,A) -> A;
      b_lower(<<195,C,R/binary>>,A) when C >= 128, C =<  158 -> 
          NC = C + 32,
          b_lower(R,<<A/binary,195,NC>>);
      b_lower(<<C,R/binary>>,A) when C >=  65, C =< 90 -> 
          NC = C + 32,
          b_lower(R,<<A/binary,NC>>);
  
negative.code:         b_convert(R,<<A/binary,$O>>);   
      b_convert(<<195,C,R/binary>>,A) when C >= 153, C =<  156 -> % Ù Ú Û Ü
          b_convert(R,<<A/binary,$U>>);   
      b_convert(<<195,C,R/binary>>,A) when C =:= 157 -> % Ý
          b_convert(R,<<A/binary,$Y>>);   
      b_convert(<<197,C,R/binary>>,A) when C =:= 184 -> % CAPITAL LETTER Y WITH DIAERESIS
          b_convert(R,<<A/binary,$Y>>);   
      b_convert(<<195,C,R/binary>>,A) when C =:= 135 -> % Ç
          b_convert(R,<<A/binary,$C>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 145 -> % Ñ
          b_convert(R,<<A/binary,$N>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 134 -> % Æ -> AE
          b_convert(R,<<A/binary,$A,$E>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 158 -> % Þ -> TH
          b_convert(R,<<A/binary,$T,$H>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 144 -> % Ð -> D
          b_convert(R,<<A/binary,$D>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 160 -> % S WITH CARON
          b_convert(R,<<A/binary,$S>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 189 -> % Z WITH CARON
          b_convert(R,<<A/binary,$Z>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 146 -> % OE LIGATURE -> OE
          b_convert(R,<<A/binary,$O,$E>>); 
      
      b_convert(<<195,C,R/binary>>,A) when C >= 160, C =<  165 -> % à á â ã ä å
          b_convert(R,<<A/binary,$a>>);   
      b_convert(<<195,C,R/binary>>,A) when C >= 168, C =<  171 -> % è é ê ë
          b_convert(R,<<A/binary,$e>>);   
      b_convert(<<195,C,R/binary>>,A) when C >= 172, C =<  175 -> % ì í î ï
          b_convert(R,<<A/binary,$i>>);   
      b_convert(<<195,C,R/binary>>,A) when C >= 178, C =<  180; C =:= 184 -> % ò ó ô õ ö ø
          b_convert(R,<<A/binary,$o>>);   
      b_convert(<<195,C,R/binary>>,A) when C >= 185, C =<  188 -> % ù ú û ü
          b_convert(R,<<A/binary,$u>>);   
      b_convert(<<195,C,R/binary>>,A) when C =:= 189; C =:=  191 -> % ý ÿ
          b_convert(R,<<A/binary,$y>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 167 -> % ç
          b_convert(R,<<A/binary,$c>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 166 -> % æ -> ae
          b_convert(R,<<A/binary,$a,$e>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 177 -> % ñ
          b_convert(R,<<A/binary,$n>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 161 -> % s WITH CARON
          b_convert(R,<<A/binary,$s>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 190 -> % z WITH CARON
          b_convert(R,<<A/binary,$z>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 159 -> % ß -> ss
          b_convert(R,<<A/binary,$s,$s>>); 
      b_convert(<<197,C,R/binary>>,A) when C =:= 147 -> % oe LIGATURE -> oe
          b_convert(R,<<A/binary,$o,$e>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 190 -> % þ -> th
          b_convert(R,<<A/binary,$t,$h>>); 
      b_convert(<<195,C,R/binary>>,A) when C =:= 176 -> % ð -> d
          b_convert(R,<<A/binary,$d>>); 
      
      b_convert(<<H,R/binary>>,A) -> 
          b_convert(R,<<A/binary,H>>).
  