EgoMooseOldProjects / Rbx_CustomFont

A custom font management system for Roblox
MIT License
21 stars 17 forks source link

Support multiple fonts per atlas #5

Closed Gskartwii closed 8 years ago

Gskartwii commented 8 years ago

This feature will be essential if you're going to use, say, all the different weight variations of a font and want to reduce loading times.

EgoMoose commented 8 years ago

This has been something I've thought about doing in the past.

However, it seems as though Roblox is adding in better support for fonts. Since this is the case my attention to the project has dwindled. I honestly don't know if I will continue to make updates.

All that aside, the other "problem" with this is that every time I make a big change to the way the module reads the fonts it essentially renders all prior fonts useless. This is a big pain for early adopters of Rbx_CustomFont and I try to avoid making these changes whenever I can. As such, if this were to be added it would be once I have a few things I want to change so I get it done in one go.

In short, I'm not saying I won't add it, but it won't be any time soon.

Gskartwii commented 8 years ago

I see. I don't think the project will be complete obsolete though; knowing Roblox, they'll probably add a high price for uploading fonts.

EgoMoose commented 8 years ago

Good news! ~~ Your words have swayed me!

I'm currently looking into a different way of rendering the fonts. Ideally I'd like to move over to python entirely and cut out the middle man. If I can find a way to do that then that'll probably give me the justification to update the module!

Hopefully I'll be able to do it this weekend!

Gskartwii commented 8 years ago

Wonderful!

Removing the Python script dependency would vastly ease the creation of new fonts, but at the same time, I'm worried of the impact parsing XML would have on loading times, and loading times are the issue being resolved here.

EgoMoose commented 8 years ago

If I'm going to do it over I'll probably convert the font data to Lua tables. I'll get rid of the JSON entirely ideally.

Gskartwii commented 8 years ago

Let's see how that goes then.

EgoMoose commented 8 years ago

Yep, so this will work!

However, it's going to take some time as the module is not documented well at all! This means I have a fair amount of trial and error to do before I'm ready to get this guy out to the public. Sit tight though, this is in fact happening.

Gskartwii commented 8 years ago

Thanks a ton. I'll see if I can do anything to contribute myself.

EgoMoose commented 8 years ago

Yeah the python is being a real pain. I'm thinking I might use C# and freetype that should make life easier. Hopefully sometime this week!

EgoMoose commented 8 years ago

Made a lot of progress this weekend, but I probably won't be able to finish up tomorrow. Regardless, most of the hard stuff is done!

example

Gskartwii commented 8 years ago

Alright. I might do a PR myself sooner or later, I'm thinking of adding Unicode support.