>> > I'm referring to when the x-scale is forced to be an
>> > integer-multiple of units/EM.
>> ??? This is not the case.
> The description below is from a code trace in GDB. x_scale is
> specifically recomputed in tt_size_reset() as:
> metrics->x_scale = FT_DivFix( metrics->x_ppem << 6,
> The effect of this line is that "x_scale is forced to be an
> integer-multiple of units/EM".
OK, my mistake, I misunderstood.
>> So while you can request a non-integer value in `FT_Set_Char_Size',
>> you can only request integer values in `FT_Set_Pixel_Sizes'. Of
>> course, if you are using a resolution of 72dpi, the character size
>> equals the pixel size.
> I tried to be as specific as possible wrt what FreeType actually
> does; I can provide a GDB code trace of FT_Set_Char_Size() if that
> will help.
Not necessary, thanks :-) I just want to clarify the terminology: If
you use 72dpi (which is the default), there is no difference between
pixels and points. However, if you use, say, 300dpi, you actually can
have fractional point sizes (which in turn are normally converted to
integer pixel sizes).