Hi
I should say that I'm confused so my question may be idiot. Here it is: what's the status of the font rendering effort. Andy if I remember you worked on something and there was some discussion with sophiers. Does it make sense to include Rome in the next release and slowly migrate to it? Stef |
Hi Stef,
> I should say that I'm confused so my question may be idiot. > Here it is: what's the status of the font rendering effort. > Andy if I remember you worked on something and there was some > discussion with sophiers. The freetype / subpixel rendering stuff is on-going. I use it all the time under windows, and it works well. There are some linux plugins available, but untested. The problem with these plugins is that they were rather "cobbled together". I compiled the freetype library on windows, copied it to linux, and compiled and linked the plugin from a Terminal shell; it works, but I can't remember exactly what I did to get it built :( I have already shared these plugins with one interested party, and I am hoping they will be able to help with getting makefiles etc. set up on linux for building . If anyone else wants to do download and experiment with this on Linux, then here are the links... You can download them from here... http://www.zen61439.zen.co.uk/ft%20linux%20plugins/ This contains these two files... http://www.zen61439.zen.co.uk/ft%20linux%20plugins/BitBltPlugin http://www.zen61439.zen.co.uk/ft%20linux%20plugins/FT2Plugin You can use the freetype image etc. from here... http://www.zen61439.zen.co.uk/Squeak3.9g-7054_FreeType.zip The packages also load ok into later versions of squeak, e.g. the final release of 3.9. --- If anyone is interested in building plugins for the Mac, then that would be great. I'd build them myself if Santa had given me a Mac for Christmas, but I got socks instead :( I am going to keep chugging away at this when I have both the time, and inclination. But, I must admit that, at the moment, I don't have a clear roadmap or timescale. Cheers, Andy |
Andrew Tween wrote:
> Hi Stef, > > >> I should say that I'm confused so my question may be idiot. >> Here it is: what's the status of the font rendering effort. >> Andy if I remember you worked on something and there was some >> discussion with sophiers. >> > > The freetype / subpixel rendering stuff is on-going. > I use it all the time under windows, and it works well. > > There are some linux plugins available, but untested. The problem with these > plugins is that they were rather "cobbled together". I compiled the freetype > library on windows, copied it to linux, and compiled and linked the plugin from > a Terminal shell; it works, but I can't remember exactly what I did to get it > built :( > > I have already shared these plugins with one interested party, and I am hoping > they will be able to help with getting makefiles etc. set up on linux for > building . > > If anyone else wants to do download and experiment with this on Linux, then here > are the links... > > You can download them from here... > http://www.zen61439.zen.co.uk/ft%20linux%20plugins/ > > This contains these two files... > http://www.zen61439.zen.co.uk/ft%20linux%20plugins/BitBltPlugin > http://www.zen61439.zen.co.uk/ft%20linux%20plugins/FT2Plugin > I installed FreeType Plus (0.3) from squeakmap into Linux and it seemed to show more fonts. I say "seemed" because a problem that I have is that when I select "set font..." from the popup menu (e.g. to change the font on some text in a workspace), the list of font list is so long that it doesn't show a "more..." at the bottom so I can go to the next menu. "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At least it doesn't page up and page down the way you might have intended it to. -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
Hi,
----- Original Message ----- From: "Brad Fuller" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Friday, April 20, 2007 8:07 PM Subject: Re: what is the status of the font rendering <snip> > I installed FreeType Plus (0.3) from squeakmap into Linux and it seemed > to show more fonts. I haven't formally announced its existence yet; I am still testing and finishing off some stuff. But it is working ok on Windows & Linux. On Macs, it will work if you use a VM that contains the FT2Plugin (e.g. 2.8.15beta6U). You will also need to tell it where to find the system fonts; that is the stuff that I am working on at the moment. Please ask for details if you don't want to wait. >I say "seemed" because a problem that I have is that > when I select "set font..." from the popup menu (e.g. to change the font > on some text in a workspace), the list of font list is so long that it > doesn't show a "more..." at the bottom so I can go to the next menu. Hey, more fonts is good ;) You would get the same problem if you installed 99 TTCFonts. But you are correct, the font menu needs replacing with something better. > "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At least > it doesn't page up and page down the way you might have intended it to. I bodged together the paging font picker, and it works ok for me on Linux (Fedora & openSUSE). Try clicking on the page up / page down items rather than using the keyboard. And be patient, it sometimes takes a few seconds to render the next page. All the font picker menus need improving, but the problem is due to the number of available fonts, not FreeType per se. I'll write some more about the package in general when I get time. Cheers, Andy |
Andrew Tween wrote:
>> it doesn't page up and page down the way you might have intended it to. >> > "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At least > > I bodged together the paging font picker, and it works ok for me on Linux > (Fedora & openSUSE). > Try clicking on the page up / page down items rather than using the keyboard. > And be patient, it sometimes takes a few seconds to render the next page. > > All the font picker menus need improving, but the problem is due to the number > of available fonts, not FreeType per se. > I don't see a page up or a page down item. I was able to pick up the menu (by selecting between the font listing) and by moving it around I can see I end up with one long menu - containing the complete list of fonts. Seems rather strange. This is the developer's image, maybe that has something to do with it. (I'm running gentoo) Thanks for the work, Andy! -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
----- Original Message ----- From: "Brad Fuller" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Friday, April 20, 2007 10:27 PM Subject: Re: what is the status of the font rendering > Andrew Tween wrote: > >> it doesn't page up and page down the way you might have intended it to. > >> > > "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At least > > > > I bodged together the paging font picker, and it works ok for me on Linux > > (Fedora & openSUSE). > > Try clicking on the page up / page down items rather than using the keyboard. > > And be patient, it sometimes takes a few seconds to render the next page. > > > > All the font picker menus need improving, but the problem is due to the number > > of available fonts, not FreeType per se. > > > (yeah, I know it's because of the number of fonts presented in the menu.) > > I don't see a page up or a page down item. I was able to pick up the > menu (by selecting between the font listing) and by moving it around I > can see I end up with one long menu - containing the complete list of > fonts. Seems rather strange. > This is the developer's image, maybe that has something to do with it. The developer's image is ok, I use it myself. The only menu I have added the page up/down items to is the Appearance...>>System fonts... from the World menu. Does that menu work ok for you? > > (I'm running gentoo) > > Thanks for the work, Andy! > > -- > brad fuller > www.bradfuller.com > +1 (408) 799-6124 > > > |
Andrew Tween wrote:
> ----- Original Message ----- > From: "Brad Fuller" <[hidden email]> > To: "The general-purpose Squeak developers list" > <[hidden email]> > Sent: Friday, April 20, 2007 10:27 PM > Subject: Re: what is the status of the font rendering > > > >> Andrew Tween wrote: >> >>>> it doesn't page up and page down the way you might have intended it to. >>>> >>>> >>> "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At least >>> >>> I bodged together the paging font picker, and it works ok for me on Linux >>> (Fedora & openSUSE). >>> Try clicking on the page up / page down items rather than using the >>> > keyboard. > >>> And be patient, it sometimes takes a few seconds to render the next page. >>> >>> All the font picker menus need improving, but the problem is due to the >>> > number > >>> of available fonts, not FreeType per se. >>> >>> >> (yeah, I know it's because of the number of fonts presented in the menu.) >> >> I don't see a page up or a page down item. I was able to pick up the >> menu (by selecting between the font listing) and by moving it around I >> can see I end up with one long menu - containing the complete list of >> fonts. Seems rather strange. >> This is the developer's image, maybe that has something to do with it. >> > > The developer's image is ok, I use it myself. > The only menu I have added the page up/down items to is the > Appearance...>>System fonts... from the World menu. > Does that menu work ok for you? > yeah, that menu works. Here's what I mean: http://bradfuller.com/access/setfontmenu.ogg -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
In reply to this post by Andrew Tween
Andrew did you look at sophie? because I had the impression that they
build a lot for font location.... Stef > Hi, > ----- Original Message ----- > From: "Brad Fuller" <[hidden email]> > To: "The general-purpose Squeak developers list" > <[hidden email]> > Sent: Friday, April 20, 2007 8:07 PM > Subject: Re: what is the status of the font rendering > > > <snip> > >> I installed FreeType Plus (0.3) from squeakmap into Linux and it >> seemed >> to show more fonts. > > I haven't formally announced its existence yet; I am still testing > and finishing > off some stuff. > But it is working ok on Windows & Linux. > > On Macs, it will work if you use a VM that contains the FT2Plugin > (e.g. > 2.8.15beta6U). You will also need to tell it where to find the > system fonts; > that is the stuff that I am working on at the moment. Please ask > for details if > you don't want to wait. > >> I say "seemed" because a problem that I have is that >> when I select "set font..." from the popup menu (e.g. to change >> the font >> on some text in a workspace), the list of font list is so long >> that it >> doesn't show a "more..." at the bottom so I can go to the next menu. > > Hey, more fonts is good ;) > You would get the same problem if you installed 99 TTCFonts. > But you are correct, the font menu needs replacing with something > better. > >> "FontListMenuMorph>>displayFiltered: evt" doesn't seem to work. At >> least >> it doesn't page up and page down the way you might have intended >> it to. > > I bodged together the paging font picker, and it works ok for me on > Linux > (Fedora & openSUSE). > Try clicking on the page up / page down items rather than using the > keyboard. > And be patient, it sometimes takes a few seconds to render the next > page. > > All the font picker menus need improving, but the problem is due to > the number > of available fonts, not FreeType per se. > > I'll write some more about the package in general when I get time. > Cheers, > Andy > > > |
In reply to this post by Brad Fuller-3
Hi,
> > The only menu I have added the page up/down items to is the > > Appearance...>>System fonts... from the World menu. > > Does that menu work ok for you? > > > > yeah, that menu works. Here's what I mean: that's good. > > http://bradfuller.com/access/setfontmenu.ogg I can't get oggs to play on my machine, so unfortunately I can't look at that :( But thanks anyway. Cheers, Andy |
In reply to this post by stephane ducasse
Hi Stef,
> Andrew did you look at sophie? because I had the impression that they > build a lot for font location.... Thanks for the heads-up. Yes, I did. The approach I am taking with Windows is to use FFI to get the system fonts folder path if FFI is present, otherwise to guess it. For Linux, the font folder paths are hardcoded. For Mac OS X, I will either hardcode the system font paths, ( and ignore the user font folder for now); or make FFI a prerequisite, and get all the folder paths through FFI. (It will probably be the first approach, which will enable people to use it sooner. And then I'll migrate the FFI stuff over from Sophie later). The windows method is "close enough for jazz", although it should really be going to the Windows Registry to find all the installed fonts, since they don't have to be installed in the system Fonts folder. Cheers, Andy > > Stef |
I think it would be better to "hardcode" a small window for
configuring font paths to let user specify them.. And keep paths list in class var and don't care about guessing. ;) On 21/04/07, Andrew Tween <[hidden email]> wrote: > Hi Stef, > > Andrew did you look at sophie? because I had the impression that they > > build a lot for font location.... > > Thanks for the heads-up. Yes, I did. > > The approach I am taking with Windows is to use FFI to get the system fonts > folder path if FFI is present, otherwise to guess it. > > For Linux, the font folder paths are hardcoded. > > For Mac OS X, I will either hardcode the system font paths, ( and ignore the > user font folder for now); or make FFI a prerequisite, and get all the folder > paths through FFI. (It will probably be the first approach, which will enable > people to use it sooner. And then I'll migrate the FFI stuff over from Sophie > later). > > The windows method is "close enough for jazz", although it should really be > going to the Windows Registry to find all the installed fonts, since they don't > have to be installed in the system Fonts folder. > > Cheers, > Andy > > > > > Stef > > > |
sig wrote:
> I think it would be better to "hardcode" a small window for > configuring font paths to let user specify them.. And keep paths list > in class var and don't care about guessing. ;) that would be nice - I would have liked to pick the fonts. > > On 21/04/07, Andrew Tween <[hidden email]> wrote: >> Hi Stef, >> > Andrew did you look at sophie? because I had the impression that they >> > build a lot for font location.... >> >> Thanks for the heads-up. Yes, I did. >> >> The approach I am taking with Windows is to use FFI to get the system >> fonts >> folder path if FFI is present, otherwise to guess it. >> >> For Linux, the font folder paths are hardcoded. >> >> For Mac OS X, I will either hardcode the system font paths, ( and >> ignore the >> user font folder for now); or make FFI a prerequisite, and get all >> the folder >> paths through FFI. (It will probably be the first approach, which >> will enable >> people to use it sooner. And then I'll migrate the FFI stuff over >> from Sophie >> later). >> >> The windows method is "close enough for jazz", although it should >> really be >> going to the Windows Registry to find all the installed fonts, since >> they don't >> have to be installed in the system Fonts folder. >> >> Cheers, >> Andy >> >> > >> > Stef >> >> >> > > -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
In reply to this post by Igor Stasenko
Hi sig,
----- Original Message ----- From: "sig" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Saturday, April 21, 2007 5:24 PM Subject: Re: what is the status of the font rendering > I think it would be better to "hardcode" a small window for > configuring font paths to let user specify them.. And keep paths list > in class var and don't care about guessing. ;) Sure. But better still is to not have to guess, and to not require the user to configure anything. Download Sophie - run it - your fonts are immediately available, with nice menus for selecting them. That seems to me to be the best approach. If an experienced user wants something more sophisticated, then the source is open and they can modify it to do whatever they wish. But for a newbie, it should "just work". One problem with storing paths in a class var is what happens when a user saves their image and gives it to someone who is using a different OS, with a different set of fonts, in different locations. Do they then have to re-configure, or revert to defaults, before the fonts can be found? Cheers, Andy |
Andrew Tween wrote:
> One problem with storing paths in a class var is what happens when a user saves > their image and gives it to someone who is using a different OS, with a > different set of fonts, in different locations. Do they then have to > re-configure, or revert to defaults, before the fonts can be found? > This is a very good point. What is your recommendation for image distribution to users (not developers) to use the fonts on their PC? I don't think it's a good idea to tell them how to go to SqueakMap, install the plugins and then the freetype package. It should just work, as you say. For example, let's say you created an image on Linux to distribute. What do you tell windows users on how to use your image? (at this point, I assume Mac users are not an issue because that hasn't been completed, yes?) -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
Hi Brad,
----- Original Message ----- From: "Brad Fuller" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Sunday, April 22, 2007 1:08 AM Subject: Re: what is the status of the font rendering > Andrew Tween wrote: > > One problem with storing paths in a class var is what happens when a user saves > > their image and gives it to someone who is using a different OS, with a > > different set of fonts, in different locations. Do they then have to > > re-configure, or revert to defaults, before the fonts can be found? > > > This is a very good point. What is your recommendation for image > distribution to users (not developers) to use the fonts on their PC? I > don't think it's a good idea to tell them how to go to SqueakMap, > install the plugins and then the freetype package. It should just work, > as you say. Distribute an image that contains the packages, together with a VM that includes the plugins. Include any required font files in {imageFolder}/Fonts. (Assuming you have a license to redistribute those fonts) For an example, look at how Sophie is distributed. > > For example, let's say you created an image on Linux to distribute. What > do you tell windows users on how to use your image? (at this point, I > assume Mac users are not an issue because that hasn't been completed, yes?) You create an image on Linux, using a VM that has access to the Linux FT2Plugin. You give that image to a Windows user, using a VM with access to the Windows FT2Plugin. It will just work. Fonts that are missing willl render differently (using Accuny strike font). And some fonts might render slightly differently because the FreeType library version is different on the two platforms. But it shouldn't crash. And if any missing font files are subsequently installed, and the image restarted, then the fonts should now render ok. Cheers, Andy > > -- > brad fuller > www.bradfuller.com > +1 (408) 799-6124 > > > |
Andrew Tween wrote:
>> Andrew Tween wrote: >> >>> One problem with storing paths in a class var is what happens when a user >>> saves >>> >>> their image and gives it to someone who is using a different OS, with a >>> different set of fonts, in different locations. Do they then have to >>> re-configure, or revert to defaults, before the fonts can be found? >>> >>> >> This is a very good point. What is your recommendation for image >> distribution to users (not developers) to use the fonts on their PC? I >> don't think it's a good idea to tell them how to go to SqueakMap, >> install the plugins and then the freetype package. It should just work, >> as you say. >> > > Distribute an image that contains the packages, together with a VM that includes > the plugins. > Include any required font files in {imageFolder}/Fonts. (Assuming you have a > license to redistribute those fonts) > For an example, look at how Sophie is distributed. > Good idea. I'll check it out. >> For example, let's say you created an image on Linux to distribute. What >> do you tell windows users on how to use your image? (at this point, I >> assume Mac users are not an issue because that hasn't been completed, yes?) >> > > You create an image on Linux, using a VM that has access to the Linux FT2Plugin. > > You give that image to a Windows user, using a VM with access to the Windows > FT2Plugin. > > It will just work. > right? My point was that I would expect I would have to distribute the needed plugins with the VM since (it appears) plugins (like FT2Plugin) are required to install separately - i.e. they don't come with the standard VM package that one dnl's from squeak.org. I'd have to do that for each platform. I was hoping that there would be a better way ;-) > Fonts that are missing willl render differently (using Accuny strike font). > And some fonts might render slightly differently because the FreeType library > version is different on the two platforms. > that's good to know. thanks. -- brad fuller www.bradfuller.com +1 (408) 799-6124 |
I see no problem in having invalid font dirs in class var. The paths
just need to be checked when image starts. why this a problem? If going this way, you can just put there all well known paths for every known platform at package installation phase and don't care if they all valid. Rendering engine must be aware that some or all of given directories can be missing or contain no fonts. You need to check it anyways because they external to image and if i added new directory and then moved/renamed it in my OS the squeak must not crash after restart. |
In reply to this post by Brad Fuller-3
Hi,
----- Original Message ----- From: "Brad Fuller" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Sunday, April 22, 2007 3:33 AM Subject: Re: what is the status of the font rendering > Andrew Tween wrote: > >> Andrew Tween wrote: > >> > >>> One problem with storing paths in a class var is what happens when a user > >>> saves > >>> > >>> their image and gives it to someone who is using a different OS, with a > >>> different set of fonts, in different locations. Do they then have to > >>> re-configure, or revert to defaults, before the fonts can be found? > >>> > >>> > >> This is a very good point. What is your recommendation for image > >> distribution to users (not developers) to use the fonts on their PC? I > >> don't think it's a good idea to tell them how to go to SqueakMap, > >> install the plugins and then the freetype package. It should just work, > >> as you say. > >> > > > > Distribute an image that contains the packages, together with a VM that > > the plugins. > > Include any required font files in {imageFolder}/Fonts. (Assuming you have a > > license to redistribute those fonts) > > For an example, look at how Sophie is distributed. > > > > Good idea. I'll check it out. > > >> For example, let's say you created an image on Linux to distribute. What > >> do you tell windows users on how to use your image? (at this point, I > >> assume Mac users are not an issue because that hasn't been completed, yes?) > >> > > > > You create an image on Linux, using a VM that has access to the Linux > > > > You give that image to a Windows user, using a VM with access to the Windows > > FT2Plugin. > > > > It will just work. > > > It won't just work since the plugins are not in the standard VM package, > right? My point was that I would expect I would have to distribute the > needed plugins with the VM since (it appears) plugins (like FT2Plugin) > are required to install separately - i.e. they don't come with the > standard VM package that one dnl's from squeak.org. I'd have to do that > for each platform. True. But the image wiil still function if the plugins are missing. If FT2Plugin is missing, then all FreeType fonts will render as Accuny. The font menu will show no available FreeType fonts. If the modified BitBltPlugin is missing (i.e. the new combination rule 41 is not available), the FreeType fonts will render using the existing alpha blending rule 34. Sub-pixel anti-aliasing won't work (it will automatically revert to greyscale), the Glyph Contrast preference won't have any effect, and memory consumption will be higher because it will need to cache coloured glyphs. You can test this out by saving an image which uses FreeType fonts. Then close the image, rename one, or both, plugins, and start the image again. > I was hoping that there would be a better way ;-) I suppose you could add a class to your image that is notifed of image startup. It could warn the user that some plugins are missing, and ask them if they want to download them (or an updated VM that contains them). Having downloaded, it would ask the user to close and restart the image. This could even be a generic thing, dealing with more than just the FreeType stuff. Cheers, Andy > > > Fonts that are missing willl render differently (using Accuny strike font). > > And some fonts might render slightly differently because the FreeType library > > version is different on the two platforms. > > > that's good to know. thanks. > > -- > brad fuller > www.bradfuller.com > +1 (408) 799-6124 > > > |
In reply to this post by Igor Stasenko
----- Original Message ----- From: "sig" <[hidden email]> To: "The general-purpose Squeak developers list" <[hidden email]> Sent: Sunday, April 22, 2007 9:07 AM Subject: Re: what is the status of the font rendering > I see no problem in having invalid font dirs in class var. The paths > just need to be checked when image starts. why this a problem? It isn't a problem. > If going this way, you can just put there all well known paths for > every known platform at package installation phase and don't care if > they all valid. It is better to use FFI to get the known font paths from the OS. Here's why. Consider windows. The font folder might be c:\windows\fonts or c:\winnt\fonts or e:\windows\fonts etc. On a dual boot machine (e.g. Vista and Windows 2000), both c:\windows\fonts AND c:\winnt\fonts could be present. Which one should be used? It would certainly be possible to include every possible path, for every drive letter, and check for their existence. But this can cause annoying side effects. If d: is the cd/dvd-rom drive, and it has been accessed in this session but it currently contains no disk, then, when checking for the existence of d:\windows\fonts, windows pops up a dialog saying that the drive can't be accessed. Very annoying. I don't know if it is possible to get the paths from a Linux OS using FFI, hence the hardcoded paths. You are suggesting that rather than these paths being hardcoded in a method; they are hardcoded in a method AND copied to a class var. The paths can then be edited through some new window? There are a number of questions here... 1. should the user being able to add and remove font folder paths? 2. should the user be able to add and remove font FILE paths? 3. What is the user interface for performing these edits? 4. Where and how should the paths be persisted? 5. If different versions of the same font are found in more than one folder, which should take precedence? Perhaps the user can only add paths, not remove them. Perhaps the user can add and remove paths, but isn't allowed to remove the predefined, well known, paths. Perhaps the info is persisted outside the image in a config/ini file. I don't know the answers. But it is good to have the discussion. > Rendering engine must be aware that some or all of > given directories can be missing or contain no fonts. You need to > check it anyways because they external to image and if i added new > directory and then moved/renamed it in my OS the squeak must not crash > after restart. Correct. Cheers, Andy |
On Apr 22, 2007, at 11:37 , Andrew Tween wrote:
> It is better to use FFI to get the known font paths from the OS. Even better would be to have a plugin answer that platform-specific font search path. I'd love to see freetype rendering go into the default VM, but I do not want to depend on FFI for something so basic. There has been talk about such a "system queries" plugin, it should provide access to other directories, too (like, where should preferences be stored, or pictures, etc.). Also, there is the HostFont plugin, which has not been ported to other platforms than Windows. Maybe it should be extended with a primitive to ask for font folders. > I don't know if it is possible to get the paths from a Linux OS > using FFI, hence > the hardcoded paths. There is no FFI way because there is no OS-wide standard. Well, the closest to a standard is probably fontconfig, maybe that could be used with FFI or a proper plugin. - Bert - |
Free forum by Nabble | Edit this page |