scuffed-code/icu4c/source/samples/layout
2011-10-18 17:56:08 +00:00
..
arraymem.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
cgnomelayout.c ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
clayout.c ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
cmaps.cpp ICU-2959 update copyright dates to include 2003 2003-06-03 20:58:22 +00:00
cmaps.h ICU-2959 update copyright dates to include 2003 2003-06-03 20:58:22 +00:00
FontMap.cpp ICU-5438 Convert Linux version of layout sample to use Freetype2, Cairo. 2006-12-28 19:15:22 +00:00
FontMap.GDI ICU-7773 added copyrights and deleted sample .txt files from csdet 2010-06-21 18:23:25 +00:00
FontMap.Gnome ICU-4335 Record, test font checksum and version strings in testdata. Change readme to reference Sun JRE and free Thai font. Use current date to set copyright date, gneration date in testdata.cpp. 2005-01-25 22:29:46 +00:00
FontMap.h ICU-2959 update copyright dates to include 2003 2003-06-03 20:58:22 +00:00
FontTableCache.cpp ICU-6011 Clean up font table memory handling; GDIFontInstance: try to read 'head' and 'hhea' table if GetOutlineTextMetrics() fails. 2008-03-19 21:08:08 +00:00
FontTableCache.h ICU-6011 Clean up font table memory handling; GDIFontInstance: try to read 'head' and 'hhea' table if GetOutlineTextMetrics() fails. 2008-03-19 21:08:08 +00:00
GDIFontInstance.cpp ICU-6011 Clean up font table memory handling; GDIFontInstance: try to read 'head' and 'hhea' table if GetOutlineTextMetrics() fails. 2008-03-19 21:08:08 +00:00
GDIFontInstance.h ICU-2405 changes to support composite fonts. 2003-03-03 23:07:01 +00:00
GDIFontMap.cpp ICU-3248 Fix bogus return NULL in openFont 2003-11-05 00:47:46 +00:00
GDIFontMap.h ICU-2959 update copyright dates to include 2003 2003-06-03 20:58:22 +00:00
gdiglue.cpp ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
gdiglue.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
GDIGUISupport.cpp
GDIGUISupport.h ICU-4288 fix lots of warnings. 2005-02-28 23:36:40 +00:00
GnomeFontInstance.cpp ICU-5805 Update copyright notices for ICU 3.8 2007-07-27 03:12:12 +00:00
GnomeFontInstance.h ICU-5438 Convert Linux version of layout sample to use Freetype2, Cairo. 2006-12-28 19:15:22 +00:00
GnomeFontMap.cpp ICU-5438 Convert Linux version of layout sample to use Freetype2, Cairo. 2006-12-28 19:15:22 +00:00
GnomeFontMap.h ICU-5438 Convert Linux version of layout sample to use Freetype2, Cairo. 2006-12-28 19:15:22 +00:00
gnomeglue.cpp ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
gnomeglue.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
GnomeGUISupport.cpp ICU-1428 Changes for multiple windows, open dialog. 2002-03-14 22:27:32 +00:00
GnomeGUISupport.h ICU-4288 fix lots of warnings. 2005-02-28 23:36:40 +00:00
gnomelayout.cpp ICU-5438 call poptFreeContext when done parsing arugments. 2007-01-03 20:28:53 +00:00
gsupport.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
GUISupport.h ICU-4288 fix lots of warnings. 2005-02-28 23:36:40 +00:00
layout.cpp ICU-5991 Use GWLP_USERDATA instead of 0 for the index to SetWindowLongPtr(). 2007-10-12 20:10:20 +00:00
layout.sln ICU-8883 Update individual samples solution file to MSVC 2010 2011-10-18 17:56:08 +00:00
layout.vcxproj ICU-8028 update version number to milestone:4.6, bump timebombs, etc 2010-10-09 01:23:28 +00:00
layout.vcxproj.filters ICU-7870 VS2010 - tests and samples 2010-08-11 00:59:38 +00:00
LayoutSample.rc ICU-3349 Fix for VS .NET 2003 2003-12-14 19:26:02 +00:00
Makefile.in ICU-8452 un-autoconf platform.h, move user-configurable settings to uconfig.h, and other changes; from svn merge --reintegrate branches/markus/platformh at r30411 2011-07-23 00:10:30 +00:00
paragraph.cpp ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
paragraph.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
pflow.c ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
pflow.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
readme.html ICU-7773 added copyrights and deleted sample .txt files from csdet 2010-06-21 18:23:25 +00:00
RenderingSurface.h ICU-2405 changes to support composite fonts. 2003-03-03 23:07:01 +00:00
resource.h ICU-2959 Added copyright notices to files that didn't have them 2003-06-04 01:06:48 +00:00
rsurface.cpp ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
rsurface.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
Sample.txt ICU-3421 Corrected two errors in the Baghivad Ghita text. 2003-11-26 00:03:35 +00:00
ScriptCompositeFontInstance.cpp ICU-3132 change le_bool back to UBool, and uppercase true and false; some lame-o C++ compilers don't implement bool. 2003-12-08 22:43:41 +00:00
ScriptCompositeFontInstance.h ICU-8428 remove @draft etc. API tags from non-API headers (impl, tests, samples) 2011-05-16 20:46:27 +00:00
sfnt.h
Surface.cpp ICU-2959 Updated copyright notices 2003-06-03 06:44:40 +00:00
Surface.h ICU-2959 Updated copyright notices 2003-06-03 06:44:40 +00:00
ucreader.cpp ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
ucreader.h ICU-5565 Merge loengine branch to trunk! 2007-06-22 03:57:45 +00:00
UnicodeReader.cpp ICU-4288 fix lots of warnings. 2005-02-28 23:36:40 +00:00
UnicodeReader.h

<!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) 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
  &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". 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
  &lt;top-src-dir&gt;/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>