You are not logged in.
Pages: 1
It's a fill path issue uncovered when trying to print SVG paths. After a bit of debugging I managed to isolate it to this function in SynPDF:
function EnumEMFFunc(DC: HDC; var Table: THandleTable; r: PEnhMetaRecord;
  NumObjects: dword; e: TPdfEnum): LongBool; stdcall;This section is incorrectly filling some paths:
      EMR_FILLPATH:
        begin
          if not brush.null then
          begin
            e.FillColor := brush.Color;
            e.Canvas.Fill;
          end;
          e.Canvas.NewPath;
          e.Canvas.FNewPath := false;
        end;Replacing it with the following enables it to work correctly in my test cases:
      EMR_FILLPATH:
        begin
          if not brush.null then
          begin
            e.FillColor := brush.Color;
            if PolyFillMode = ALTERNATE then //
              e.Canvas.EoFill //
            else //
              e.Canvas.Fill;
          end;
          e.Canvas.NewPath;
          e.Canvas.FNewPath := false;
        end;Pages: 1