I am about to rewrite LyX's document font selection interface, something that 
is long overdue.

I'm almost through, so I have attached what I have. Apart from a general 
review, some issues are still missing/open, where I need your input. See 
below.

What is it? Basically:

- Split font selection to roman, serif and typewriter (as it is in LaTeX).

- Support more common fonts (e.g. Latin Modern, all PSNFSS fonts)

- Support the most recent font package that is available (e.g. mathpazo 
instead of palatino), while being backwards compatible

- Drop obsolete fonts (that is pslatex, which is just a bad implementation of 
mathptm.sty + helvet.sty + courier.sty. See l2tabuen.pdf for details).

- Add possibility to change the default family of the document (rm, sf, tt)

- Support extra features of font packages like old style figures, real small 
caps (i.e. "expert" sets).

It basically works as it should. However...

TODO:

- Some serif packages (like helvet.sty) provide an option to adjust the size 
of the fonts. This is often necessary because the serif fonts are slightly 
bigger than the roman ones (so, for instance, helvetica has to be scaled 90% 
to match times, 95% to match palatino). I have the gui for this half 
implemented. Question: Do we want such a feature? I know it is rather an 
expert feature. However, I could imagine adding a button where we recommend a 
scale range for the selected roman font)

- The default family switch works in the LaTeX output. However, it is 
necessary to also change the family of the buffers defaultfont (not only for 
the output on screen, but also because of the use of \textrm etc.).
Question: How? Where?

- GUI. Only a prototype (qt3) is implemented ATM (see screenshot). I'll do 
xforms and qt4, not gtk.

- lyx2lyx. I'd be glad if some Pythonist could do this. The changes are 
described in FORMAT.

- tex2lyx (not urgent).

Please have a look. Thanks.
Jürgen

Attachment: font.diff.gz
Description: GNU Zip compressed data

Attachment: lyx-fonts.png
Description: PNG image

Reply via email to