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