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