Skip to main content

Fonts,"with" keyword, GAC, Sub-pixel antialiasing (Cleartype)

10 replies [Last post]
dtrehas
Offline
Joined: 2004-03-15

Some propositions:

1. Implementation of sub-pixel rendering (a la ClearType) for Java2D. Maybe a better implementation of previous technology with sub-pixel antialiasing for x-axis and classic antialiasing for y-axis.

2. An implementation of "with" keyword, something like this (a la VB, Javascript)
with obj { .id = 1; .type="integer"; .name="aaa";}.
A nested use of "with" keyword to be possible.

3. Proper hinting for fonts (The 8,C,M are very ugly for some fonts!)

4. A GAC (Global Assembly Cache) type (.NET) facility

Sorry for my english ;)

P.S. I know know the Java2D topics are mentioned int bug parade. Please, Sun give more attention on these!

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
dtrehas
Offline
Joined: 2004-03-15

An example from the xmlenc (http://xmlenc.sourceforge.net/)

MLOutputter outputter = new XMLOutputter(new OutputStreamWriter(System.out), "US-ASCII");
outputter.startTag("html");
outputter.startTag("head");
outputter.startTag("title");
outputter.pcdata("Example document");
outputter.endTag(); // title
outputter.endTag(); // head
outputter.startTag("body");
outputter.pcdata("Example document");
outputter.endDocument(); // closes all tags and flushes the stream

becomes with the "with" facility
with (outputter) {
MLOutputter . = new XMLOutputter(new
OutputStreamWriter(System.out), "US-ASCII");
.startTag("html");
.startTag("head");
.startTag("title");
.pcdata("Example document");
.endTag(); // title
.endTag(); // head
.startTag("body");
.pcdata("Example document");
.endDocument(); // closes all tags and flushes the stream
}

tackline
Offline
Joined: 2003-06-19

If XMLOutputter methods where to return this rather than void (as, say, StringBuilder does), it could be written:

new XMLOutputter(new OutputStreamWriter(System.out), "US-ASCII")
.startTag("html")
.startTag("head")
.startTag("title")
.pcdata("Example document")
.endTag() // title
.endTag() // head
.startTag("body")
.pcdata("Example document")
.endDocument(); // closes all tags and flushes the stream

Even simpler and arguably less confusing.

Having said that, I'd like a way to invoke multiple methods on an object in one statement. Combined with chaining that would allow statically typed, hierarchical structures to be created in a single statement.

mgrev
Offline
Joined: 2003-08-12

+1 on fonts!

zander
Offline
Joined: 2003-06-13

Hehe; yes they sure do:

http://uic.sf.net/badfonts.png

Inset is a standard X11 (Qt) application with default settings for font AA.

selendic1
Offline
Joined: 2004-04-27

Yes, yes, yes, fix fonts, please.

opinali
Offline
Joined: 2003-06-17

JIT caching is not compatible with the dynamic optimizations made by advanced JVMs like HotSpot and IBM JDK. That's the main reason why Java outperforms .NET's CLR in some benchmarks, remarkably those measuring more "high-level" code (with lots of polymorphism, etc.).

Having said that, the tradeoff may be OK for "client" JVMs like HotSpot Client, as they don't do the most advanced optimizations anyway, and pre-jitting would also reduce JIT footprint and enable additional sharing (J2SE 5.0's CDS doesn't include jitted code).

But there are other problems. I see the GAC as a significant security problem. It contains native code, so we could have a conventional (native) virus, that understand its structure of that code and infects it. next time you run a JVM process that loads this pre-jitted code, bang! you're 0wn3d. It's less dangerous if every user has a private GAC, but Microsoft.NET doesn't do this. Of course, .NET stores the GAC with permissions that don't allow update from unprivileged accounts. But Windows is such a swiss cheese of security that I won't be surprised when the first GAC exploits come. Wi the current JRE, all native code is in the DLL/EXE files of the JRE, which can be made completely read-only for non-admins, and these native files never need to be created/updated when apps are installed, and it's not tightly integrated to the OS... so there are much less things to go wrong, it's a much simpler architecture to secure.

dtrehas
Offline
Joined: 2004-03-15

Something else:
5. A look and feel using the SwingWT (Swing to SWT bridge)
It's time Sun to use the effort of R. Rawson-Tetley and Eclipse team in order to give more consistent desktop applications

6.A more complete java library including native triangular methods and processor -optimized FFT algorithms. The later is very useful more multimedia applications!

Message was edited by: dtrehas

monika_krug
Offline
Joined: 2004-10-14

Can you explain what the "with" keyword should do?

Monika.

dtrehas
Offline
Joined: 2004-03-15

The "with" keyboard is a nice feature of VB in order to not use the name of the object again & again.

Example:

obj.name="aaaa";
obj.type=1;
obj.parentName="bbbb";
obj.print();
obj.save();

obj2.type = obj.type;
obj3=obj;

would be written as:

with obj{
.name="aaaa";
.type=1;
.parentName="bbbb";
.print();
.save();
obj2.type = .type;
obj3=. ;
}

I think is very simple to implement in javac!

afreije
Offline
Joined: 2004-10-14

Why not use the [b]this[/b] keyword:
[code]with (obj) {
name = "aaaa";
type = 1;
parentName = "bbbb";
print();
save();
obj2.type = type;
obj3 = this ;
}[/code]
Thus with () {} would hide the original meaning of [b]this[/b]. That shouldn't be a problem since you can always qualify [b]this[/b] by prepending the class name,similar to inner classes.