RE: Metapost - text alignment

On Wed, 2007-01-31 at 11:19 +1030, Young, Robert wrote:
Hmmm, my only testing has been with the test documents 
attached to the 
bug 332544. Do you have a simple example you could send me or attach 
to the bug report and I'll get it to work too?

It is hardly worth posting an example.  Just create some text 
in cmr10 and set the size to 0.35.  If your change makes it 
output 'scaled 0.67'  (approximately 2.05/3.0) then we have a 
problem.  If it still outputs 'scaled 1.05' then everything is normal.

OK, I've updated the test cases attached to the bug 332554 (sorry for getting the
number wrong before)

The new test case has cmr, serif, sans and monospace. As a result I've
updated the patch to try to fit those font sizes.

Unfortuntely there seems to be such a difference in the fonts used that
the scaling is quite different for them all. I like Lars' idea of
getting LaTex to fit the text to the given width using kerning, but it's
just so way out at the moment that this will cause problems. Maybe the
font name matching needs improving instead?

Is it really so way out?  I added a patch to the bug that uses text_line
to get the right width and do a \makebox for it.  It seems right to me,
but mptopdf complains.  Obviously, it needs to not use the calculated
scale factor, and there may be a different scale factor involved instead
(0.7 seems to be common:), but I want to see if text_line can be made to
work.  Test on the samples/render-test.dia file, it has text that will
be rendered with the text_line bit.

As an aside, I note that the error in the text scaling is non linear -
it changes depending on the font size. This seems to be a font dependant
characteristic - it occurs in Dia and MetaPost. The attached example has
font size 2, 1, 0.5, 0.25 for three font styles. The .png shows what it
looks like in Dia, and .pdf via metapost export (with the latest patch
to bug 332554).

And that is *exactly* why we need text_line.  Even in GTK land, text
scaling isn't linear, it's even worse in TeX land because of the fine


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]