contrib/OWB: add correct SDL dependency, fix compilers used
[AROS-Contrib.git] / freetype1 / contrib / ttf2bdf / README
blob5c488a752c55576e1a224e83f7fef0ac15d2e12c
2 # $Id$
6 # Copyright 1996, 1997, 1998, 1999 Computing Research Labs,
7 # New Mexico State University
9 # Permission is hereby granted, free of charge, to any person obtaining a
10 # copy of this software and associated documentation files (the "Software"),
11 # to deal in the Software without restriction, including without limitation
12 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 # and/or sell copies of the Software, and to permit persons to whom the
14 # Software is furnished to do so, subject to the following conditions:
16 # The above copyright notice and this permission notice shall be included in
17 # all copies or substantial portions of the Software.
19 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
22 # THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
23 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
24 # OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
25 # THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 This is version 2.7 of a program to convert TrueType fonts to BDF fonts using
29 the FreeType renderer.
31 BDF fonts can be edited using the XmBDFEditor which is available from (replace
32 the <version> with the most current version number):
34   [Sources]
35   ftp://crl.nmsu.edu/CLR/multiling/General/xmbdfed.tar.gz
37   [Binaries: Linux/Pentium, Solaris, SunOS]
38   ftp://crl.nmsu.edu/CLR/multiling/General/xmbdfed-<version>-ELF.tar.gz
39   ftp://crl.nmsu.edu/CLR/multiling/General/xmbdfed-<version>-SOLARIS.tar.gz
41 COMPILING ttf2bdf
42 -----------------
44 1. Pick up the latest FreeType distribution from:
46 ftp://ftp.physiol.med.tu-muenchen.de/pub/freetype/devel/freetype-current.tar.gz
48 2. Unpack FreeType and build it.
50 3. Go into the "contrib/ttf2bdf/" directory and type "make" to build "ttf2bdf".
52 RUNNING ttf2bdf
53 ---------------
55 Type the following to get a list of command line options:
57   % ttf2bdf -h
59 ACKNOWLEDGEMENTS
60 ----------------
62 Thanks go to the following people:
64   Robert Wilhelm <robert@physiol.med.tu-muenchen.de> for pointing out a
65   crucial problem with the pre-1.0 code.
67   Lho Li-Da <ollie@ms1.hinet.net> for pointing out a problem with Big5 and
68   GB2312 encoding ids being documented incorrectly in the TT docs and a
69   problem with glyphs that are height 1 or width 1, and a font name problem.
71   Adrian Havill <havill@threeweb.ad.jp> for unintentionally pointing out a
72   missing feature.
74   Richard Verhoeven <rcb5@win.tue.nl> for pointing out a font names problem,
75   problem with bitmaps missing their last byte in each row, and an invalid
76   FONT_DESCENT property value.
78   Choi Jun Ho <junker@jazz.snu.ac.kr> for his inspiration from his
79   implementation that changed some character set names, and added a
80   number of new command line parameters.
82   Pavel Kankovsky <peak@kerberos.troja.mff.cuni.cz> for providing some
83   critical grid fitting and metrics fixes when generating the bitmaps,
84   adding the code to "auto-detect" bold and italic fonts, removing the
85   dependency on ttobjs.h, finding some remapping bugs, and other fixes.
87   Matti Koskinen <mjkoskin@sci.fi> for pointing out a problem with using
88   the code 0xffff.
90   Eugene Bobin <gene@ftim.ustu.ru> for contributing the Cyrillic mapping
91   tables (iso8859.5, koi8.r, windows.1251) and the sample shell scripts for
92   generating sets of BDF fonts.
94   Oleg N. Yakovlev <yashka@optima.dnepropetrovsk.ua> for alerting me to the
95   problem of certain codes not being loaded correctly in the mapping tables.
97   Bertrand Petit <elrond@phoe.frmug.org> for providing additional command line
98   parameters to allow more control over the XLFD name generated.
100   Roman Czyborra <czyborra@cs.tu-berlin.de> for pointing out the need for a
101   change from UNICODE-2.0 to ISO10646-1 in the font XLFD name.
103   Mike Blazer <blazer@mail.nevalink.ru> for pointing out the include changes
104   needed to compile on Windows.
106   Solofo Ramangalahy <solofo@mpi-sb.mpg.de> for contributing the ISO8859.1 and
107   ISO8859.3 mapping tables.
109   Antoine Leca <Antoine.Leca@renault.fr> for suggesting the exchange of
110   columns in the mapping table to better fit the mapping table format used by
111   many.
113   Robert Brady <rwb197@ecs.soton.ac.uk> for pointing out a problem with the
114   length of _XFREE86_GLYPH_RANGES properties and an Exceed font compiler.
116 CHANGES
117 -------
118 Version 2.7
119 ===========
120   1. Swapped all the columns in the mapping files.
122   2. Changed the mapping table loader to index on the second column instead of
123      the first.
125   3. Reduced the line length of _XFREE86_GLYPH_RANGES properties to 256
126      instead of 512.
128 Version 2.6
129 ===========
130   1. Changed the includes to deal with compilation on Windows.
132   2. Added some new mapping tables.
134 Version 2.5
135 ===========
136   1. Updated the copyright dates.
138   2. Fixed an incorrect parameter for Traditional C compilers.
140   3. Added generation of the _XFREE86_GLYPH_RANGES properties.
142 Version 2.4
143 ===========
144   1. Change all CRLF's, CR's, or LF's in copyright strings to double spaces.
146   2. Changed it so gcc 2.8.1 likes the return type of main() again.
148 Version 2.3
149 ===========
150   1. Changed Makefile.in a bit to make installation more consistent.
152   2. Changed the lower limit for the vertical and horizontal resolutions to be
153      10dpi instead of 50dpi.
155 Version 2.2
156 ===========
157   1. Added missing documentation in the manual page.
159   2. Added the `-u' parameter to allow setting the character used to replace
160      dashes or spaces in the font name.
162   3. Changed the CHARSET_REGISTRY and CHARSET_ENCODING to be "ISO10646-1"
163      instead of "Unicode-2.0".
165   4. The numGlyphs property comes back incorrect for some fonts, so the loop
166      cycles through all 65536 possibilities every time now.
168 Version 2.1
169 ===========
170   1. Added patches provided by Bertrand Petit.
172   2. Insured compatibility with FreeType 1.1.
174 Version 2.0
175 ===========
176   1. Created two new subdirectories.  One for mapping tables and one for any
177      other contributed code, scripts, or data.
179   2. Updated Cyrillic mapping files sent by Eugene Bobin.
181   3. Minor fixes to make compatible with the latest version of FreeType.
183 Version 1.9
184 ===========
185   1. Fixed a problem with the first code of a mapping table being lost.
187 Version 1.8
188 ===========
189   1. Added the Unicode->Cyrillic mapping tables provided by Eugene Bobin.
191   2. Created a shell script based on Eugene Bobin's scripts to generate sets
192      of BDF fonts at one time.
194 Version 1.7
195 ===========
196   1. If a remapping table is provided, code ranges are now expected to be
197      specified in terms of the codes in the mapping table.
199   2. The glyph generation loop is improved a bit.
201 Version 1.6
202 ===========
203   1. Added two expected keywords REGISTRY and ENCODING in the remap files.
204      These values are used when the font's XLFD name is generated.
206   2. Added TTF2BDF_VERSION macro used for adding the "Converted by" comment.
208   3. Handle the case of no glyphs being generated.  No BDF font is produced.
210   4. Updated for new API with TT_Engine.
212 Version 1.5
213 ===========
214   1. Fixed a problem with updating the average width field of the XLFD
215      font name.
217   2. Changed things so bitmaps are generated to a temporay file so an
218      accurate count and metrics can be calculated.
220   3. Changed things so the font header is not generated until the bitmaps
221      have been generated.  This allows accurate calculations of the various
222      fields needed.
224   4. Added the '-l' command line parameter that allows specification of a
225      subrange of glyphs to generate.  The syntax is the same as that used in
226      X11 for subranges.  See the X11 XLFD documentation, page 9 for more
227      detail.
229      Example:
231        % ttf2bdf -l '60 70 80_90' font.ttf -o font.bdf
233        The command above will only generate the glyphs for codes 60, 70,
234        and 80 through 90 inclusive.
236   5. Added the ability to load a mapping table that will remap a font to
237      another character set.  The mapping table should have two columns.
239      The first column should be the hexadecimal code of the glyph in the
240      "cmap" table ttf2bdf is using.  The second column should have the
241      code which should be used in the BDF font.  An example mapping file
242      is provided which will map fonts from Unicode (default cmap table) to
243      ISO8859-2.
245   6. Fixed grid fitting to avoid dropout in some cases.
247   7. Removed dependency on ttobjs.h by using the new API function for
248      retrieving strings.
250   8. Removed warning about getpid() on Solaris.
252   9. Rearranged the man page a bit to be more useful.  Minor
253      improvements also done.
255   10. Changed the loop so it does not include 0xffff as a code because
256       it causes crashes when converting some fonts.
258 Version 1.4 [Never released as binaries]
259 ===========
260   1. Changed the names of two MS encodings (Wansung and Johab) to
261      KSC5601.1987 and KSC5601.1992.
263   2. Added the '-n' command line flag to turn hinting off.
265   3. Added the '-c' command line flag to set the font spacing.
267   4. Added the '-t', '-w', and '-s' command line options to override the
268      default typeface, weight and slant names.
270 Version 1.3
271 ===========
272   1. Converted to use the new FreeType API.
274   2. Added the '-rh' and '-rv' command line parameters to allow both the
275      horizontal and vertical resolutions to be set individually.
277   3. Fixed a problem with ignoring undefined glyphs.  All undefined were
278      being rendered which caused missing glyphs on the end.
280   4. Fixed a problem with offset calculations needed to render glyph
281      bitmaps.
283 Version 1.2
284 ===========
285   1. Fixed a problem with dashes that appear in the font family name causing
286      parse problems with the XLFD font names.
288   2. Fixed a problem with certain bitmaps missing their final byte on each
289      row.
291   3. Fixed an incorrect FONT_DESCENT value.
293   4. Changed things around so names can be retrieved in a more general way.
295   5. Fixed a problem with bitmaps not being generated after a certain point.
297 Version 1.1
298 ===========
299   1. Fixed the actual glyph count for the CHARS line.
301   2. Swapped the Big5 and GB2312 XLFD encoding strings because of incorrect TT
302      specifications.
304   3. Fixed a problem with bitmap generation for glyphs that are width 1 or
305      height 1.
307   4. Added command line parameters to set the font and render pool memory
308      sizes in Kilobytes from the command line.
310 Version 1.0
311 ===========
312   1. Initial release.
314 mleisher@crl.nmsu.edu (Mark Leisher)
315 15 October 1997