Lemur texts and fonts (Lemur + JME-TTF ?)

As far as I have seen into it, the font/text support in Lemur is at a very basic level out-of-the-box. I’d love it to be integrated with the JME-TTF project (jME-TrueTypeFont Rendering Library - #192 by Tryder) from the start… and I’ve seen the Lemur Dynamo initiative of @Tryder too, but I am not sure if it is ready for use.

What is the best way to have Lemur with more power for fonts, for example, via the Dynamo library? How do I better setup this?

Maybe there’s a maven artifact for that somewhere?

Maybe this helps?

For the record Lemur Dynamo does work with the latest version of jME-TTF now.

Well, yeah, this is related, but I was not sure if actual. Hence, I decided to ask, especially that I could not find a page of the project (there is the JME-TTF page, but it does not cover Dynamo)

Great! Is there any official website for the library? Maybe a GitHub page and/or Maven coordinates? Seems like I can’t find it on your website…

Unfortunately not, just the zip file on Google Drive. Lemur Dynamo was really intended for my own personal use and I threw it up on Google Drive in case anyone wanted to use jme-ttf without writing their own ui system to work with it, but for that purpose there was never a need to write up any information about it as the Lemur documentation and tutorials apply just the same so if you can use Lemur then you can use Lemur Dynamo.

All you really need to do is look at the GUIGlobals class, either in source or in the docs included in the dynamo zip, to see the additional font loading methods. If using Groovy then also look at the Groovy API in the sources, I think in com.simsilica.lemur.styles maybe, and take a look at the additional methods available for loading fonts via Groovy styles.

Additionally I did add some functionality with new controls, like the thumbstick, and improved controls, like the text field, a couple new layouts, VBoxLayout and HBoxLayout and new background options with GradientBackgroundComponent. I’m sure it would be quite helpful for me to write something up on how to use these and maybe I will at some point, but putting that stuff together is considerably more complicated for me right now.

P.S. I’m typing this on my phone and don’t have my computer in front of me right now, but somewhere in the styles directory of the dynamo source there should be some example styles that you can study. The Advent and Razor styles show how to style a thumbstick, drop down menu, combo box, how to use the GradientBackgroundComponent and how to load true type fonts. There is one additional Advent style written in Java, rather than Groovy, which shows how one would create the Advent style directly in Java code without using Groovy.

3 Likes

Hmm, I see, thank you for the description! :slight_smile: Don’t you have plans on putting these artifacts in a Maven repo too? As with many good community contributions that I have seen, it is very sad that it does not come easy to use and update it…

Google’s Sfntly library was like that. There’s virtually no information about it out there at all, it’s just a bunch of source code you can download and even then there are almost no comments in the code so I just had to sorta figure out what was going on by reading the code and tinkering with it. I mean there’s nothing that even gives you an idea on where to start, I had to look it over and see what looked like an entry point for reading fonts. Nonetheless it ultimately proved quite handy and studying it helped me learn a lot about fonts and the ttf/otf file format.

I’m not saying I’m not going to do what you ask, there’s a good chance I will at some point, but I really don’t have much time to work on that stuff right now. Believe it or not my lifestyle right now is a lot of work. I’m riding my bike, with 90lbs of extra gear, 20-30 (as high as 50-70) miles every day. Setting up and breaking camp every day. Finding and chopping wood to cook food. Setting up solar panels and moving them around to keep them out of the shade and pointed at the sun. Finding a suitable place to setup camp every night where we hopefully won’t get robbed or arrested. Finding and filtering water sources so we don’t die.

Every day I get better at it and I’m starting to add aspects of my old life back, I recently started working out again and have found the time to do some programming, but this shit takes a lot of everything you got.

P.S. My primary goal right now is to make it farther south before it gets too cold. A while ago my phone was complaining that the battery was too hot, it was blistering outside, Now it complains that it’s too cold, it’s been below freezing at night. I’m trying to race the temperature change on my way to Texas.

P.P.S I might add that jMonkeyEngine doesn’t even work on my computer. The SDK is completely unusable and a running game runs out of memory in about 15 seconds. That last bit of work I did on Lemur Dynamo and jME-TTF, when testing it I had to have the task manager up and ready to kill the process before it locked up my system so I had roughly 15 seconds everytime I ran a test to see if it was working or not.

1 Like

Wow! Thanks for sharing the story! That sounds like a lot of challenge… I’m wishing you luck in the journey! Hope you come back to us.

As for the libraries matter, no problem, then I’ll mavenize them for myself, locally to have them as standard Maven deps.

1 Like