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