what is the status of the font rendering

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

what is the status of the font rendering

stephane ducasse
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

Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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.

(I'm running gentoo)

Thanks for the work, Andy!

--
brad fuller
www.bradfuller.com
+1 (408) 799-6124


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween

----- 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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

stephane ducasse
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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Igor Stasenko
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
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Brad Fuller-3
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.
>  
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.
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Igor Stasenko
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.

Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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
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.
> >
> 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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Andrew Tween
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


Reply | Threaded
Open this post in threaded view
|

Re: what is the status of the font rendering

Bert Freudenberg
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 -




12