| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> |
| <meta name="COPYRIGHT" content= |
| "Copyright (C) 2016 and later: Unicode, Inc. and others. |
| License & terms of use: http://www.unicode.org/copyright.html |
| |
| Copyright (c) 2001-2010 IBM Corporation and others. All Rights Reserved." /> |
| <meta name="Author" content="Eric Mader" /> |
| |
| <title>Readme file for the ICU LayoutEngine demo</title> |
| </head> |
| |
| <body> |
| <h2>What is the layout demo?</h2> |
| |
| <p>The layout demo displays a paragraph of text that is laid out using the |
| LayoutEngine. There are two versions of this demo, "layout.exe" which runs on |
| Windows 2000, and "gnomelayout" which runs on Linux. Both programs read a |
| file containing the Unicode text to display, and a file that says which font |
| to use to display each script.</p> |
| |
| <h2>How do I build the layout demo?</h2>First, you need to build ICU, |
| including the LayoutEngine. |
| |
| <p>On Windows, the layout project should be listed as a dependency of all, so |
| layout will build when you build all. If it doesn't for some reason, just |
| select the layout project in the project toolbar and build it.</p> |
| |
| <p>On Linux systems, you need to add the "--enable-layout=yes" option when |
| you invoke the runConfigureICU script. When you've done that, layout should |
| build when you do "make all install"</p> |
| |
| <p>To build the demo on Windows, just open the layout project in |
| <icu>\source\samples\layout and build it.</p> |
| |
| <p>On Linux systems, connect to <top-build-dir>/samples/layout and do |
| "make all". To build the layout demo on Linux, you'll need the |
| gnome-libs-devel and freetype-devel packages, which should be part of your |
| Linux distribution. The demo uses the FreeType 1 library, and the make files |
| assume that the FreeType header files are in /usr/include/freetype1, and that |
| the freetype library is /usr/lib/libttf.so. This is how RedHat Linux 7.2 |
| installs FreeType 1. If your system is different, you may need to add sym |
| links to where the files are stored on your system, or modify |
| <top-src-dir>/samples/layout/Makefile.in to reference the files |
| correctly for your system.</p> |
| |
| <h2>How do I run the demo?</h2> |
| |
| <p>Before you can run the demo, you'll need to get the fonts it uses. For |
| legal reasons, we can't include these fonts with ICU, but you can download |
| them from the web. To do this, you'll need access to a computer running |
| Windows. Here's how to get the fonts:</p> |
| |
| <p>First, download the Thai font. Go to <a href= |
| "http://www.freelang.net/fonts/index.php">freelang.net</a> and |
| click on the link for the Courier Thai font. This will download a .ZIP file. |
| Extract the Courpro.ttf font. On Windows, copy this font file to your |
| Fonts folder (note the name of the font after it is installed), on Linux, copy this font file to the directory from which |
| you'll run the layout demo.</p> |
| |
| <p>Next is the Hindi font. Download the font from <a href= |
| "http://www.ffonts.net/Raghindi.font.download">Raghindi</a>. On Linux, you can download the font into the |
| directory from which you'll run the layout demo. On Windows, you'll need to |
| install it in your Fonts folder.</p> |
| |
| <p>There's still one more font to get, the Code2000 Unicode font. Go to James |
| Kass' <a href="http://www.code2000.net/">Unicode Support In Your |
| Browser</a> page and click on the link that says "Click Here to download |
| Code2000 shareware demo Unicode font." This will download a .ZIP file which |
| contains CODE2000.TTF and CODE2000.HTM. Expand this .ZIP file. If you're |
| going to run the layout demo on Linux, put the CODE2000.TTF file in the |
| directory from which you'll run the demo. On Windows, copy the font to your |
| fonts folder.</p> |
| |
| <p><strong>Note:</strong> The Code2000 font is shareware. If you want to use |
| it for longer than a trial period, you should send a shareware fee to James. |
| Directions for how to do this are in CODE2000.HTM.</p> |
| |
| <p>Be sure that your FontMap.GDI (on Windows) or FontMap.Gnome file (on Linux) contains accurate |
| font names for each script type. For example, the following is a valid FontMap.GDI (assuming you have the correct fonts): |
| <br><br>DEVANAGARI: Raghindi<br>THAI: Courier MonoThai<br>DEFAULT: Code2000<br><br>Note that only the Code2000 default font is strictly necessary, |
| and that the other two can simply be commented out by a '#' if you do not wish to use them.</p> |
| |
| <p>Also note that the FontMap and the sample.txt files have to be in the same directory as the layout executable.</p> |
| |
| <p>That's it! Now all you have to do is run letest (CTRL+F5 in Visual C++, or |
| "./gnomelayout" in Linux)</p> |
| |
| <h2>How can I customize the layout demo?</h2> |
| |
| <p>The text that the layout demo displays is read from the file "Sample.txt." |
| You can change the text by editing this file using a Unicode-aware text |
| editor. (it is in UTF8 format with a BOM as the first character; the demo can |
| also read UTF16 and UTF32 format files) Remember that the text will be |
| displayed in a single paragraph; you can include CR and LF characters in the |
| text, but they will be ignored.</p> |
| |
| <p>If you add scripts to the text other than Arabic, Devanagari, Latin or |
| Thai, you'll need to find a font which contains the characters in that |
| script, and add an entry to the FontMap file ("FontMap.GDI" on Windows, |
| "FontMap.Gnome" on Linux) This file contains a single entry per line. Each |
| entry contains a script name followed by a colon, and then a font name.</p> |
| |
| <p>Here is the list of legal script names:</p> |
| |
| <blockquote> |
| <tt>ARABIC</tt><br /> |
| <tt>ARMENIAN</tt><br /> |
| <tt>BENGALI</tt><br /> |
| <tt>BOPOMOFO</tt><br /> |
| <span style="font-family: monospace;">BUHID</span><br /> |
| <tt>CANADIAN_ABORIGINAL</tt><br /> |
| <tt>CHEROKEE</tt><br /> |
| <tt>CYRILLIC</tt><br /> |
| <tt>DESERET</tt><br /> |
| <tt>DEVANAGARI</tt><br /> |
| <tt>ETHIOPIC</tt><br /> |
| <tt>GEORGIAN</tt><br /> |
| <tt>GOTHIC</tt><br /> |
| <tt>GREEK</tt><br /> |
| <tt>GUJARATI</tt><br /> |
| <tt>GURMUKHI</tt><br /> |
| <tt>HAN</tt><br /> |
| <tt>HANGUL</tt><br /> |
| <span style="font-family: monospace;">HANUNOO</span><br /> |
| <tt>HEBREW</tt><br /> |
| <tt>HIRAGANA</tt><br /> |
| <tt>KANNADA</tt><br /> |
| <tt>KATAKANA</tt><br /> |
| <tt>KHMER</tt><br /> |
| <tt>LATIN</tt><br /> |
| <tt>MALAYALAM</tt><br /> |
| <tt>MONGOLIAN</tt><br /> |
| <tt>MYANMAR</tt><br /> |
| <tt>OGHAM</tt><br /> |
| <tt>OLD_ITALIC</tt><br /> |
| <tt>ORIYA</tt><br /> |
| <tt>RUNIC</tt><br /> |
| <tt>SINHALA</tt><br /> |
| <tt>SYRIAC</tt><br /> |
| <span style="font-family: monospace;">TAGALOG<br /> |
| TAGBANWA</span><br /> |
| <tt>TAMIL</tt><br /> |
| <tt>TELUGU</tt><br /> |
| <tt>THAANA</tt><br /> |
| <tt>THAI</tt><br /> |
| <tt>TIBETAN</tt><br /> |
| <tt>YI<br /></tt> |
| </blockquote> |
| |
| <p>You can also use the script name "DEFAULT" to represent all scripts which |
| you don't explicitly list in the FontMap file.</p> |
| |
| <p>On Windows use the full name of the font as it appears in the Windows |
| Fonts folder (eg. "Times New Roman") On Linux, use the file name of the font |
| file (e.g. "Times.TTF") If you're running on Windows, you'll need to install |
| the new fonts in your Fonts folder. If you're running on Linux, put them in |
| the directory from which you'll run the demo.</p><br /> |
| </body> |
| </html> |