Archive for November, 2009
I had hoped to release a beta version of e2publish after this weekend. But I got caught up in some problems with the Text Layout Framework – so it will be a little while longer. I’m still refining the workarounds, and I’ll be putting in some bug reports soon.
The first problem is that ContainerController.textLength is unreliable. Investigating further, I discovered that the problem occurs when the ContainerController contains a line of text that is not terminated by a newline. Like might happen at the end of the textflow.
I managed to get around the problem as follows (within a class that inherits ContainerController) …..
if (textLength==0 && getSubString(textFlow,absoluteStart,absoluteStart+1)!='') textLength=textFlow.textLength-absoluteStart-1;
If textLength is zero, yet we still detect a character in the first position of the ContainerController, then clearly, textLength shouldn’t be zero – so we calculate what it should be assuming that we’re at the end of the textflow and knowing what the total length of the textflow should be.
I’ve utilised a substring method that I found on adobe forums. I was using this anyway in my program – so it was convenient to call it here. No doubt there’s a better workaround that doesn’t rely this method.
But don’t try to override textLength. I tried, and it caused problems. I’m not entirely sure why, but this seemed to cause several other ContainerController methods to fail – as if they rely on the incorrect value.
The second problem I’ve encountered is that ContainerController.getScrollDelta(n) fails with a run time error depending on the contents of the ContainerController. If the ContainerController is empty, or has only newline characters – this causes a failure.
The next version of e2spreadsheet has:-
1. New, powerful OLAP totals feature.
2. More powerful cell formatting. Choose currency symbol and number of decimals.
3. Choose number of frequency bins for frequency graph.
4. AVERAGE(), ABS(), ROUND(), TRUNC(), MIN() and MAX() functions added to formula language.
5. Cosmetic changes and a side-palette.
6. Undo graph palette position/resize bug fixed.
7. Append .e2s extension on files.
8. Other minor bug fixes and improvements.
The next version of e2vector has:-
1. A new brush tool!
2. Import and export FXG files – meaning that you can transfer illustrations to and from Flash!
3. Undo pen tool drawing bug fixed.
4. Other bug fixes and improvements.
The overall plans is to make these client AIR applications stable and powerful. Next I’ll write the server-side stuff to allow users to collaborate and share documents.
I’ll announce when all these updates are available here or on twitter.
Some of the features that I described in my video tour of e2publish won’t be making their way into the first release. Adobe’s font licensing is just too restrictive.
It looks like ligature, digit case and digit width only have an effect on certain fonts. But there are licensing issues with those fonts. Adobe sells five user licenses for US$29 or US$35 per font.
Five user license? What does this mean in a networked collaborative online context?
Well, according to Adobe this licensing model is VERY restrictive. Too restrictive for online use.
“You may not use the fonts on any internet or web-hosted service outside of your internal network”
This means that Adobe’s guided tour of the Text Layout Framework is somewhat misleading. Because technically, you wouldn’t be allowed to make your own website or collaborative application using fonts like Selentium Pro.
Adobe can do it – because they’re obviously exempt from their own licensing conditions. But for anyone else – it would be technically illegal.
So it seems like Adobe’s heavy-handed legal shackles are restricting our potential to really fly with the technology.
Clearly, Adobe need to think about this. (I’m not holding my breath.)
How should Adobe monetise the online use of its fonts? There is a licensing model for Monotype fonts that they may want to look at.
. . . . . . . . . . .
I don’t twitter often because software development doesn’t lend itself to commentary. Coding is esoteric. An internal mental process not easily shared with others. I’ve lost many subscribers due to my inactivity. However, whenever I have something important to say, or an announcement or new release of an e2application – I’ll twitter it. So if you’d like to be alerted about the public beta test of e2publish – you can subscribe to my twitter or this blog.