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