scuffed-code/icu4c/source/samples/layout
2003-02-05 00:05:40 +00:00
..
.cvsignore ICU-393 ignore, *.d, *.pdb, Debug, Release, .#* 2002-07-02 23:18:21 +00:00
cmaps.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
cmaps.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
FontMap.cpp ICU-2561 add default font. 2002-12-24 01:25:37 +00:00
FontMap.GDI ICU-1792 Change letest and LayoutEngine samples to use raghu.ttf, 2002-03-20 22:36:29 +00:00
FontMap.Gnome ICU-1792 Change letest and LayoutEngine samples to use raghu.ttf, 2002-03-20 22:36:29 +00:00
FontMap.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
GDIFontInstance.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
GDIFontInstance.h ICU-2243 make RenderingSurface::drawGlyphs *not* const. 2002-12-06 22:37:22 +00:00
GDIFontMap.cpp ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00
GDIFontMap.h ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00
GDIGUISupport.cpp ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
GDIGUISupport.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
GnomeFontInstance.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
GnomeFontInstance.h ICU-2243 make RenderingSurface::drawGlyphs *not* const. 2002-12-06 22:37:22 +00:00
GnomeFontMap.cpp ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
GnomeFontMap.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
GnomeGUISupport.cpp ICU-1428 Changes for multiple windows, open dialog. 2002-03-14 22:27:32 +00:00
GnomeGUISupport.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
gnomelayout.cpp ICU-2561 clean up imports, remove unneeded include directory. 2002-12-24 01:24:56 +00:00
GUISupport.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
layout.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
layout.dsp ICU-2243 remove traces of uscript; fix include files for release version. 2002-12-10 19:58:51 +00:00
layout.dsw ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
LayoutSample.rc ICU-1428 Add menu, file open to Windows layout sample. 2002-03-30 02:41:22 +00:00
Makefile.in ICU-2561 clean up imports, remove unneeded include directory. 2002-12-24 01:24:56 +00:00
paragraph.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
paragraph.h ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00
ParagraphLayout.cpp ICU-2405 Changes for 32-bit glyph IDs. 2003-02-05 00:05:40 +00:00
ParagraphLayout.h ICU-2243 Add comment about cleaning up constructors. 2002-12-13 22:41:39 +00:00
readme.html ICU-2561 Change download instructions for IBM JDK 1.3; expand build requirements for Linux; update script names; fix typos. 2002-12-18 23:50:39 +00:00
RenderingFontInstance.cpp ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00
RenderingFontInstance.h ICU-2243 make RenderingSurface::drawGlyphs *not* const. 2002-12-06 22:37:22 +00:00
resource.h ICU-1428 Add menu, file open to Windows layout sample. 2002-03-30 02:41:22 +00:00
Sample.txt ICU-1428 use ubidi to find run directions; take al the line seperators 2001-11-22 01:43:53 +00:00
sfnt.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
UnicodeReader.cpp ICU-2561 clean up error message for unknown encoding. 2002-12-24 01:26:20 +00:00
UnicodeReader.h ICU-1428 initial checkin of LayoutEngine sample 2001-11-07 23:48:17 +00:00
Utilities.cpp ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00
Utilities.h ICU-2243 Initial version of the high-level LayoutEngine API, added to the layout sample. 2002-12-05 22:50:29 +00:00

<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <meta name="Author" content="Eric Mader">
  <meta name="GENERATOR"
 content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
  <title>Readme file for letest and gendata</title>
</head>
<body>
<h2> What is the layout demo?</h2>
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. <br>
&nbsp;
<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
&lt;icu&gt;\source\samples\layout and build it.</p>
<p>On Linux systems, connect to &lt;top-build-dir&gt;/samples/layout
and do "make all" &nbsp;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&nbsp; modify
&lt;top-src-dir&gt;/samples/layout/Makefile.in  to reference the files
correctly for your system.<br>
&nbsp; </p>
<h2> How do I run the demo?</h2>
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 get
them for free from the web. To do this, you'll need access to a
computer running Windows. Here's how to get the fonts:
<p>Download the 1.3 version of the JDK from the<a
 href="http://www.ibm.com/java"> IBM developerWorks Java technology zone</a>
page. From this page, follow the "Tools and products" link on the left
hand side, and then the link for the "IBM Developer Kit for Linux", or
the "IBM Developer Kit for Windows(R), Release 1.3.0". You'll need to
register with them if you haven't downloaded before. Download and
install the "Runtime Environment Package." You'll need one font from
this package. If you've let the installer use it's defaults, the fonts
will be in C:\Program Files\IBM\Java13\jre\lib\fonts. The file you
want is "Thonburi.ttf" On Windows, copy this font file to your Fonts
folder, on Linux, copy this font file to the directory from which
you'll run the layout demo.</p>
<p>Next is the Hindi font. Go to the&nbsp; NCST site and download&nbsp;<a
 href="http://rohini.ncst.ernet.in/indix/download/font/raghu.ttf">
raghu.ttf</a>. Be sure to look at the&nbsp;<a
 href="http://rohini.ncst.ernet.in/indix/download/font/README"> README</a>
file before you download the font. On Linux, you can download raghu.ttf
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. Go to the Microsoft <a
 href="http://www.microsoft.com/typography/fontpack/default.htm">
TrueType core fonts for the Web</a> page and download the "Times New
Roman" font. This will download an installer program, called
"Times32.exe" which will install the Times New Roman fonts in your
fonts folder. (If you've already got these fonts in you fonts folder,
you may want to move them to another folder before you install these
fonts.) </p>
<p>NOTE: this installer will display an End User License Agreement
(EULA) which you must accept before proceeding. Be sure that you read
and understand this agreement before you install the font. </p>
<p>After you run the installer program, it will add the Times Roman
fonts to your fonts folder. If you're going to run the demo on Linux,
open the Fonts folder and copy the "Times New Roman" font (the file
name will be "Times.TTF") to the directory from which you'll run the
demo. </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>
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>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>
  <tt>HEBREW</tt> <br>
  <tt>HIRAGANA</tt> <br>
  <span style="font-family: monospace;">HANUNDOO</span><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</tt></blockquote>
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. <br>
&nbsp; <br>
&nbsp;
</body>
</html>