W->A dlls/commdlg/fontdlg.c

Tony Lambregts tony_lambregts at telusplanet.net
Sun Mar 16 16:32:52 CST 2003


Shachar Shemesh wrote:
 > Tony Lambregts wrote:
 >
 >>
 >> I would appreciate Any comments about this.
 >>
 > I have started to work on setting fontdlg straight. The main obsticle is
 > (besides the fact that I don't have time to look at it) is that ChooseFontA
 > and ChooseFontW behave slightly different on Windows.
 >
I was afraid of that but it makes at least some sense.

 >
 > On Windows, ChooseFontA be default displays a charset selection combobox.
 > When selecting a font that has several charsets, the selection has the full
 > list of the charsets. The "Sample" area shows (W2K) "AaBb", followed by
 > several letters that are charset dependant ("YyZz" for western). The sample
 > text code is, actually, already implemented and commited (the actual sample
 > text is only there for Western and Hebrew, because that's all I had, but
 > it's a simple matter of placing text in the "SAMPLE_LANG_TEXT" for more
 > languages).
 >
 > Calling ChooseFontW, on the other hand, displays the charset selection
 > (most amuzing), but it is disabled (makes no sense for Unicode). When a
 > font is selected, the sample text for ALL charsets in that font is
 > displayed.
 >
 > Wine's fontdlg is currently not in a very good shape. When a font has
 > several charsets, the font appears several times in the font dialog.
 > Selecting a given instance of the font dictates which charset you will
 > receive. Of course, at the moment, unless the charset has a unique sample
 > text, you have no way of knowing which charset that was that you have
 > selected.
 >
 > All of these problems are not very difficult to solve, but they require
 > some time. The common dialog itself needs to be a unicode dialog accepting
 > a boolean dictating whether charset selection is necessary. It then needs
 > to call "EnumFontFamiliesExW" instead of "EnumFontFamiliesA". This MAY also
 > indicate a bug in "EnumFontFamilies". I'm not sure whether it was supposed
 > to return once for each font, or whether it should really return each
 > charset of each font as a different entity.
 >
 > Part of the reason all of this is taking me time, besides the fact that I
 > don't get around to Wine very much of late, and the fact that, when I do,
 > I'm working on making wineboot autowork, is that the entire font dialog
 > experience is jittery. It effectively resets the size and face every time a
 > new font is selected, which is not the desired effect. Fixing this requires
 > a bit more work. This comes hand in hand with the fact that, when
 > initializing it from an existing structure, the structure's existing info
 > is not reflected in the dialog.
 >
 > Hope this was not too technical an answer to your question.
 >

I think this is a very clear analysis.

 > If you feel like working on it, please let me know. It will allow me to
 > work on wineboot with much clearer concious.
 >
Well don't feel too bad but I have no intention of working on this at this
time. What I might suggest is that we start a bug report in bugzilla for this
that Dimi can link to.

I have an interview on Tuesday. Hopefully it will turn into a (paying) job and
if that is the case I will have less time to spend on wine than I currently do.

-- 

Tony Lambregts




More information about the wine-devel mailing list