anchor.diff:           mid := low + ((high-low) shr 1); // rounds down, so low <= mid < high
            start_char := ttULONG( index_map+16+mid*12);
            end_char := ttULONG( index_map+16+mid*12+4);
  -         if PtrUInt(unicode_codepoint) < start_char then
  +         if unicode_codepoint < start_char then
               high := mid-1
            else
  -         if PtrUInt(unicode_codepoint) > end_char then
  +         if unicode_codepoint > end_char then
               low := mid+1
            else
            Begin
               start_glyph := ttULONG( index_map+16+mid*12+8);
  -            Result := PtrUInt(start_glyph + PtrUInt(unicode_codepoint) - start_char);
  +            Result := start_glyph + unicode_codepoint - start_char;
               Exit;
            End;
         end;
  
positive.code:    numOfLongHorMetrics := Integer(ttUSHORT(hhea + 34));
     if GlyphIndex < numOfLongHorMetrics then
     begin
        advanceWidth := Integer(ttSHORT(hmtx + 4*PtrUInt(GlyphIndex)));
        leftSideBearing := Integer(ttSHORT(hmtx + 4*PtrUInt(GlyphIndex) + 2));
     end else begin
        advanceWidth := Integer(ttSHORT(hmtx + 4*(numOfLongHorMetrics-1)));
        leftSideBearing := Integer(ttSHORT( hmtx + 4*numOfLongHorMetrics + 2*(PtrUInt(GlyphIndex) - numOfLongHorMetrics)));
     end;
  end;
  
  
negative.code:          mtx[4] := 0;
           mtx[5] := 0;
  
           flags := ttSHORT(comp2);
           Inc(Comp2, 2);
           gidx := ttSHORT(comp2);
           Inc(Comp2, 2);
  
           if (flags and 2)<>0 then // XY values
           begin
              If (flags and 1)<>0 then  // shorts
              Begin
                 mtx[4] := ttSHORT(comp2);
                 Inc(Comp2, 2);
                 mtx[5] := ttSHORT(comp2);
                 Inc(Comp2, 2);
              End Else
              Begin
                 mtx[4] := ttByte(comp2);
                 Inc(Comp2);
                 mtx[5] := ttByte(comp2);
                 Inc(Comp2);
              end;
           End Else
           begin
  