anchor.diff:  
        if glyph.data_type = glyph_data_gray8 then
         begin
  -       render(
  -        m_fontCacheManager.gray8_adaptor ,
  -        m_fontCacheManager.gray8_scanline );
  -
  +        Render(
  +          m_fontCacheManager.gray8_adaptor ,
  +          m_fontCacheManager.gray8_scanline );
         end;
   
  -     start_x:=start_x + glyph.advance_x;
  -     start_y:=start_y + glyph.advance_y;
  +     start_x := start_x + glyph.advance_x;
  +     start_y := start_y + glyph.advance_y;
   
       end;
  -
  -   inc(i );
  -
     end;
   end;
   {$ENDIF}
  
positive.code:  mtx  : trans_affine;
   str_ : PChar;
  
   i : int;
  
   tat : trans_affine_translation;
   tar : trans_affine_rotation;
  
   tr : conv_transform;
  
  begin
   dx:=0.0;
   dy:=0.0;
  
  
negative.code:  if m_fontCacheType = AGG_RasterFontCache then
    WorldToScreen(@start_x ,@start_y );
  
    str_:=@str[1 ];
    First:=true;
  
    while str_^ <> #0 do
    begin
      char_id := UTF8CharToUnicode(str_, charlen);
      inc(str_, charlen);
      glyph := m_fontCacheManager.glyph(char_id);
  
      if glyph <> NIL then
      begin
        if First then
        begin
          m_fontCacheManager.add_kerning(@x ,@y );
          First:=false;
        end;
  
        m_fontCacheManager.init_embedded_adaptors(glyph ,start_x ,start_y );
  
        if glyph.data_type = glyph_data_outline then
        begin
         m_path.remove_all;
         m_path.add_path(@tr ,0 ,false );
  