jME-TrueTypeFont Rendering Library

Offtopic about code repositories and cloud storage

Considering they shutdown googlecode (and the projects “auto-migration?” to github were not 100%), I researched a bit and I believe that dropbox seems much more reliable concerning longevity :), their infra-structure seems more solid/well developed too.

EDIT: Also considering they closed orkut… I think we know what can be expected from them…

EDIT: but I think github is better anyway concerning code, as I mainly use it now. Unfortunately they dont say how worldly spread their servers are (like sourceforge does), so we have to trust they are doing it geographically right.

Yeah, but DropBox only has like 1 or 2 gigabytes of free storage, GDrive is around 15 and I’ve currently used two of that. Last I heard Amazon was winning the ‘storage wars,’ but I don’t think they offer any free space at all.

I use it for more than just code, I have games, applications, models, wallpapers etcetera stored on there. When Ubuntu One and Copy closed down they both provided a free Mover.io account to move my files to another service which was nice. Of course I had to re-link everything on my web-site which was a pain to say the least. Wouldn’t have been so bad except that, like I said, Weebly doesn’t make editing my web-site easy.

Some of the stuff wasn’t so bad. Weebly doesn’t support server side languages like PHP so in order to do dynamic listing of items on a page I use JavaScript combined with XML, so the links on the list pages were easy to update, I just had to update the entries in the XML documents and upload the XML, but the links on each item page had to be updated and that was a bit of a pain. Weebly’s on-line editor doesn’t always save changes. Plus I had to update a bunch of images displayed on my site. A lot of the wallpaper thumbnails and stuff were linked to cloud storage sites so I wasn’t eating up a bunch of my free Weebly storage, but now I don’t have direct linking so I had to move the thumbnails onto Weebly. That was a test of patience no doubt. Weebly’s “theme editor” is where I store the images, XML, JavaScript and CSS and the “theme editor” is rife with bugs.

First of all it’s extremely slow or completely unresponsive. I have to click the button to get to the theme editor multiple times and when it does finally work it takes 2-3 minutes to actually display. When deleting or uploading items the upload doesn’t take long, but once each individual item is uploaded or deleted the editor pauses for a good 5-10 minutes between each individual item uploaded or deleted. Sometimes when clicking on a file or folder in the theme editor that file or folder just disappears and I have to exit the editor, which takes a few minutes, and go back in which takes another few minutes. I can’t just upload a new XML file either, I have to delete the current one and then save the changes, exit the editor and go back in then upload the new one. If I don’t save and exit the uploaded one gets deleted along with the old one.

Just adding a new entry to the ‘Updates’ section on my web-site can take half a god damned hour.

But… It’s free so, you know, there’s that.

P.S. I did take a quick peek at some Weebly JavaScript code and it appears that they do not use any threaded JavaScript methods so when the editor locks up the whole damned browser locks up. I don’t like to complain, you know because it’s free and it’s nice just to have something at all, but I would say that it is the single worst user interface I’ve ever used.

And I’m like obviously some people working for Weebly have used this thing, I don’t get it, it’s terrible and there’s no pretending it’s not.

P.P.S. Oh yeah, here’s another fun one. I only use one of the drag and drop widgets to make my pages on Weebly. I write my HTML using KATE, Linux/KDE Notepad, then copy and paste it into the HTML widget in the Weebly editor. This widget is, like everything else, terrible. When you click in it to start writing a little window that has no business being there indicating you are editing in the HTML widget pops up OVER TOP of the HTML editor. Now you can drag this window out of the way, but doing so de-focuses the HTML editor and when you click back in the HTML editor to start typing the window pops back over top of the editor blocking half the editor view so you basically can’t type in it. You can’t make little changes to what’s there, you have to select all and delete it then paste all your HTML code into it because you can’t see what you’re typing.

Honestly, I get the impression they made it so unbelievably unusable on purpose. I can’t really think of any other explanation.

Offtopic about code repositories and Weebly

Everything we do not create, will be somewhere. Images, videos, games. The point is, whatever we strain our brains to create shall be better protected.

Sourceforge has truly worldwide servers, so it is strategically my n.1 choice, but I do liked github for some reason too… I think it is cool (w/e that may mean strategically speaking LOL)

