[SharpOS Developers] True Type Fonts

1 view
Skip to first unread message

Jonathan Dickinson

unread,
Jul 31, 2008, 5:46:59 AM7/31/08
to ensemble-dev, cosmos-dev, sharpos-d...@lists.sourceforge.net
Hi All,

I have taken the dive and I am busy implementing True Type font
support: it's going to crop up sooner or later and I can't really help
out with the stuff happening in Ensemble at the moment (I still need
to do some more reading).

In any case, the format is horrible! So far I am reading in the cmap
(maps unicode characters to glyphs), cvt (constants) and name (name
table, has the font name etc.).

I am thinking I will do the glyf table next, so that I can start
drawing these bad-boys out ;).

Just a heads up so that no one else works on it at the same time. I
will be uploading it to MOSA some time soon so if you want to help out
just say. The code will, of course, be available for all the MOSA
affiliates (MOSA affiliates ONLY).

--
Jonathan

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-D...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Sander van Rossen

unread,
Jul 31, 2008, 5:51:21 AM7/31/08
to sharpos-d...@lists.sourceforge.net
Awesome :)
Very useful (eventually), but i don't envy the world of hurt you're
getting yourself into ;)

Maciej Jagiello

unread,
Aug 1, 2008, 8:27:03 AM8/1/08
to sharpos-d...@lists.sourceforge.net, ensemble-dev, cosmos-dev
I'm willing to contribute, yet I'm not sure if I can do much in
time I have :(
I have some code for loading basic tables, yet I'd like to clean
it up a bit first...


Jonathan Dickinson wrote:
> Hi All,
>
> I have taken the dive and I am busy implementing True Type font
> support: it's going to crop up sooner or later and I can't really help
> out with the stuff happening in Ensemble at the moment (I still need
> to do some more reading).
>
> In any case, the format is horrible! So far I am reading in the cmap
> (maps unicode characters to glyphs), cvt (constants) and name (name
> table, has the font name etc.).
>
> I am thinking I will do the glyf table next, so that I can start
> drawing these bad-boys out ;).
>
> Just a heads up so that no one else works on it at the same time. I
> will be uploading it to MOSA some time soon so if you want to help out
> just say. The code will, of course, be available for all the MOSA
> affiliates (MOSA affiliates ONLY).
>
>

Phil Garcia

unread,
Aug 1, 2008, 10:55:46 AM8/1/08
to sharpos-d...@lists.sourceforge.net
Very cool. I think someone already did some work on a VGA driver, but they didn't been committed to the trunk. I'll look around for it and get it implemented. Let us know why type of graphic API methods you will need since obviously we won't have .NET graphic classes available for a while.
-Phil

Sander van Rossen

unread,
Aug 1, 2008, 3:04:13 PM8/1/08
to ph...@thinkedge.com, sharpos-d...@lists.sourceforge.net
Yeah somebody did some basic graphics work, but it was a bit too early
for it to be used.. especially since we had nothing like a driver
architecture back then, which at least now we have a good part already
in place (of the architecture)

On Fri, Aug 1, 2008 at 4:55 PM, Phil Garcia <ph...@thinkedge.com> wrote:
> Very cool. I think someone already did some work on a VGA driver, but they
> didn't been committed to the trunk. I'll look around for it and get it
> implemented. Let us know why type of graphic API methods you will need since
> obviously we won't have .NET graphic classes available for a while.
> -Phil

-------------------------------------------------------------------------

Jonathan Dickinson

unread,
Aug 5, 2008, 9:59:25 AM8/5/08
to sharpos-d...@lists.sourceforge.net
I said this on the Cosmos ML, I suppose I should have said it
everywhere. The point of this TTF stuff is that I will co-incide with
completion of System.Drawing namespaces (and the start of userland as
a whole). It will rely heavily on Regions and Paths and what not, we
will need those types of things first. So it is a looong way off.

Honestly, it is really on the back-burner at the moment as I have a
quite a bit of work at work, and working with TTF can drive a person
crazy. If anyone has a Hazmat suit for me maybe I could dedicate more
time to it :).

