Consistência da fonte em todo o projeto?

Existe uma maneira rápida e eficaz de aplicar uma fonte global a ser usada em um projeto?

Com isso quero dizer que gostaria de definir um nome de fonte específico que todos os controles do meu projeto usarão, comoTButton, TEdit, TLabel etc.

Em geral, definir a fonte para o formulário em vez de um controle específico alterará todos os controles desse formulário para a fonte especificada.

Há um pequeno problema com isso, no entanto, se você tiver alterado manualmente uma fonte em um controle específico, a configuração da fonte pelo formulário não atualizará mais os controles que foram alterados manualmente anteriormente.

Ideia 1

Eu estava pensando em usar um loop for e iterar através de cada componente em meus formulários e definindo a fonte dessa maneira, como:

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with TForm(Self) do
  begin
    for i := 0 to ComponentCount - 1 do
    begin
      if Components[i] is TButton then
      begin
        TButton(Components[i]).Font.Name  := 'MS Sans Serif';
        TButton(Components[i]).Font.Size  := 8;
        TButton(Components[i]).Font.Style := [fsBold];
      end;

      if Components[i] is TLabel then
      begin
        TLabel(Components[i]).Font.Name  := 'MS Sans Serif';
        TLabel(Components[i]).Font.Size  := 8;
        TLabel(Components[i]).Font.Style := [fsBold];
      end;
    end;
  end;
end;

Mas fazendo isso parece muito confuso, também será uma quantidade considerável de código para uma tarefa simples.

Ideia 2

Eu sei que eu poderia alterar manualmente as fontes em tempo de design, um por um para cada controle, mas com vários formulários para passar isso poderia levar tempo e mesmo assim eu poderia perder um controle.

Ideia 3

Semelhante ao Idea 2, outra maneira poderia ser exibir o Form como Texto (DFM) e Localizar e Substituir a fonte dessa maneira.

Basicamente eu estou indo para a consistência dentro do meu aplicativo, e ter uma fonte usada em todo é o que eu estava procurando alcançar.

Estou faltando alguma coisa completamente óbvia aqui, é o que estou tentando fazer um exagero para tal tarefa?

questionAnswers(3)

yourAnswerToTheQuestion