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