anchor.diff:      procedure BuildFontCharTable(const AFontName: WideString);
       procedure SetFontName(const Value: WideString);
       procedure SetDBPathToAppData;
  -    procedure ImportEthnologue;   // I4257
  -//    function FillLanguageData(rec: ADODB_TLB.Recordset): TEthnologueLanguage;   // I4257
     public
       constructor Create(const SourcePath: WideString; AUnicodeDataUIManager: IUnicodeDataUIManager; const ADBPath: string = ''; AForceDBPathToAppDataOnBuild: Boolean = True); // I2845
       destructor Destroy; override;
  
positive.code:     rec := nil;
    end;
  end;
  
  {function TUnicodeData.FillLanguageData(rec: ADODB_TLB.Recordset): TEthnologueLanguage; //rec: DaoRecordset): TUnicodeCharacter;   // I4257
  begin
    Result.Code := rec.Collect['LanguageCode'];
    Result.Name := rec.Collect['Name'];
    Result.Country := rec.Collect['Country'];
    Result.Status := Copy(rec.Collect['Status'], 1, 1)[1];
  end;}
  
  {function TUnicodeData.FindLanguageByCode(code: string): TEthnologueLanguage;
  var
    rec: ADODB_TLB.Recordset;
    vRecords: OleVariant;
  begin
    Result.Code := '';
    Result.Name := '';
    Result.Country := '';
    Result.Status := #0;
  
    if FDisabled then Exit;
    if not Assigned(FDatabase) then Exit;
  
    rec := FDatabase.Execute('EXECUTE qLanguageByCode '+QuotedStr(code), vRecords, adCmdText);
  
    try
      if not rec.EOF then
        Result := FillLanguageData(rec)
    finally
      rec := nil;
    end;
  end;}
  
  {function TUnicodeData.FindLanguagesByName(name: string): TEthnologueLanguages;
  var
    rec: ADODB_TLB.Recordset;
    vRecords: OleVariant;
  begin
    SetLength(Result, 0);
  
    if FDisabled then Exit;
    if not Assigned(FDatabase) then Exit;
  
    rec := FDatabase.Execute('EXECUTE qLanguagesByName '+QuotedStr(name+'%'), vRecords, adCmdText);
  
    try
      while not rec.EOF do
      begin
        SetLength(Result, Length(Result)+1);
        Result[Length(Result)-1] := FillLanguageData(rec);
        rec.MoveNext;
      end;
    finally
      rec := nil;
    end;
  end;}
  
  procedure TUnicodeData.CleanupFilter(var filter: WideString; FBlock: Boolean);
  var
  
negative.code:     function UDUI_ShouldStartRebuildOnError(const Msg: WideString): Boolean;
    end;
  
    TUnicodeData = class
    private
      FBlocks: TUnicodeBlockList;
  