anchor.diff:  begin
     Result := TBuffChar(GetNext);
     case Ord(Result) of
  -    $80..$FF: Result := FHighMap[Ord(Result)];
  +    $80..$FF: Result := FMap[Ord(Result)];
     end;
   end;
   
   //-- BG ---------------------------------------------------------- 02.10.2012 --
  -procedure TBuffConvHighMap.UpdateHighMap;
  +procedure TBuffConvHighMap.UpdateMap;
   begin
     case CodePage of
  -    437: FHighMap := CP437Map;
  -    708: FHighMap := Windows708Map;
  -    737: FHighMap := Windows737Map;
  -    775: FHighMap := Windows775Map;
  -    850: FHighMap := CP850Map;
  -    852: FHighMap := CP852Map;
  -    855: FHighMap := CP855Map;
  -    857: FHighMap := CP857Map;
  -    860: FHighMap := IBM860Map;
  -    861: FHighMap := CP861Map;
  -    862: FHighMap := CP862Map;
  -    863: FHighMap := CP863Map;
  -    864: FHighMap := Windows864Map;
  -    865: FHighMap := CP865Map;
  -    866: FHighMap := CP866Map;
  -    869: FHighMap := CP869Map;
  -    874: FHighMap := Windows874Map;
  -    10000: FHighMap := MacRomanMap;
  -    10004: FHighMap := MacArabicMap;
  -    10005: FHighMap := MacHebrewMap;
  -    10006: FHighMap := MacGreekMap;
  -    10007: FHighMap := MacCyrillicMap;
  -    10010: FHighMap := MacRomaniaMap;
  -    10017: FHighMap := MacUkraineMap;
  -    10021: FHighMap := MacThaiMap;
  -    10029: FHighMap := MacCentralEuropeMap;
  -    10079: FHighMap := MacIcelandicMap;
  -    10081: FHighMap := MacTurkishMap;
  -    10082: FHighMap := MacCroatianMap;
  +    437: FMap := CP437Map;
  +    708: FMap := Windows708Map;
  +    737: FMap := Windows737Map;
  +    775: FMap := Windows775Map;
  +    850: FMap := CP850Map;
  +    852: FMap := CP852Map;
  +    855: FMap := CP855Map;
  +    857: FMap := CP857Map;
  +    860: FMap := IBM860Map;
  +    861: FMap := CP861Map;
  +    862: FMap := CP862Map;
  +    863: FMap := CP863Map;
  +    864: FMap := Windows864Map;
  +    865: FMap := CP865Map;
  +    866: FMap := CP866Map;
  +    869: FMap := CP869Map;
  +    874: FMap := Windows874Map;
  +    10000: FMap := MacRomanMap;
  +    10004: FMap := MacArabicMap;
  +    10005: FMap := MacHebrewMap;
  +    10006: FMap := MacGreekMap;
  +    10007: FMap := MacCyrillicMap;
  +    10010: FMap := MacRomaniaMap;
  +    10017: FMap := MacUkraineMap;
  +    10021: FMap := MacThaiMap;
  +    10029: FMap := MacCentralEuropeMap;
  +    10079: FMap := MacIcelandicMap;
  +    10081: FMap := MacTurkishMap;
  +    10082: FMap := MacCroatianMap;
  +  end;
  +end;
  +
  +{ TBuffConvIsoMap }
  +
  +//-- BG ---------------------------------------------------------- 04.10.2012 --
  +procedure TBuffConvIsoMap.AfterConstruction;
  +begin
  +  inherited;
  +  UpdateMap;
  +end;
  +
  +//-- BG ---------------------------------------------------------- 04.10.2012 --
  +procedure TBuffConvIsoMap.Assign(Source: TBuffConverter);
  +begin
  +  inherited;
  +  UpdateMap;
  +end;
  +
  +//-- BG ---------------------------------------------------------- 04.10.2012 --
  +function TBuffConvIsoMap.NextChar: TBuffChar;
  +begin
  +  Result := TBuffChar(GetNext);
  +  case Ord(Result) of
  +    $A0..$FF: Result := FMap[Ord(Result)];
  +  end;
  +end;
  +
  +//-- BG ---------------------------------------------------------- 04.10.2012 --
  +procedure TBuffConvIsoMap.UpdateMap;
  +begin
  +  case CodePage of
  +    28592: FMap := ISO8859_2Map;
  +    28593: FMap := ISO8859_3Map;
  +    28594: FMap := ISO8859_4Map;
  +//    28595: FMap := ISO8859_5Map;
  +//    28596: FMap := ISO8859_6Map;
  +//    28597: FMap := ISO8859_7Map;
  +//    28598: FMap := ISO8859_8Map;
  +//    28599: FMap := ISO8859_9Map;
  +    28600: FMap := ISO8859_10Map;
  +//    28601: FMap := ISO8859_11Map;
  +//    28602: FMap := ISO8859_12Map;
  +    28603: FMap := ISO8859_13Map;
  +    28604: FMap := ISO8859_14Map;
  +//    28605: FMap := ISO8859_15Map;
  +    28606: FMap := ISO8859_16Map;
     end;
   end;
   
  
positive.code:         Result := TBuffChar($FFFD);
        end;
      end;
    end;
  end;
  
  
negative.code:   // BG, 02.10.2012: converts several single byte code pages using an AnsiCharHighMap to unicode.
    TBuffConvHighMap = class(TBuffConverter)
    private
      FMap: AnsiCharHighMap;
      procedure UpdateMap;
    protected
      procedure Assign(Source: TBuffConverter); override;
    public
      procedure AfterConstruction; override;
      function NextChar: TBuffChar; override;
    end;
  
    // BG, 02.10.2012: converts the single byte code of ISO 8859 using an AnsiCharIsoMap to unicode.
    TBuffConvIsoMap = class(TBuffConverter)
    private
      FMap: AnsiCharISOMap;
      procedure UpdateMap;
    protected
      procedure Assign(Source: TBuffConverter); override;
    public
  