Jump to content
Chinese-Forums
  • Sign Up

ZDT: Unihan support and 3D flashcards


jpvalois

Recommended Posts

Hello,

Much as josvanouwerkerk, I've been wanting to develop an application like ZDT, but with added functionality for 1) Unihan dictionary look ups and 2) an enhanced flashcard view. Unihan support would make it more like CquickTrans and Wenlin, and enhanced flashcards would make me a very happy camper. Here's what I had in mind:

1) Unihan support

I've found a mixture of ZDT, CQuickTrans and Wenlin to be my current *almost* ideal setup for learning Mandarin. Wenlin is great for breaking down characters, CQuickTrans is superb for referencing all available free data (Unihan and CEDICT), and ZDT is wonderful for its flashcard capabilities, its openness and its portability. What I would like is for an additional "Unihan" view that would simply list all of the characters whenever a phrase is selected (from either the ZDT dictionary or from a category), much like CQuickTrans's behavior. Another "Hanzi detail" view would show pertinent info for one selected character (strokes, radical, pinyin, UTF, definition, frequency).

My questions for this item are :

  • Is there any project currently under way to import Unihan.txt?
  • If not, could it be done by pretty much duplicating the functionality for importing and accessing the CEDICT data?

2) Enhanced flashcards

Maybe I'm dreaming here, but I'd like to see flashcards in a 3D view, much as if I were handling an actual "card" in my hands. Perhaps even a "flash cube" would be better : hanzi on one side, and on the others: pinyin, English, radicals, an image, hints, who knows.

My question for this item is :

  • What would be the preferred 3D technology? I've got some prior experience with OpenGL, but am bedazzled at the state of things for accomplishing this with Java and SWT. Should I consider LWJGL, JOGL or gljava? Or something else? IBM's got a very nice tutorial called "Building and firing a BB gun" that seems to do just what I need. Is this the right way? As for Java3D, it appears to be linked to Swing/AWT, so that's pretty much out of the question (I think!).
  • The chosen technology should allow for the 3D contents to be manipulated with SWT widgets: which of the three above mentioned methods should I use for this purpose?

So are my wishes...

I've been programming for over 10 years now, have got lots of C experience (dating), some OpenGL, some Java and some database and DAL know how. I've been reading up on Spring lately and seeing how ZDT apparently makes use of many technologies I'd like to be more at ease with, it seemss to be the ideal project to start tinkering with.

If Chris is reading this, please tell me how you would prefer to see 3D implemented in ZDT.

Thanks so much to all who have contributed for such a nice piece of software.

Jean-Philippe Valois

(Montreal)

Link to comment
Share on other sites

I've just completed part 2 of the IBM DevWorks demo, which only requires the "experimental org.eclipse.opengl binding" (and it works!). However the Eclipse SWT OpenGL page mentions the following:

Please note that this binding is experimental and subject to change. If you are using SWT 3.2 or newer then you should use the supported OpenGL binding that is included in the SWT package instead.

But I couldn't get anything working without the experimental library! Perhaps my setup is not right?

I am so confused.

jp

Link to comment
Share on other sites

Well, looks like I'm the only poster in this thread...might as well go on!

I've been pursuing my 3D flashcard activities. Primo, looks like the current SWT package is probably all that's needed for my purposes (no JOGL or LWJGL or gljava required). Secundo, the TextRenderer would be quite helpful I believe, but the class seems liked to AWT. Tertio, from my current understanding, it appears as if the best way to accomplish my goal of mapping text to a face will be to first write text to a memory image, and then texture map the image to the surface.

If anybody out there knows anything about this stuff, please let me know if the following makes any sense (first step is simply loading an image into a texture - sadly it's not working yet: my OpenGL is quite rusty):

import org.eclipse.swt.examples.openglview.ImageDataUtil;

import org.eclipse.swt.graphics.Image;

import org.eclipse.swt.graphics.ImageData;

...

ImageData image;

image = new ImageData("d:/tmp/helloswt.bmp");

image = ImageDataUtil.convertImageData(this.image);

GL.glGenTextures(2, TEXTURES);

GL.glBindTexture(GL.GL_TEXTURE_2D, TEXTURES[0]);

GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST);

GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST);

GL.GL_TEXTURE_WRAP_S, GL.GL_REPEAT);

GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGB, image.width, image.height, 0, GL.GL_RGB, GL.GL_UNSIGNED_BYTE, image.data);

jp

Link to comment
Share on other sites

Thanks for the link to the Firefox add-on. I've just installed it and it works quite well.

As for unihan, I've already some experience with loading the data (unihan.txt) into a database; the challenge will be to make it all fit nicely into ZDT (using hsqldb + spring).

jp

Link to comment
Share on other sites

Hey Jean-Philippe. Sorry for not replying. I've been on vacation since Christmas and just got back. I think your idea sounds great...much more ambitious then anything I could ever do. :) So, I don't have any 3D programming experience, but I could definitely come up with a Unihan plugin that you could use. Send me an email (fongcn at gmail dot com) and maybe we can collaborate.

Chris

Link to comment
Share on other sites

Join the conversation

You can post now and select your username and password later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Click here to reply. Select text to quote.

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...