Refactor PartialEvaluator: extract font translation

While working on issue #4339 it was confusing that the code to
translate a font is not found in a single place. This commit extracts
the code and puts in a class called FontTranslator