The problems you are having should be dealt with command line scripting. Learn about sed, after you get used to it, you will do most things with it. But you can still use windows’s notepad++ macros thru winehq (until you learn how powerful sed is). Unless Weebly stores configurations in binary, then you are doomed :>

Ps.: you actually should copy all these complaints and paste at Weebly forum, clean/enumerate it up to sound like “suggestions”, so they have a chance to improve it. Here they may never know, and someday you may giveup on it…

I’m generally not one to complain. What I said are just facts about my experiences with Weebly. It may be the worst interface I’ve used, but if it were not for that, albeit cumbersome, interface I would have no website at all and so I am thankful just to have something.

I think the idea is that if I wanted something less frustrating I would have to pay for it and in my opinion the price is too high. Really I don’t have to operate a website at all, my website doesn’t really offer any benefit to me personally. It’s no Facebook in terms of traffic, but according to Weebly 100-200 people a week visit my site. Presumably some of them find something there that is useful to them and so I operate it for them, not for me.

I do have a donations page which to date has garnered zero donations. I suppose I put that up a few years ago when I was concerned about my living situation just to explore my options and never took it down. I like to provide the things I do for others to use, but I think, understandably so, there’s probably some concern over the motivations of someone offering something with apparently nothing to gain for themselves so the donations page might also offer some peace of mind to those considering my wares. That is to say, oddly enough, a person not asking for something in return must be doing something malicious behind the scenes so a donations page, unintentionally, makes it look like I’m asking for something in return.

P.S. Actually I did receive a donation once, but it was shortly before I put up a donations page and is what gave me the idea to put it up. Someone sent to my google address via PayPal $600. I didn’t actually have a PayPal account at the time, but when I received the e-mail I went to PayPal and signed up then promptly got in touch with the sender and sent the money back. I figured it was a mistake because I often receive e-mails intended for someone else with the same name as myself who I believe lives in the UK. I get his library overdue notices too, apparently he was recently interested in reading about Brexit. I don’t actually know his real e-mail address so I can’t get in touch with him to see about remedying that. One of his old College professors once sent me an e-mail about selling me a used professional camera. We laughed a bit about the mistaken identity, but he didn’t know the guys real e-mail address either.

1 Like

They shut down google code because of two main reasons:

  1. people were moving in droves to github (even their own internal teams in some cases)
  2. 90% of projects were becoming cesspools of spam and malware, etc… too hard to police all of the abandoned projects with open issue trackers, etc…

ie: it was costing them WAY more money than it was worth.

I don’t think that’s going to happen with google drive. DropBox is just as likely to go out of business as Google is to stop one of their actual core money-making services.

1 Like

For this you mean the non-jme libraries? All JME jars get -sources and -javadoc in the same place in jcenter that the jars are uploaded. It’s actually a requirement.

Offtopic JME dependencies sources availability

yes yes, I mean I am not being able to find some of the non-jme libs sources that are jme dependencies, but not developed by the jme team…

I mean, if it is all open source, all these source codes should be bundled together, so that specific lib version source code has less chances of being lost, but that’s just my opinion.

So, when a source package is created, all related available sources should be bundled together. This is what I will do with software I develop. I am not demanding it… but it would be much less hassle for its users if such sources were always made available…

I, personally, go as deep in debug as the sources are available, and many times I am prevented from going further and begin my guess work again :frowning:

Nice job :grinning:, I wonder if it supports Chinese font.
Let me try it.


:cry: can’t download it because can’t visit google.com
I’ll try VPN…

1 Like
Offtopic about code repositories

May be the best thing then is to have our code in two places always.

My console project, I commit to github, but I also have a daemon auto backuping any changes to it to my dropbox.

Let me know if it doesn’t work over VPN, I’d be happy to upload it to DropBox or some other site that you can access.

1 Like

This is one of the reasons we are trying to deprecate everything without official releases in maven repos like jcenter… because all jcenter releases require the -sources.

1 Like
Offtopic about source code availability

A pity I cant stand maven, it takes hours to complete a download task (on eclipse) that manually I can perform in 15min… that “forever checking repositories (or w/e)” is unbearable to me…

