Como eu dimensiono um retângulo para o tamanho máximo possível dentro de outro retângulo?

Eu tenho um retângulo de origem e um retângulo de destino. Eu preciso encontrar a escala máxima para o qual a fonte pode ser dimensionada enquanto se encaixa dentro do retângulo de destino emantendo sua relação de aspecto original.

Google encontrou1 maneira de fazê-lo, mas não tenho certeza se funciona em todos os casos. Aqui está a minha solução caseira:

Calcule Altura / Largura para cada retângulo. Isso dá as encostas das diagonaismsrc&nbsp;emdest.E semsrc < mdstfonte de escalalargura&nbsp;para ajustar o destinolargura&nbsp;(e escalar a altura pela mesma proporção)Caso contrário, fonte de escalaaltura&nbsp;para ajustar o destinoaltura&nbsp;(e escala de largura pela mesma proporção)

Procurando outras soluções possíveis para esse problema. Eu nem tenho certeza se meu algoritmo funciona em todos os casos!