[Tex/LaTex] Set precise font size in memoir class

bugsfontsizememoir

It seems, that there is a problem with font sizes in memoir class.

In the manual of the memoir class, p. 48, it is written that for example using class option 14 pt we'll get \normalsize = 14 pt.

However actually, using commands \normalsize \f@size the output is 14,4 pt. Using Adobe Acrobat Pro one can also check the font size. For this case it is 14,35 pt.

How to set precise font size in memoir class?

In particular, I need to get the size of the text 14,0 bp in pdf, i.e. this size should be observed by Adobe Acrobat Pro or, at least, by command \f@size, for \normalsize text style. I guess I need to establish in memoir class the value of \normalsize about 13,5--13,8 Tex pt.

The output with some highlighted strange values.

enter image description here

UPD1: actually as alephzero explained in comments, there is a difference between abbreviations of point values and real point values in TeX.

UPD2: Explanation given in comments by daleif: \huge, \Huge and \HUGE commands print the same value as \LARGE without extrafontsizes option.

And, of cause, I need a way how to get 14,0 bp in pdf, i.e. this size should be observed by Adobe Acrobat Pro or, at least, by command \f@size, for \normalsize text style.

MWE

    \documentclass[14pt]{memoir}
    \begin{document}
    %https://tex.stackexchange.com/a/20452/44348
    Class option value versus real size.
    \makeatletter

    8pt VS \verb+\miniscule+ \miniscule \f@size

    9pt VS \verb+\tiny+ \tiny \f@size

    10pt VS \verb+\scriptsize+ \scriptsize \f@size

    11pt VS \verb+\footnotesize+ \footnotesize \f@size

    12pt VS \verb+\small+ \small \f@size

    14pt VS \verb+\normalsize+ \normalsize \f@size

    17pt VS \verb+\large+ \large \f@size

    20pt VS\verb+\Large+ \Large \f@size

    25pt VS \verb+\LARGE+ \LARGE \f@size

    30pt VS \verb+\huge+ \huge \f@size

    36pt VS \verb+\Huge+ \Huge \f@size

    48pt VS \verb+\HUGE+ \HUGE \f@size
    \makeatother
    \end{document}

Best Answer

First of you will need the extrafontsizes class option to activate the very large huge data. It is not well described in the manual. I've added that to my TODO list.

To change the font sizes to something more specific, create your own clo file. Say myfont14.clo, then start the document with

\providecommand*{\anyptfilebase}{myfont}
\providecommand*{\anyptsize}{14} 
\documentclass[extrafontsizes,*pt]{memoir}

Copy the contents of mem14.clo to myfont14.clo and adjust it accordingly. Note that you can use

   \@setfontsize\normalsize{14bp}{17.5bp}%

instead of the syntax used in mem14.clo which assumes pt.

With 14bp \f@size says 14.05249, which should be the pt equivalent of the bp value.