Hi Herbert, First of all, sorry for replying with a delay, I'm finishing my end of semester exams.
>>>>> With OOo's Aqua port moving from ATSU to CoreText and CoreText >>>>> supporting >>>>> optional typographic features the Aqua port is likely to be the >>>>> spearhead >>>>> of this effort. >>>> >>>> That is interesting. Are there plans to use DirectWrite in the Windows >>>> version? >>> >>> Not yet. On Windows the next typography step is probably doing issue >>> #i112466#. >> >> I don't yet know how OOo renderrs text in detail but I believe that it >> would be possible and not too complicated to use DirectWrite/Direct2D >> just for rendering. > > Using the Win7 specific DirectWrite API would have some benefits, but > because of #i108684# (WriterEngine and EditEngine having problematic > assumptions about the best division of responsibility between layers) the > benefits would be quite overshadowed by these problems. Until they are > solved they would also introduce some regressions which are currently only > seen on the Aqua port (such as cursor traveling in justified text). > > >>>> This is something I would like to work on. I really like typography >>>> and would like to see better support for it in OOo. >>> >>> Good! Could I interest you in working in the WriterEngine and EditEngine >>> on >>> #i108684#? >>> >>> Or are you more into system-level code? What is your prefered platform? >>> WIN, >>> UNX or MAC? >>> If WIN could I interest you in #i112466#? >>> If UNX could I interest you in providing the optional features through >>> ICU? >> >> I'd like to take on #i112466#. Would that be appropriate in scope for >> a 3 month internship? > > The effect that the optional features would provide would be invisible as > long as the wiring in the app-layers is not there yet. So most of the > resulting problems would be invisible too... I'm not sure if implementing > just #i112466# would fill a 3-month internship. > > Maybe if we extended the scope by doing it as an experimental feature, e.g. > by using the style-name of the font request such as in > "Book:cpsp:liga:frac:zero", which would allow to test it on the application > level. The most obvious problem would be #i79878#, but I am worried about > the many seemingly minor problems such as layout instabilities e.g. when > font attributes change within a line. Or when the printer substitutes fonts > behind our back. They seem minor at first but when documents start to depend > on it the headaches begin. > > Finding all these subtle problems (to prevent headaches in the future) and > also addressing such questions as what to do on systems where the APIs are > not available (such as XP) would be a lot of work. I wanted to start it when > switching from the ATSUI API to CoreText. > > The question what to do if a platform does not support the APIs or the > available font does not support a requested feature could in some cases be > handled by emulating features such as "sinf/subs/sups". These could be > tested by adjusting Math. > > So I'm not sure on how to outsource this into a three month slot. I'm > convinced the only way to do all this is by doing one step after the other > and taking responsibility for design decisions by solving all subsequent > issues. It feels like solving one of these issues leads to two more problems appearing. That makes this project hard to define in hard bounds and me hesitant to take on too much responsibility for the duration of the internship. I'd like to continue contributing but will almost certainly be unable to do so full time due to school obligations. So in a way I agree that this project is not an ideal one for a three month internship. The ones on the project proposals page are much better defined and straightforward. That said, I'd still like the opportunity to do it. Even if it would indeed be better to do it one step at the time, as you said, I think I could make quite a bit of progress in bringing this feature to a stable state. So I would propose that: - I finish #i112466# and implement a way to test it in the application layer(for example in the manner that you described) - Fix any issues that arise from it If I finish this early, and I expect to do so, continue to work on #i79878#. I intend to document what I do extensively which should help anyone writing new code with mine in mind. Kind regards, Miloš --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
