На самом деле универсально - только через canvas. У шрифтов куча всяких разных отступов и сдвигов: формально буква будет с т.з. html в одном месте и одного размера, а по факту где угодно и какого угодно.
Но в 99% случаев, если надо просто центрировать - всё решит:
display: flex;
align-items: center;
justify-content: center;