Básicamente, tienes que crear un objeto de tipo Font (no basta declarar la variable, ties que crearla) y copiar las propiedades del objeto Font deseado, por ejemplo Edit1.Font.
Ahora bien, a partir de TComponent, Delphi implementa el método Assign, que algunas clases descendientes (pero no todas) usan para ese copiado de propiedades, de manera que se nos facilita el trabajo:
Código Delphi
[-]
var
Font: TFont;
begin
Font := TFont.Create; Font.Assign(Edit1.Font);
...
Font.Free; end;
Por otra parte, algo que te puede confundir al principio, es cuando haces una asignación del tipo:
En este caso, Edit1.Font y Font son ya independientes. La razón de esto es que en Delphi las propiedades de un objeto no necesariamente corresponden directamente a variables o campos dentro de la clase, sino que tras bambalinas, tal asignación se hace a través de un método SetFont de la clase TEdit, y este métod hace uso internamente de Assign:
Código Delphi
[-]
procedure TEdit.SetFont(Value: TFont);
begin
FFont.Assign(Font); end;
// Saludos