sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: Readme file for letest and gendata sl@0: sl@0: sl@0:

What are letest and gendata?

sl@0: letest is a program you can use to verify that you have built and sl@0: installed the ICU LayoutEngine correctly. The test is not comprehensive, sl@0: it just verifies that the results of laying out some Devanagari, Arabic sl@0: and Thai text are as expected. Once this test has passed, you can use sl@0: the ICU LayoutEngine in your application knowing that it has been sl@0: correctly installed and that the basic functionality is in place. sl@0:

gendata is a program that is used by the ICU team to build the sl@0: source file testdata.cpp, which contains the expected results of running sl@0: letest. Unless you have changed your copy of the LayoutEngine and want sl@0: to validate the changes on other platforms, there's no reason for you sl@0: to run this program.

sl@0:

(The ICU team first runs a Windows application which uses the ICU sl@0: LayoutEngine to display the text that letest uses. Once it has been sl@0: verified that the text is displayed correctly, gendata is run to produce sl@0: testdata.cpp, and then letest is run on Windows to verify that letest sl@0: still works with the new data.)
sl@0:  

sl@0:

How do I build letest?

sl@0: First, you need to build ICU, including the LayoutEngine. sl@0:

On Windows, the layout project should be listed as a dependency of sl@0: all, so layout will build when you build all. If it doesn't for some sl@0: reason, just select the layout project in the project toolbar and build sl@0: it.

sl@0:

On UNIX systems, you need to add the "--enable-layout=yes" option sl@0: when you invoke the runConfigureICU script. When you've done that, sl@0: layout should build when you do "make all install"

sl@0:

To build letest on Windows, just open the letest project in sl@0: <icu>\source\test\letest and build it. On UNIX systems, connect to sl@0: <top-build-dir>/test/letest and do "make all"
sl@0:  

sl@0:

How do I run letest?

sl@0: Before you can run letest, you'll need to get the fonts it uses. For sl@0: legal reasons, we can't include them with ICU, but you can download them sl@0: from the web. To do this, you'll need access to a computer running sl@0: Windows. Here's how to get the fonts: sl@0:

Download the 1.3 version of the JDK from the IBM developerWorks Java technology zone sl@0: page. From this page, follow the "Tools and products" link on the left sl@0: hand side, and then the link for the "IBM Developer Kit for Linux", or sl@0: the "IBM Developer Kit for Windows(R), Release 1.3.0". You'll need to sl@0: register with them if you haven't downloaded before. Download and sl@0: install the "Runtime Environment Package." You'll need two fonts from sl@0: this package. If you've let the installer use it's defaults, the fonts sl@0: will be in C:\Program Files\IBM\Java13\jre\lib\fonts. The files you want sl@0: are "LucidaSansRegular.ttf" and "Thonburi.ttf" Copy these font files to sl@0: the directory from which you'll run letest.
sl@0:

sl@0:

Next is the Hindi font. Go to the  NCST site and download  sl@0: raghu.ttf. Be sure to look at the  README sl@0: file before you download the font. You can download raghu.ttf into the sl@0: directory from which you'll run letest.
sl@0:

sl@0:

There's still one more font to get, the Code2000 Unicode font.Go to sl@0: James Kass'  Unicode sl@0: Support In Your Browser page and click on the link that says "Click sl@0: Here to download Code2000 shareware demo Unicode font." This will sl@0: download a .ZIP file which contains CODE2000.TTF and CODE2000.HTM. sl@0: Expand this .ZIP file and put the CODE2000.TTF file in the directory sl@0: from which you'll run letest.
sl@0:

sl@0:

Note: The Code2000 font is sl@0: shareware. If you want to use it for longer than a trial period, you sl@0: should send a shareware fee to James. Directions for how to do this are sl@0: in CODE2000.HTM.

sl@0:

That's it! Now all you have to do is run letest (CTRL+F5 in Visual sl@0: C++, or "./letest" in UNIX) If  everything's OK you should see sl@0: something like this:

sl@0:
Test 0, font = raghu.ttf... passed.
sl@0: Test 1, font = CODE2000.TTF... passed.
sl@0: Test 2, font = LucidaSansRegular.ttf... passed.
sl@0: Test 3, font = Thonburi.ttf... passed.
sl@0: sl@0: