Hi,
here is a statistics I made about taking Squeak 3.10 and merging Cuis with it on the Morph hierarchy, just to have an idea on how much it could take... Number of Classes removed in Cuis: 265 Number of Classes added on 3.10: 0 Number of Classes added on Cuis: 5 Number of Classes to merge: 59 Number of same methods: 930 Number of changed methods on Cuis: 117 Number of new methods on Cuis: 66 Number of conflicting methods: 44 (method on 3.7 is different that the one in 3.10 that in Cuis) Number of changed methods on current: 109 (from 3.7) Number of removed methods on Cuis: 796 Number of new methods in current: 2192 Hope it is useful! |
On 4/17/09 5:47 PM, "Hernan Wilkinson" <hernan.wilkinson@gmail..com> wrote: Hi, |
> > Hernan: > > It’s very useful. > I know Juan put many hours on Cuis, too bad no time to learn of it > and try to get all in my fork, which is 3.11 (as still NO 3.11 > image , no matter one year of promises) > > Edgar > process not an image. Similarly 4.0 is more about politics than an image. Keith |
>>>>> "Keith" == Keith Hodges <[hidden email]> writes:
Keith> Similarly 4.0 is more about politics than an image. I don't see that. The final result of 4.0 will be the 4.0 image, which will contain a tiny .changes file (almost nothing I hope) and a fully-OSI-licensed .sources file, from which we will be able to build the future. I'd say that's quite a bit about the image. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion |
In reply to this post by hernan.wilkinson
Here are the same statistics but with Pharo dev 09.02.3, Squeak 3.7 and Cuis Number of Classes removed in Cuis: 271 Number of Classes added on Pharo: 0 Number of new Classes in Cuis: 5
Number of Classes to merge: 59 Number of same methods: 858 Number of changed methods on Cuis: 91
Number of new methods on Cuis: 95 Number of conflicting methods: 66 (methods on 3.7 that different with the ones in Pharo and Cuis)
Number of changed methods on Pharo: 162 (from 3.7) Number of removed methods on Cuis: 555
Number of new methods in Pharo: 2387 So, to merge Cuis Morph hierarchy with Pharo, 91+95 methods from Cuis have to be loaded in Pharo and 66 methods have to be integrated by a human.
To merge Cuis Morph hierarchy with Squeak 3-10, 117+66 methods from Cuis have to be loaded in Squeak 3.10 and 44 methods have to be integrated by a human. I ran the statistics only on the Morph hierarchy because what seems to be faster in Cuis is the UI. I'm assuming that the Cuis changes in the Morph hierarchy is what makes Cuis run faster, but I'm not sure of that... of course we can run the same process for other hierarchies, packages, all the classes, etc. And if somebody is interesting in knowing which classes, methods, etc. are involved (the real stuff, not only the numbers), just let me know.
Hernan. On Fri, Apr 17, 2009 at 5:47 PM, Hernan Wilkinson <[hidden email]> wrote: Hi, |
On 4/17/09 9:58 PM, "Hernan Wilkinson" <hernan.wilkinson@gmail..com> wrote: I ran the statistics only on the Morph hierarchy because what seems to be faster in Cuis is the UI. I'm assuming that the Cuis changes in the Morph hierarchy is what makes Cuis run faster, but I'm not sure of that... of course we can run the same process for other hierarchies, packages, all the classes, etc. And if somebody is interesting in knowing which classes, methods, etc. are involved (the real stuff, not only the numbers), just let me know. I don’t dig deeper in Cuis, but my bet is Cuis is faster as no TTF fonts. What people seems like , the Microsoft look, gives Vista perfomance :=) Edgar |
Hi!
At least on Linux I can't imagine why people would like the usual Squeak rendering, I may have a problem with Cuis as far as cut&paste is concerned, but it looks 1 million times better as far as fonts are concerned... Together with Opera and Chromium the usual Squeak way it's got the worst fonts rendering ever. Why? I know nothing about char rendering in general, though. Maybe someone will take a second to explain me why certain things look so poor on *nix? Berto 2009/4/18 Edgar J. De Cleene <[hidden email]>
|
On 20.04.2009, at 16:53, Bèrto ëd Sèra wrote: > Hi! > > At least on Linux I can't imagine why people would like the usual > Squeak rendering, I may have a problem with Cuis as far as cut&paste > is concerned, but it looks 1 million times better as far as fonts > are concerned... Together with Opera and Chromium the usual Squeak > way it's got the worst fonts rendering ever. Why? Linux and Windows users are accustomed to heavily hinted font rendering, looking overly "crisp" because lines are snapped to the screen pixel grid. The result has little resemblance to the true character shape as it would appear when printed on paper, but it's what they are used to. In contrast, Apple's and Adobe's font rendering is much more truthful to the paper appearance, but looks "blurry" to Windows and Linux users. So it's much more a thing of taste than correctness for what people prefer. Here's a pretty nice discussion: http://www.antigrain.com/research/font_rasterization/index.html > I know nothing about char rendering in general, though. Maybe > someone will take a second to explain me why certain things look so > poor on *nix? Squeak's default truetype font rendering looks the same on all platforms, so it's not a *nix problem. It uses the Balloon2D engine, which renders vector fonts into bitmaps using 4x4 oversampling for anti-aliasing, without any hinting. The result looks more like the Apple rendering, which does not match the taste of many Linux/Windows users. And even Mac users usually have sub-pixel-rendering enabled which makes fonts look slightly crisper than what Balloon2D produces. If you prefer the Linux font look, use the Freetype plugin. Well, or the Cuis fonts of course. - Bert - |
On Monday 20 April 2009 9:17:38 pm Bert Freudenberg wrote:
> Linux and Windows users are accustomed to heavily hinted font > rendering, looking overly "crisp" because lines are snapped to the > screen pixel grid. The result has little resemblance to the true > character shape as it would appear when printed on paper, but it's > what they are used to. In contrast, Apple's and Adobe's font rendering > is much more truthful to the paper appearance, but looks "blurry" to > Windows and Linux users Squeak's screen and its contents are meant to be consumed on bitmap monitors and rarely printed on paper, so why should the fonts be optimized for paper rendering and not display monitors? Confused .. Subbu |
On 24.04.2009, at 13:57, K. K. Subramaniam wrote:
> On Monday 20 April 2009 9:17:38 pm Bert Freudenberg wrote: >> Linux and Windows users are accustomed to heavily hinted font >> rendering, looking overly "crisp" because lines are snapped to the >> screen pixel grid. The result has little resemblance to the true >> character shape as it would appear when printed on paper, but it's >> what they are used to. In contrast, Apple's and Adobe's font >> rendering >> is much more truthful to the paper appearance, but looks "blurry" to >> Windows and Linux users > Squeak's screen and its contents are meant to be consumed on bitmap > monitors > and rarely printed on paper, so why should the fonts be optimized > for paper > rendering and not display monitors? > > Confused .. Subbu I tried not to argue too much one way or the other, just stating what the difference appears to be. As I wrote, it's mostly a matter of taste, and only secondly one of technology. It's still worth investigating why Balloon rendering looks so blurry, and if there can be done something about it. - Bert - |
On Fri, Apr 24, 2009 at 4:41 PM, Bert Freudenberg <[hidden email]> wrote:
> I tried not to argue too much one way or the other, just stating what the > difference appears to be. As I wrote, it's mostly a matter of taste, and > only secondly one of technology. It's still worth investigating why Balloon > rendering looks so blurry, and if there can be done something about it. Without having looked at the code, two problems that we encountered in Sophie: - multiple anti-aliasing (first the glyph, then when rendering the glyph image) - fractional position rendering (rendering an anti-aliased glyph onto a fractional pixel position) Michael |
On 25-Apr-09, at 2:02 AM, Michael Rueger wrote: > - fractional position rendering (rendering an anti-aliased glyph onto > a fractional pixel position) > > Michael > Michael glosses over the fun details of do you round, or truncate, and as you accumulate float rounding errors what happens. So if you typed llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll Er *maybe* somewhere the median visual density of one of those 'l' would be placed a pixel to the left or right of where it should have been. -- = = = ======================================================================== John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ======================================================================== |
On 25.04.2009, at 18:22, John M McIntosh wrote: > > On 25-Apr-09, at 2:02 AM, Michael Rueger wrote: > >> - fractional position rendering (rendering an anti-aliased glyph onto >> a fractional pixel position) >> >> Michael >> > > Michael glosses over the fun details of do you round, or truncate, > and as you accumulate float rounding errors what happens. > So if you typed > llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll > Er *maybe* somewhere the median visual density of one of those 'l' > would be placed a pixel to the left or right of where it should have > been. You both are seriously overestimating the sophistication of Squeak's standard text rendering ;) It all derives from bitmap fonts, each glyph basically is a Form, and they are simply blitted one after the other onto the screen. No sub- pixel positioning, no kerning. The only thing that's different for TrueType fonts is how the forms are generated. - Bert - |
Is an external dependency like http://www.freetype.org/ completely out of the question?
On Sun, Apr 26, 2009 at 4:20 AM, Bert Freudenberg <[hidden email]> wrote:
|
On 26.04.2009, at 15:04, Steve Wart wrote: Is an external dependency like http://www.freetype.org/ completely out of the question? It does work for some applications. But besides huge plugins in general being not in the spirit of Smalltalk, one of the particular problems of using FreeType is that it depends on external fonts. But platform fonts vary largely between systems. That breaks one of the core promises of Squeak, platform independence. Now I know the "re-inventing the wheel" argument. Which is why we made a Pango/FreeType rendering plugin for OLPC Etoys, where we need to support many more scripts than simple TrueType rendering could do. But it already starts to crumble. OLPC defined a platform, so we could rely on the fonts we used being installed. But now that Sugar became independent of OLPC, there is no control of the platform anymore really. Which means it's not guaranteed projects will look the same everywhere. We have not yet found a cheap solution to that problem. - Bert - |
In reply to this post by Michael Rueger-6
This sounds time consuming. Did you guys fix this ?On Fri, Apr 24, 2009 at 4:41 PM, Bert Freudenberg [hidden email] wrote:I tried not to argue too much one way or the other, just stating what the difference appears to be. As I wrote, it's mostly a matter of taste, and only secondly one of technology. It's still worth investigating why Balloon rendering looks so blurry, and if there can be done something about it.Without having looked at the code, two problems that we encountered in Sophie: - multiple anti-aliasing (first the glyph, then when rendering the glyph image) Karl - fractional position rendering (rendering an anti-aliased glyph onto a fractional pixel position) Michael |
Karl Ramberg wrote:
- multiple anti-aliasing (first the glyph, then when >> rendering the glyph image) >> > This sounds time consuming. Did you guys fix this ? Yes, you have to make sure you only blit glyphs (not image render them in Cairo) and only to integer pixel coordinates. Michael |
In reply to this post by Bert Freudenberg
On Sunday 26 April 2009 7:49:21 pm Bert Freudenberg wrote:
> Not sure what you mean. There is a FreeType plugin already. > > It does work for some applications. But besides huge plugins in general > being not in the spirit of Smalltalk, one of the particular problems of > using FreeType is that it depends on external fonts. But platform fonts > vary largely between systems. That breaks one of the core promises of > Squeak, platform independence. There is another downside - the fonts design does not scale for many non-Roman languages. It divides glyphs on language and script basis instead of basic graphic shapes. Common sub-shapes are duplicated across fonts. Current rendering models support only rectangular bitblts which does not work very well for stroke-based compositions found in many Indian and Arabic scripts. Calligraphy is restricted to typeface designers. An intriguing (and challenging) aspect of Squeak is the possibility of rendering texts in terms of graphical primitives and adding support for changing rendering algorithms on-the-fly. This would allow calligraphy and on-the-fly additions of new languages and scripts. Those who fear the blue plane need not apply ;-). Subbu |
In reply to this post by Bert Freudenberg
On Sun, Apr 26, 2009 at 7:19 AM, Bert Freudenberg <[hidden email]> wrote:
Funny. I had installed it only 2 months ago and spent several hours trying to get it to work/work well in Cobalt before deciding that Accuny looked better than any of the several dozen fonts I scoured through. Don't know why I didn't think about that before I posted. I mentioned because I had been coincidentally looking at GLTT (for another project) to render some TT fonts in OpenGL and probably read too much into the coincidence.
I think this is a problem for a lot of projects and maybe FreeType isn't the answer. But it would be nice to have an alternative to the bitmap fonts and the TrueType model is very rich (I don't know if it's rich enough for all human languages but if there is another model that can live up to that standard I'd be interested to find out more). Many decent free fonts are available so I don't think external dependencies need to be an issue (they're just data), but I don't understand why fonts tend to be a platform problem. How is font rendering/lookup dependent on the underlying OS? Can that dependency be broken?
It does make sense in some contexts to do everything in Smalltalk. Clearly changing the font model is a huge amount of work and there is a long legacy of development that depends on fonts working the way they do now. But Squeak has for years shipped with its own fonts installed, why do we need to depend on the platform for that? Steve |
On 27.04.2009, at 17:30, Steve Wart wrote:
By bundling fonts, sure. But trying to convince Linux package maintainers that this is a necessity ... that's going to be hard.
We don't need to, true, but in their current form the plugins cannot render fonts embedded in the image. - Bert - |
Free forum by Nabble | Edit this page |