Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

What is the difference between the scalefnt and anyfontsize packages?

Even though I use scalefnt, I get font size substitutions of up to "2.30002pt" in a document I am currently editing. The documentation of anyfontsize states that it doesn't yet work with "pdfLaTeX + the EC fonts", but what does that mean? It doesn't work with either, or it just doesn't work with this combination? And what exactly are EC fonts?

(If this is relevant: I am using memoir, times, microtype, and many other packages.)

share|improve this question
    
The note says "doesn't work well with pdflatex + EC fonts" and explains why; however, that note is a leftover, because pdflatex has been perfectly able to create PK fonts on the fly since several years. EC fonts are the T1 version of the Computer Modern fonts, and are available in Type1 version (as CM-Super), so PK generation is not a problem any more. If you are using the (obsolete) package times, then anyfontsize is perfectly useless to you; not because times is obsolete, but because the fonts chosen by it are scalable to begin with. –  egreg Feb 21 '13 at 22:32
add comment

1 Answer

up vote 7 down vote accepted

oops I googled for those packages and found I wrote one of them:(

The main difference between them is that they don't have anything in common.

scalefont does not affect the underlying font machinery at all it just does a \fontsize{}{}\selectfont command where the arguments of \fontsize are the specified factor of the current values. So it just asks for a font of a given size and whether you get font substitutions or not is unchanged.

anyfontsize redefines the low level font loading NFSS machinery in LaTeX so that any rule that tries to force fonts to a fixed list of predefined sizes is changed to use a rule that scales the nearest available declared font size to the requested size. The fixed font size rules made a lot more sense in the era when almost all fonts were bitmap format.

If you are using times or any other naturally scalable font setup I wouldn't have expected anyfontsize to have any affect as they are already scalable.

share|improve this answer
    
Okay, but why do I get those size substitutions of up to about 2pt? Example: LaTeX Font Warning: Font shape `U/stmry/m/n' in size <4.58298> not available / (Font) size <5> substituted on input line ... Similar for U/mathb/m/n, and a few other fonts. And, can I avoid these warnings? –  Lover of Structure Feb 21 '13 at 23:38
    
so you are using the stmary's road font, not sure if that is available in scalable form if it isn't you have to decide if you really want to allow bitmaps at any size, if you d anyfontsize they go away, or don't use \scalefont just access fonts at normal sizes then the problem won't arise –  David Carlisle Feb 21 '13 at 23:40
    
I just added anyfontsize, and the warnings (almost) all magically went away! Well, that was easy ... But, why would I not want to allow fonts at arbitrary sizes? –  Lover of Structure Feb 21 '13 at 23:44
1  
scaling a scalable font is essentially free. a bitmap font has a bitmap image of every glyph so if you generate it at 10pt and 10.01pt and 10.02pt because of rounding error your disk fills up very quickly, that is why latex allows you to pre-define the sizes at which a font is available and substitutes the nearest –  David Carlisle Feb 21 '13 at 23:53
    
The simplest would be to define a threshold; say: generate new glyphs for font size differences of at least 0.3pt. Is that possible? –  Lover of Structure Feb 22 '13 at 0:04
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.