If someone wants to hack System.Drawing support on the current stuff
feel free, I will try and get this thing working faster if that's the
case.

Has anyone thought about inlining native libs (via P/Invoke) so that
we can use FreeType (which I am now considering just porting) and
Cairo? The Google Javascript OS does that and it looks like it works
pretty well... I know there is a certain philosophy with the whole C#
only idea, but this would give us a boost so that we don't have to
worry about mundane/arcane things (like TTF): we could port the libs
later on. Mike, any chance of this stuff?

--
Jonathan

grover

unread,
Aug 5, 2008, 12:51:15 PM8/5/08
to sharpos-d...@lists.sourceforge.net
Hi Jonathan,

Inlining native libraries is difficult to say the least. I have not
thought about it as I consider this really dangerous to say the least.

You'd have to process all emitted code and either link with the external
library or copy the code from it. Finally these libraries aren't standalone
but do require either the C runtime library, another runtime library or
operating system services - essentially some sort of Posix compliance.

I don't think that will happen soon. How do others think about this?

Mike

> -----Ursprüngliche Nachricht-----
> Von: sharpos-devel...@lists.sourceforge.net
> [mailto:sharpos-devel...@lists.sourceforge.net] Im
> Auftrag von Jonathan Dickinson
> Gesendet: Dienstag, 5. August 2008 15:59
> An: sharpos-d...@lists.sourceforge.net
> Betreff: Re: [SharpOS Developers] True Type Fonts

> > --- This SF.Net email is sponsored by the Moblin Your Move

Jonathan Dickinson

unread,
Aug 6, 2008, 2:49:49 AM8/6/08
to sharpos-d...@lists.sourceforge.net
Just to make sure we are all on the same page, the point of having
native libs is so that we can have a better start up time (i.e. True
Type fonts, MySQL client, etc.). In the end (2 years on, or whatever)
we should pull the support out of the compiler: or leave it in as a
enduring experimental feature (i.e. don't cry when it breaks). There
are obviously issues with security AND interaction between the .Net
runtime, but it will definitely help out in the beginning. If it will
take too long to implement there is probably little point, in my view
it should be one of those things that we either get done really
quickly or never done at all.

--
Jonathan

Matthijs ter Woord

unread,
Aug 6, 2008, 3:01:23 AM8/6/08
to sharpos-d...@lists.sourceforge.net
It's technically not too hard to do: you need to have the binary format support, and implement the libraries it needs (c-lib, etc). Something like this is also done for the CrossKylix project, which makes it possible to run the Kylix compiler (Delphi compiler for Linux) on windows.

Bruce Markham

unread,
Aug 6, 2008, 9:05:11 AM8/6/08
to sharpos-d...@lists.sourceforge.net
Well, TrueType font support would be nice. But I think the whole point is to do it all in a managed language. For the sanity of any developers on any of the C# OS projects, I would suggest not diverging into running native code right now.

For something like TrueType fonts - I think we will all need an implementation native to us, that is, managed. For more complex applications down the road, (Firefox, anyone?), maybe then - we can talk about VMing to run native code or something. (But frankly, I think we need a C# web browser, too.)

For now, I personally think running native code will cause more headaches than it can solve.

Maciej Jagiello

unread,
Aug 6, 2008, 2:30:27 PM8/6/08
to sharpos-d...@lists.sourceforge.net
I would rather consider solutions such as GCC-CIL
(http://www.mono-project.com/Summer2005#GCC_CIL), but it would be
somehow ugly anyway...
Btw, the GNU Classpath has a TrueType renderer, but we must consider
license issues (GPLv2+CP) if the implementation's going to be shared
among projects.

Bruce Markham

unread,
Aug 6, 2008, 3:15:28 PM8/6/08
to sharpos-d...@lists.sourceforge.net
gcc-cil seems to be rather defunct now. A guy worked on it for SOC '05, never finished, and has moved on to other pursuits.

Eventually, hopefully, someone from one of our OS projects, or someone from GCC, or someone from Mono, will come along and pick up the slack...
Reply all
Reply to author
Forward
0 new messages