}
public synchronized void renderGlyph(Font.Glyph glyph) throws IOException {
- int width = 0;
- int height = 0;
- byte[] data = null;
-
try {
if (loadedStream != glyph.font.res) loadFontByteStream(glyph.font.res);
vm.setUserInfo(2, (int)glyph.c);
glyph.baseline = vm.getUserInfo(10);
glyph.advance = vm.getUserInfo(11);
- width = vm.getUserInfo(6);
- height = vm.getUserInfo(7);
+ glyph.width = vm.getUserInfo(6);
+ glyph.height = vm.getUserInfo(7);
- data = new byte[width * height];
+ glyph.data = new byte[glyph.width * glyph.height];
int addr = vm.getUserInfo(5);
- vm.copyin(addr,data,width*height);
+ vm.copyin(addr, glyph.data, glyph.width * glyph.height);
- if (width == 0 || height == 0) Log.log(Freetype.class, "warning glyph has zero width/height");
- glyph.p = Platform.createAlphaOnlyPicture(data, width, height);
} catch (Exception e) {
Log.log(this, e);
}