anchor.diff:  
   function TTFFont.ttBYTE(Const offset:Cardinal):Byte;
   begin
  -  If (Succ(Offset)>=BufferSize) Then
  +  If (Offset>=BufferSize) Then
       Result := 0
     Else
     Begin
  
positive.code: 
  function TTFFont.ttLONG(Const offset:Cardinal): Integer;
  begin
    If (Succ(Offset)>=BufferSize) Then
      Result := 0
    Else
      Result := PtrUInt(Data[offset] shl 24) + PtrUInt(Data[offset+1] shl 16) + PtrUInt(Data[offset+2] shl 8) + PtrUInt(Data[offset+3]);
  
negative.code:       begin
           // find center of pixel for this scanline
           scan_y := y + 0.5;
  
           // update all active edges;
           // remove all active edges that terminate before the center of this scanline
           Temp := Active;
           Prev := Nil;
           while Assigned(Temp) do
           begin
              If (Temp.ey <= scan_y) then
              Begin
               // delete from list
                If Assigned(Prev) Then
                  Prev.Next := Temp.next
                Else
                  Active := Temp.next;
  
                Z := Temp;
                ReleaseObject(Z);
  
                Temp := Temp.next;
              End Else
              Begin
                 Inc(Temp.x, Temp.dx); // advance to position for current scanline
  
                 Prev := Temp;
                 Temp := Temp.next; // advance through list
              End;
           end;
  
           // resort the list if needed
           Repeat
              Changed := False;
              Temp := Active;
              Prev := Nil;
              While (Assigned(Temp)) And (Assigned(Temp.Next)) Do
              Begin
                 If Temp.x > Temp.Next.x then
                 Begin
                    t := Temp;
                    q := t.next;
  
                    t.next := q.next;
                    q.next := t;
                    Temp := q;
  
                    Changed := True;
                 End;
  
                 Temp := Temp.next;
              End;
  
           Until (Not Changed);
  
           // insert all edges that start before the center of this scanline -- omit ones that also end on this scanline
           while (e.Get(eIndex).y0 <= scan_y) do
  