But I will look for this jcenter and download directly the ones that are missing (considering they are already there :)), thx!

EDIT: cool https://jcenter.bintray.com/org/jmonkeyengine/

failed download file google.com :cry:

I can’t stand maven either. I use gradle for my personal and OSS projects… then curse every day of my day-job life that I’m forced to use Maven there.

Gradle is much better. I don’t know about Eclipse integration but from the command line it’s a dream… and works well from Intelli-J as I understand it.

2 Likes

Thanks goodness some friends download that for me.
It works great with Chinese!

8 Likes
Offtopic about IDEs

in truth I am a bit tired of eclipse “code helper” (the way it keeps positioning and creating code that I have to keep deleting and adjusting ahhhhhh… hehe)
EDIT: actually it is the 2nd time I try Intellij and… there is something on it I don’t like yet, may be it is their commercial license, or its slowness on my machine, or the much memory it uses? anyway, I am making peace with eclipse again (lol) and learning better how to use it instead of complaining :smiley:

I didnt know intellij had a free version! just found it! and it supports everything I need! the community edition!
Ultimate vs. Community - Compare Editions | IntelliJ IDEA
and it even has a ppa
IntelliJ IDEA Community Edition (DEPRECATED) : Marcel Kapfer

just installed gradle too to experiment (on ubuntu).
yes yes, daily life jobs… that’s why we require payment LOL, if it was pleasant we could (not would tho) work for free…
I avoided maven on work by (probably) using some linux bash scripts I created and directly downloading everything I needed from nexus. And… by updating only when it was unavoidable…

PS.: btw, I wonder what all these offtopic talks does with someone looking for specific “on-topic” posts :), it would be cool if we could just mark the offtopic posts so someone looking for “on-topic only” would see these offtopics shrinked.

@yan I am happy for you dude, good you could get it :slight_smile: !

@pspeed, there are few gradle plugins for eclipse.
But the strange things happening there (probably the reason in the ENV_VARS on ubuntu):
I have to use 2 at the same time. Gradle IDE pack for client subprojects on multiproject build, and Buildship for server side.
Also Minimalist Gradle Editor is used for syntax hightlight.

At the same time intellij solve this problem on the fly.

1 Like

Then you have some either wonky or non compatible configuration in gradle.

I used Buildship for everything and it worked out of the box. (As well as intellij kinda did), even netbeans did work.

However i reverted back to cmd, it is way faster than any of those plugins, and better in error cases.

Neither eclipse nor netbeans not intellij have a good handling to show the actual dependency tree and see automatic dependency conflict resolutions. So all are similar crappy :slight_smile:

1 Like

Two more minor bug fixes brings jME-TrueTypeFont to v1.23

2 Likes

@Ali_RS informed me that he noticed memory usage slowly rising while using LemurDynamo with jME-TrueTypeFont. I believe the issue here has to do with the texture atlas not being reclaimed from direct memory.

When jME-TrueTypeFont needs to store a new character in the atlas a new atlas is created and the old is discarded, however, if I’m not mistaken the ByteBuffers are not reclaimed from memory. To remedy this I inserted the following just before the new atlas is created:

if (atlas != null) {
    atlas.getImage().dispose();
    if (!NativeObjectManager.UNSAFE) {
        for (ByteBuffer buf : atlas.getImage().getData()) {
            BufferUtils.destroyDirectBuffer(buf);
        }
    }
}

This will remove the texture from memory immediately so it is important that anyone using this library add TTF_AtlasListeners to their project to ensure that when the atlas is updated they update any references they have to the new atlas, this includes resetting the textures on materials displaying text. If anyone is using LemurDynamo Labels and TextFields handle this appropriately.

Additionally if one does not want to deal with TTF_AtlasListeners they can pre-load any and all characters they want to be able to use by calling TrueTypeFont.getBitmapGlyphs(String text, int kerning) with a String containing all desired characters then call TrueTypeFont.lockAtlas(true) which will prevent all future updates to the atlas.

P.S. Just updated to 1.24a, I had forgotten to dispose of the texture in the finalize() method.

3 Likes