mirror of
https://github.com/Valeh2012/PersonalVotingMachine
synced 2024-11-29 12:20:59 +02:00
360 lines
12 KiB
Plaintext
360 lines
12 KiB
Plaintext
|
#
|
||
|
# Copyright 2008 Department of Mathematical Sciences, New Mexico State University
|
||
|
#
|
||
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
||
|
# copy of this software and associated documentation files (the "Software"),
|
||
|
# to deal in the Software without restriction, including without limitation
|
||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||
|
# and/or sell copies of the Software, and to permit persons to whom the
|
||
|
# Software is furnished to do so, subject to the following conditions:
|
||
|
#
|
||
|
# The above copyright notice and this permission notice shall be included in
|
||
|
# all copies or substantial portions of the Software.
|
||
|
#
|
||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||
|
# DEPARTMENT OF MATHEMATICAL SCIENCES OR NEW MEXICO STATE UNIVERSITY BE
|
||
|
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||
|
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||
|
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
#
|
||
|
|
||
|
This is version 3.1 of a program to convert OpenType fonts to BDF fonts using
|
||
|
the FreeType 2 renderer (http://www.freetype.org).
|
||
|
|
||
|
BDF fonts can be edited using "gbdfed" which is available from:
|
||
|
|
||
|
http://www.math.nmsu.edu/~mleisher/Software/gbdfed.html
|
||
|
|
||
|
COMPILING otf2bdf
|
||
|
-----------------
|
||
|
|
||
|
If your system does not come with Freetype 2.1.5 or greater, pick up a
|
||
|
Freetype2 distribution (>= 2.1.5) from http://www.freetype.org build and
|
||
|
install it.
|
||
|
|
||
|
Then compile otf2bdf by doing the following:
|
||
|
|
||
|
% ./configure
|
||
|
% make install
|
||
|
|
||
|
Compilation hints:
|
||
|
|
||
|
o The "configure" script expects the "freetype-config" script to be in the
|
||
|
executable path. The "freetype-config" script is installed when Freetype2
|
||
|
is installed.
|
||
|
|
||
|
o The installation directory can be specified by the --prefix=<some dir>
|
||
|
command line parameter to the configure script.
|
||
|
|
||
|
o A statically linked version can be created (on Linux/Unix) by compiling
|
||
|
like this:
|
||
|
|
||
|
% make STATIC=-static install
|
||
|
|
||
|
RUNNING otf2bdf
|
||
|
---------------
|
||
|
|
||
|
Type the following to get a list of command line options:
|
||
|
|
||
|
% otf2bdf -h
|
||
|
|
||
|
ACKNOWLEDGEMENTS
|
||
|
----------------
|
||
|
|
||
|
Thanks go to the following people:
|
||
|
|
||
|
Robert Wilhelm <robert@physiol.med.tu-muenchen.de> for pointing out a
|
||
|
crucial problem with the pre-1.0 code.
|
||
|
|
||
|
Lho Li-Da <ollie@ms1.hinet.net> for pointing out a problem with Big5 and
|
||
|
GB2312 encoding ids being documented incorrectly in the TT docs and a
|
||
|
problem with glyphs that are height 1 or width 1, and a font name problem.
|
||
|
|
||
|
Adrian Havill <havill@threeweb.ad.jp> for unintentionally pointing out a
|
||
|
missing feature.
|
||
|
|
||
|
Richard Verhoeven <rcb5@win.tue.nl> for pointing out a font names problem,
|
||
|
problem with bitmaps missing their last byte in each row, and an invalid
|
||
|
FONT_DESCENT property value.
|
||
|
|
||
|
Choi Jun Ho <junker@jazz.snu.ac.kr> for his inspiration from his
|
||
|
implementation that changed some character set names, and added a
|
||
|
number of new command line parameters.
|
||
|
|
||
|
Pavel Kankovsky <peak@kerberos.troja.mff.cuni.cz> for providing some
|
||
|
critical grid fitting and metrics fixes when generating the bitmaps,
|
||
|
adding the code to "auto-detect" bold and italic fonts, removing the
|
||
|
dependency on ttobjs.h, finding some remapping bugs, and other fixes.
|
||
|
|
||
|
Matti Koskinen <mjkoskin@sci.fi> for pointing out a problem with using
|
||
|
the code 0xffff.
|
||
|
|
||
|
Eugene Bobin <gene@ftim.ustu.ru> for contributing the Cyrillic mapping
|
||
|
tables (iso8859.5, koi8.r, windows.1251) and the sample shell scripts for
|
||
|
generating sets of BDF fonts.
|
||
|
|
||
|
Oleg N. Yakovlev <yashka@optima.dnepropetrovsk.ua> for alerting me to the
|
||
|
problem of certain codes not being loaded correctly in the mapping tables.
|
||
|
|
||
|
Bertrand Petit <elrond@phoe.frmug.org> for providing additional command line
|
||
|
parameters to allow more control over the XLFD name generated.
|
||
|
|
||
|
Roman Czyborra <czyborra@cs.tu-berlin.de> for pointing out the need for a
|
||
|
change from UNICODE-2.0 to ISO10646-1 in the font XLFD name.
|
||
|
|
||
|
Mike Blazer <blazer@mail.nevalink.ru> for pointing out the include changes
|
||
|
needed to compile on Windows.
|
||
|
|
||
|
Solofo Ramangalahy <solofo@mpi-sb.mpg.de> for contributing the ISO8859.1 and
|
||
|
ISO8859.3 mapping tables.
|
||
|
|
||
|
Antoine Leca <Antoine.Leca@renault.fr> for suggesting the exchange of
|
||
|
columns in the mapping table to better fit the mapping table format used by
|
||
|
many.
|
||
|
|
||
|
Robert Brady <rwb197@ecs.soton.ac.uk> for pointing out a problem with the
|
||
|
length of _XFREE86_GLYPH_RANGES properties and an Exceed font compiler.
|
||
|
|
||
|
Patrick Hagglund <patrik.hagglund@bredband.net> for providing the patches to
|
||
|
use FreeType2 (taken from xmbdfed).
|
||
|
|
||
|
Christos Tountas <cvt@sprynet.com> for finding a buffer overflow problem.
|
||
|
|
||
|
Nelson Beebe <beebe@math.utah.edu> for finding problems with the FreeType
|
||
|
includes, the configure setup, and a compilation warning.
|
||
|
|
||
|
"Prophet of the Way" <afu@wta.att.ne.jp> for pointing out a glyph bitmap
|
||
|
undergeneration problem.
|
||
|
|
||
|
CHANGES
|
||
|
-------
|
||
|
Version 3.1
|
||
|
===========
|
||
|
1. Fixes for Freetype includes.
|
||
|
|
||
|
2. Check for Windows TEMP environment variable.
|
||
|
|
||
|
3. Fixed some sign promotion problems that came up with gcc 4.2.3.
|
||
|
|
||
|
4. Fixed a glyph bitmap undergeneration problem that occurs with some TTF
|
||
|
fonts.
|
||
|
|
||
|
Version 3.0
|
||
|
===========
|
||
|
1. Converted to use Freetype2.
|
||
|
|
||
|
2. Changed name to otf2bdf.
|
||
|
|
||
|
3. Changed all _TTF_* BDF font properties to _OTF_*.
|
||
|
|
||
|
4. Fixed a buffer overflow problem found by Christos Tountas
|
||
|
<cvt@sprynet.com>.
|
||
|
|
||
|
5. Changed to usage message to print to stdout.
|
||
|
|
||
|
6. Added the -et command line parameter to print a list of all the encoding
|
||
|
tables available in the font.
|
||
|
|
||
|
7. Fixed an encoding name problem with XLFD font names.
|
||
|
|
||
|
Version 2.7
|
||
|
===========
|
||
|
1. Swapped all the columns in the mapping files.
|
||
|
|
||
|
2. Changed the mapping table loader to index on the second column instead of
|
||
|
the first.
|
||
|
|
||
|
3. Reduced the line length of _XFREE86_GLYPH_RANGES properties to 256
|
||
|
instead of 512.
|
||
|
|
||
|
Version 2.6
|
||
|
===========
|
||
|
1. Changed the includes to deal with compilation on Windows.
|
||
|
|
||
|
2. Added some new mapping tables.
|
||
|
|
||
|
Version 2.5
|
||
|
===========
|
||
|
1. Updated the copyright dates.
|
||
|
|
||
|
2. Fixed an incorrect parameter for Traditional C compilers.
|
||
|
|
||
|
3. Added generation of the _XFREE86_GLYPH_RANGES properties.
|
||
|
|
||
|
Version 2.4
|
||
|
===========
|
||
|
1. Change all CRLF's, CR's, or LF's in copyright strings to double spaces.
|
||
|
|
||
|
2. Changed it so gcc 2.8.1 likes the return type of main() again.
|
||
|
|
||
|
Version 2.3
|
||
|
===========
|
||
|
1. Changed Makefile.in a bit to make installation more consistent.
|
||
|
|
||
|
2. Changed the lower limit for the vertical and horizontal resolutions to be
|
||
|
10dpi instead of 50dpi.
|
||
|
|
||
|
Version 2.2
|
||
|
===========
|
||
|
1. Added missing documentation in the manual page.
|
||
|
|
||
|
2. Added the `-u' parameter to allow setting the character used to replace
|
||
|
dashes or spaces in the font name.
|
||
|
|
||
|
3. Changed the CHARSET_REGISTRY and CHARSET_ENCODING to be "ISO10646-1"
|
||
|
instead of "Unicode-2.0".
|
||
|
|
||
|
4. The numGlyphs property comes back incorrect for some fonts, so the loop
|
||
|
cycles through all 65536 possibilities every time now.
|
||
|
|
||
|
Version 2.1
|
||
|
===========
|
||
|
1. Added patches provided by Bertrand Petit.
|
||
|
|
||
|
2. Insured compatibility with FreeType 1.1.
|
||
|
|
||
|
Version 2.0
|
||
|
===========
|
||
|
1. Created two new subdirectories. One for mapping tables and one for any
|
||
|
other contributed code, scripts, or data.
|
||
|
|
||
|
2. Updated Cyrillic mapping files sent by Eugene Bobin.
|
||
|
|
||
|
3. Minor fixes to make compatible with the latest version of FreeType.
|
||
|
|
||
|
Version 1.9
|
||
|
===========
|
||
|
1. Fixed a problem with the first code of a mapping table being lost.
|
||
|
|
||
|
Version 1.8
|
||
|
===========
|
||
|
1. Added the Unicode->Cyrillic mapping tables provided by Eugene Bobin.
|
||
|
|
||
|
2. Created a shell script based on Eugene Bobin's scripts to generate sets
|
||
|
of BDF fonts at one time.
|
||
|
|
||
|
Version 1.7
|
||
|
===========
|
||
|
1. If a remapping table is provided, code ranges are now expected to be
|
||
|
specified in terms of the codes in the mapping table.
|
||
|
|
||
|
2. The glyph generation loop is improved a bit.
|
||
|
|
||
|
Version 1.6
|
||
|
===========
|
||
|
1. Added two expected keywords REGISTRY and ENCODING in the remap files.
|
||
|
These values are used when the font's XLFD name is generated.
|
||
|
|
||
|
2. Added TTF2BDF_VERSION macro used for adding the "Converted by" comment.
|
||
|
|
||
|
3. Handle the case of no glyphs being generated. No BDF font is produced.
|
||
|
|
||
|
4. Updated for new API with TT_Engine.
|
||
|
|
||
|
Version 1.5
|
||
|
===========
|
||
|
1. Fixed a problem with updating the average width field of the XLFD
|
||
|
font name.
|
||
|
|
||
|
2. Changed things so bitmaps are generated to a temporay file so an
|
||
|
accurate count and metrics can be calculated.
|
||
|
|
||
|
3. Changed things so the font header is not generated until the bitmaps
|
||
|
have been generated. This allows accurate calculations of the various
|
||
|
fields needed.
|
||
|
|
||
|
4. Added the '-l' command line parameter that allows specification of a
|
||
|
subrange of glyphs to generate. The syntax is the same as that used in
|
||
|
X11 for subranges. See the X11 XLFD documentation, page 9 for more
|
||
|
detail.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
% ttf2bdf -l '60 70 80_90' font.ttf -o font.bdf
|
||
|
|
||
|
The command above will only generate the glyphs for codes 60, 70,
|
||
|
and 80 through 90 inclusive.
|
||
|
|
||
|
5. Added the ability to load a mapping table that will remap a font to
|
||
|
another character set. The mapping table should have two columns.
|
||
|
|
||
|
The first column should be the hexadecimal code of the glyph in the
|
||
|
"cmap" table ttf2bdf is using. The second column should have the
|
||
|
code which should be used in the BDF font. An example mapping file
|
||
|
is provided which will map fonts from Unicode (default cmap table) to
|
||
|
ISO8859-2.
|
||
|
|
||
|
6. Fixed grid fitting to avoid dropout in some cases.
|
||
|
|
||
|
7. Removed dependency on ttobjs.h by using the new API function for
|
||
|
retrieving strings.
|
||
|
|
||
|
8. Removed warning about getpid() on Solaris.
|
||
|
|
||
|
9. Rearranged the man page a bit to be more useful. Minor
|
||
|
improvements also done.
|
||
|
|
||
|
10. Changed the loop so it does not include 0xffff as a code because
|
||
|
it causes crashes when converting some fonts.
|
||
|
|
||
|
Version 1.4 [Never released as binaries]
|
||
|
===========
|
||
|
1. Changed the names of two MS encodings (Wansung and Johab) to
|
||
|
KSC5601.1987 and KSC5601.1992.
|
||
|
|
||
|
2. Added the '-n' command line flag to turn hinting off.
|
||
|
|
||
|
3. Added the '-c' command line flag to set the font spacing.
|
||
|
|
||
|
4. Added the '-t', '-w', and '-s' command line options to override the
|
||
|
default typeface, weight and slant names.
|
||
|
|
||
|
Version 1.3
|
||
|
===========
|
||
|
1. Converted to use the new FreeType API.
|
||
|
|
||
|
2. Added the '-rh' and '-rv' command line parameters to allow both the
|
||
|
horizontal and vertical resolutions to be set individually.
|
||
|
|
||
|
3. Fixed a problem with ignoring undefined glyphs. All undefined were
|
||
|
being rendered which caused missing glyphs on the end.
|
||
|
|
||
|
4. Fixed a problem with offset calculations needed to render glyph
|
||
|
bitmaps.
|
||
|
|
||
|
Version 1.2
|
||
|
===========
|
||
|
1. Fixed a problem with dashes that appear in the font family name causing
|
||
|
parse problems with the XLFD font names.
|
||
|
|
||
|
2. Fixed a problem with certain bitmaps missing their final byte on each
|
||
|
row.
|
||
|
|
||
|
3. Fixed an incorrect FONT_DESCENT value.
|
||
|
|
||
|
4. Changed things around so names can be retrieved in a more general way.
|
||
|
|
||
|
5. Fixed a problem with bitmaps not being generated after a certain point.
|
||
|
|
||
|
Version 1.1
|
||
|
===========
|
||
|
1. Fixed the actual glyph count for the CHARS line.
|
||
|
|
||
|
2. Swapped the Big5 and GB2312 XLFD encoding strings because of incorrect TT
|
||
|
specifications.
|
||
|
|
||
|
3. Fixed a problem with bitmap generation for glyphs that are width 1 or
|
||
|
height 1.
|
||
|
|
||
|
4. Added command line parameters to set the font and render pool memory
|
||
|
sizes in Kilobytes from the command line.
|
||
|
|
||
|
Version 1.0
|
||
|
===========
|
||
|
1. Initial release.
|
||
|
|
||
|
mleisher@crl.nmsu.edu (Mark Leisher)
|
||
|
22 May 2008
|