e2630187a8adec579494b4a877c4882b5f896df5
[m17n/m17n-lib.git] / README
1 This directory tree holds version 1.5.4 of the m17n library.    -*- text -*-
2
3 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
4   National Institute of Advanced Industrial Science and Technology (AIST)
5   Registration Number H15PRO112
6 See the end for copying conditions.
7
8 The m17n library is a multilingual text processing library for the C
9 language.
10
11
12 (1) INSTALLATION
13
14 (1-1) From CVS working directory.
15
16 Run the script "bootstrap.sh" in this directory.  It is tested that
17 the script run successfully with these versions of autotools.
18
19         libtool-1.5.22
20         automake-1.9.6
21         autoconf-2.61
22         pkg-config-0.22
23
24 Then, proceed to the next step.
25
26 (1-2) From the tarball.
27
28 The m17n library utilizes these extra libraries.  It is recommended to
29 install all of them before running the "configure" script.  The script
30 will find out the existence of them automatically.
31
32         libxml2         -- http://xmlsoft.org/
33         fribidi         -- http://fribidi.sourceforge.net/
34         freetype        -- http://www.freetype.org/
35         libotf          -- http://www.m17n.org/libotf/
36         fontconfig      -- http://freedesktop.org/Software/fontconfig
37         xft             -- http://freedesktop.org/Software/Xft
38         gd              -- http://www.boutell.com/gd/
39
40 In addition, for finding a word boundary in Thai text, "configure"
41 checks the existence of these libraries (libthai is preferred):
42
43         libthai         -- http://sourceforge.net/projects/libthai
44         wordcut         -- http://thaiwordseg.sourceforge.net/
45
46 The sample program m17n-edit utilizes this Japanese inputting system.
47 It is also recommended to install it.
48
49         anthy           -- http://anthy.sourceforge.jp/
50
51 Then, type the followings on the command line.
52
53         % ./configure
54         % make
55         % make install
56
57 Note that this package assumes an ANSI C compiler such as gcc.  It
58 will not compile with an old-style K&R compiler.
59
60 The default installation path is "/usr/local".
61 Thus, these header files are installed in /usr/local/include:
62         m17n-core.h, m17n.h, m17n-gui.h, m17n-err.h, m17n-X.h, m17n-flt.h
63
64 These library files are installed in /usr/local/lib:
65         libm17n-core.{a,so*,la}
66         libm17n.{a,so*,la}
67         libm17n-gui.{a,so*,la}
68         libm17n-X.{a,so*,la}
69         libm17n-gd.{a,so*,la}
70         libm17n-flt.{a,so*,la}
71         libimx-anthy.{a,so*,la},
72         libimx-ispell.{a,so*,la},
73
74 This shell script is installed in /usr/local/bin:
75         m17n-config
76
77 These pkgconfig metadata files are installed in
78 /usr/local/lib/pkgconfig:
79         m17n-core.pc, m17n-shell.pc, m17n-flt.pc, m17n-gui.pc
80
81 These sample programs are installed in /usr/local/bin too:
82         m17n-conv, m17n-date, m17n-view, m17n-dump, m17n-edit
83
84 If you don't need GUI libraries (libm17n-gui.so and etc.), you can
85 instruct the `configure' script not to build them as below:
86
87         % ./configure --without-gui
88
89 This file under `example' sub-directory is a Japanese resource file
90 for m17n-edit.  It is not installed but useful in Japanese locale.  Copy
91 it to your home directory (or, for instance,
92 /usr/X11R6/lib/X11/ja/app-defaults) and rename it to "M17NEdit" if you
93 want to see labels in Japanese:
94         M17NEdit.ja
95
96 These text files under `example' sub-directory are not installed but
97 useful for testing the rendering engine of the m17n library:
98         HELLO.utf8 HELLO.xml HELLO-ja.utf8 HELLO-ja.xml HELLO.html
99 XXX.xml are generated from XXX.utf8 by attaching text property
100 `language' and serializing.
101
102 Please read also INSTALL for the generic installation instructions.
103
104
105 (2) DATABASE
106
107 The m17n library utilizes the m17n database available at:
108         http://www.m17n.org/m17n-lib/m17n-db
109 Without this database, the m17n library loses half its value.  Please
110 install it (Ver.1.4.0 or the later is required) too before you try the
111 above sample programs or develop a program that uses the m17n library.
112
113
114 (3) DOCUMENTATION
115
116 This page has a link to full documentation of the m17n library:
117         http://www.m17n.org/m17n-lib
118
119 Actually, the documentation was generated by Doxygen using comments in
120 the source files.  There are English and Japanese comments in
121 parallel.
122
123
124 (4) USAGE
125
126 The library provides three levels of APIs, CORE, SHELL, and GUI.  For
127 CORE API, include <m17n-core.h>, for SHELL API, include <m17n.h>, and
128 for GUI API, include <m17n-gui.h >.  In addition, for those who need
129 only text shaping facility that uses FLT (Font Layout Table), the
130 library provides FLT API.  To use it, include <m17n-flt.h>.
131
132 See the documentation above, or the manual of m17nIntro(3) for more
133 detail.
134
135 The shell script "m17n-config" helps compiling and linking of a
136 program that uses the m17n library.  For instance this compiles PROG.c
137 that uses SHELL API and builds executable PROG.
138
139         % gcc -o PROG `m17n-config --cflags` `m17n-config --libs` PROG.c
140
141 This compiles PROX.c that uses GUI API and builds executable PROX.
142
143         % gcc -o PROX `m17n-config GUI --cflags` `m17n-config GUI --libs` PROX.c
144
145
146 ----------------------------------------------------------------------
147 Copyright information
148
149 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
150   National Institute of Advanced Industrial Science and Technology (AIST)
151   Registration Number H15PRO112
152
153 This file is part of the m17n library.
154
155 The m17n library is free software; you can redistribute it and/or
156 modify it under the terms of the GNU Lesser General Public License
157 as published by the Free Software Foundation; either version 2.1 of
158 the License, or (at your option) any later version.
159
160 The m17n library is distributed in the hope that it will be useful,
161 but WITHOUT ANY WARRANTY; without even the implied warranty of
162 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
163 Lesser General Public License for more details.
164
165 You should have received a copy of the GNU Lesser General Public
166 License along with the m17n library; if not, write to the Free
167 Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
168 Boston, MA 02110-1301, USA.